# Strategy

Source: https://flow-next.dev/skills/strategy/

Create and maintain STRATEGY.md - the product anchor downstream skills read for grounding.

`/flow-next:strategy` produces and maintains `STRATEGY.md`: a short, durable anchor at the repo root that captures what the product is, who it serves, how it succeeds, and where the team is investing.

The doc lives next to `README.md` and `GLOSSARY.md`, never under `.flow/`. The project’s strategy belongs to the project, not to flow-next.

## When to use it

* Starting a new product and need to lock down direction.
* Updating the roadmap after a pivot.
* Downstream skills (`/flow-next:prospect`, `/flow-next:chart`, `/flow-next:plan`, `/flow-next:interview`, `/flow-next:capture`) ask for grounding and no strategy exists yet.

## The five required sections

| Section        | Question it answers                    |
| -------------- | -------------------------------------- |
| Target problem | What real problem are we solving?      |
| Our approach   | How are we solving it differently?     |
| Who it’s for   | Who specifically benefits?             |
| Key metrics    | What signals tell us we’re winning?    |
| Tracks         | Where is the team investing right now? |

Two optional sections - `Milestones` (only if there are externally visible dated anchors) and `Not working on` (only if the team keeps being tempted by the same dead ends) - are gated behind a routing question. A `Marketing` section is deliberately not offered.

## Rigor in the questions

The section headers are plain English. The interview discipline lives in `references/interview.md`:

* Free-form answers for substance. No menu options on the strategy questions themselves - recommendations would prime the user out of their own language.
* Two rounds of pushback maximum per section. After round 2, the user’s words are captured verbatim and the section gets a `<!-- worth revisiting -->` marker.
* Anti-pattern labels (`vanity`, `fluff`, `feature-list`, `goal-stated-as-problem`) drive the follow-ups but never appear in the question text.

## Durable across runs

Strategy is rerunnable. On a second run the skill summarizes the current file, asks which section to revisit, and only re-interviews that section. Untouched sections stay byte-identical. `last_updated` bumps to today’s date.

The doc is constrained to four sentences per section (Tracks excepted). Adding sections beyond the locked seven is forbidden. Short is a feature.

## Ralph-blocked

`/flow-next:strategy` is human-in-the-loop only. Autonomous loops have no business deciding repo strategy - the skill hard-errors when invoked under Ralph.

## Foreign-file safety

If a `STRATEGY.md` exists that flow-next did not generate, the skill refuses to overwrite. The user is asked to `keep`, `migrate` (deferred to a future version - currently means rename and re-run), or `rewrite` (with a second confirmation prompt).

## Worked example

```plaintext
/flow-next:strategy
```

```text
No STRATEGY.md found. Interviewing: target problem, approach, audience, metrics, tracks...
(two optional sections gated: Milestones - declined; Not working on - accepted)
Written: STRATEGY.md (repo root, next to README.md and GLOSSARY.md)
Downstream grounding live: prospect, chart (its kickoff Grounding Snapshot), plan, interview, and capture now read it.
```

Five sections, plain headers, interview-grade questions - and every upstream skill stops guessing what the product is.

* Keep it short and durable; a strategy doc that needs weekly edits is a status report wearing the wrong filename.
* Update it on direction changes, not on releases - downstream skills read it for grounding, and stale tracks misground every plan.
* It survives uninstall by design: the doc belongs to the project, not to flow-next.

## Dynamic usage

Recipes that compose with strategy in the [cookbook](https://flow-next.dev/guides/cookbook/):

* [Team patterns](https://flow-next.dev/guides/cookbook/#team-patterns) - a committed STRATEGY.md is the cheapest onboarding artifact a repo can carry.
* [Prompt into a stage](https://flow-next.dev/guides/cookbook/#prompt-into-a-stage) - “update only the tracks section after this pivot” scopes the maintenance pass.

## Next step

```bash
/flow-next:prospect [focus]
```

Or, if `.flow/` is already populated, downstream skills will read the new `STRATEGY.md` on their next invocation.
