Coverage-driven grill-me front-end in /create-plan
Goal
Interactive /create-plan grills the user across a coverage checklist before authoring, producing the mission + the required functional criterion; suppressed when grilling is impossible.
Implementation Sketch
Add create_plan_runtime/grill_checker.py (deterministic coverage-checklist state router: dimensions = outcome/consumer/acceptance-test/scope/constraints/deps; next-question-or-complete; skips dimensions the opening prompt answered; strong-default with a logged-waiver early-escape). SKILL.md emits the AskUserQuestion rounds (recommended-option per ask-user-question.md, up-to-4 per round, all before scaffold per Front-Loading). Grill output -> mission_ref body + the ownerless functional criterion fed to scaffold. Suppress in --inline/--autopilot (hybrid flag-precedence); fallback authors best-effort mission with assumptions stamped into the plan. Persist the grill transcript as provenance (decisions/ sidecar).
Spec References
scripts/create_plan_runtime/main.py select/scaffold; .claude/rules/skill-control-contract.md Front-Loading + Hybrid Contract; .claude/rules/ask-user-question.md.
Work Items
- Author
create_plan_runtime/grill_checker.pycoverage-checklist state router (dimensions + next-or-complete + waiver logging). - Wire the grill loop into
/create-planSKILL.md (AskUserQuestion rounds, recommended-option, grill-output -> mission + functional criterion). - Suppress grill in
--inline/--autopilot; author stamped-assumptions fallback mission. - Persist grill transcript to a
decisions/provenance sidecar. - pytest: state-router dimension coverage + waiver logging + suppression-mode fallback.