By ilry-polis
Context engineering + spec-driven development with isolated subagents. The orchestrator stays lean; heavy work runs in fresh-context subagents under a discuss -> spec -> plan -> exec -> verify workflow.
View or change Polis preferences and workflow toggles stored in .claude/polis/config.json — phase gates, TDD enforcement, and context-budget tunables. Shows current values; changes require confirmation.
Start Socratic brainstorming for something to build, before any spec or code. Explores goals, alternatives, trade-offs, and gray areas, then saves an approved design. The agent does not jump to code.
Execute an approved plan task by task via isolated subagents with fresh context. Enforces TDD, atomic commits, and two-phase (compliance + quality) review per task. Keeps the orchestrator under 40% and auto-pauses at WARNING.
Diagnose Polis integrity — verify the state directory, config, hook wiring, and context monitor are present and functioning. Use when something feels off or after install.
Initialize Polis in the current project — create the state directory, scaffold STATE.md and config.json, and detect the project stack. Run once per project before using the workflow.
Use at the very start of any build request, before specs or code. Activates whenever the user describes something to build, fix, or change. Runs a Socratic exploration — questions, alternatives, trade-offs, gray areas — and produces an approved design document. The agent must NOT jump to code; this is the gate that enforces that.
Use to review code against the spec and plan that defined it. Activates on /polis:review and as the review step after each task in execution. Runs a pre-review checklist, then classifies findings by severity (CRITICAL / WARNING / INFO). CRITICAL findings block merge. Reviews for spec compliance and quality, not personal style.
Use throughout any coding session to keep the orchestrator's context window lean and protect model accuracy. Activates when context grows, when the Polis monitor reports WARNING/HIGH/CRITICAL, when deciding whether to spawn a subagent vs. work inline, and when deciding to pause. Governs the <40% orchestrator budget rule, the auto-compact reserve, and the pause/resume reflex.
Use whenever something is broken — a failing test, a bug, unexpected behavior, an error you don't understand. Activates during exec and verify when work stops being mechanical. Enforces root-cause investigation BEFORE any fix, single-hypothesis testing, fixing the source not the symptom, and stopping to question the design after repeated failed fixes. Systematic beats guessing, always.
Use to execute an approved plan, task by task, via isolated subagents with fresh context. Activates on /polis:exec. Keeps the orchestrator under 40% by delegating heavy work; enforces TDD per task, atomic commits, and a two-phase (compliance + quality) review after each task. Auto-pauses when context hits WARNING.
Matches all tools
Hooks run on every tool call, not just specific ones
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
A multi-runtime plugin for coding agents. Polis fuses two disciplines into one workflow: context engineering (keep the agent's working memory lean and accurate) and spec-driven development with isolated subagents (think before building, build in small verified steps). It runs natively on Claude Code, Codex CLI, and Cursor.
Zero external dependencies. Markdown, JSON, vanilla JS, and Bash only. MIT licensed.
Coding agents fail in two predictable ways. They jump to code before anyone agreed what to build, and they fill their context window until accuracy quietly collapses. Polis is built to prevent both.
The name is deliberate: a polis is a well-ordered city. The point isn't ceremony, it's that order in the small steps is what lets you move fast without making a mess.
[describe what you want]
│
▼
┌─────────┐
│ DISCUSS │ Socratic Q&A, alternatives, gray areas → approved design
└────┬────┘
▼
┌─────────┐
│ SPEC │ Executable spec: interfaces, edge cases, acceptance criteria
└────┬────┘
▼
┌─────────┐
│ PLAN │ Atomic 2–5 min tasks, each with a test written first
└────┬────┘
▼
┌─────────┐ ┌──────────────┐
│ EXEC │─────▶│ SUBAGENTS │ fresh context per task, TDD,
└────┬────┘ │ + 2-phase │ atomic commits
│ │ review │
▼ └──────────────┘
┌─────────┐
│ VERIFY │ Full suite, lint, holistic spec compliance → merge-ready
└─────────┘
Each phase needs your approval to advance. Polis proposes; you decide.
Meanwhile, the context monitor watches the window:
WARNING (40%+) → start delegating, prefer short tasks
HIGH (65%+) → finish & commit current task only
CRITICAL(80%+) → pause-work → compact → resume-work (skull)
How the monitor reads context: Claude Code exposes the live context state to the statusline, so Polis reads the real usage — no estimation. It judges thresholds on the figure that matches
/context, and the bar leans a little early (a normalized value) as an action nudge. CRITICAL means CRITICAL.
If you use Claude Code, you can skip downloading entirely — the marketplace path below fetches everything for you. For Codex, Cursor, or if you just want the files, get them one of these ways:
Clone with git (recommended if you have git):
git clone https://github.com/ilry-polis/polis.git
cd polis
Download the ZIP (no git needed): on the GitHub repo page, click the green Code button → Download ZIP, then unzip it and open the folder:
unzip polis-main.zip
cd polis-main
Either way you end up in the Polis folder, ready to run the installer.
/plugin marketplace add ilry-polis/polis
/plugin install polis@polis-marketplace
One line, no manual download. This is the simplest path if you use Claude Code.
From inside the Polis folder (see Get Polis above), run the installer for your runtime:
bash scripts/install.sh --runtime claude --scope project # claude | codex | cursor | all
Flags:
--runtime claude | codex | cursor | all--scope project (this repo) | user (your global runtime config)--uninstall — removes Polis cleanly (marker-bounded; never touches your work)--dry-run — show what would happen, write nothingCodex and Cursor don't have a one-line marketplace path equivalent to Path A — use Path B for those.
Once installed, set Polis up in your project:
/polis:init
npx claudepluginhub ilry-polis/polis --plugin polisHarness-native ECC operator layer - 67 agents, 271 skills, 92 legacy command shims, reusable hooks, rules, selective install profiles, and production-ready workflows for Claude Code, Codex, OpenCode, Cursor, and related agent harnesses
Feature development with code-architect/explorer/reviewer agents, CLAUDE.md audit and session learnings, and Agent Skills creation with eval benchmarking from Anthropic.
Core skills library for Claude Code: TDD, debugging, collaboration patterns, and proven techniques
Reliable automation, in-depth debugging, and performance analysis in Chrome using Chrome DevTools and Puppeteer
Comprehensive feature development workflow with specialized agents for codebase exploration, architecture design, and quality review
Comprehensive skill pack with 66 specialized skills for full-stack developers: 12 language experts (Python, TypeScript, Go, Rust, C++, Swift, Kotlin, C#, PHP, Java, SQL, JavaScript), 10 backend frameworks, 6 frontend/mobile, plus infrastructure, DevOps, security, and testing. Features progressive disclosure architecture for 50% faster loading.