Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/vinnie357/claude-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/vinnie357/claude-skills/council)<a href="https://agentmods.dev/commands/vinnie357/claude-skills/council"><img src="https://agentmods.dev/badge/commands/vinnie357/claude-skills/council/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/commands/vinnie357/claude-skills/council"><img src="https://agentmods.dev/badge/commands/vinnie357/claude-skills/council.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00028 | $0.01079 |
| Opus 5.5 | $0.00011 | $0.00432 |
| Sonnet 5.5 | $0.00006 | $0.00216 |
| Haiku 4.5 | $0.00003 | $0.00108 |
Grade A, and why
council scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 72 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Run altana council to fan out one task to N harnesses simultaneously, then synthesize the array of responses into a structured analysis. Two modes are available: one-shot (default) and interactive (persistent-session, multi-round deliberation).
What it does:
- Invokes
altana council "<task>" [--harnesses <list>] [--rounds N] [--interactive] [--prompt <template>]. - Runs in the background (council calls are inherently parallel and may take time).
- Receives a JSON array of result objects — one per harness, in config-declaration order.
- In one-shot mode each element has a single
responsestring. - In interactive mode each element carries a
roundsarray of{round, response}objects instead of a singleresponse.
- In one-shot mode each element has a single
- Synthesizes the responses into a structured report:
- Agreements — claims all harnesses converge on.
- Disagreements — points where harnesses diverge; note which harness said what.
- Unique insights — observations raised by only one harness.
- Recommendation — a synthesized conclusion weighing all perspectives.
Why council? Different harnesses run different models or executors. The same question delegated to multiple independent agents surfaces blind spots, validates conclusions, and reveals model-specific biases. The synthesis step is where the value lands — raw JSON alone does not exploit the diverse perspectives.
Arguments:
<task>— the prompt to fan out. Council is read-only;--writepresets are rejected by altana.--harnesses a,b,c— comma-separated list of harness names; defaults to all configured harnesses when omitted.--rounds N— number of deliberation rounds when--interactiveis set; default 2.--interactive— opens one persistent session per harness; from round 2 on each harness sees labeled digests of its peers' prior-round answers and can react. Synthesis remains the caller's responsibility.--prompt <template>— optional named prompt template applied to each harness invocation.
Result array element fields (same schema as delegate):
| Field | Type |
|---|---|
harness |
string |
status |
done | timeout | crash | missing_sentinel |
duration_s |
float |
log_path |
string |
response |
string or null |
If altana is not installed:
Install altana (see its README — it is a Zig CLI built with zig 0.16). After building, place the binary on your PATH or invoke via mise exec -- zig-out/bin/altana.
Examples:
/council "what are the risks of removing the retry loop in src/client.zig?"
/council "critique the API surface in src/api.zig" --harnesses opus-harness,sonnet-harness
/council "review this design doc" --prompt design-review
/council "compare these two API designs" --interactive --rounds 1 --harnesses claude-cloud,claude-local
Task instructions:
Parse the argument: everything before the first -- flag is <task>; extract --harnesses, --rounds, --interactive, and --prompt from the flags. Flags must appear after the task string (the working invocation order is altana council "<task>" --flag value).
Run (in background): altana council "<task>" [--harnesses <list>] [--rounds N] [--interactive] [--prompt <template>]
Once the result arrives, parse the JSON array. For each element where status == "done", extract the ## Answer section from response. For non-done entries, note the harness name and failure status.
Synthesize across all done responses:
- Agreements — identify claims that appear (in substance) across all or most harnesses.
- Disagreements — identify points where harnesses give incompatible answers; attribute each position to its harness.
- Unique insights — note observations raised by exactly one harness that the others did not mention.
- Recommendation — produce a single synthesized answer that weighs the agreements, resolves or flags the disagreements, and incorporates the unique insights.
Report the synthesis. Append a table showing harness, status, and duration for transparency. If any harness returned non-done, note what was missing from the synthesis and point to the log_path for investigation.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2mo ago First seen · 72 lines · 28 tokens per session scan A 76f5de319dfc
council is a command published in the GitHub repository vinnie357/claude-skills (27 stars, last pushed 14d ago), licensed MIT. It adds 28 tokens to every session and 1,079 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
council compared with commands from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| councilvinnie357/claude-skills | Command | 27 | 14d ago | MIT | A | 28 | Claude Code |
| checklistgithub/spec-kit | Command | 149k | today | MIT | A | 13 | Claude Code |
| clarifygithub/spec-kit | Command | 149k | today | MIT | A | 27 | Claude Code |
| specifygithub/spec-kit | Command | 149k | today | MIT | A | 13 | Claude Code |
| analyzegithub/spec-kit | Command | 149k | today | MIT | A | 26 | Claude Code |
| convergegithub/spec-kit | Command | 149k | today | MIT | A | 35 | Claude Code |
| implementgithub/spec-kit | Command | 149k | today | MIT | A | 14 | Claude Code |