Skill Tracer
Skills › Compound Engineering › ce-strategy

ce-strategy

skill · 59 lines · MIT · skills/ce-strategy/SKILL.md

The facts

Its description

Create or update STRATEGY.md. Use when starting a product, adding a strategy doc, or changing direction or roadmap.

The description the agent reads to decide when to use it.

From its settingsline 3

When it starts

The agent picks this skill when someone wants to create or revise the repo-root STRATEGY.md — starting a product, adding a strategy document, or changing direction or roadmap.

Things a person might say (the model's guesses)

  • “Let's write a strategy doc for this project”
  • “We're changing direction — can you update our roadmap and strategy?”
  • “I'm starting a new product and want to define what it is and who it's for”

A model's summary of when it is used.

A model's reading

What it takes when started

[optional: section to revisit, e.g. 'metrics' or 'approach']

What to type after its name when you start it.

From its settingsline 4

Files it mentions

references/strategy-template.md, references/update-run.md, references/grounding.md (first 5 of 8 lines)

Files the text names, such as ones to read or write. Found by matching words, so treat them as pointers.

Found by matching wordsline 9 line 11 line 19 line 29 line 33

What it leads to

Other skills this one hands off to, calls, requires or offers instead, as a model read them.

A model's reading

What leads to it

Other skills that hand off to this one, call it, require it or offer it instead, as a model read them.

A model's reading

Licence

MIT, from LICENSE

The terms its author shares it under, which let it be shown here.

From the repositorylicence text
Other files in this skill (4) Close

The text

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1---
2name: ce-strategy
3description: "Create or update STRATEGY.md. Use when starting a product, adding a strategy doc, or changing direction or roadmap."
4argument-hint: "[optional: section to revisit, e.g. 'metrics' or 'approach']"
5---
6
7# Product Strategy
8
9`ce-strategy` writes and maintains its part of `STRATEGY.md` - the repo-root project document that captures what the project is, who it serves, how it succeeds, and where the team is investing. The file is shared with other tools and people; this skill writes only the sections `references/strategy-template.md` names. Downstream skills read it when it exists: `ce-ideate`, `ce-brainstorm`, and `ce-plan` for what work is on-strategy; `ce-product-pulse` for the product name and key metrics; `ce-dogfood` for the primary persona. Its frontmatter keys and this skill's section headings are the contract those skills parse - keep them for every section this skill authors; a meaning an existing section already carries is merged into it (`references/update-run.md`).
11**Done:** `STRATEGY.md` exists at the repo root and the user has seen what will be written and had an edit pass. For a file in this skill's house format, every required section is filled from answers that survived pushback (or explicitly deferred to a linked legacy doc) and the file matches `references/strategy-template.md`. For a file in any other shape, done is the user-approved minimal edits applied, with the document's shape unchanged. A section the user could not sharpen in two rounds is written as given and named in chat as worth revisiting - a completed run, not a blocked one.

Product Strategy

ce-strategy writes and maintains its part of STRATEGY.md - the repo-root project document that captures what the project is, who it serves, how it succeeds, and where the team is investing. The file is shared with other tools and people; this skill writes only the sections references/strategy-template.md names. Downstream skills read it when it exists: ce-ideate, ce-brainstorm, and ce-plan for what work is on-strategy; ce-product-pulse for the product name and key metrics; ce-dogfood for the primary persona. Its frontmatter keys and this skill's section headings are the contract those skills parse - keep them for every section this skill authors; a meaning an existing section already carries is merged into it (references/update-run.md).

Done: STRATEGY.md exists at the repo root and the user has seen what will be written and had an edit pass. For a file in this skill's house format, every required section is filled from answers that survived pushback (or explicitly deferred to a linked legacy doc) and the file matches references/strategy-template.md. For a file in any other shape, done is the user-approved minimal edits applied, with the document's shape unchanged. A section the user could not sharpen in two rounds is written as given and named in chat as worth revisiting - a completed run, not a blocked one.

Raw lines 1 to 12
Names a skill ce-ideate :9
Names a skill ce-brainstorm :9
Names a skill ce-plan :9
Names a skill ce-product-pulse :9
Names a skill ce-dogfood :9
Reads a file references/update-run.md :9
13## Boundaries
15- **Anchor, not plan.** Strategy is what the product is and why. Features belong in `ce-brainstorm`, schedules and prioritization in the issue tracker, implementation plans in `ce-plan`; do not let them creep into the doc, and do not update the tracker or reconcile in-flight work.
16- **The user answers; the repo only grounds the question.** Use evidence to ask a sharper question, never to fill in a section. Do not derive the strategy from the repo.
17- **Short is a feature.** Push back on expansion rather than adding sections.
18- **Record which metrics matter and where they live**, not what they read today.
19- **Meaning is the contract; the shape belongs to whoever created the doc.** A file that is solely this skill's (`references/update-run.md` states the test) is maintained in house format on every write: headings renamed, sections in the template's current order, missing required sections offered. Do not treat it as multi-writer merely because the file is shared in principle. A file in any other shape, hand-written or from another tool, is read by meaning and edited in its own shape and idiom: no restructuring into the template, no uninvited frontmatter or headings. Either way, two things are never edited: a section carrying an author-approved marker (e.g. `<!-- <tool>: author-approved 2026-07-10 -->`), and a doc the user does not own. For those, report the conflict, or write a separate file that links to it. A targeted update preserves every other section's content exactly. Where that section sits follows the same ownership test: a solely-owned file takes the template's order; a multi-writer file is never reordered. `references/update-run.md` defines the rest and is a required read before you edit an existing file.

Boundaries

  • Anchor, not plan. Strategy is what the product is and why. Features belong in ce-brainstorm, schedules and prioritization in the issue tracker, implementation plans in ce-plan; do not let them creep into the doc, and do not update the tracker or reconcile in-flight work.
  • The user answers; the repo only grounds the question. Use evidence to ask a sharper question, never to fill in a section. Do not derive the strategy from the repo.
  • Short is a feature. Push back on expansion rather than adding sections.
  • Record which metrics matter and where they live, not what they read today.
  • Meaning is the contract; the shape belongs to whoever created the doc. A file that is solely this skill's (references/update-run.md states the test) is maintained in house format on every write: headings renamed, sections in the template's current order, missing required sections offered. Do not treat it as multi-writer merely because the file is shared in principle. A file in any other shape, hand-written or from another tool, is read by meaning and edited in its own shape and idiom: no restructuring into the template, no uninvited frontmatter or headings. Either way, two things are never edited: a section carrying an author-approved marker (e.g. <!-- <tool>: author-approved 2026-07-10 -->), and a doc the user does not own. For those, report the conflict, or write a separate file that links to it. A targeted update preserves every other section's content exactly. Where that section sits follows the same ownership test: a solely-owned file takes the template's order; a multi-writer file is never reordered. references/update-run.md defines the rest and is a required read before you edit an existing file.
Raw lines 13 to 20
Names a skill ce-brainstorm :15
Names a skill ce-plan :15
Reads a file references/update-run.md :19
21## Asking and routing
23Ask one question at a time through the host's blocking question tool already in the current tool list. Match by capability; never probe a user-facing tool to discover it. Fall back to numbered options on the visible chat surface only when no such tool is listed or a real question call errors. Never silently skip the question.
25Any argument this skill was invoked with — present in the current prompt or conversation, from the user or a calling skill — is a focus hint: a section to revisit (`metrics`, `positioning`, `tracks`; older names such as `approach` or `who it's for` map to the current section) or a scope hint. With none, proceed open-ended and let the file state decide the path.

Asking and routing

Ask one question at a time through the host's blocking question tool already in the current tool list. Match by capability; never probe a user-facing tool to discover it. Fall back to numbered options on the visible chat surface only when no such tool is listed or a real question call errors. Never silently skip the question.

Any argument this skill was invoked with — present in the current prompt or conversation, from the user or a calling skill — is a focus hint: a section to revisit (metrics, positioning, tracks; older names such as approach or who it's for map to the current section) or a scope hint. With none, proceed open-ended and let the file state decide the path.

Raw lines 21 to 26
27## Phase 0: Ground and route
29Phase 0 produces a repo model and a decision about which phase runs next, whatever the harness reads. `references/grounding.md` is a non-optional load: it carries the full source list and the wording of the disagreement question and the focus hint.
31**The repo model** is your working understanding of what this product is. Read `STRATEGY.md` if it exists. Take what the product is from its stated intent and structure - README, `CONCEPTS.md`, `docs/`, sibling docs such as `PRODUCT.md`, what the code is organized around - and bound that read to "what is this and who is it for" rather than profiling the whole repo. Take what is getting attention now from recent commits or PRs. Attention informs only the Tracks question and staleness in an update run; where it disagrees with stated intent, that is a question for the user, never a conclusion. Show the model in chat before the first question: three to five lines on what you take the product to be, who it seems to serve, and where attention has gone, each with its source named, and invite correction. If the model did not supply the product's name, ask for it here - the template's frontmatter and title need it. A repo with no substantive content is a normal path: say so in one line and run the interview ungrounded.
33**The next phase** is announced in one line by file state: no file -> Phase 1 ("Strategy doc not found - let's write it."), after the legacy-sibling offer in `references/grounding.md` when one applies; file exists -> Phase 2 ("Found existing strategy - let's review and update.").

Phase 0: Ground and route

Phase 0 produces a repo model and a decision about which phase runs next, whatever the harness reads. references/grounding.md is a non-optional load: it carries the full source list and the wording of the disagreement question and the focus hint.

The repo model is your working understanding of what this product is. Read STRATEGY.md if it exists. Take what the product is from its stated intent and structure - README, CONCEPTS.md, docs/, sibling docs such as PRODUCT.md, what the code is organized around - and bound that read to "what is this and who is it for" rather than profiling the whole repo. Take what is getting attention now from recent commits or PRs. Attention informs only the Tracks question and staleness in an update run; where it disagrees with stated intent, that is a question for the user, never a conclusion. Show the model in chat before the first question: three to five lines on what you take the product to be, who it seems to serve, and where attention has gone, each with its source named, and invite correction. If the model did not supply the product's name, ask for it here - the template's frontmatter and title need it. A repo with no substantive content is a normal path: say so in one line and run the interview ungrounded.

The next phase is announced in one line by file state: no file -> Phase 1 ("Strategy doc not found - let's write it."), after the legacy-sibling offer in references/grounding.md when one applies; file exists -> Phase 2 ("Found existing strategy - let's review and update.").

Raw lines 27 to 34
Reads a file references/grounding.md :29
35## Phase 1: First-run interview
37Read `references/interview.md` before the first question - a non-optional load. The opening questions, pushback rules, anti-pattern examples, quality bar, blocking-question tool per host, and the two-round cap live there; improvising from memory produces a passive transcription instead of a strategy doc.
39Run the interview in this order (the document itself follows the template's order; Boundaries is asked after the stress test, where its content comes from):
411. Purpose
422. Positioning
433. Users
444. Key metrics
455. Tracks
466. Stress test
477. Boundaries (always written)
488. Milestones (optional)
499. Brand (optional)
51When every section is captured, read `references/strategy-template.md`, fill it in, present the full draft in chat, offer one round of edits, then write `STRATEGY.md`.

Phase 1: First-run interview

Read references/interview.md before the first question - a non-optional load. The opening questions, pushback rules, anti-pattern examples, quality bar, blocking-question tool per host, and the two-round cap live there; improvising from memory produces a passive transcription instead of a strategy doc.

Run the interview in this order (the document itself follows the template's order; Boundaries is asked after the stress test, where its content comes from):

  1. Purpose
  2. Positioning
  3. Users
  4. Key metrics
  5. Tracks
  6. Stress test
  7. Boundaries (always written)
  8. Milestones (optional)
  9. Brand (optional)

When every section is captured, read references/strategy-template.md, fill it in, present the full draft in chat, offer one round of edits, then write STRATEGY.md.

Raw lines 35 to 52
53## Phase 2: Update run
55Read `references/update-run.md` first - a non-optional load, before the summary, the drift check, or any question. It decides how drift candidates are raised, which section is revisited, and what is preserved untouched. An update run summarizes the file's current state in 3-5 lines, and names any section the repo model suggests is stale as a candidate rather than a verdict. It then revisits the section the focus hint named, or the one the user picks when asked. The user may pick any section; list the drift candidates first, as suggestions rather than as the only choices. Every other section's content is left untouched, and its place follows the ownership test in `references/update-run.md`. Questions and pushback still come from `references/interview.md`, applied as if this were a first run.

Phase 2: Update run

Read references/update-run.md first - a non-optional load, before the summary, the drift check, or any question. It decides how drift candidates are raised, which section is revisited, and what is preserved untouched. An update run summarizes the file's current state in 3-5 lines, and names any section the repo model suggests is stale as a candidate rather than a verdict. It then revisits the section the focus hint named, or the one the user picks when asked. The user may pick any section; list the drift candidates first, as suggestions rather than as the only choices. Every other section's content is left untouched, and its place follows the ownership test in references/update-run.md. Questions and pushback still come from references/interview.md, applied as if this were a first run.

Raw lines 53 to 56
Reads a file references/update-run.md :55
Reads a file references/interview.md :55
57## Phase 3: Downstream handoff
59Note in one line where the file lives and that `ce-ideate`, `ce-brainstorm`, and `ce-plan` pick it up as grounding on their next run. If no downstream skill has run here yet, suggest `ce-ideate` or `ce-brainstorm` as a next step.

Phase 3: Downstream handoff

Note in one line where the file lives and that ce-ideate, ce-brainstorm, and ce-plan pick it up as grounding on their next run. If no downstream skill has run here yet, suggest ce-ideate or ce-brainstorm as a next step.

Raw lines 57 to 59
Names a skill ce-ideate :59
Names a skill ce-brainstorm :59
Names a skill ce-plan :59

From EveryInc/compound-engineering-plugin at 3449230, 2026-10-31. Skills read by DeepSeek V4.1 Flash on 2026-11-04. Summary and techniques by Claude Opus 5.5 on 2026-11-06.