kw:plan

Installation
SKILL.md

<plan_request> #$ARGUMENTS </plan_request>

Plan

Research what you already know, then structure a plan grounded in data and past learnings. Lead with the answer.

When to Use

  • After brainstorming, when you're ready to commit to a direction

  • Starting a new strategy doc, campaign plan, or brief

  • "Plan the March campaign", "I need a brief for X", "Let's structure this"

  • Any non-trivial knowledge work that benefits from past context

Process

Step 1: Classify the work type (auto-detect, don't ask)

Determine the work type from the user's description:

Type Signals
Strategy Roadmap, architecture, long-term, layers, phases
Campaign Launch, promotion, timeline, channels, audience
Brief Directive for someone else, scope, deliverables
Research Investigation, competitive, analysis, synthesis
Operations Playbook, runbook, SOP, recurring process

Pick the best fit and proceed. Do not ask the user to classify.

Also determine the detail tier from scope signals:

Tier Signals Output
Quick "should we?", "gut check", single question, <30 min scope Title, recommendation, 2-3 bullets of reasoning, one success metric
Standard Default — most plans Full template for the work type
Deep "restructure", "strategy", "multi-quarter", "fundamental" Full template + research appendix, competitive analysis, risk matrix, phased timeline

Pick the best fit. Default to Standard if unclear.

Step 2: Research (parallel agents + inline)

Launch research agents in parallel. Each returns structured findings — they do NOT write files.

<parallel_tasks>

2a. Past work — Launch Task agent: compound-knowledge:research:past-work-researcher

  • Pass: the plan request description + work type from Step 1
  • Returns: related plans, prior decisions, origin brainstorm documents

2b. Knowledge base — Launch Task agent: compound-knowledge:research:knowledge-base-researcher

  • Pass: the plan request description + keywords
  • Returns: saved learnings from docs/knowledge/ (insights, corrections, playbooks, patterns)

2c. External research (inline, not an agent) — If the topic would benefit from outside context:

  • Search the web for frameworks, best practices, competitive examples
  • Only run if the topic is outward-facing or novel — skip for internal operations

</parallel_tasks>

2d. Live data — Pull current metrics if the plan involves data. Follow whatever data hierarchy exists in the project's CLAUDE.md. If none exists, ask the user where to find relevant data.

2e. Origin document check — Search for plans/brainstorm-*.md files matching this topic. If found, this brainstorm is the origin document — reference it throughout the plan as (see origin: plans/brainstorm-{name}.md) and cross-check that the plan addresses tensions and load-bearing questions from the brainstorm.

Wait for all parallel tasks to complete before proceeding.

Step 3: Surface what you already know

Before writing anything, present a context brief:

## What I Found

**Related plans:**
- [plan name] — [one-line summary of what's relevant]

**Past learnings:**
- [learning title] — [the insight]

**Current data:**
- [metric]: [value] ([source, date])

**External research:**
- [finding] — [source]

**No prior context found** (if searches returned nothing)

Wait for the user to react. They may refine direction, add context, or say "looks good, go."

Step 4: Structure the plan

Use the template that matches the work type from Step 1. Each type has a different lead section — use the right one. Fill sections based on research findings. Skip sections that aren't relevant.

All templates share these common sections (include at the bottom of every plan):

## Success Metrics

| Metric | Current Baseline | Target | Source |
|--------|-----------------|--------|--------|
| [Primary metric] | [value] | [goal] | [where to measure] |

## Open Questions

- [What we don't know yet]
- [Decisions that need to be made]

## References

- [Related plans, knowledge entries, data sources used]

Strategy — Pyramid Principle. Lead with the recommendation.

# [Plan Title]

**Type:** Strategy
**Status:** Draft
**Created:** [today's date]

---

## Recommendation

[One paragraph: what we should do and why. Lead with the answer.]

## Current State

[What's true right now. Data from Step 2d. Source and date for every number.]

## Proposed Approach

[How to get from current state to the desired outcome. Layers or phases.]

Campaign — Timeline-first. Lead with what launches when.

# [Plan Title]

**Type:** Campaign
**Status:** Draft
**Created:** [today's date]

---

## Timeline

| Date/Week | Action | Channel | Owner |
|-----------|--------|---------|-------|
| [date] | [what launches] | [where] | [who] |

## Goal

[One paragraph: what this campaign achieves and how we'll know it worked.]

## Audience

[Who this targets. Segment, persona, or behavioral description.]

## Assets Needed

- [Copy, creative, landing pages, emails — what needs to be produced]

## Current State

[Relevant baselines. What are the numbers before we start?]

Brief — Directive-first. Lead with the recommendation, then scope.

# [Plan Title]

**Type:** Brief
**Status:** Draft
**Created:** [today's date]

---

## Recommendation

[One paragraph: what we should do and why. Lead with the answer.]

## Scope

[What's in and what's out. Be explicit about boundaries.]

## Deliverables

- [Concrete output 1]
- [Concrete output 2]

## Constraints

[Timeline, budget, dependencies, blockers.]

## Context

[Background the reader needs. Data from Step 2d.]

Research — Findings-first. Lead with what you discovered.

# [Plan Title]

**Type:** Research
**Status:** Draft
**Created:** [today's date]

---

## Key Findings

1. **[Finding]** — [One sentence with data. Source and date.]
2. **[Finding]** — [One sentence with data. Source and date.]
3. **[Finding]** — [One sentence with data. Source and date.]

## Implications

[What these findings mean for the business. What should change.]

## Methodology

[How you gathered this data. Sources, timeframes, filters, caveats.]

## Raw Data

[Tables, charts, or links to dashboards that support the findings.]

Operations — Trigger-first. Lead with when this runs and what to do.

# [Plan Title]

**Type:** Operations
**Status:** Draft
**Created:** [today's date]

---

## Trigger

[When does this process run? On a schedule, on an event, on request?]

## Steps

1. [Step] — [details, tools, commands]
2. [Step] — [details, tools, commands]
3. [Step] — [details, tools, commands]

## Edge Cases

| Situation | What to do |
|-----------|-----------|
| [When X happens] | [Do Y] |

## Owner

[Who runs this. Who to escalate to.]

## Dependencies

[What this process needs to work — access, tools, data sources.]

Step 5: Write to plans/

  • Filename: plans/{type}-{descriptive-name}.md

  • If filename already exists, append date: plans/{type}-{name}-{YYYY-MM-DD}.md

  • Always write the file BEFORE presenting options.

Step 6: Offer next steps

Use AskUserQuestion:

Question: "Plan written to plans/{filename}. What next?"

Options:

  1. Run /kw:review — Check strategic alignment and data accuracy
  2. Start /kw:work — Begin executing this plan
  3. Push to Proof — Share the plan for collaborative review
  4. Refine — Adjust specific sections
  5. Open in editor — View the full plan

Important Rules

  • Lead with what the reader needs first. Strategy/Brief: the recommendation. Campaign: the timeline. Research: the findings. Operations: the trigger and steps. If someone only reads the first section, they should get the most important thing.

  • Cite everything. Every data point needs a source. "+32% WoW" not "+32%".

  • Surface past work. The whole point is that knowledge compounds. If related plans or learnings exist, they MUST appear in the context brief.

  • Don't over-template. The template is a starting point. Skip sections that don't apply. A campaign plan doesn't need an "Architecture" section.

  • Degrade gracefully. If a data source fails or returns nothing, proceed with what you have. Note what's missing.

Pipeline Mode

When invoked with disable-model-invocation context (e.g., from an orchestrator or automation):

  • Skip all AskUserQuestion prompts
  • Use sensible defaults for all choices
  • Write output files without waiting for confirmation
  • Proceed to the next suggested skill automatically
  • Output structured results that the calling context can parse
Weekly Installs
6
GitHub Stars
197
First Seen
3 days ago