skills/council/SKILL.md
Convene a council/thinktank: fan one question out to several DISTINCT high-quality OpenRouter model families (via opencode/pi), each carrying a different generative persona/perspective, then synthesize the divergent thinking as chair. Generative deliberation — brainstorm, explore the option space, weigh tradeoffs, decorrelated ideation, lock a contested direction. Distinct from /roster's adversarial critique bench (that finds bugs in an artifact; this generates and reframes). Use when: "convene a council", "thinktank", "council of models", "brainstorm with different models", "get diverse perspectives", "panel of AIs", "what would different experts think", "divergence pass", "ideate broadly", "stress-test this direction with other models". Trigger: /council, /thinktank.
npx skillsauth add phrazzld/spellbook councilInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are the chair, not a participant. Convene a small bench of distinct model families — each in a different generative persona — to think divergently about one question, then synthesize. The point is decorrelated thinking the single orchestrator can't produce alone.
This is the generative sibling of /roster. Roster's adversarial bench
reviews an artifact to find the bug (one lens each, artifact-only). A council
generates: options, framings, first-principles takes, the non-obvious move,
the real disagreement. Reuse roster's dispatch mechanics and model index; this
skill owns composition + synthesis.
Two axes, both must vary — decorrelation comes from family × lens:
codex, grok, agy) for extra
family spread.
roster's references/model-provider-harness-index.md, or the OpenRouter
MCP (models-list, benchmarks, model-endpoints for current quality +
pricing). pi --provider openrouter --list-models <family> lists live slugs.references/personas.md. Compose a bespoke lens for the real question rather
than forcing a stock role.Scale to stakes: a quick divergence is 3 members; a load-bearing design call is 5–6 plus a native subagent or two on further lenses.
scripts/council.sh fans the bench out in parallel, caps each lane, and
collects every output — failed lanes reported, not hidden.
# members.tsv: label <TAB> cli <TAB> model <TAB> persona ('#' comments ok)
scripts/council.sh --task /tmp/q.txt --members /tmp/members.tsv --outdir /tmp/council
Write the shared task to one file (inline ALL context — lanes run cold, no
shared history). Default cli is opencode (opencode run --model openrouter/<slug>); pi is the lighter no-tools alternative. See /roster for
the exact headless forms.
Timeout judgment is part of composition. The script default is 1200s per lane
because strong reasoning models often need real wall time for cold, tool-using
architecture questions. Use shorter caps only for smoke checks, slug probes, or
cheap quick-divergence runs. For load-bearing design calls, keep the default or
raise --timeout to 1800s; if a lane hits the cap, report it as caller-capped
and rerun or exclude it before drawing model-quality conclusions.
Reading the lanes is the work — don't just paste them.
--timeout was
capped by the chair. Use short caps only intentionally, and don't blame the
model for a cap chosen too low for the task.--timeout is still the
runaway guard. The OpenRouter MCP credits-get shows remaining balance./roster — dispatch mechanics, live model index, the adversarial-critique
counterpart (use that to review, this to generate).nous-creative-ideation — a routed library of named ideation methods. Seed a
member's persona with a specific method (OuLiPo, TRIZ, lateral provocations),
or run the question through one first when the bench risks converging on the
obvious.testing
Capture one compounding repo-technical learning while a solved problem is still fresh. Use when: after a bug fix, diagnosis, delivery, review, or incident reveals a reusable pattern worth adding to `docs/solutions/`. Trigger: /compound, /capture-learning, /learning.
testing
Route Misty Step factory application capabilities. Use when choosing, auditing, integrating, or operating Canary, Powder, Landmark, Aesthetic, or Bitterblossom: production observability, incidents, health checks, error logging, backlog/work-card state, release intelligence, UI/UX system adoption, or supervised/unsupervised agent dispatch. Trigger: /factory-apps, /factory-stack.
testing
Prove a skill beats no-skill with a falsifiable A/B eval, or retire it. Design, generate, run, and maintain a skill-specific eval: name the one claim the skill must earn, run it skill-on vs raw same-model, grade blind with objective checks first, return a keep/adapt/cut verdict. Use when: "eval this skill", "does this skill help", "prove the skill beats no skill", "write an eval for", "benchmark a skill", "is this skill worth it", "skill A/B", "skill regression test", "generate skill evals". Trigger: /skill-eval, /eval-skill, /prove-skill.
tools
> Template. Copy to `<target-repo>/.agents/skills/<repo>-<domain>/SKILL.md` > and fill every bracketed placeholder from the live target repo. Delete this > line and every other `> ` guidance line before committing. See > `../../references/repo-local-skill-generation.md` for the full process. --- name: <repo>-<domain> description: | [One paragraph: what this skill verifies/runs/operates for <repo>, stated in terms of the repo's real shape (service/CLI/library/etc.), not generic process. En