claude-skills/docs/commands/cs-grill-with-docs.md
Claude 32a0da53a4
chore(v2.8.0-sprint3): cross-platform sync + docs generation + MkDocs nav + CHANGELOG
Sprint 3 closure for v2.8.0. Brings the 2 new top-level domains
(business-operations + commercial) to release-ready by extending the
cross-platform sync infrastructure, the docs generator, and the MkDocs
nav to recognize them.

## Cross-platform sync (codex / gemini / hermes)

- scripts/sync-codex-skills.py — SKILL_DOMAINS extended with
  business-operations + commercial. Regenerated .codex/skills/ symlinks
  for 15 new skills + .codex/skills-index.json with full descriptions.
- scripts/sync-gemini-skills.py — DOMAIN_MAP extended with all 5 v2.7.0+
  v2.8.0 top-level domains (productivity, marketing-top-level, research,
  business-operations, commercial). +30 items synced.
- scripts/sync-hermes-skills.py — DOMAIN_DIRS extended with
  business-operations + commercial.

## Docs generation (Pass 2 command/agent discovery)

scripts/generate-docs.py extended with:

- DOMAINS dict extended with business-operations (sort=13) and commercial
  (sort=14) entries.
- Pass 2 for agent discovery — walks <domain>/agents/<agent>.md
  (v2.8.0 pattern), in addition to <domain>/<plugin>/agents/<agent>.md
  (legacy pattern).
- Pass 2 for command discovery — walks <domain>/commands/<cmd>.md
  (v2.8.0 pattern) AND <domain>/<skill>/commands/<cmd>.md (v2.7.0
  pattern). Previously, only root-level commands/*.md were discovered;
  35 commands were orphaned (v2.7.0 capture/pulse/landing/etc. +
  all v2.8.0 commands).

Result: 311 skill pages + 75 agent pages + 69 command pages = 455
total. Up from 311 + 73 + 34 = 418.

## MkDocs nav

mkdocs.yml updated with:

- Business Operations section (7 sub-skill nav entries)
- Commercial section (8 sub-skill nav entries)
- 2 new orchestrator agents added to Agents nav
- 17 new v2.8.0 slash commands added to Commands nav

MkDocs build succeeds (non-strict) in ~17s. Strict mode flags 3 pre-
existing broken links in older content (cs-aeo, grill-with-docs) —
out of scope for v2.8.0.

## CHANGELOG.md

v2.8.0 entry rewritten from "Sprint 1 only" to the full Sprint 1 + 2 + 3
view. All 13 sub-skills documented with canon attribution. Stats updated:

- 313 -> 328 skills (+15)
- 12 -> 14 top-level domains
- 60 -> 77 slash commands (+17)
- 402 -> 441 Python tools (+39)
- 542 -> 581 reference docs (+39)
- 46 -> 48 cs-* agents (+2)
- 57 -> 59 marketplace plugins (+2)
- 34 -> 69 documented commands in MkDocs (+35)

## Root CLAUDE.md

Updated Current Scope + Current Version to reflect v2.8.0 (released)
status. Sprint 1 "in-flight" -> "complete". Counts updated to
328 skills / 441 tools / 77 commands.

## Per-skill audit (scripts/audit_skills.py)

Ran across 329 total skills. All 13 v2.8.0 sub-skills audited with
skill_review_checklist_runner.py: 1 score 5/6, 7 score 4/6, 4 score
3/6, 1 score 2/6 (knowledge-ops). Dominant failure mode: rule #2
"SKILL.md under 100 lines" — known tension with our deliberate
Forcing-question library depth (mandatory per user direction). Tracked
as ADVISORY for skills that deliberately expose extended grill
discipline.

## Plugin manifest validation

scripts/check_plugin_json.py --all passes (exit 0) for all 47 plugin
manifests including the 2 new ones. The PR #690 validator recognizes
the source extension field per CLAUDE.md.

https://claude.ai/code/session_015bBb4HzWCf5HH5QK2TGtnW
2026-05-19 06:02:00 +00:00

4.9 KiB

title description
/cs-grill-with-docs — Slash Command for AI Coding Agents /cs:grill-with-docs <path-to-plan> — Start a docs-anchored grilling session. Pre-flights CONTEXT.md + docs/adr/ linters, then interrogates the plan. Slash command for Claude Code, Codex CLI, Gemini CLI.

/cs-grill-with-docs

:material-console: Slash Command :material-github: Source

Command: /cs:grill-with-docs <path-to-plan>

The cs-grill-with-docs persona pre-flights the project's documented language and decisions, then walks the plan one branch at a time — challenging fuzzy terms against CONTEXT.md, surfacing code-vs-glossary contradictions, and writing ADRs only when the 3-criteria gate is met.

When to Run

  • Stress-testing a plan that touches an established codebase with documented language
  • Onboarding a new feature into an existing bounded context
  • Resolving ambiguity introduced by drift between glossary and code
  • Pre-mortem on an architectural decision before it lands

When NOT to Run (use /cs:grill-me instead)

  • The repo has no CONTEXT.md and no docs/adr/ and you don't want to seed them
  • You want a plan-only grill in a vacuum (the docs anchor would add no signal)
  • The plan is exploratory / pre-language-decision

The Six Forcing-Question Patterns (Docs-Anchored)

  1. Glossary conflict: "CONTEXT.md defines '{term}' as X. You just used it to mean Y. Which is it — or are these two concepts?"
  2. ADR contradiction: "ADR-{nnnn} locked in {choice}. Your plan implies {opposite}. Are we superseding, or did the plan drift?"
  3. Undefined term: "You said '{term}'. CONTEXT.md doesn't define it. Do you mean {candidate-1}, {candidate-2}, or something new?"
  4. Code vs claim: "Your code says X. You just said Y. Which is current state — and which are we changing?"
  5. ADR 3-criteria gate: "This decision is reversible in an afternoon. Why does it need an ADR? If 'it doesn't' — skip it."
  6. Boundary check: "Which bounded context owns this concept? If two contexts both touch it, what's the contract between them?"

Discipline

  • Pre-flight the linters first. Never grill without the docs-state snapshot.
  • One question per turn. Never bundle.
  • Recommended answer attached. Every question carries a position + rationale.
  • Codebase + docs before speculation. grep / Read / lint resolves before asking.
  • CONTEXT.md edited inline. No deferred glossary batches.
  • ADR 3-criteria gate. Hard-to-reverse + surprising + real-trade-off. All three or skip.

Workflow

# 1. Pre-flight — snapshot the docs state
python ../skills/grill-with-docs/scripts/context_md_linter.py CONTEXT.md
python ../skills/grill-with-docs/scripts/adr_scanner.py docs/adr/
python ../skills/grill-with-docs/scripts/glossary_code_consistency.py \
  --context CONTEXT.md --code src/

# 2. Read the plan
#    Use the linter findings as opening question seeds.

# 3. Walk one question at a time:
#    Persona asks Q1 with recommendation (anchored to docs/code).
#    User answers.
#    Apply edits inline if the answer changes the glossary or warrants an ADR.

# 4. Re-lint after any structural CONTEXT.md edit:
python ../skills/grill-with-docs/scripts/context_md_linter.py CONTEXT.md

# 5. Re-scan after any new ADR:
python ../skills/grill-with-docs/scripts/adr_scanner.py docs/adr/

# 6. At close — final consistency sweep:
python ../skills/grill-with-docs/scripts/glossary_code_consistency.py \
  --context CONTEXT.md --code src/

When to Stop

  • Every branch has an answer, AND
  • Final lint state is clean (context_md_linter + adr_scanner both PASS), AND
  • No new fuzzy terms surfaced in the last 3 turns

Produce a "glossary changes + ADRs + open items" summary at close.

Output Format

Q[i]/[total] (anchor: CONTEXT.md§Language | ADR-0003 | code:src/orders/cancel.ts:42 | plan:L18):

[question]

Recommended: [position] because [rationale grounded in the anchor]

Version: 1.0.0 Derived: Matt Pocock's grill-with-docs (MIT) + this repo's wrapper