Help us improve
Share bugs, ideas, or general feedback.
From chief-skills
Interviews users one question at a time, verifies answers against codebase via background agent. Catches conflicts and contradictions. Persists sessions for context compaction. For high-stakes decisions where correctness is critical.
npx claudepluginhub thaitype/chief --plugin chief-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/chief-skills:chief-grillThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are running a verified grill session. This is `/grill-design` with two extra things bolted on:
Conducts relentless Socratic interviews to stress-test plans, designs, or ideas by walking every decision branch and resolving one-by-one. Triggers only on explicit 'grill me' or 'me grille'.
Grills users relentlessly on plans or designs by probing decision tree branches one-by-one with recommendations until shared understanding. Useful for stress-testing ideas or 'grill me' requests.
Grills users relentlessly on plans, designs, or ideas via Socratic questioning to expose assumptions, gaps, dependencies, and edge cases until shared understanding. Use to stress-test thinking before implementation.
Share bugs, ideas, or general feedback.
You are running a verified grill session. This is /grill-design with two extra things bolted on:
answer-verifier-agent. While the user is thinking about the next question, the agent cross-references the previous answer against the actual codebase. Findings surface as a sidebar..chief/_grill/opened/NNNN-topic.md. Survives compaction and /clear.Ask one question at a time. Wait for the user. Provide a recommended answer with each question.
Inspect (do not create yet):
.chief/ — exists?.chief/_grill/ — exists?.chief/_grill/opened/ and .chief/_grill/closed/ — exist?.chief/_grill/opened/?If .chief/_grill/opened/ contains files, list them with their topics (read the H1 of each) and ask:
Found N open grill session(s). Resume one, or start fresh?
- Resume
0003-payment-sdk(12 resolved, 3 open)- Resume
0007-auth(5 resolved, 0 open — ready for final review)- Start fresh
If the user picks resume → load that file as the session log, jump to step 5.
If the user picks fresh → continue to step 3.
If opened/ is empty or missing → continue to step 3.
Take the first user message after /chief-grill was invoked (or the most recent describing what to grill). Derive a kebab-case topic slug from it (3–5 words max). Show it to the user:
Topic:
payment-sdk. Continue, or pick a different slug?
If the user overrides, use their slug.
Now scaffold the directories that don't exist yet:
Create .chief/_grill/, .chief/_grill/opened/, .chief/_grill/closed/ as needed.
Compute next sequence number: count files in opened/ + closed/, add 1, zero-pad to 4 digits.
Create .chief/_grill/opened/NNNN-<slug>.md with this initial content:
# Grill: <topic title-cased>
## Open Questions
## Resolved
## Final Review
For each question, do this:
Pick from the Open Questions section if anything is queued; otherwise generate the next question by walking the design tree from where you are.
Before showing the question to the user, internally:
Form a recommended answer.
Ask yourself: what assumptions am I making? what could be wrong with this pick? what alternatives exist?
Surface the recommendation with the self-critique. Format:
Q:
Options:
- (A) ...
- (B) ...
Recommendation: (A) — .
Self-check: <one-sentence honest critique of the recommendation, e.g. "Assumes the team has Postgres ops experience — confirm before locking.">
Pick A/B/C, override, or push back?
If the previous question's background verification has returned a finding (verdict concern or conflict), render it as a sidebar before the new question:
Sidebar (Q): Suggested action: Evidence:
Address now, or continue?
If the user picks "address now," reopen Q. Otherwise carry on.
If verdict was ok, do not render anything.
Wait for the user. Accept their pick or override.
Before writing to the log, briefly stress-test:
If something is off, raise it inline before recording. Otherwise proceed.
Update the session log:
Q<n>: <question> → <decision>. Why: <reason>.(depends on: Q<n>) notes if relevant.Spawn answer-verifier-agent in the background with:
Use the Agent tool with subagent_type: "answer-verifier-agent" and run_in_background: true. The agent will return its YAML verdict; you read it back at the start of the next turn (5c) for sidebar rendering.
If the previous turn's background verifier hasn't returned by the time you're rendering 5c, do not block — just proceed without a sidebar. Pick up the finding when it lands; if it's a conflict, surface it as a sidebar at that point even if it's a question late.
Go back to 5a unless the user asks to wrap up.
When the user says "done" / "close this grill" / "wrap up" / similar:
answer-verifier-agent with mode: final and the session log path. Wait for its verdict (foreground this one).finding and evidence to the Final Review section of the log.concern or conflict, surface it and ask: "Address this and stay open, or close anyway?" — respect the user's choice..chief/_grill/opened/NNNN-<slug>.md → .chief/_grill/closed/NNNN-<slug>.md.If the user says "stop" / "pause" / leaves without closing → leave the file in opened/. They can resume later.
concern and conflict./grill-design/grill-design adds self-critique and stress-test, conversation-only. Light, no files, no subagents./chief-grill adds codebase verification (background subagent) and a persistent session log under .chief/_grill/. Heavier — use when stakes are high or the topic spans many cross-checked decisions.