Getting it into your agent
This one installs as part of its plugin. Adding the marketplace and installing the plugin brings it with everything else the plugin ships.
/plugin marketplace add SteveGJones/ai-first-sdlc-practices/plugin install sdlc-model-councilWrote 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/stevegjones/ai-first-sdlc-practices/council-commission)<a href="https://agentmods.dev/commands/stevegjones/ai-first-sdlc-practices/council-commission"><img src="https://agentmods.dev/badge/commands/stevegjones/ai-first-sdlc-practices/council-commission/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/stevegjones/ai-first-sdlc-practices/council-commission"><img src="https://agentmods.dev/badge/commands/stevegjones/ai-first-sdlc-practices/council-commission.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.00034 | $0.02271 |
| Opus 5 | $0.00017 | $0.01136 |
| Sonnet 5 | $0.00007 | $0.00454 |
| Haiku 4.5 | $0.00003 | $0.00227 |
Grade A, and why
council-commission 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 10d 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 — 175 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Commission this project for sdlc-model-council: discover which models are
actually reachable, characterize what the repo needs, audition them at a
chosen depth, and write .sdlc/model-council/{roster.json,roster.md, diversity.json,policy.json,commission.json}. Load the council-policy
skill now — every routing/play/posture decision below leans on it.
Arguments: $ARGUMENTS — optional audition=skip|calibrate|standard|full.
If omitted, this is a real decision with real cost implications (see step
3) — ask the user rather than guessing.
Do this:
0. Pre-flight re-commission check
If .sdlc/model-council/commission.json already exists, this project has
been commissioned before. Read it, show the prior ts and audition
level, and confirm with the user before continuing — re-commissioning
overwrites roster.json, roster.md, diversity.json, and policy.json
in place. If they only want a refresh (same fleet, new evidence), point at
/sdlc-model-council:council-assess or /sdlc-model-council:council-roster rebuild instead, which don't touch policy.
1. Discover — token-free
${CLAUDE_PLUGIN_ROOT}/scripts/extdel.sh list-backends --json
gives you which backends (codex, agy, opencode, …) are registered,
installed, and authenticated. For every backend reported
installed: yes / authenticated, list its actual model ids directly
against the CLI (still token-free — a model listing, not a turn):
agy models for agy, opencode models for opencode (codex is addressed
as codex:default@<effort>, no separate model-listing call). Build the
full set of reachable adapter:model[@effort] addresses.
For each address, resolve its pricing family and free flag:
${CLAUDE_PLUGIN_ROOT}/scripts/council/priors.py resolve <address> \
--priors-dir ${CLAUDE_PLUGIN_ROOT}/scripts/council/priors
then look up that family in ${CLAUDE_PLUGIN_ROOT}/scripts/council/pricing.json
(.families.<family>.free). Present the discovered fleet as a table:
address, family, free y/n. This is the fleet snapshot that goes into
commission.json at the end — capture it now.
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.
- 10d ago First seen · 175 lines · 34 tokens per session scan A 45b37d7bdd25
council-commission is a command published in the GitHub repository SteveGJones/ai-first-sdlc-practices (41 stars, last pushed 1mo ago), licensed MIT. It adds 34 tokens to every session and 2,271 once invoked, about $0.0002 per session on Opus 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.
Other commands, from other repositories
template
Manage issue templates for streamlined issue creation.
sync-linear
Sync current work with Linear ticket status.
fest-show
Show festival progression (in-progress tasks, roadmap, and dependency view).
add-note
Add an internal or external note to a ConnectWise PSA ticket.
dispatcher
Pick the next-best repo to work on across the portfolio — rank free repos, recommend one, claim its lease atomically, and route to the entry command.
workpm
A project-management workflow for coordinating multiple AI workers through five stages. It includes task assignment, shared activity logs, worker replacement, and final checks.