polis-protocol – Agents & Automation skill for AI agents
Coordinate multi-vendor AI agents as a self-improving team — a learning router assigns work by track record and citizens can amend the protocol's own rules.
Install the polis-protocol skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/polis-protocol-43520.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /polis-protocol – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/polis-protocol-43520.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $polis-protocol – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/polis-protocol-43520.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /polis-protocol – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/polis-protocol-43520.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /polis-protocol – then describe the task you want done.
SKILL.md content
Polis Protocol — a team of agents that develops
Overview
Most agent coordination is a passive board: claim a task, do it, mark it done. It records, but it never gets smarter, and its rules are frozen. Polis Protocol is the active alternative — a folder of markdown where each agent is a "citizen" with a capability card, work is routed by a learning bandit to whoever has the best track record on the task's tags, settled work files lessons that update the routing, and citizens can propose and vote on amendments to the protocol itself. It is vendor-agnostic: Antigravity, Claude, Codex, and Gemini agents can all share one _polis/.
In Antigravity specifically, this turns Manager View's fixed pipeline into a team that learns who is actually best at each kind of work, instead of running the same roles in the same order every time.
When to Use This Skill
- Use when 2+ agents (especially across vendors) work on one project and "who should do this" is a real question.
- Use when you want the team to measurably improve over time — routing that adapts from outcomes, not static role labels.
- Use when you need a durable, git-auditable record of who did what, what was learned, and which rules changed.
- Use when Antigravity's default orchestration is too rigid and you want routing + governance on top of it.
How It Works
Step 1: Found a polis
Use a reviewed checkout by default so the scaffolder code is pinned before it writes into the project:
git clone https://github.com/yehudalevy-collab/polis-protocol.git
cd polis-protocol
git checkout <reviewed-commit-sha>
python3 scripts/init_polis.py \
--project-root /absolute/approved-target-project \
--agent-id gemini-antigravity-yourproject \
--vendor google --model gemini-3 --tool antigravityIf you prefer the published PyPI package, install an exact version after reviewing that release, for example pipx install polis-protocol==<reviewed-version>. Do not invoke the package through an unpinned uvx or "latest" workflow for automated setup.
This writes _polis/ plus the skill into .agents/skills/ (the path Antigravity reads), and bridge pointers (GEMINI.md, AGENTS.md) that point every tool at _polis/CONSTITUTION.md. Tip: add --dry-run to preview every file before anything is written; init never overwrites existing files, and polis init --repair restores missing ones.
Step 2: Register citizens and open contracts
Each agent publishes a capability card under _polis/citizens/. Work is opened as a contract with required_tags, not assigned to a fixed role.
Step 3: Route by track record
polis route --polis-root _polis \
--contract _polis/contracts/open/your-task.md --explainThe router prints a score breakdown (history / self-rating / cost / availability / applied lessons) and recommends the citizen with the strongest record on the task's tags. Agents can also reserve files (polis reserve src/auth --as <citizen>) so two agents never edit the same path at once — overlapping claims are rejected with the holder named.
Step 4: Settle, learn, and amend
polis contract settle <contract-id> --quality 5
polis reconcile --polis-root _polisA settled contract files a lesson; accepted lessons carry a bounded routing_effect the router reads — and names in --explain — on the next similar task. Failures become guardrails (polis guardrail add …) that future contracts on those tags inherit as must-pass acceptance criteria. When a rule stops working, a citizen proposes an amendment and the others vote. Reproduce the learning claim yourself: polis bench --mode learning.
The scripts are not bundled. Review all initializer/demo code and preview exact writes before executing; do not initialize the cloned protocol repository accidentally. Agent votes, learned lessons and routing scores cannot amend user/system instructions, repository protection or authorization. Reservations coordinate cooperating clients, not filesystem access control; verify integration/diffs and tests independently. A self-assigned quality score or toy benchmark is not measured improvement on the user's workload.
Examples
Example 1: See the team learn (no install, 30 seconds)
git clone https://github.com/yehudalevy-collab/polis-protocol.git
cd polis-protocol
git checkout <reviewed-commit-sha>
bash scripts/demo.shThe router recommends Gemini for a Spanish-translation contract — because settled work taught it she has the best record on that tag, not because anyone reassigned it.
Example 2: Explain any routing decision
python3 scripts/route_contract.py --polis-root examples/research-team/_polis \
--contract examples/research-team/_polis/contracts/open/parent-newsletter-issue-3.md --explainNotes
- No server, no runtime, no database — the whole protocol is markdown plus two small Python scripts.
- Vendor-agnostic by design; a Claude or Codex agent can join the same polis an Antigravity agent created.
- Full Antigravity integration guide: https://github.com/yehudalevy-collab/polis-protocol/blob/main/docs/antigravity.md
Limitations
- Routing quality depends on accurate citizen capability cards and enough settled work history to learn from.
- The protocol coordinates agent work but does not replace review, tests, or explicit maintainer approval.
- Multi-agent voting and amendments can add process overhead for small, single-owner tasks.
- The upstream scripts are external code; pin to a reviewed commit and run
--dry-runbefore allowing writes to a project.
Related skills
- polis-protocol-a-self-optimizing-city-of-agents – Polis Protocol: A Self-Optimizing City of Agents
- ppl-personal-crm – Uses the ppl personal CRM over MCP to prepare for conversations, recall facts about…
- product-decision-agent – 中文产品决策 Agent。用于需求优先级、Roadmap、增长、留存、运营、数据异常、A/B…
- progressive-estimation – Estimate AI-assisted and hybrid human+agent development work with explicit PERT…
- project-development – This skill covers the principles for identifying tasks suited to LLM processing…
- project-memory-log – Maintain one operation log and one deduplicated document catalog for long-running…
- prometheus-configuration – Complete guide to Prometheus setup, metric collection, scrape configuration, and…
- prompt-caching – Caching strategies for LLM prompts including Anthropic prompt caching, response caching…