How tsenart/council-skill works
This repository is a portable “skill package”, not a conventional application. Its purpose is to add a reusable multi-agent deliberation protocol to coding agents such as Codex, Claude Code, and Amp through the skills CLI.
The core runtime artifact is skills/council/SKILL.md. That is the installable entry point the host agent actually loads. Everything else in the skill folder supports that one skill definition.
The skill’s reference bundle lives under skills/council/references/. These files appear to define the operating inputs for the council:
• protocol.md — the deliberation flow and rules
• verdict-template.md — the expected final output shape
• profiles.yaml — structured persona/profile mapping
• personas/*.md — individual analyst personas used to diversify viewpoints
Architecturally, the data flow is: user prompt → host agent → council skill → protocol + persona references → round-based analysis → final verdict. The skill is designed to turn one prompt into a coordinated multi-perspective review rather than a single-model answer.
The protocol is intentionally three-round and blind-first according to the README: independent analysis first, then cross-examination, then a final verdict. That is the main behavioral boundary of the system and the key thing to capture in a diagram.
A notable design choice is that the skill is host-neutral. The repository keeps the portable council logic in one place, while allowing thin host-specific installation into the target agent’s skills directory. The README calls out different install targets for Codex, Claude Code, and Amp.
The repository also includes usage guidance and example outputs under examples/. prompt-library.md provides prompt patterns, and sample-verdict.md shows what a finished council response should look like. These files are documentation, not execution logic, but they shape how users invoke the skill and interpret its output.
Validation is handled by scripts/smoke-test.sh, which exercises local installation via npx skills add and checks that the skill can be discovered and installed for the supported agents. This is the main automated boundary test for the package.
.github/workflows/ci.yml likely runs that smoke test in CI, so the repo’s operational guarantee is: the skill remains installable from a checkout and the packaged layout stays compatible with the skills ecosystem.
In diagram terms, the important subsystems are:
1. Skill definition (SKILL.md)
2. Protocol and persona references
3. Examples/documentation
4. Install/validation tooling
5. CI verification
The overall architecture is a content-driven agent plugin, with no backend service, database, or runtime server. Its “execution environment” is the consuming coding agent plus the skills installer, and its main output is a structured council verdict rather than programmatic state.
Main entry points: personas Personas · SKILL.md Council skill · examples Examples · protocol.md Protocol
Components 16
Skill package
Installable council skill and its reference bundle.
- Council skill · Installable skill definition loaded by the host agent.
skills/council/SKILL.md - Protocol · Three-round blind-first process: independent analysis, cross-examination, then final verdict.
skills/council/references/protocol.md - Profiles · Structured mapping that assigns or selects analyst personas for the council.
skills/council/references/profiles.yaml - Verdict template · Expected final response structure for a completed council verdict.
skills/council/references/verdict-template.md - Personas · Reference personas used to diversify viewpoints during deliberation.
skills/council/references/personas - Ada · Analyst persona file.
skills/council/references/personas/ada.md - Aristotle · Analyst persona file.
skills/council/references/personas/aristotle.md - Aurelius · Analyst persona file.
skills/council/references/personas/aurelius.md - Feynman · Analyst persona file.
skills/council/references/personas/feynman.md
Docs and examples
Usage guidance and sample outputs for the skill.
- Examples · Prompt patterns and example council output for users of the skill.
examples - Prompt library · Guidance for composing prompts that work well with the council.
examples/prompt-library.md - Sample verdict · Illustrative finished council response shape.
examples/sample-verdict.md - README · Explains the skill package, host-neutral installation, and operating model.
README.md
Validation tooling
Local install checks and CI verification.
- Smoke test · Local validation script that exercises package discovery and installation.
scripts/smoke-test.sh - CI workflow · Automated workflow that runs repository checks and validates installability.
.github/workflows/ci.yml
Other components
- council-skill · Host-neutral repository that packages a multi-agent deliberation protocol for coding agents.
Connections 18
- council-skill → Council skill: packages · Repository centers on the installable skill entrypoint.
- Council skill → Protocol: loads · Skill entry references the council deliberation protocol.
- Council skill → Profiles: uses · Skill entry relies on persona/profile mapping.
- Council skill → Verdict template: formats · Skill entry shapes the final council response via template.
- Council skill → Personas: includes · Skill entry pulls in the persona reference set.
- Protocol → Personas: orchestrates · Protocol uses personas during blind-first analysis and cross-examination.
- Profiles → Personas: maps to · Profile data binds structured roles to persona files.
- Personas → Ada: contains · Persona reference bundle includes Ada.
- Personas → Aristotle: contains · Persona reference bundle includes Aristotle.
- Personas → Aurelius: contains · Persona reference bundle includes Aurelius.
- Personas → Feynman: contains · Persona reference bundle includes Feynman.
- council-skill → README: documents · README explains the portable skill architecture and installation targets.
- council-skill → Examples: shows · Repository includes usage guidance and example outputs.
- Examples → Prompt library: guides · Prompt library provides invocation patterns.
- Examples → Sample verdict: demonstrates · Sample verdict shows the expected council output shape.
- council-skill → Smoke test: validates · Smoke test checks local install and discovery of the skill package.
- Smoke test → CI workflow: runs in · CI workflow executes the smoke test for verification.
- CI workflow → council-skill: guards · Continuous integration protects packaged layout and installability.