From compound-engineering
Creates or updates STRATEGY.md — a short, durable product strategy document. Use when starting a product, changing direction, or grounding downstream planning skills.
How this skill is triggered — by the user, by Claude, or both
Slash command
/compound-engineering:ce-strategy [optional: section to revisit, e.g. 'metrics' or 'approach'][optional: section to revisit, e.g. 'metrics' or 'approach']The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Note: The current year is 2026.** Use this when dating the strategy document.
Note: The current year is 2026. Use this when dating the strategy document.
ce-strategy produces and maintains STRATEGY.md - a short, durable anchor document that captures what the product is, who it serves, how it succeeds, and where the team is investing. It lives at the repo root as a canonical, well-known file (peer of README.md). Downstream skills (ce-ideate, ce-brainstorm, ce-plan) read it as grounding when it exists.
The document is short and structured on purpose. Good answers to a handful of sharp questions produce a better strategy than any amount of prose. This skill asks those questions, pushes back on weak answers, and writes the doc.
Default to the platform's blocking question tool: AskUserQuestion in Claude Code (call ToolSearch with select:AskUserQuestion first if its schema isn't loaded), request_user_input in Codex, ask_question in Antigravity CLI (agy), ask_user in Pi (requires the pi-ask-user extension). Fall back to numbered options in chat only when no blocking tool exists in the harness or the call errors (e.g., Codex edit modes) — not because a schema load is required. Never silently skip the question.
Ask one question at a time. Prefer free-form responses for the substantive sections (problem, approach, persona); reserve single-select for routing decisions (which section to revisit). Each option label must be self-contained.
<focus_hint> #$ARGUMENTS </focus_hint>
Interpret any argument as an optional focus: a section name to revisit (metrics, approach, tracks) or a scope hint. With no argument, proceed open-ended and let the file state decide the path.
ce-brainstorm; schedules belong in the issue tracker. Do not let either creep into the doc.Read STRATEGY.md using the native file-read tool.
Announce the path in one line: "Strategy doc not found - let's write it." or "Found existing strategy - let's review and update."
Read references/interview.md. This load is non-optional - the pushback rules, anti-pattern examples, and quality bar for each section live there. Improvising from memory produces a passive transcription instead of a strategy doc.
Run the interview in the section order of the final document:
For each section, ask the opening question, apply the pushback rules, and capture the final answer in the user's own language. Do not skip the pushback step - it is the core of the skill. Two rounds of pushback per section maximum; capture what the user has given after that and note the section is worth revisiting on the next run.
When all required sections (1-5) are captured, read references/strategy-template.md, fill it in, and present the full draft in chat before writing. Offer one round of edits. Then write to STRATEGY.md.
Read the existing STRATEGY.md thoroughly. Summarize current state in 3-5 lines so the user sees what is on file.
If the argument named a specific section, jump to that section in references/interview.md. Preserve all other sections exactly. Apply pushback as if this were a first run - do not rubber-stamp existing weak content just because it is already written.
If no specific target, ask the user which section to revisit using the blocking question tool. Options:
For each revisited section, re-interview with full pushback. For sections the user confirms are still accurate, leave them untouched. Update the last_updated value in the YAML frontmatter to today's ISO date.
Write the updated doc back to STRATEGY.md.
After writing, note in one line where the file lives and that ce-ideate, ce-brainstorm, and ce-plan will pick it up as grounding on their next run.
If no downstream skill has run yet on this repo, suggest ce-ideate or ce-brainstorm skills as a next step.
ce-brainstorm and ce-plan.The "Target problem / Our approach / Tracks" structure is informed by Richard Rumelt's Good Strategy Bad Strategy - specifically his kernel of diagnosis, guiding policy, and coherent action. The interview questions in references/interview.md are designed to push past the patterns he calls "bad strategy": fluff, goals dressed up as strategy, and feature lists in place of a guiding choice. The book is the recommended follow-up reading if the distinction between a slogan and a strategy is not yet sharp.
npx claudepluginhub qqqcat/compound-engineering-plugin3plugins reuse this skill
First indexed Jun 25, 2026
Creates or updates STRATEGY.md — a short, durable product strategy document. Use when starting a product, changing direction, or grounding downstream planning skills.
Runs a sharp interview to write or maintain STRATEGY.md as the product anchor. Use when defining product strategy, setting a north star, or starting or redirecting a product.
Runs an interview to write or update a root-level STRATEGY.md, enforcing pushback rules against fluff, goals-as-strategy, and feature-lists. Validates existing strategy files and offers repair paths.