Skip to content

fix: /office-hours and /ceo-review accidentally contradict Boil the Lake (v0.16.1.1)#398

Open
simonemacario wants to merge 3 commits intogarrytan:mainfrom
simonemacario:two-axis-scope
Open

fix: /office-hours and /ceo-review accidentally contradict Boil the Lake (v0.16.1.1)#398
simonemacario wants to merge 3 commits intogarrytan:mainfrom
simonemacario:two-axis-scope

Conversation

@simonemacario
Copy link
Copy Markdown

@simonemacario simonemacario commented Mar 23, 2026

Summary

Users conflate "narrow scope" (product) with "cut quality" (implementation). gstack's own skills reinforce this confusion: /office-hours says "narrow beats wide" without distinguishing axes, and /plan-ceo-review SCOPE REDUCTION says "cut everything" without protecting implementation quality.

The fix: two axes, one mantra.

  • Product scope (WHAT you build) — narrow early. Narrowest wedge, focus as subtraction.
  • Implementation scope (HOW COMPLETELY you build it) — always maximal. Boil the Lake.

Narrow the product. Boil the implementation.

Changes (rebased onto v0.16.1.0)

  1. ETHOS.md — New "Two Axes of Scope" section in the builder philosophy (renumber 2→3, 3→4)
  2. scripts/resolvers/preamble.ts — Two-axis distinction added to generateCompletenessSection(). Propagates to ALL skills via {{PREAMBLE}}
  3. office-hours/SKILL.md.tmpl — Q4 Narrowest Wedge: "this is PRODUCT scope, not implementation quality" + bonus distinction after Q4
  4. plan-ceo-review/SKILL.md.tmpl — 5 surgical clarifications: SCOPE REDUCTION, Focus as subtraction, Subtraction default, scope application guidance, ruthless cut
  5. All SKILL.md files regenerated + golden baselines updated

Pre-Landing Review

No issues found. Content-only change (Markdown text + one TypeScript string literal).

Test plan

  • bun run gen:skill-docs regenerated cleanly for all 3 hosts (claude, codex, factory)
  • Two-axis text propagates to all generated SKILL.md files via preamble
  • Golden baselines updated (claude, codex, factory ship SKILLs)
  • Rebased cleanly onto v0.16.1.0 (main as of 2026-04-08)
  • CHANGELOG version sequence verified contiguous

🤖 Generated with Claude Code

@simonemacario
Copy link
Copy Markdown
Author

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

Verified: template-to-output pipeline (generateCompletenessSection(ctx) signature change + call site), commit bisection (4 logical commits), .tmpl editing workflow, and generated SKILL.md regeneration. All 557 tests pass per PR description.

🤖 Generated with Claude Code

- If this code review was useful, please react with 👍. Otherwise, react with 👎.

@simonemacario
Copy link
Copy Markdown
Author

Rebased onto v0.13.0.0 — adapted to the new scripts/resolvers/ architecture (the original change targeted the monolithic gen-skill-docs.ts which has since been split).

The two-axis text now lives in scripts/resolvers/preamble.tsgenerateCompletenessSection(), so it propagates to all skills via {{PREAMBLE}} as before. All SKILL.md files regenerated cleanly.

Updated the PR description to reflect the current state.

@simonemacario
Copy link
Copy Markdown
Author

simonemacario commented Mar 30, 2026

Rebased onto v0.14.1.0. One conflict resolution worth noting: the original commit 2 modified scripts/gen-skill-docs.ts directly, but upstream split that into scripts/resolvers/ since the last rebase. I dropped the stale commit 2 and kept commit 5 which already applies the two-axis text to scripts/resolvers/preamble.ts (the correct location). Net effect is the same — generateCompletenessSection() produces the two-axis guidance, all skills inherit it via {{PREAMBLE}}.

The gen-skill-docs.ts diff is large (-240/+216 lines) but it's entirely upstream's refactoring being accepted — no manual edits from this PR. The actual PR changes are confined to:

  • ETHOS.md (+43 lines — new section)
  • scripts/resolvers/preamble.ts (+4/-1 — the two-axis text)
  • office-hours/SKILL.md.tmpl (+4/-1)
  • plan-ceo-review/SKILL.md.tmpl (+10/-1)

simonemacario and others added 2 commits April 8, 2026 20:50
Users conflate 'narrow scope' (product) with 'cut quality' (implementation).
Add two-axis distinction: narrow the product, boil the implementation.

- ETHOS.md: new 'Two Axes of Scope' section (renumber 2->3, 3->4)
- preamble.ts: two-axis text in generateCompletenessSection()
- office-hours: Q4 Narrowest Wedge clarified as product scope
- plan-ceo-review: SCOPE REDUCTION, Focus as subtraction clarified

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@simonemacario simonemacario changed the title fix: /office-hours and /ceo-review accidentally contradict Boil the Lake fix: /office-hours and /ceo-review accidentally contradict Boil the Lake (v0.16.1.1) Apr 9, 2026
@simonemacario
Copy link
Copy Markdown
Author

Rebased onto current main (v0.16.1.0) — the original PR had merge conflicts from v0.14.1.0. Stripped out the structural changes that already landed (INVOKE_SKILL resolver, sensitive: true, factory simplification) and kept only the content changes: two-axis scope philosophy in ETHOS.md, preamble resolver, and surgical clarifications in office-hours + plan-ceo-review templates. All SKILL.md files regenerated cleanly for all 3 hosts.

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