ask-agents
Send a task or question to Claude Code and/or Gemini as external subagents and report back what they said. Use when the user asks…
Dispatch a small panel of critic agents in parallel on a plan, draft, or decision, then synthesize their raw critiques in a separate fresh-context pass. Use when the user asks for a council, a panel of critics, or a multi-angle review.
$ npx -y skills add chrisblattman/claudeblattman --skill council --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/councilContext preview
The summary Claude sees to decide when to auto-load this skill.
Dispatch a small panel of critic agents in parallel on a plan, draft, or decision, then synthesize their raw critiques in a separate fresh-context pass. Use when the user asks for a council, a panel of critics, or a multi-angle review.
name: council description: Dispatch a small panel of critic agents in parallel on a plan, draft, or decision, then synthesize their raw critiques in a separate fresh-context pass. Use when the user asks for a council, a panel of critics, or a multi-angle review. argument-hint: <topic or file:path> [--panel a,b,c] [--n 3] [--type plan|decision] [--peer codex|gemini]
Dispatch 3–4 critic agents in parallel on the same input, collect their raw critiques, then run ONE synthesis pass in a fresh context. Hard cap: 4 critics. Single round only — critics speak once, the synthesizer reads once. Never turn the critiques into a majority vote.
Why this shape:
| Critic | Lens | |--------|------| | `skeptic` | Wishful thinking — which load-bearing claims aren't backed by evidence? | | `pre-mortem` | Works backward from failure — the top 3 ways this fails | | `completeness-checker` | What's missing that a domain expert would expect? | | `chief-of-staff` | What's the actual decision, and what does saying yes cost the user? |
Persona files live at `${CLAUDE_PLUGIN_ROOT}/agents/<name>.md`.
| Task type | Panel | N | |-----------|-------|---| | Plan / architecture / workflow review | skeptic, pre-mortem, completeness-checker | 3 | | Decision support ("should I…") | skeptic, pre-mortem, chief-of-staff | 3 |
Paper and grant-proposal panels need additional personas — future release. If the user asks for one, say so and offer the plan panel as the closest fit.
Inferring the type when `--type` isn't given: "plan / design / architecture / workflow" → plan; "should I / decide / go or no-go / accept or reject" → decision; unclear → ask one line: "Is this a plan review or a decision?"
1. Identify the input. If `file:<path>` is given, Read that file — its content is what the critics review. Otherwise the topic is the text or recent conversation content the user pointed at. 2. Resolve the panel: explicit `--panel` wins; else `--type`; else infer from keywords; else ask. 3. Cap at 4 critics. If the user asks for more: "Hard cap is 4 — more voices adds noise, not signal. Pick a tighter panel."
For each persona in the panel, Glob `${CLAUDE_PLUGIN_ROOT}/agents/<name>.md`. If any file is missing, stop with a clear message:
> "Council can't run: the persona file for `<name>` is missing from the starter-kit plugin. Reinstalling the plugin usually fixes this, or pass `--panel` with personas that exist."
No silent substitutions for missing personas.
By default all critics are Claude agents — that works with zero extra setup. `--peer` swaps ONE critic for a different AI engine, so the panel isn't all one model family.
0. **Privacy check and explicit confirmation (required).** A peer critic sends the full input to another AI service. If the input contains confidential records, personal contact details, research-participant or human-subjects data, or anything the user wouldn't paste into a public website — skip the peer swap, say why in one sentence, and run the all-Claude panel. If the privacy check passes, ask: "Send this plan to Codex/Gemini as one council critic? (yes/no)" Proceed with the peer critic only if the user answers yes; otherwise run the all-Claude panel.
1. Read `~/.claude/starter-kit/engines.json` (written by `/kit-setup`). The engine counts as available only if ALL of these hold:
If any check fails, print exactly:
> "Running on Claude only — that's the normal setup and everything here works. (Have ChatGPT or Gemini? Run /kit-setup to plug them in.)"
and continue with the all-Claude panel.
2. If the engine is available, pick the critic it replaces: `codex` replaces `skeptic` (closest overlap — rigor and failure-finding); `gemini` replaces `completeness-checker` (broad coverage). If the replaced persona isn't in the panel, replace the last critic in the panel.
3. Build the peer prompt: the replaced persona's role and output shape (from its persona file), the same input the Claude critics get, and the line "End with VERDICT: APPROVE or REVISE + brief rationale. Do not reconcile with other critics — a separate synthesizer does that."
4. Create two temp files in one Bash call — `echo "$(mktemp /tmp/council-peer-prompt.XXXXXX) $(mktemp /tmp/council-peer-out.XXXXXX)"` — note both paths, then use the Write tool to put the peer prompt in the first one.
5. In Step 4's parallel message, include ONE Bash call alongside the Task calls:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/codex-run.sh" <out-file> < <prompt-file>
# or, for gemini:
bash "${CLAUDE_PLUGIN_ROOT}/scripts/gemini-run.sh" <A professor's guide to building AI workflows — from chatbots to self-improving systems. Website: claudeblattman.com
Send a task or question to Claude Code and/or Gemini as external subagents and report back what they said. Use when the user asks…
Wrap up the current session by writing a short HANDOFF.md in the project folder, so the next session can resume quickly. Use when…
Turn a rough, dictated, or ambiguous request into a clear, structured task, then carry it out. Use when a request is…
Review a proposed plan with a single-pass structured critique and a clear verdict. Use when the user asks to review a plan,…
Smoke-test skill for the starter kit. Confirms the plugin installed and skills load. Use when the user runs /kit-hello or asks to…
One-time starter-kit setup: detects optional AI engines (Codex, Gemini), confirms each with you, writes the engines config, and…