一键导入
strategy
Use when defining product strategy, setting a north star, starting or redirecting a product, or an existing STRATEGY.md has gone stale.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when defining product strategy, setting a north star, starting or redirecting a product, or an existing STRATEGY.md has gone stale.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Demolish bloated code and re-derive it clean, cutting every surface the rebuilt contract does not name. Use for a repo-wide bloat sweep, when patching a subsystem has stopped paying, or when the user says "this whole module is bloated", "rewrite this properly", or "break it and rebuild".
Use when the user says "deslop", "remove debug code", "find placeholders or stub code", or "remove dead code".
Dispatch compress operations. Use when the user says "tidy" or names a file, diff, memory, workspace, git stack, or doc to tidy.
Reduce internal duplication, dead code, and ceremony. Use when you spot dead fields, redundant wrappers, or speculative abstractions in code you are already editing.
Use when modernizing APIs, removing compat shims, killing feature flags, or rewriting a subsystem cleanly.
Use when the user says "simplify this diff", or asks for a compression pass over a change-set.
| name | strategy |
| description | Use when defining product strategy, setting a north star, starting or redirecting a product, or an existing STRATEGY.md has gone stale. |
| metadata | {"short-description":"Interview-driven STRATEGY.md product anchor at the operating repo root"} |
strategy runs a sharp interview and writes one durable anchor: the operating repo's STRATEGY.md (peer of README.md). It pins intent with a VS preamble, pushes back on weak answers instead of transcribing them, and resumes in place when the file already exists. It writes exactly one surface: STRATEGY.md at the operating repo root.
Op: of every run is extend: the anchor is a load-bearing capability added or sharpened, never a refactor of existing prose.
<auto_invoke> <trigger_phrases>
/strategy [section] runs immediately without waiting for a trigger phrase; an argument names a section to revisit (approach, metrics, tracks).</manual_override>
</auto_invoke>STRATEGY.md exists and the same framing keeps getting relitigated.STRATEGY.md has gone stale, or a section reads as a slogan.plan or ideate need upstream grounding and find no anchor.plan. Strategy says what the product is; plan says how to build a slice.ideate. Strategy pins one intent; ideate diverges.A section earns its place in STRATEGY.md only if it clears, in order:
Push back at most twice per section; then capture what the user gave and mark the section worth revisiting. If the required sections (target problem, approach, persona, metrics, tracks) can't clear the gate, write nothing, commit nothing, and say so in one line. A clean "not enough to anchor yet" is a valid result.
Read each at the step that needs it.
references/interview.md: the question bank, per-section quality bar, and pushback rules for all eight sections. Load before any interview turn; improvising the pushback from memory degrades into transcription.assets/strategy-template.md: the locked section skeleton and post-write checklist. Read when assembling the draft.askme skill) to surface the distinct things the user could mean by "strategy" here, and pin one. Skip only when the user already stated a single unambiguous intent. Pinning the wrong frame wastes the whole interview.git rev-parse --show-toplevel; the anchor is exactly $root/STRATEGY.md and nothing nested or recursively discovered. Read that one path with the native file-read tool. A not-found result is the existence signal:
Read references/interview.md. Run the eight sections in document order: target problem, approach, persona, metrics, tracks, then optional milestones, non-goals, marketing. For each: ask the opening question, apply the reject-by-default gate, push back at most twice on a weak answer, then capture it in the user's own words. Required sections are 1 to 5; optional sections default to skip. Never invent them.
Read the existing STRATEGY.md in full. Summarize current state in 3 to 5 lines so the user sees what's on file. Re-interview only the targeted or stale sections with full pushback. Do not rubber-stamp existing weak content because it's already written. Preserve every untouched section byte-for-byte. Update, don't clobber.
assets/strategy-template.md; fill it with captured answers in the user's language. Delete unused optional sections. No empty headers. Set last_updated to today's ISO date.$root/STRATEGY.md (the path resolved in Phase 0).git -C "$root" add STRATEGY.md. Never git add -A. Publish by the operating repo's normal flow.plan and ideate read it as optional grounding on their next run.ideate/plan; schedules → the tracker. Reject creep.| Gate | Pass criteria | Blocking |
|---|---|---|
| Intent pinned | A single intent fixed via VS preamble, or stated unambiguously | Yes |
| Required sections | Target problem, approach, persona, metrics, tracks each clear the reject-by-default gate | Yes. No write on failure |
| Connection | Approach answers the problem; tracks serve the approach; metrics can regress | Yes |
| Read-back | Written STRATEGY.md re-read and matches intent | Yes |
| Staging | git -C "$root" add STRATEGY.md only; working tree otherwise untouched | Yes |
One anchor per commit.
git add -A. Sweeping unrelated dirty files into the strategy commit. Stage STRATEGY.md alone.plan: plan designs implementation: decisions and units for building a slice, read-only over the codebase. strategy anchors what the product is and why. plan reads STRATEGY.md as optional grounding.ideate: ideate generates many directions and filters them. strategy pins one intent. Diverge with ideate; converge and anchor with strategy. ideate reads STRATEGY.md as optional grounding.askme: askme runs the Verbalized Sampling protocol to explore intent. strategy invokes it as the Phase 0 preamble, then writes the durable doc. askme asks; strategy records.The "Target problem / Our approach / Tracks" structure follows Richard Rumelt's Good Strategy Bad Strategy -- his kernel of diagnosis, guiding policy, and coherent action. The interview questions are designed to push past the patterns Rumelt 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 when the distinction between a slogan and a strategy is not yet sharp.