Skip to content

feat: universal 'one decision per question' AskUserQuestion rule (v0.11.12.1)#427

Merged
garrytan merged 13 commits intomainfrom
garrytan/askuser-one-at-a-time
Mar 25, 2026
Merged

feat: universal 'one decision per question' AskUserQuestion rule (v0.11.12.1)#427
garrytan merged 13 commits intomainfrom
garrytan/askuser-one-at-a-time

Conversation

@garrytan
Copy link
Owner

@garrytan garrytan commented Mar 24, 2026

Summary

  • Every skill now enforces "one decision per AskUserQuestion call" as a universal baseline in the shared preamble
  • Previously only 3 plan-review skills (eng, ceo, design) had this rule; now all 23+ skills present focused, individual decisions
  • Added as item 5 to generateAskUserFormat() in scripts/gen-skill-docs.ts
  • Regenerated all 28 SKILL.md files

Test Coverage

All new code paths have test coverage. The change is a single line of prompt text in a build-time generator — existing gen-skill-docs.test.ts and skill-validation.test.ts cover the generation pipeline.

Pre-Landing Review

No issues found.

Test plan

  • All bun tests pass (skill validation, gen-skill-docs quality, eval store)
  • Verified "One decision per question" appears in all 23 generated SKILL.md files
  • Confirmed per-skill rules in plan-eng-review, plan-ceo-review, plan-design-review are compatible (they add section-blocking on top)
  • Confirmed autoplan's auto-decide flow is unaffected (final gate comes after all individual decisions)

Documentation

Documentation

  • VERSION: bumped to 0.11.18.1
  • CHANGELOG.md: added v0.11.18.1 entry for "one decision per question" rule
  • README.md, CLAUDE.md, ARCHITECTURE.md, CONTRIBUTING.md: current, no updates needed

garrytan and others added 3 commits March 23, 2026 22:50
Add item 5 to the shared AskUserQuestion Format in generateAskUserFormat():
"NEVER combine multiple independent decisions into a single AskUserQuestion."
Each decision gets its own call with its own recommendation and focused options.
Batching multiple calls in rapid succession is fine and often preferred.

This promotes a rule already enforced by 3 plan-review skills (eng, ceo, design)
to the universal baseline, covering all 23+ skills via the shared preamble.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link

github-actions bot commented Mar 24, 2026

E2E Evals: ✅ PASS

53/53 tests passed | $5.03 total cost | 12 parallel runners

Suite Result Status Cost
e2e-browse 5/5 $0.21
e2e-deploy 4/4 $0.6
e2e-design 3/3 $0.45
e2e-plan 7/7 $1.07
e2e-qa-workflow 3/3 $0.86
e2e-review 5/5 $1.02
e2e-workflow 3/3 $0.36
llm-judge 23/23 $0.46

12x ubicloud-standard-2 (Docker: pre-baked toolchain + deps) | wall clock ≈ slowest suite

garrytan and others added 10 commits March 23, 2026 23:49
…at-a-time

Resolved conflicts:
- scripts/gen-skill-docs.ts: kept both sides (empty conflict at section boundary)
- VERSION: bumped to 0.11.13.1 (our MICRO on top of main's 0.11.13.0)
- CHANGELOG.md: added our 0.11.13.1 entry above main's 0.11.13.0
- SKILL.md files: regenerated from resolved templates via bun run gen:skill-docs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The merge from main dropped this constant (defined in resolvers/codex-helpers.ts
on main's modular version, but needed inline in our monolithic version). Caused
CI check-freshness to fail on `--host codex` generation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…at-a-time

Resolved conflicts:
- VERSION: take main's 0.11.14.0 (newer)
- CHANGELOG.md: keep main's 0.11.14.0 entry, drop our 0.11.13.1 entry
  (will get a fresh entry at ship time)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…at-a-time

Resolved conflicts:
- VERSION: take main's 0.11.16.1 (newer)
- CHANGELOG.md: keep main's entries (0.11.15.0, 0.11.16.0, 0.11.16.1),
  drop our stale 0.11.14.1 entry (will get fresh entry at ship time)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…at-a-time

Resolved conflicts:
- VERSION: take main's 0.11.17.0 (newer)
- CHANGELOG.md: keep main's 0.11.17.0 entry, drop our stale 0.11.16.2 entry
- SKILL.md, benchmark/SKILL.md, browse/SKILL.md, setup-browser-cookies/SKILL.md:
  regenerated from templates via bun run gen:skill-docs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ill-docs

The merge from main brought review/SKILL.md.tmpl with {{PLAN_COMPLETION_AUDIT_REVIEW}},
{{PLAN_COMPLETION_AUDIT_SHIP}}, and {{PLAN_VERIFICATION_EXEC}} placeholders, but the
local RESOLVERS map in the monolithic gen-skill-docs.ts didn't have entries for them.
Import the functions from scripts/resolvers/review.ts and register them.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@garrytan garrytan merged commit 70c51d5 into main Mar 25, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant