From fb85057f966265adef3aac6c51d66672969e0524 Mon Sep 17 00:00:00 2001 From: crowlede <5617703+crowlede@users.noreply.github.com> Date: Mon, 31 Aug 2026 09:10:58 -0700 Subject: [PATCH 1/9] feat: strengthen stage handoffs and add /kw:lfg MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Align Compound Knowledge loop progression with Compound Engineering: explicit stage banners, mandatory end-of-stage handoffs that load the next skill, and a hands-off /kw:lfg runner (plan → review → work → compound). --- .claude-plugin/marketplace.json | 6 +++--- plugins/compound-knowledge/.claude-plugin/plugin.json | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 1909c3e..368373a 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -6,20 +6,20 @@ }, "metadata": { "description": "Workflows for knowledge work that compounds over time", - "version": "1.0.0" + "version": "1.1.0" }, "plugins": [ { "name": "compound-knowledge", "description": "Knowledge compounds. Brainstorm, plan, review, execute, and save what you learn — so the next cycle starts smarter.", - "version": "1.0.0", + "version": "1.1.0", "author": { "name": "Austin Tedesco", "url": "https://every.to", "email": "austin@every.to" }, "homepage": "https://every.to/p/how-to-build-a-command-center-that-keeps-you-sane", - "tags": ["knowledge-work", "planning", "review", "compounding", "brainstorm"], + "tags": ["knowledge-work", "planning", "review", "compounding", "brainstorm", "lfg"], "source": "./plugins/compound-knowledge" } ] diff --git a/plugins/compound-knowledge/.claude-plugin/plugin.json b/plugins/compound-knowledge/.claude-plugin/plugin.json index ce80a1a..1aa4dd0 100644 --- a/plugins/compound-knowledge/.claude-plugin/plugin.json +++ b/plugins/compound-knowledge/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "compound-knowledge", - "version": "1.0.0", - "description": "Knowledge compounds. Brainstorm, plan, review, execute, and save what you learn — so the next cycle starts smarter. 6 skills, 5 agents.", + "version": "1.1.0", + "description": "Knowledge compounds. Brainstorm, plan, review, execute, and save what you learn — so the next cycle starts smarter. 7 skills, 5 agents.", "author": { "name": "Austin Tedesco", "email": "austin@every.to", @@ -18,6 +18,7 @@ "brainstorm", "strategy", "campaign", - "brief" + "brief", + "lfg" ] } From 20230a06a6d004ec3e35ed2c06bffc9bc0372b07 Mon Sep 17 00:00:00 2001 From: crowlede <5617703+crowlede@users.noreply.github.com> Date: Mon, 31 Aug 2026 09:12:53 -0700 Subject: [PATCH 2/9] docs: document stage handoffs and /kw:lfg --- README.md | 16 ++- plugins/compound-knowledge/AGENTS.md | 13 +- plugins/compound-knowledge/CHANGELOG.md | 18 ++- plugins/compound-knowledge/README.md | 16 ++- .../compound-knowledge/skills/kw-lfg/SKILL.md | 125 ++++++++++++++++++ 5 files changed, 182 insertions(+), 6 deletions(-) create mode 100644 plugins/compound-knowledge/skills/kw-lfg/SKILL.md diff --git a/README.md b/README.md index e1b87a0..8471823 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,14 @@ Read the story: [How to Build a Command Center That Keeps You Sane](https://ever /kw:review --> Strategic alignment + data accuracy check /kw:work --> Execute the plan, produce deliverables /kw:compound --> Save learnings for next time + +/kw:lfg --> Hands-off: plan → review → work → compound (no stage check-ins) ``` Each cycle makes the next one faster. `/kw:plan` searches `docs/knowledge/` for past learnings saved by `/kw:compound`. Knowledge compounds. +After `/kw:brainstorm`, you get an explicit handoff — create a plan, or ship the rest of the loop with `/kw:lfg` — so you don't lose track of which stage you're in. + ## Install Inside a [Claude Code](https://claude.ai/claude-code) session: @@ -40,6 +44,12 @@ When you're ready to commit to a direction: /kw:plan ``` +Or run the rest of the loop hands-off (plan → review → work → compound): + +``` +/kw:lfg +``` + After any meaningful session, save what you learned: ``` @@ -79,6 +89,10 @@ Execute a plan. Break it into tasks, group by dependency, run independent tasks Extract 1-3 learnings from a session. Checks for stale knowledge that the new learning contradicts. Saves to `docs/knowledge/` with searchable YAML frontmatter. +### LFG + +Hands-off runner for the rest of the loop — knowledge-work counterpart to Compound Engineering's `/lfg`. Runs plan → review → work → compound without asking which stage is next. + ## How It Works 1. You brainstorm and plan something @@ -111,7 +125,7 @@ delay revenue recognition. Net positive after 60 days. | Type | Count | Description | |------|-------|-------------| -| Skills | 6 | brainstorm, plan, confidence, review, work, compound | +| Skills | 7 | brainstorm, plan, confidence, review, work, compound, lfg | | Review Agents | 2 | strategic-alignment, data-accuracy | | Research Agents | 3 | past-work-researcher, knowledge-base-researcher, stale-knowledge-checker | diff --git a/plugins/compound-knowledge/AGENTS.md b/plugins/compound-knowledge/AGENTS.md index f2d2d5d..a8f7512 100644 --- a/plugins/compound-knowledge/AGENTS.md +++ b/plugins/compound-knowledge/AGENTS.md @@ -6,13 +6,14 @@ compound-knowledge/ ├── AGENTS.md # Dev conventions (this file) ├── CLAUDE.md # Shim → @AGENTS.md -├── skills/ # 6 workflow skills +├── skills/ # 7 workflow skills │ ├── kw-brainstorm/SKILL.md │ ├── kw-plan/SKILL.md │ ├── kw-confidence/SKILL.md │ ├── kw-review/SKILL.md │ ├── kw-work/SKILL.md -│ └── kw-compound/SKILL.md +│ ├── kw-compound/SKILL.md +│ └── kw-lfg/SKILL.md # Hands-off loop (plan → review → work → compound) ├── agents/ # 5 task agents │ ├── review/ │ │ ├── strategic-alignment-reviewer.md @@ -38,6 +39,10 @@ compound-knowledge/ * Skills that accept arguments include an XML capture tag after frontmatter (e.g., ` #$ARGUMENTS `) +* End-of-stage handoffs must (1) name the completed stage, (2) present next options, and (3) immediately load the chosen next skill when applicable — never silently skip the handoff + +* `/kw:lfg` is the only skill that chains stages without check-ins; other skills stay single-stage unless the user picks a handoff option + * Review agents live in `agents/review/` * Research agents live in `agents/research/` @@ -58,4 +63,6 @@ Every change must update: * **Local first.** `docs/knowledge/` is the primary knowledge store. External integrations (Notion, etc.) are optional and project-specific. -* **Progressive disclosure.** Start with the 6 workflows. Add skills and agents as patterns emerge. +* **Progressive disclosure.** Start with the core workflows. Add skills and agents as patterns emerge. `/kw:lfg` is the autonomous path for users who already trust the loop. + +* **Stage clarity.** Users should always know whether they are in brainstorm, plan, review, work, or compound. diff --git a/plugins/compound-knowledge/CHANGELOG.md b/plugins/compound-knowledge/CHANGELOG.md index 6907676..d56d774 100644 --- a/plugins/compound-knowledge/CHANGELOG.md +++ b/plugins/compound-knowledge/CHANGELOG.md @@ -4,6 +4,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## [1.1.0] - 2026-08-31 + +### Added + +* `/kw:lfg` — Hands-off loop runner (plan → review → work → compound), the knowledge-work counterpart to Compound Engineering's `/lfg` +* Stage orientation banners on all workflow skills (`**Stage: …**`) so mid-conversation it stays clear which phase you're in +* Mandatory end-of-stage handoff menus that recommend the next skill and, when chosen, immediately load it (instead of only suggesting the user type the command) +* Brainstorm / plan handoff option: **Ship the loop with `/kw:lfg`** + +### Changed + +* `/kw:brainstorm` Step 7 reframed as an explicit "Brainstorm complete" handoff (never skip), aligned with CE's post-brainstorm progression +* `/kw:plan`, `/kw:review`, `/kw:work`, and `/kw:compound` handoffs strengthened with stage-complete preambles and immediate skill load on selection +* `/kw:confidence` re-anchors to the interrupted parent stage after the check +* README / component counts updated for 7 skills + ## [1.0.0] - 2026-03-22 ### Added @@ -52,4 +68,4 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). * Data accuracy reviewer agent -* README with install and usage instructions \ No newline at end of file +* README with install and usage instructions diff --git a/plugins/compound-knowledge/README.md b/plugins/compound-knowledge/README.md index 1cb7a29..c3178a9 100644 --- a/plugins/compound-knowledge/README.md +++ b/plugins/compound-knowledge/README.md @@ -11,10 +11,14 @@ Workflows for knowledge work that compounds over time. The knowledge work equiva /kw:review --> Strategic alignment + data accuracy check /kw:work --> Execute the plan, produce deliverables /kw:compound --> Save learnings for next time + +/kw:lfg --> Hands-off: plan → review → work → compound (no stage check-ins) ``` Each cycle makes the next one faster. `/kw:plan` searches `docs/knowledge/` for past learnings saved by `/kw:compound`. Knowledge compounds. +After `/kw:brainstorm`, the skill ends with an explicit handoff (create plan, or ship the rest with `/kw:lfg`) so you always know which stage you're in. + ## Install Inside a [Claude Code](https://claude.ai/claude-code) session: @@ -38,6 +42,12 @@ When you're ready to commit to a direction: /kw:plan ``` +Or hand off the rest of the loop with no check-ins between stages: + +``` +/kw:lfg +``` + After any meaningful session, save what you learned: ``` @@ -77,6 +87,10 @@ Execute a plan. Break it into tasks, group by dependency, run independent tasks Extract 1-3 learnings from a session. Checks for stale knowledge that the new learning contradicts. Saves to `docs/knowledge/` with searchable YAML frontmatter. +### LFG + +Hands-off runner for the rest of the loop — the knowledge-work counterpart to Compound Engineering's `/lfg`. Invokes plan → review → work → compound without asking which stage is next. Enter from a brainstorm origin doc, a topic, or `plan:` to skip re-planning. Stops on unresolved P1 review findings. Ends at deliverables + compounded knowledge (no PR/CI shipping). + ## How It Works 1. You brainstorm and plan something @@ -109,7 +123,7 @@ delay revenue recognition. Net positive after 60 days. | Type | Count | Description | |------|-------|-------------| -| Skills | 6 | brainstorm, plan, confidence, review, work, compound | +| Skills | 7 | brainstorm, plan, confidence, review, work, compound, lfg | | Review Agents | 2 | strategic-alignment, data-accuracy | | Research Agents | 3 | past-work-researcher, knowledge-base-researcher, stale-knowledge-checker | diff --git a/plugins/compound-knowledge/skills/kw-lfg/SKILL.md b/plugins/compound-knowledge/skills/kw-lfg/SKILL.md new file mode 100644 index 0000000..75e51fa --- /dev/null +++ b/plugins/compound-knowledge/skills/kw-lfg/SKILL.md @@ -0,0 +1,125 @@ +--- +name: kw:lfg +description: "Run the full Compound Knowledge loop end-to-end, hands-off with no check-ins between stages. Use only when the user explicitly asks to ship the knowledge-work loop autonomously (plan → review → work → compound), or invokes /kw:lfg directly. Not for in-the-loop work where the user reviews each stage — use /kw:plan, /kw:review, /kw:work, or /kw:compound instead." +argument-hint: "[topic, brainstorm path, or plan: to skip planning]" +--- + + #$ARGUMENTS + +# LFG (Knowledge Work) + +Run the Compound Knowledge loop autonomously: **plan → review → work → compound**. No stage-handoff menus. Narrate progress; do not stop to ask which stage is next. + +This is the knowledge-work counterpart to Compound Engineering's `/lfg`. CE ships code to an open PR; CK ships knowledge deliverables and compounds learnings into `docs/knowledge/`. + +CRITICAL: Execute every step below **in order**. Do not jump ahead to `/kw:work` before a plan exists (unless invoked with `plan:`). Do not ask "what next?" between stages. + +Resolve every skill named below against the host's available-skills list and invoke that exact entry (hosts may namespace it, e.g. `compound-knowledge:kw-plan`). + +## When to Use + +* User says "just run the loop", "lfg", "ship it", or picks **Ship the loop with `/kw:lfg`** from a brainstorm/plan handoff +* Direction is clear enough that mid-loop steering is optional +* **Not** for exploratory brainstorming — finish `/kw:brainstorm` interactively first, then LFG + +## Inputs + +Parse `$ARGUMENTS`: + +| Form | Meaning | +|------|---------| +| `plan:plans/...md` or `plan:` | Skip Step 1. Use this plan; start at review. | +| Path to `plans/brainstorm-*.md` | Origin doc for planning. | +| Free-text topic | Plan from the topic (and any prior conversation context). | +| Empty | Use the most recent brainstorm in `plans/`, else the active conversation topic. If neither exists, STOP and tell the user what to pass. | + +## Stage narration + +Before each step, one line: + +``` +**LFG → Stage: [Plan|Review|Work|Compound]** — [what this step should produce] +``` + +After each step, one line naming what it produced (plan path, P1 count, deliverable count, knowledge files). + +## Pipeline contract + +When invoking child skills, run them in **Pipeline Mode**: + +* Pass context equivalent to `disable-model-invocation` / pipeline so they skip AskUserQuestion +* Use sensible defaults; write files without waiting +* Do **not** present their interactive handoff menus — LFG owns progression +* Child skills still follow their Important Rules (cite sources, write execution logs, etc.) + +--- + +## Step 1: Plan + +**Skip** if invoked with `plan:` and that file exists. + +1. Invoke `kw:plan` on the brainstorm path or topic. +2. GATE: STOP if no plan file was written. Report why and halt. +3. **Record `plan_path`** for later steps. + +## Step 2: Review + +1. Invoke `kw:review` on `plan_path`. +2. If **P1** findings exist: + - Attempt a single auto-fix pass on the plan (and any attached brief) addressing each P1 + - Re-run `kw:review` once + - If P1s remain: GATE STOP. Report remaining P1s and `plan_path`. Do not execute a plan with unresolved critical findings unless the user later overrides interactively. +3. P2/P3 findings: note them in narration; continue (apply obvious safe P2 fixes when cheap; otherwise leave for compound/residuals). + +## Step 3: Work + +1. Invoke `kw:work` on `plan_path`. +2. In pipeline mode: skip per-batch approval prompts; still write the **Execution Log** into the plan file after each batch. +3. GATE: STOP if zero deliverables were produced and work is blocked on missing access/info the agent cannot resolve. Report blockers and `plan_path`. +4. **Record deliverable paths** for the close-out. + +## Step 4: Compound + +1. Invoke `kw:compound` against this session (plan + execution log + deliverables). +2. In pipeline mode: auto-approve **1–3** high-signal learnings; skip weak ones rather than saving noise. Still run duplicate + stale checks before write. +3. Record saved `docs/knowledge/` paths (or explicitly "nothing worth saving"). + +## Step 5: DONE + +Output a self-contained recap: + +``` +DONE + +**LFG complete.** + +Plan: [plan_path] +Deliverables: +- [path or title] +Learnings: +- [docs/knowledge/... | none] + +Residuals / watch-outs: +- [remaining P2s, blockers, or assumptions] +``` + +Do not open a PR or push git remotes — knowledge work ends at deliverables + compounded knowledge. If the project wants git commits, the user (or a separate CE `/lfg`) owns that. + +--- + +## Important Rules + +* **Hands-off between stages.** The whole point is not asking "plan or work next?" after brainstorm. Interactive steering belongs in the individual `/kw:*` skills. +* **Plan before work.** Never invent an execution path without a written plan file (unless `plan:` was provided). +* **P1 is a hard gate.** Wrong strategy or wrong data must not silently ship. +* **Compound closes the loop.** Skipping Step 4 means the next cycle cannot benefit — only skip when Step 3 produced nothing meaningful. +* **Brainstorm stays interactive.** LFG does not replace `/kw:brainstorm`; it consumes its output (or a topic) and runs the rest. + +## Relationship to Compound Engineering `/lfg` + +| | CE `/lfg` | CK `/kw:lfg` | +|--|-----------|--------------| +| Domain | Software | Knowledge work | +| Core pipeline | plan → work → simplify → code-review → PR → CI | plan → review → work → compound | +| Terminal artifact | Open PR (often CI-green) | Deliverables + `docs/knowledge/` entries | +| Typical entry | Feature description or requirements plan | Brainstorm origin doc, topic, or existing plan | From e19245fcf3d92b1b7403b2cfb3ef553b2e568887 Mon Sep 17 00:00:00 2001 From: crowlede <5617703+crowlede@users.noreply.github.com> Date: Mon, 31 Aug 2026 09:14:32 -0700 Subject: [PATCH 3/9] feat: strengthen brainstorm/plan/review stage handoffs --- .../skills/kw-brainstorm/SKILL.md | 48 +++++++++++++++---- .../skills/kw-plan/SKILL.md | 35 +++++++++++--- .../skills/kw-review/SKILL.md | 27 +++++++++-- 3 files changed, 90 insertions(+), 20 deletions(-) diff --git a/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md b/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md index a1bab31..93b5ebb 100644 --- a/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md @@ -10,6 +10,15 @@ argument-hint: "[topic, brain dump, or meeting notes]" Get everything out of your head and into one place. Pull in references. Find the shape of the problem before you commit to a plan. +## Stage Orientation + +Stay oriented in the loop. Do not silently morph into planning or execution. + +* On the first response of this skill, open with: **Stage: Brainstorm** +* Keep responses clearly inside brainstorm until Step 7 completes +* Never start `/kw:plan`, `/kw:work`, or writing a full plan unless the user picks that next step (or `/kw:lfg`) +* When Step 7 runs, say **Brainstorm complete** before the menu — never skip the handoff + ## When to Use * After a meeting where next steps need to be figured out @@ -172,28 +181,49 @@ Based on everything — including the resolved questions from Step 5 — offer a This is a suggestion, not a decision. The user decides. -### Step 7: Offer next steps +### Step 7: Handoff — never skip + +Brainstorm is done when Steps 1–6 are complete. **Do not keep chatting inside brainstorm without a handoff.** Present the next-step menu every time. + +Preamble (always show first): + +``` +**Brainstorm complete.** + +Origin doc: plans/brainstorm-{descriptive-name}.md # after write; omit if not yet saved -Use AskUserQuestion: +What would you like to do next? +``` -**Question:** "Brainstorm captured. What next?" +Use AskUserQuestion when available. If AskUserQuestion is unavailable on this host, render the same options as a numbered list in chat and wait for a reply. **Never silently skip this question.** **Options:** -1. **Run `/kw:plan`** — Structure this into an actionable plan -2. **Dig deeper** — Research a specific theme or question further -3. **Push to Proof** — Share the brainstorm for team feedback -4. **Save and continue later** — Write to `plans/brainstorm-{descriptive-name}.md` -5. **Keep going** — Add more context or refine the themes +1. **Create the plan** *(recommended)* — Hand off to `/kw:plan` and structure this into an actionable plan +2. **Ship the loop with `/kw:lfg`** — Hands-off: plan → review → work → compound with no check-ins between stages. Best when the direction is clear and you want deliverables without steering each stage. +3. **Dig deeper** — Research a specific theme or question further, then return to this menu +4. **Push to Proof** — Share the brainstorm for team feedback +5. **Save and continue later** — Write the origin doc and stop +6. **Keep going** — Add more context or refine themes, then return to this menu -If "Save" or "Run /kw:plan" is selected: ALWAYS write the brainstorm to `plans/brainstorm-{descriptive-name}.md` first. This file becomes the origin document that `/kw:plan` will search for. Never skip the file write. +If option 1, 2, or 5 is selected: ALWAYS write the brainstorm to `plans/brainstorm-{descriptive-name}.md` first. This file becomes the origin document that `/kw:plan` and `/kw:lfg` use. Never skip the file write. +#### Handle the selected option + +* **Create the plan:** After writing the origin doc, immediately load the `kw:plan` skill in this session, passing the brainstorm path. Do not wait for the user to type `/kw:plan`. +* **Ship the loop with `/kw:lfg`:** After writing the origin doc, immediately load the `kw:lfg` skill with that path. Do not ask which stage to run next — LFG owns the rest of the loop. +* **Dig deeper / Keep going:** Continue brainstorm dialogue, then return to this Step 7 menu when ready. Do not jump to planning. +* **Save and continue later:** Write the origin doc, show the path, and end the turn with a one-line next step (`/kw:plan` or `/kw:lfg` when they return). +* **Push to Proof:** Share, then re-present this menu. + ## Important Rules * **Don't jump to solutions.** The point of brainstorming is to understand the problem space before committing to a path. Resist the urge to plan. +* **Handoff is mandatory.** Ending brainstorm without Step 7 leaves the user lost about whether they are still brainstorming or already planning. Always present the menu. + * **Reflect, don't rewrite.** When summarizing back, use the user's language. Don't sanitize their thinking into corporate speak. * **Surface tensions early, resolve the load-bearing ones late.** Steps 2-4 are for naming conflicts without picking winners. Step 5 is for resolving only the ones that would change the plan's shape. Don't collapse tensions prematurely. diff --git a/plugins/compound-knowledge/skills/kw-plan/SKILL.md b/plugins/compound-knowledge/skills/kw-plan/SKILL.md index dbc96c0..02e76c1 100644 --- a/plugins/compound-knowledge/skills/kw-plan/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-plan/SKILL.md @@ -10,6 +10,13 @@ argument-hint: "[what to plan]" Research what you already know, then structure a plan grounded in data and past learnings. Lead with the answer. +## Stage Orientation + +* On the first response of this skill, open with: **Stage: Plan** +* Stay in planning until Step 6 — do not start executing deliverables here +* When the plan file is written, say **Plan complete** before the handoff menu +* If the user wants hands-off execution of the rest of the loop, offer `/kw:lfg` rather than silently chaining + ## When to Use * After brainstorming, when you're ready to commit to a direction @@ -294,19 +301,33 @@ Use the template that matches the work type from Step 1. Each type has a differe * Always write the file BEFORE presenting options. -### Step 6: Offer next steps +### Step 6: Handoff — never skip + +``` +**Plan complete.** + +Plan: plans/{filename} -Use AskUserQuestion: +What would you like to do next? +``` -**Question:** "Plan written to `plans/{filename}`. What next?" +Use AskUserQuestion when available; otherwise a numbered list in chat. **Never silently skip this question.** **Options:** -1. **Run `/kw:review`** — Check strategic alignment and data accuracy +1. **Run `/kw:review`** *(recommended)* — Check strategic alignment and data accuracy before executing 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 +3. **Ship the rest with `/kw:lfg`** — Hands-off from here: review → work → compound (skips re-planning; uses this plan) +4. **Push to Proof** — Share the plan for collaborative review +5. **Refine** — Adjust specific sections, then return to this menu +6. **Open in editor** — View the full plan + +#### Handle the selected option + +* **Run `/kw:review`:** Immediately load `kw:review` with the plan path. +* **Start `/kw:work`:** Immediately load `kw:work` with the plan path. +* **Ship the rest with `/kw:lfg`:** Immediately load `kw:lfg` with `plan:` so it starts at review (does not re-run plan). +* **Refine:** Edit the plan, then re-present this menu. ## Important Rules diff --git a/plugins/compound-knowledge/skills/kw-review/SKILL.md b/plugins/compound-knowledge/skills/kw-review/SKILL.md index 50a164c..92b17b4 100644 --- a/plugins/compound-knowledge/skills/kw-review/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-review/SKILL.md @@ -10,6 +10,12 @@ argument-hint: "[file path or content to review]" Two automated reviewers check your work for the errors that damage credibility: wrong strategy and wrong data. +## Stage Orientation + +* On the first response of this skill, open with: **Stage: Review** +* Stay in review until findings are presented and the handoff runs +* When done, say **Review complete** before the next-step menu + ## When to Use * After `/kw:plan` to validate a plan before executing @@ -95,20 +101,33 @@ Combine findings from both reviewers. Group all findings by severity: | **P2 Important** | Missing source citation, stale data, unclear success metric | "Conversion rate has no comparison basis" | | **P3 Nice-to-have** | Minor framing, additional context, formatting | "Could specify the time period for this metric" | -### Step 5: Offer next steps +### Step 5: Handoff — never skip + +``` +**Review complete.** + +Findings: [N] ([P1 count] critical, [P2 count] important, [P3 count] nice-to-have) -Use AskUserQuestion: +What would you like to do next? +``` -**Question:** "Review complete. \[N] findings (\[P1 count] critical, \[P2 count] important). What next?" +Use AskUserQuestion when available; otherwise a numbered list in chat. **Never silently skip this question.** **Options:** 1. **Fix P1/P2 issues now** — Address findings inline, then re-review -2. **Run `/kw:work`** — Plan passes. Start executing it +2. **Run `/kw:work`** *(recommended when no P1s)* — Plan passes. Start executing it 3. **Run `/kw:compound`** — Save review insights as learnings 4. **Push to Proof** — Share review findings for discussion 5. **Ship as-is** — Acknowledge findings and proceed without fixing +#### Handle the selected option + +* **Fix P1/P2:** Apply fixes to the artifact, then re-run review (return to Step 2). +* **Run `/kw:work`:** Immediately load `kw:work` with the reviewed plan/artifact path. +* **Run `/kw:compound`:** Immediately load `kw:compound`. +* If P1 findings remain, recommend fixing before work — still allow the user to override. + ## Important Rules * **P1 = hard gate.** A factual error in a strategy doc is worse than a typo. Say so clearly. From 4a53e361889658c28012aac1d47b98233925ae01 Mon Sep 17 00:00:00 2001 From: crowlede <5617703+crowlede@users.noreply.github.com> Date: Mon, 31 Aug 2026 09:15:40 -0700 Subject: [PATCH 4/9] feat: strengthen work/compound/confidence stage handoffs --- .../skills/kw-compound/SKILL.md | 23 ++++++++++---- .../skills/kw-confidence/SKILL.md | 5 +++ .../skills/kw-work/SKILL.md | 31 +++++++++++++++---- 3 files changed, 47 insertions(+), 12 deletions(-) diff --git a/plugins/compound-knowledge/skills/kw-compound/SKILL.md b/plugins/compound-knowledge/skills/kw-compound/SKILL.md index 2b8df14..b830019 100644 --- a/plugins/compound-knowledge/skills/kw-compound/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-compound/SKILL.md @@ -7,6 +7,11 @@ description: Extract and save learnings from a completed knowledge work session. Close the loop. Extract what you learned and save it where future work will find it. +## Stage Orientation + +* On the first response of this skill, open with: **Stage: Compound** +* When learnings are saved (or none are worth saving), say **Loop closed** before the final menu + ## When to Use * After completing a plan, campaign, analysis, or strategy session @@ -129,27 +134,33 @@ source: [brief description of what triggered this] [How this should change future work. Be concrete: "When doing X, always check Y first."] ``` -### Step 5: Confirm and offer next steps +### Step 5: Confirm and handoff ``` -## Compounded +**Loop closed.** **Saved:** -- docs/knowledge/{filename}.md +- docs/knowledge/{filename}.md # or "Nothing new to save" -**This learning will be surfaced by /kw:plan** when future work touches: +**These learnings will be surfaced by /kw:plan** when future work touches: - [list the tags that would trigger retrieval] ``` -Use AskUserQuestion: +Use AskUserQuestion when available; otherwise a numbered list in chat. **Never silently skip this question.** **Question:** "Learnings saved. What next?" **Options:** -1. **Run `/kw:plan`** — Start a new planning cycle (the learnings will be found) + +1. **Run `/kw:brainstorm` or `/kw:plan`** — Start a new cycle (learnings will be found) 2. **Push to Proof** — Share the learnings for team review 3. **Done** — Session complete +#### Handle the selected option + +* **New cycle:** Immediately load `kw:brainstorm` or `kw:plan` as the user prefers (default to plan if they name a concrete next topic). +* **Done:** End with a one-line reminder that knowledge is in `docs/knowledge/`. + ## Important Rules * **1-3 learnings max per session.** If you're saving 5 things, you're not filtering enough. diff --git a/plugins/compound-knowledge/skills/kw-confidence/SKILL.md b/plugins/compound-knowledge/skills/kw-confidence/SKILL.md index 40ff830..aa845ac 100644 --- a/plugins/compound-knowledge/skills/kw-confidence/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-confidence/SKILL.md @@ -7,6 +7,11 @@ description: Gut-check what you know and don't know before proceeding. Use at an Pause and honestly say what you're confident about and what you're not — like a colleague would. Then decide whether to proceed or dig deeper. +## Stage Orientation + +* On the first response, open with: **Stage: Confidence** (interrupt — does not replace the parent stage) +* After the check, explicitly re-anchor: e.g. "Resuming **Stage: Work**" or "Return to **Stage: Plan** handoff" + ## When to Use * Before committing to a plan or starting execution diff --git a/plugins/compound-knowledge/skills/kw-work/SKILL.md b/plugins/compound-knowledge/skills/kw-work/SKILL.md index 6ea231e..d6b8ac2 100644 --- a/plugins/compound-knowledge/skills/kw-work/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-work/SKILL.md @@ -10,6 +10,12 @@ argument-hint: "[plan file to execute]" You have a plan. Now execute it. Break it into tasks, do them, track what happened. +## Stage Orientation + +* On the first response of this skill, open with: **Stage: Work** +* This is execution — produce deliverables, do not rewrite the whole plan +* When batches finish, say **Execution complete** before the handoff menu + ## When to Use * After `/kw:plan` or `/kw:review` — the plan is ready, time to execute @@ -171,19 +177,32 @@ When all tasks are complete (or blocked), summarize: - [anything learned during execution worth noting] ``` -### Step 8: Offer next steps +### Step 8: Handoff — never skip + +``` +**Execution complete.** + +Plan: [plan name] +Deliverables: [N] produced -Use AskUserQuestion: +What would you like to do next? +``` -**Question:** "Execution complete. \[N] deliverables produced. What next?" +Use AskUserQuestion when available; otherwise a numbered list in chat. **Never silently skip this question.** **Options:** -1. **Run `/kw:review`** — Quality check the outputs -2. **Run `/kw:compound`** — Save learnings from this session +1. **Run `/kw:compound`** *(recommended)* — Save learnings from this session so the next cycle starts smarter +2. **Run `/kw:review`** — Quality check the outputs 3. **Push to Proof** — Share execution summary for review 4. **Continue working** — Pick up blocked tasks or add new ones -5. **Ship it** — Done, move on +5. **Ship it** — Done for now; skip compounding (not recommended after meaningful work) + +#### Handle the selected option + +* **Run `/kw:compound`:** Immediately load `kw:compound`, pointing at this session's plan + execution log. +* **Run `/kw:review`:** Immediately load `kw:review` on the primary deliverable or plan. +* **Continue working:** Return to Step 4 for remaining/blocked work, then return to this menu. ## Important Rules From 1fcb803c09eddce93174fabeb70ce6d5e265efe7 Mon Sep 17 00:00:00 2001 From: crowlede <5617703+crowlede@users.noreply.github.com> Date: Mon, 31 Aug 2026 10:20:11 -0700 Subject: [PATCH 5/9] =?UTF-8?q?fix(skills):=20CE=20review=20=E2=80=94=20As?= =?UTF-8?q?kUserQuestion=204-option=20cap=20and=20handoff=20handlers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../skills/kw-brainstorm/SKILL.md | 244 +----------- .../skills/kw-plan/SKILL.md | 353 +----------------- 2 files changed, 2 insertions(+), 595 deletions(-) diff --git a/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md b/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md index 93b5ebb..e681624 100644 --- a/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md @@ -1,243 +1 @@ ---- -name: kw:brainstorm -description: Brain dump and compile knowledge before structuring a plan. Use when starting any non-trivial knowledge work — after a meeting, when tackling a new problem, or when you need to pull together what you know before planning. -argument-hint: "[topic, brain dump, or meeting notes]" ---- - - #$ARGUMENTS - -# Brainstorm - -Get everything out of your head and into one place. Pull in references. Find the shape of the problem before you commit to a plan. - -## Stage Orientation - -Stay oriented in the loop. Do not silently morph into planning or execution. - -* On the first response of this skill, open with: **Stage: Brainstorm** -* Keep responses clearly inside brainstorm until Step 7 completes -* Never start `/kw:plan`, `/kw:work`, or writing a full plan unless the user picks that next step (or `/kw:lfg`) -* When Step 7 runs, say **Brainstorm complete** before the menu — never skip the handoff - -## When to Use - -* After a meeting where next steps need to be figured out - -* Starting a new project, campaign, or strategy - -* "I need to think through X", "Let me brain dump", "Help me figure this out" - -* When you have scattered inputs (notes, docs, transcripts) that need organizing - -## Process - -### Step 1: Capture the brain dump - -Accept whatever the user gives you. This might be: - -* A pasted meeting transcript - -* A voice-to-text dump - -* Bullet points and half-formed thoughts - -* A link to a document - -* "Here's what I'm thinking about..." - -**Do not organize yet.** Just acknowledge what you received and identify what type of input it is. - -If the user hasn't given you anything yet, prompt: - -> "What are you working on? You can paste meeting notes, describe the problem, or just start talking. I'll help organize it." - -### Step 2: Extract the core elements - -From the brain dump, pull out: - -* **Key decisions** that need to be made - -* **Open questions** that don't have answers yet - -* **Constraints** (timeline, budget, dependencies, blockers) - -* **Stakeholders** and what they care about - -* **Data points** mentioned (numbers, metrics, references) - -* **Ideas and options** that were floated (even half-baked ones) - -Present these back as a structured summary: - -``` -## What I Heard - -**The problem:** [One sentence — what are we trying to figure out?] - -**Decisions to make:** -- [Decision 1] -- [Decision 2] - -**Open questions:** -- [Question 1] -- [Question 2] - -**Constraints:** -- [Timeline, budget, dependencies] - -**Stakeholders:** -- [Who] — [what they care about] - -**Ideas floated:** -- [Idea 1] — [brief note on pros/cons if mentioned] -- [Idea 2] - -**Data points mentioned:** -- [Any numbers, metrics, or references cited] -``` - -### Step 3: Pull in references (automatic + optional) - - - -**Automatic searches** — Run these without asking: - -- Search `docs/knowledge/` for learnings related to the brain dump topics -- Search `plans/` for related past plans -- Search `docs/solutions/` for relevant patterns - - - -For each source found: - -``` -**Found:** [source name/path] -**Relevant because:** [one sentence] -**Key takeaway:** [the useful bit] -``` - -If nothing relevant is found: "No prior context found in knowledge base or plans." - -**Optional search** — After presenting automatic findings, offer: - -> "Want me to search externally too? (web, specific documents, other sources)" - -If nothing relevant is found, say so. Don't fabricate context. - -### Step 4: Identify themes and tensions - -Look across everything — the brain dump, the extracted elements, and the references — and identify: - -* **Themes** — What keeps coming up? What's the real underlying question? - -* **Tensions** — Where do ideas conflict? Where are there tradeoffs? - -* **Gaps** — What's missing? What hasn't been addressed? - -``` -## Themes -1. [Theme] — [why it matters] -2. [Theme] — [why it matters] - -## Tensions -- [Option A] vs [Option B] — [the tradeoff] - -## Gaps -- [What we don't know yet] -- [What needs more research] -``` - -### Step 5: Resolve load-bearing questions - -Before moving toward a direction, take the open questions and tensions from Step 2 and Step 4 and identify which ones are **load-bearing** — meaning the plan's structure would change depending on the answer. - -Ignore nice-to-know questions. Focus only on ones where different answers lead to different plans. Common load-bearing questions: - -- **Scope:** "Is this a quick win or a multi-phase initiative?" -- **Audience:** "Who is this for? That changes everything downstream." -- **Priority:** "You mentioned X and Y — which matters more if we have to choose?" -- **Timeline:** "Are we talking days, weeks, or months?" -- **Owner:** "Who's making the final call on this?" -- **Constraints:** "Is there a budget/resource ceiling I should plan around?" - -Use AskUserQuestion to ask **1-3 load-bearing questions at once** (never more than 3). Frame each question with options drawn from what surfaced in the brainstorm — don't ask open-ended questions when you already have candidate answers. - -Example: - -> **Question:** "You mentioned both 'grow trials' and 'improve conversion' — which is the primary goal?" -> **Options:** Grow trials (top of funnel) / Improve conversion (bottom of funnel) / Both equally - -If all open questions are non-load-bearing (i.e., any answer leads to roughly the same plan), skip this step and say so: - -> "The open questions won't change the plan's shape — we can resolve them during execution." - -**Important:** This step is a bridge, not an interrogation. 1-3 questions max. The goal is to give `/kw:plan` clean inputs, not to turn brainstorming into a requirements gathering session. - -### Step 6: Suggest a direction - -Based on everything — including the resolved questions from Step 5 — offer a point of view: - -> "Based on what I'm seeing, the core question is [X]. The main tension is between [A] and [B]. My suggestion would be to [direction] because [reasoning]. But [caveat]." - -This is a suggestion, not a decision. The user decides. - -### Step 7: Handoff — never skip - -Brainstorm is done when Steps 1–6 are complete. **Do not keep chatting inside brainstorm without a handoff.** Present the next-step menu every time. - -Preamble (always show first): - -``` -**Brainstorm complete.** - -Origin doc: plans/brainstorm-{descriptive-name}.md # after write; omit if not yet saved - -What would you like to do next? -``` - -Use AskUserQuestion when available. If AskUserQuestion is unavailable on this host, render the same options as a numbered list in chat and wait for a reply. **Never silently skip this question.** - -**Options:** - -1. **Create the plan** *(recommended)* — Hand off to `/kw:plan` and structure this into an actionable plan -2. **Ship the loop with `/kw:lfg`** — Hands-off: plan → review → work → compound with no check-ins between stages. Best when the direction is clear and you want deliverables without steering each stage. -3. **Dig deeper** — Research a specific theme or question further, then return to this menu -4. **Push to Proof** — Share the brainstorm for team feedback -5. **Save and continue later** — Write the origin doc and stop -6. **Keep going** — Add more context or refine themes, then return to this menu - - -If option 1, 2, or 5 is selected: ALWAYS write the brainstorm to `plans/brainstorm-{descriptive-name}.md` first. This file becomes the origin document that `/kw:plan` and `/kw:lfg` use. Never skip the file write. - - -#### Handle the selected option - -* **Create the plan:** After writing the origin doc, immediately load the `kw:plan` skill in this session, passing the brainstorm path. Do not wait for the user to type `/kw:plan`. -* **Ship the loop with `/kw:lfg`:** After writing the origin doc, immediately load the `kw:lfg` skill with that path. Do not ask which stage to run next — LFG owns the rest of the loop. -* **Dig deeper / Keep going:** Continue brainstorm dialogue, then return to this Step 7 menu when ready. Do not jump to planning. -* **Save and continue later:** Write the origin doc, show the path, and end the turn with a one-line next step (`/kw:plan` or `/kw:lfg` when they return). -* **Push to Proof:** Share, then re-present this menu. - -## Important Rules - -* **Don't jump to solutions.** The point of brainstorming is to understand the problem space before committing to a path. Resist the urge to plan. - -* **Handoff is mandatory.** Ending brainstorm without Step 7 leaves the user lost about whether they are still brainstorming or already planning. Always present the menu. - -* **Reflect, don't rewrite.** When summarizing back, use the user's language. Don't sanitize their thinking into corporate speak. - -* **Surface tensions early, resolve the load-bearing ones late.** Steps 2-4 are for naming conflicts without picking winners. Step 5 is for resolving only the ones that would change the plan's shape. Don't collapse tensions prematurely. - -* **Pull, don't push.** Ask where references might live rather than guessing. The user knows their information landscape better than you do. - -* **Quantity of input is fine.** A 30-minute meeting transcript is good input. Don't ask people to pre-organize before brainstorming — that defeats the purpose. - -## 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 +PLACEHOLDER_USE_FILE \ No newline at end of file diff --git a/plugins/compound-knowledge/skills/kw-plan/SKILL.md b/plugins/compound-knowledge/skills/kw-plan/SKILL.md index 02e76c1..311c8dd 100644 --- a/plugins/compound-knowledge/skills/kw-plan/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-plan/SKILL.md @@ -1,352 +1 @@ ---- -name: kw:plan -description: Research past work and structure a knowledge work plan. Use when starting strategy docs, campaign plans, content briefs, research synthesis, or operational playbooks. -argument-hint: "[what to plan]" ---- - - #$ARGUMENTS - -# Plan - -Research what you already know, then structure a plan grounded in data and past learnings. Lead with the answer. - -## Stage Orientation - -* On the first response of this skill, open with: **Stage: Plan** -* Stay in planning until Step 6 — do not start executing deliverables here -* When the plan file is written, say **Plan complete** before the handoff menu -* If the user wants hands-off execution of the rest of the loop, offer `/kw:lfg` rather than silently chaining - -## 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. - - - -**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 - - - -**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): - -```markdown -## 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. - -```markdown -# [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. - -```markdown -# [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. - -```markdown -# [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. - -```markdown -# [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. - -```markdown -# [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: Handoff — never skip - -``` -**Plan complete.** - -Plan: plans/{filename} - -What would you like to do next? -``` - -Use AskUserQuestion when available; otherwise a numbered list in chat. **Never silently skip this question.** - -**Options:** - -1. **Run `/kw:review`** *(recommended)* — Check strategic alignment and data accuracy before executing -2. **Start `/kw:work`** — Begin executing this plan -3. **Ship the rest with `/kw:lfg`** — Hands-off from here: review → work → compound (skips re-planning; uses this plan) -4. **Push to Proof** — Share the plan for collaborative review -5. **Refine** — Adjust specific sections, then return to this menu -6. **Open in editor** — View the full plan - -#### Handle the selected option - -* **Run `/kw:review`:** Immediately load `kw:review` with the plan path. -* **Start `/kw:work`:** Immediately load `kw:work` with the plan path. -* **Ship the rest with `/kw:lfg`:** Immediately load `kw:lfg` with `plan:` so it starts at review (does not re-run plan). -* **Refine:** Edit the plan, then re-present this menu. - -## 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 +PLACEHOLDER \ No newline at end of file From aa09cc924eda78674f3c5360f0b3708753b79ba2 Mon Sep 17 00:00:00 2001 From: crowlede <5617703+crowlede@users.noreply.github.com> Date: Mon, 31 Aug 2026 10:21:57 -0700 Subject: [PATCH 6/9] =?UTF-8?q?fix(skills):=20CE=20review=20=E2=80=94=20mo?= =?UTF-8?q?de:pipeline=20carrier,=20compound=20auto-save,=20LFG=20path=20p?= =?UTF-8?q?arsing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../skills/kw-compound/SKILL.md | 27 +++++---- .../skills/kw-confidence/SKILL.md | 13 +++-- .../compound-knowledge/skills/kw-lfg/SKILL.md | 55 +++++++++++-------- 3 files changed, 56 insertions(+), 39 deletions(-) diff --git a/plugins/compound-knowledge/skills/kw-compound/SKILL.md b/plugins/compound-knowledge/skills/kw-compound/SKILL.md index b830019..ccdfd54 100644 --- a/plugins/compound-knowledge/skills/kw-compound/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-compound/SKILL.md @@ -63,7 +63,7 @@ Show each learning with its classification. User can: * Add learnings you missed -**Do not save anything without approval.** +**Do not save anything without approval** in interactive mode. **In `mode:pipeline`:** skip the approval prompt; auto-approve 1–3 high-signal learnings after duplicate + stale checks (still skip weak/noisy candidates). ### Step 3: Check for duplicates @@ -146,26 +146,33 @@ source: [brief description of what triggered this] - [list the tags that would trigger retrieval] ``` -Use AskUserQuestion when available; otherwise a numbered list in chat. **Never silently skip this question.** +**Handoff rendering (required):** Claude Code `AskUserQuestion` supports at most **4** options. + +* If visible count ≤ 4 **and** AskUserQuestion is available → use AskUserQuestion +* If visible count > 4, or AskUserQuestion is unavailable / errors → numbered list in chat with "Pick a number or describe what you want." +* **Never** call AskUserQuestion with more than 4 options. **Never** silently skip this question. **Question:** "Learnings saved. What next?" **Options:** -1. **Run `/kw:brainstorm` or `/kw:plan`** — Start a new cycle (learnings will be found) -2. **Push to Proof** — Share the learnings for team review +1. **Run `/kw:plan`** — Start a new planning cycle (learnings will be found) +2. **Run `/kw:brainstorm`** — Start a fresh brainstorm 3. **Done** — Session complete +4. **Push to Proof** — Share the learnings for team review, then re-present this menu #### Handle the selected option -* **New cycle:** Immediately load `kw:brainstorm` or `kw:plan` as the user prefers (default to plan if they name a concrete next topic). +* **Run `/kw:plan`:** Immediately load `kw:plan`. +* **Run `/kw:brainstorm`:** Immediately load `kw:brainstorm`. * **Done:** End with a one-line reminder that knowledge is in `docs/knowledge/`. +* **Push to Proof:** Share, then re-present this menu. ## Important Rules * **1-3 learnings max per session.** If you're saving 5 things, you're not filtering enough. -* **Approval required.** Never auto-save. The user decides what's worth remembering. +* **Approval required (interactive).** Never auto-save when a user is in the loop. **Pipeline exception:** when invoked with `mode:pipeline` (e.g. from `/kw:lfg`), auto-save after duplicate + stale checks per Pipeline Mode — quality filter still applies (1–3 max). * **Be specific.** "Use the right data source" is useless. "Revenue metrics come from [specific dashboard], not [other source] which overcounts by ~$X" is useful. @@ -177,10 +184,10 @@ Use AskUserQuestion when available; otherwise a numbered list in chat. **Never s ## Pipeline Mode -When invoked with `disable-model-invocation` context (e.g., from an orchestrator or automation): +When invoked with `mode:pipeline` in arguments (or equivalent pipeline/orchestrator context): -- Skip all AskUserQuestion prompts +- Skip all AskUserQuestion prompts and interactive waits (including "wait for the user to react" / batch approvals) - 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 +- **Do not** load the next skill yourself — return structured results to the caller (e.g. `/kw:lfg`) which owns progression +- Output structured results the calling context can parse diff --git a/plugins/compound-knowledge/skills/kw-confidence/SKILL.md b/plugins/compound-knowledge/skills/kw-confidence/SKILL.md index aa845ac..013fe09 100644 --- a/plugins/compound-knowledge/skills/kw-confidence/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-confidence/SKILL.md @@ -9,8 +9,9 @@ Pause and honestly say what you're confident about and what you're not — like ## Stage Orientation -* On the first response, open with: **Stage: Confidence** (interrupt — does not replace the parent stage) -* After the check, explicitly re-anchor: e.g. "Resuming **Stage: Work**" or "Return to **Stage: Plan** handoff" +* On entry, capture the parent stage/skill/step if one is active, then open with: **Stage: Confidence** (interrupt — does not replace the parent stage). Example: "Interrupting **Stage: Work** (Batch 2)." +* After the check, on **Proceed**, must re-anchor with the captured parent banner (e.g. "Resuming **Stage: Work**") and continue that skill — do not restart it. +* Offering `/kw:plan` mid-interrupt leaves the parent stage; say so explicitly before loading it. ## When to Use @@ -153,10 +154,10 @@ Then continue where you left off. The confidence check is a non-destructive inte ## Pipeline Mode -When invoked with `disable-model-invocation` context (e.g., from an orchestrator or automation): +When invoked with `mode:pipeline` in arguments (or equivalent pipeline/orchestrator context): -- Skip all AskUserQuestion prompts +- Skip all AskUserQuestion prompts and interactive waits (including "wait for the user to react" / batch approvals) - 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 +- **Do not** load the next skill yourself — return structured results to the caller (e.g. `/kw:lfg`) which owns progression +- Output structured results the calling context can parse diff --git a/plugins/compound-knowledge/skills/kw-lfg/SKILL.md b/plugins/compound-knowledge/skills/kw-lfg/SKILL.md index 75e51fa..07abdb3 100644 --- a/plugins/compound-knowledge/skills/kw-lfg/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-lfg/SKILL.md @@ -1,7 +1,7 @@ --- name: kw:lfg -description: "Run the full Compound Knowledge loop end-to-end, hands-off with no check-ins between stages. Use only when the user explicitly asks to ship the knowledge-work loop autonomously (plan → review → work → compound), or invokes /kw:lfg directly. Not for in-the-loop work where the user reviews each stage — use /kw:plan, /kw:review, /kw:work, or /kw:compound instead." -argument-hint: "[topic, brainstorm path, or plan: to skip planning]" +description: "Run the full Compound Knowledge loop end-to-end, hands-off with no check-ins between stages. Use only when the user explicitly asks to ship the rest of the knowledge-work loop autonomously (plan → review → work → compound), or invokes /kw:lfg directly. Not for in-the-loop work where the user reviews each stage — use /kw:plan, /kw:review, /kw:work, or /kw:compound instead." +argument-hint: "[topic | brainstorm path | plan path | plan:]" --- #$ARGUMENTS @@ -12,26 +12,29 @@ Run the Compound Knowledge loop autonomously: **plan → review → work → com This is the knowledge-work counterpart to Compound Engineering's `/lfg`. CE ships code to an open PR; CK ships knowledge deliverables and compounds learnings into `docs/knowledge/`. -CRITICAL: Execute every step below **in order**. Do not jump ahead to `/kw:work` before a plan exists (unless invoked with `plan:`). Do not ask "what next?" between stages. +CRITICAL: Execute every step below **in order**. Do not jump ahead to `/kw:work` before a plan exists (unless a plan path was provided). Do not ask "what next?" between stages. Resolve every skill named below against the host's available-skills list and invoke that exact entry (hosts may namespace it, e.g. `compound-knowledge:kw-plan`). ## When to Use -* User says "just run the loop", "lfg", "ship it", or picks **Ship the loop with `/kw:lfg`** from a brainstorm/plan handoff +* User says "just run the loop", "lfg", "ship the rest", or picks **Ship the rest with `/kw:lfg`** from a brainstorm/plan handoff * Direction is clear enough that mid-loop steering is optional * **Not** for exploratory brainstorming — finish `/kw:brainstorm` interactively first, then LFG ## Inputs -Parse `$ARGUMENTS`: +Parse `$ARGUMENTS` in this order: | Form | Meaning | |------|---------| -| `plan:plans/...md` or `plan:` | Skip Step 1. Use this plan; start at review. | -| Path to `plans/brainstorm-*.md` | Origin doc for planning. | +| `plan:` | Skip Step 1. Use this plan; start at review. | +| Existing file under `plans/` matching `brainstorm-*.md` | Origin doc for planning. | +| Existing file under `plans/` that is **not** a brainstorm (e.g. `plans/strategy-….md`) | Treat as an existing plan — skip Step 1; start at review (same as `plan:`). | | Free-text topic | Plan from the topic (and any prior conversation context). | -| Empty | Use the most recent brainstorm in `plans/`, else the active conversation topic. If neither exists, STOP and tell the user what to pass. | +| Empty | Use the most recent brainstorm in `plans/`, else the most recent non-brainstorm plan, else the active conversation topic. If none exist, STOP and tell the user what to pass. | + +If a path looks like a plan file but does not exist, STOP and report — do not invent a plan silently. ## Stage narration @@ -45,43 +48,47 @@ After each step, one line naming what it produced (plan path, P1 count, delivera ## Pipeline contract -When invoking child skills, run them in **Pipeline Mode**: +When invoking child skills, pass **`mode:pipeline`** in the invocation arguments (plus the plan/brainstorm path or topic). That carrier is the durable signal — do **not** rely on `disable-model-invocation` (that is skill frontmatter for blocking invocation, not a runtime mode). + +Child skills under `mode:pipeline` must: + +* Skip AskUserQuestion and interactive waits +* Write files without waiting +* **Return structured results only** — they must **not** load the next `/kw:*` skill themselves +* Still follow non-interactive Important Rules (cite sources, write execution logs, quality filters) -* Pass context equivalent to `disable-model-invocation` / pipeline so they skip AskUserQuestion -* Use sensible defaults; write files without waiting -* Do **not** present their interactive handoff menus — LFG owns progression -* Child skills still follow their Important Rules (cite sources, write execution logs, etc.) +LFG alone advances stages after each child returns. --- ## Step 1: Plan -**Skip** if invoked with `plan:` and that file exists. +**Skip** if a plan path was resolved from inputs (`plan:` or existing non-brainstorm `plans/*.md`). -1. Invoke `kw:plan` on the brainstorm path or topic. +1. Invoke `kw:plan` with `mode:pipeline` on the brainstorm path or topic. 2. GATE: STOP if no plan file was written. Report why and halt. 3. **Record `plan_path`** for later steps. ## Step 2: Review -1. Invoke `kw:review` on `plan_path`. +1. Invoke `kw:review` with `mode:pipeline` on `plan_path`. 2. If **P1** findings exist: - Attempt a single auto-fix pass on the plan (and any attached brief) addressing each P1 - - Re-run `kw:review` once + - Re-run `kw:review` once with `mode:pipeline` - If P1s remain: GATE STOP. Report remaining P1s and `plan_path`. Do not execute a plan with unresolved critical findings unless the user later overrides interactively. 3. P2/P3 findings: note them in narration; continue (apply obvious safe P2 fixes when cheap; otherwise leave for compound/residuals). ## Step 3: Work -1. Invoke `kw:work` on `plan_path`. -2. In pipeline mode: skip per-batch approval prompts; still write the **Execution Log** into the plan file after each batch. +1. Invoke `kw:work` with `mode:pipeline` on `plan_path`. +2. Child skips per-batch approval prompts; still writes the **Execution Log** into the plan file after each batch. 3. GATE: STOP if zero deliverables were produced and work is blocked on missing access/info the agent cannot resolve. Report blockers and `plan_path`. 4. **Record deliverable paths** for the close-out. ## Step 4: Compound -1. Invoke `kw:compound` against this session (plan + execution log + deliverables). -2. In pipeline mode: auto-approve **1–3** high-signal learnings; skip weak ones rather than saving noise. Still run duplicate + stale checks before write. +1. Invoke `kw:compound` with `mode:pipeline` against this session (plan + execution log + deliverables). +2. Pipeline compound auto-approves **1–3** high-signal learnings after duplicate + stale checks; skips weak ones rather than saving noise. 3. Record saved `docs/knowledge/` paths (or explicitly "nothing worth saving"). ## Step 5: DONE @@ -103,17 +110,18 @@ Residuals / watch-outs: - [remaining P2s, blockers, or assumptions] ``` -Do not open a PR or push git remotes — knowledge work ends at deliverables + compounded knowledge. If the project wants git commits, the user (or a separate CE `/lfg`) owns that. +Terminal artifacts are **deliverables + compounded knowledge** — not a git PR/CI green. If the project wants commits or a PR, the user (or Compound Engineering `/lfg`) owns that separately. --- ## Important Rules * **Hands-off between stages.** The whole point is not asking "plan or work next?" after brainstorm. Interactive steering belongs in the individual `/kw:*` skills. -* **Plan before work.** Never invent an execution path without a written plan file (unless `plan:` was provided). +* **Plan before work.** Never invent an execution path without a written plan file (unless a plan path was provided). * **P1 is a hard gate.** Wrong strategy or wrong data must not silently ship. * **Compound closes the loop.** Skipping Step 4 means the next cycle cannot benefit — only skip when Step 3 produced nothing meaningful. * **Brainstorm stays interactive.** LFG does not replace `/kw:brainstorm`; it consumes its output (or a topic) and runs the rest. +* **LFG owns the chain.** Children in `mode:pipeline` return to LFG; they do not self-chain. ## Relationship to Compound Engineering `/lfg` @@ -123,3 +131,4 @@ Do not open a PR or push git remotes — knowledge work ends at deliverables + c | Core pipeline | plan → work → simplify → code-review → PR → CI | plan → review → work → compound | | Terminal artifact | Open PR (often CI-green) | Deliverables + `docs/knowledge/` entries | | Typical entry | Feature description or requirements plan | Brainstorm origin doc, topic, or existing plan | +| Runtime carrier | `mode:pipeline` / return-to-caller | `mode:pipeline` on each child invoke | From e7714acef3b79c2c69337cc160fa66b3492fb8c2 Mon Sep 17 00:00:00 2001 From: crowlede <5617703+crowlede@users.noreply.github.com> Date: Mon, 31 Aug 2026 10:23:28 -0700 Subject: [PATCH 7/9] =?UTF-8?q?fix(skills):=20CE=20review=20=E2=80=94=20As?= =?UTF-8?q?kUserQuestion=204-option=20cap=20and=20handoff=20handlers=20(br?= =?UTF-8?q?ainstorm,=20plan)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../skills/kw-brainstorm/SKILL.md | 248 +++++++++++- .../skills/kw-plan/SKILL.md | 359 +++++++++++++++++- 2 files changed, 605 insertions(+), 2 deletions(-) diff --git a/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md b/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md index e681624..d95bed4 100644 --- a/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-brainstorm/SKILL.md @@ -1 +1,247 @@ -PLACEHOLDER_USE_FILE \ No newline at end of file +--- +name: kw:brainstorm +description: Brain dump and compile knowledge before structuring a plan. Use when starting any non-trivial knowledge work — after a meeting, when tackling a new problem, or when you need to pull together what you know before planning. +argument-hint: "[topic, brain dump, or meeting notes]" +--- + + #$ARGUMENTS + +# Brainstorm + +Get everything out of your head and into one place. Pull in references. Find the shape of the problem before you commit to a plan. + +## Stage Orientation + +Stay oriented in the loop. Do not silently morph into planning or execution. + +* On the first response of this skill, open with: **Stage: Brainstorm** +* Keep responses clearly inside brainstorm until Step 7 completes +* Never start `/kw:plan`, `/kw:work`, or writing a full plan unless the user picks that next step (or `/kw:lfg`) +* When Step 7 runs, say **Brainstorm complete** before the menu — never skip the handoff + +## When to Use + +* After a meeting where next steps need to be figured out + +* Starting a new project, campaign, or strategy + +* "I need to think through X", "Let me brain dump", "Help me figure this out" + +* When you have scattered inputs (notes, docs, transcripts) that need organizing + +## Process + +### Step 1: Capture the brain dump + +Accept whatever the user gives you. This might be: + +* A pasted meeting transcript + +* A voice-to-text dump + +* Bullet points and half-formed thoughts + +* A link to a document + +* "Here's what I'm thinking about..." + +**Do not organize yet.** Just acknowledge what you received and identify what type of input it is. + +If the user hasn't given you anything yet, prompt: + +> "What are you working on? You can paste meeting notes, describe the problem, or just start talking. I'll help organize it." + +### Step 2: Extract the core elements + +From the brain dump, pull out: + +* **Key decisions** that need to be made + +* **Open questions** that don't have answers yet + +* **Constraints** (timeline, budget, dependencies, blockers) + +* **Stakeholders** and what they care about + +* **Data points** mentioned (numbers, metrics, references) + +* **Ideas and options** that were floated (even half-baked ones) + +Present these back as a structured summary: + +``` +## What I Heard + +**The problem:** [One sentence — what are we trying to figure out?] + +**Decisions to make:** +- [Decision 1] +- [Decision 2] + +**Open questions:** +- [Question 1] +- [Question 2] + +**Constraints:** +- [Timeline, budget, dependencies] + +**Stakeholders:** +- [Who] — [what they care about] + +**Ideas floated:** +- [Idea 1] — [brief note on pros/cons if mentioned] +- [Idea 2] + +**Data points mentioned:** +- [Any numbers, metrics, or references cited] +``` + +### Step 3: Pull in references (automatic + optional) + + + +**Automatic searches** — Run these without asking: + +- Search `docs/knowledge/` for learnings related to the brain dump topics +- Search `plans/` for related past plans +- Search `docs/solutions/` for relevant patterns + + + +For each source found: + +``` +**Found:** [source name/path] +**Relevant because:** [one sentence] +**Key takeaway:** [the useful bit] +``` + +If nothing relevant is found: "No prior context found in knowledge base or plans." + +**Optional search** — After presenting automatic findings, offer: + +> "Want me to search externally too? (web, specific documents, other sources)" + +If nothing relevant is found, say so. Don't fabricate context. + +### Step 4: Identify themes and tensions + +Look across everything — the brain dump, the extracted elements, and the references — and identify: + +* **Themes** — What keeps coming up? What's the real underlying question? + +* **Tensions** — Where do ideas conflict? Where are there tradeoffs? + +* **Gaps** — What's missing? What hasn't been addressed? + +``` +## Themes +1. [Theme] — [why it matters] +2. [Theme] — [why it matters] + +## Tensions +- [Option A] vs [Option B] — [the tradeoff] + +## Gaps +- [What we don't know yet] +- [What needs more research] +``` + +### Step 5: Resolve load-bearing questions + +Before moving toward a direction, take the open questions and tensions from Step 2 and Step 4 and identify which ones are **load-bearing** — meaning the plan's structure would change depending on the answer. + +Ignore nice-to-know questions. Focus only on ones where different answers lead to different plans. Common load-bearing questions: + +- **Scope:** "Is this a quick win or a multi-phase initiative?" +- **Audience:** "Who is this for? That changes everything downstream." +- **Priority:** "You mentioned X and Y — which matters more if we have to choose?" +- **Timeline:** "Are we talking days, weeks, or months?" +- **Owner:** "Who's making the final call on this?" +- **Constraints:** "Is there a budget/resource ceiling I should plan around?" + +Use AskUserQuestion to ask **1-3 load-bearing questions at once** (never more than 3). Frame each question with options drawn from what surfaced in the brainstorm — don't ask open-ended questions when you already have candidate answers. + +Example: + +> **Question:** "You mentioned both 'grow trials' and 'improve conversion' — which is the primary goal?" +> **Options:** Grow trials (top of funnel) / Improve conversion (bottom of funnel) / Both equally + +If all open questions are non-load-bearing (i.e., any answer leads to roughly the same plan), skip this step and say so: + +> "The open questions won't change the plan's shape — we can resolve them during execution." + +**Important:** This step is a bridge, not an interrogation. 1-3 questions max. The goal is to give `/kw:plan` clean inputs, not to turn brainstorming into a requirements gathering session. + +### Step 6: Suggest a direction + +Based on everything — including the resolved questions from Step 5 — offer a point of view: + +> "Based on what I'm seeing, the core question is [X]. The main tension is between [A] and [B]. My suggestion would be to [direction] because [reasoning]. But [caveat]." + +This is a suggestion, not a decision. The user decides. + +### Step 7: Handoff — never skip + +Brainstorm is done when Steps 1–6 are complete. **Do not keep chatting inside brainstorm without a handoff.** Present the next-step menu every time. + +Preamble (always show first): + +``` +**Brainstorm complete.** + +Origin doc: # after write; omit if not yet saved + +What would you like to do next? +``` + +**Handoff rendering (required):** Claude Code `AskUserQuestion` supports at most **4** options. Count the visible options below for the current state: + +* If visible count ≤ 4 **and** AskUserQuestion is available → use AskUserQuestion +* If visible count > 4, or AskUserQuestion is unavailable / errors → render a numbered list in chat with "Pick a number or describe what you want." +* **Never** call AskUserQuestion with more than 4 options. **Never** silently skip this question. + +**Options** (renumber contiguous when any are hidden): + +1. **Create the plan** *(recommended)* — Hand off to `/kw:plan` and structure this into an actionable plan +2. **Ship the rest with `/kw:lfg`** — Hands-off from here: plan → review → work → compound (no stage check-ins). Shown only when Step 5 resolved load-bearing questions (or none were load-bearing). If load-bearing items remain open, hide this option and tell the user to resolve them or pick Create the plan. +3. **Dig deeper** — Research a specific theme or question further, then return to this menu (re-print **Stage: Brainstorm**) +4. **Save and continue later** — Write the origin doc and stop +5. **Keep going** — Add more context or refine themes, then return to this menu +6. **Push to Proof** — Share the brainstorm for team feedback, then re-present this menu + + +If option 1, 2, or 4 is selected: ALWAYS write the brainstorm to `plans/brainstorm-{descriptive-name}.md` first. This file becomes the origin document that `/kw:plan` and `/kw:lfg` use. Never skip the file write. + + +#### Handle the selected option + +* **Create the plan:** After writing the origin doc, immediately load the `kw:plan` skill in this session, passing the brainstorm path. Do not wait for the user to type `/kw:plan`. +* **Ship the rest with `/kw:lfg`:** After writing the origin doc, immediately load the `kw:lfg` skill with that path. Do not ask which stage to run next — LFG owns the rest of the loop. +* **Dig deeper / Keep going:** Continue brainstorm dialogue (keep **Stage: Brainstorm**), then return to this Step 7 menu when ready. Do not jump to planning or write plan-shaped outlines. +* **Save and continue later:** Write the origin doc, show the path, and end the turn with a one-line next step (`/kw:plan` or `/kw:lfg` when they return). +* **Push to Proof:** Share, then re-present this menu. + +## Important Rules + +* **Don't jump to solutions.** The point of brainstorming is to understand the problem space before committing to a path. Resist the urge to plan. + +* **Handoff is mandatory.** Ending brainstorm without Step 7 leaves the user lost about whether they are still brainstorming or already planning. Always present the menu. + +* **Reflect, don't rewrite.** When summarizing back, use the user's language. Don't sanitize their thinking into corporate speak. + +* **Surface tensions early, resolve the load-bearing ones late.** Steps 2-4 are for naming conflicts without picking winners. Step 5 is for resolving only the ones that would change the plan's shape. Don't collapse tensions prematurely. + +* **Pull, don't push.** Ask where references might live rather than guessing. The user knows their information landscape better than you do. + +* **Quantity of input is fine.** A 30-minute meeting transcript is good input. Don't ask people to pre-organize before brainstorming — that defeats the purpose. + +## Pipeline Mode + +When invoked with `mode:pipeline` in arguments (or equivalent pipeline/orchestrator context): + +- Skip all AskUserQuestion prompts and interactive waits +- Use sensible defaults for all choices +- Write output files without waiting for confirmation +- **Do not** load the next skill yourself — return structured results to the caller (e.g. `/kw:lfg`) which owns progression +- Output structured results the calling context can parse (origin path, themes, open questions) diff --git a/plugins/compound-knowledge/skills/kw-plan/SKILL.md b/plugins/compound-knowledge/skills/kw-plan/SKILL.md index 311c8dd..c946e82 100644 --- a/plugins/compound-knowledge/skills/kw-plan/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-plan/SKILL.md @@ -1 +1,358 @@ -PLACEHOLDER \ No newline at end of file +--- +name: kw:plan +description: Research past work and structure a knowledge work plan. Use when starting strategy docs, campaign plans, content briefs, research synthesis, or operational playbooks. +argument-hint: "[what to plan]" +--- + + #$ARGUMENTS + +# Plan + +Research what you already know, then structure a plan grounded in data and past learnings. Lead with the answer. + +## Stage Orientation + +* On the first response of this skill, open with: **Stage: Plan** +* Stay in planning until Step 6 — do not start executing deliverables here +* When the plan file is written, say **Plan complete** before the handoff menu +* If the user wants hands-off execution of the rest of the loop, offer `/kw:lfg` rather than silently chaining + +## 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. + + + +**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 + + + +**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." **Skip this wait entirely in `mode:pipeline`** — present the brief in narration and continue to Step 4. + +### 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): + +```markdown +## 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. + +```markdown +# [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. + +```markdown +# [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. + +```markdown +# [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. + +```markdown +# [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. + +```markdown +# [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: Handoff — never skip + +``` +**Plan complete.** + +Plan: + +What would you like to do next? +``` + +**Handoff rendering (required):** Claude Code `AskUserQuestion` supports at most **4** options. + +* If visible count ≤ 4 **and** AskUserQuestion is available → use AskUserQuestion +* If visible count > 4, or AskUserQuestion is unavailable / errors → numbered list in chat with "Pick a number or describe what you want." +* **Never** call AskUserQuestion with more than 4 options. **Never** silently skip this question. + +**Options:** + +1. **Run `/kw:review`** *(recommended)* — Check strategic alignment and data accuracy before executing +2. **Start `/kw:work`** — Begin executing this plan +3. **Ship the rest with `/kw:lfg`** — Hands-off from here: review → work → compound (skips re-planning; uses this plan) +4. **Refine** — Adjust specific sections, then return to this menu +5. **Push to Proof** — Share the plan for collaborative review, then re-present this menu +6. **Open in editor** — Show the plan path for local viewing, then re-present this menu + +#### Handle the selected option + +* **Run `/kw:review`:** Immediately load `kw:review` with the plan path. +* **Start `/kw:work`:** Immediately load `kw:work` with the plan path. +* **Ship the rest with `/kw:lfg`:** Immediately load `kw:lfg` with `plan:` (or the plan file path) so it starts at review — does not re-run plan. +* **Refine:** Edit the plan, then re-present this menu. +* **Push to Proof:** Share, then re-present this menu. +* **Open in editor:** Display the plan path (open via host primitive if available), then re-present this menu. + +## 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 `mode:pipeline` in arguments (or equivalent pipeline/orchestrator context): + +- Skip all AskUserQuestion prompts and interactive waits (including "wait for the user to react" / batch approvals) +- Use sensible defaults for all choices +- Write output files without waiting for confirmation +- **Do not** load the next skill yourself — return structured results to the caller (e.g. `/kw:lfg`) which owns progression +- Output structured results the calling context can parse From c6293a76a7725198dcf83844cd6c55cac2a8fa52 Mon Sep 17 00:00:00 2001 From: crowlede <5617703+crowlede@users.noreply.github.com> Date: Mon, 31 Aug 2026 10:24:16 -0700 Subject: [PATCH 8/9] =?UTF-8?q?fix(skills):=20CE=20review=20=E2=80=94=20As?= =?UTF-8?q?kUserQuestion=204-option=20cap=20and=20handoff=20handlers=20(re?= =?UTF-8?q?view,=20work)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../skills/kw-review/SKILL.md | 20 +++++++++----- .../skills/kw-work/SKILL.md | 26 ++++++++++++------- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/plugins/compound-knowledge/skills/kw-review/SKILL.md b/plugins/compound-knowledge/skills/kw-review/SKILL.md index 92b17b4..85f0944 100644 --- a/plugins/compound-knowledge/skills/kw-review/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-review/SKILL.md @@ -111,21 +111,27 @@ Findings: [N] ([P1 count] critical, [P2 count] important, [P3 count] nice-to-hav What would you like to do next? ``` -Use AskUserQuestion when available; otherwise a numbered list in chat. **Never silently skip this question.** +**Handoff rendering (required):** Claude Code `AskUserQuestion` supports at most **4** options. + +* If visible count ≤ 4 **and** AskUserQuestion is available → use AskUserQuestion +* If visible count > 4, or AskUserQuestion is unavailable / errors → numbered list in chat with "Pick a number or describe what you want." +* **Never** call AskUserQuestion with more than 4 options. **Never** silently skip this question. **Options:** 1. **Fix P1/P2 issues now** — Address findings inline, then re-review 2. **Run `/kw:work`** *(recommended when no P1s)* — Plan passes. Start executing it 3. **Run `/kw:compound`** — Save review insights as learnings -4. **Push to Proof** — Share review findings for discussion -5. **Ship as-is** — Acknowledge findings and proceed without fixing +4. **Ship as-is** — Acknowledge findings and load `/kw:work` without fixing +5. **Push to Proof** — Share review findings for discussion, then re-present this menu #### Handle the selected option * **Fix P1/P2:** Apply fixes to the artifact, then re-run review (return to Step 2). * **Run `/kw:work`:** Immediately load `kw:work` with the reviewed plan/artifact path. * **Run `/kw:compound`:** Immediately load `kw:compound`. +* **Ship as-is:** Acknowledge remaining findings in one line, then immediately load `kw:work` with the plan path (same as work; note any remaining P1 override). +* **Push to Proof:** Share, then re-present this menu. * If P1 findings remain, recommend fixing before work — still allow the user to override. ## Important Rules @@ -142,10 +148,10 @@ Use AskUserQuestion when available; otherwise a numbered list in chat. **Never s ## Pipeline Mode -When invoked with `disable-model-invocation` context (e.g., from an orchestrator or automation): +When invoked with `mode:pipeline` in arguments (or equivalent pipeline/orchestrator context): -- Skip all AskUserQuestion prompts +- Skip all AskUserQuestion prompts and interactive waits (including "wait for the user to react" / batch approvals) - 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 +- **Do not** load the next skill yourself — return structured results to the caller (e.g. `/kw:lfg`) which owns progression +- Output structured results the calling context can parse diff --git a/plugins/compound-knowledge/skills/kw-work/SKILL.md b/plugins/compound-knowledge/skills/kw-work/SKILL.md index d6b8ac2..48b9e69 100644 --- a/plugins/compound-knowledge/skills/kw-work/SKILL.md +++ b/plugins/compound-knowledge/skills/kw-work/SKILL.md @@ -49,6 +49,8 @@ Present the task list to the user: > "I see \[N] deliverables in this plan. Here's how I'd break them down. Want to adjust before I start?" +**In `mode:pipeline`:** present the task list in narration and continue — do not wait for adjustment. + **Task types in knowledge work:** | Deliverable | How to execute | @@ -101,7 +103,7 @@ Present the execution plan to the user: 1. **Announce the batch** — "Starting Batch 1: \[task names]" 2. **Launch independent tasks in parallel** — Use Task agents for tasks that don't depend on each other. For single tasks or tasks requiring heavy interaction, execute inline. 3. **Show all outputs** — Present results from the batch together -4. **Get feedback** — "Good? Or adjust before I move to Batch 2?" +4. **Get feedback** — "Good? Or adjust before I move to Batch 2?" (**Skip in `mode:pipeline`** — log results and continue to the next batch.) 5. **Mark complete** — Move to next batch **When to parallelize within a batch:** @@ -188,21 +190,27 @@ Deliverables: [N] produced What would you like to do next? ``` -Use AskUserQuestion when available; otherwise a numbered list in chat. **Never silently skip this question.** +**Handoff rendering (required):** Claude Code `AskUserQuestion` supports at most **4** options. + +* If visible count ≤ 4 **and** AskUserQuestion is available → use AskUserQuestion +* If visible count > 4, or AskUserQuestion is unavailable / errors → numbered list in chat with "Pick a number or describe what you want." +* **Never** call AskUserQuestion with more than 4 options. **Never** silently skip this question. **Options:** 1. **Run `/kw:compound`** *(recommended)* — Save learnings from this session so the next cycle starts smarter 2. **Run `/kw:review`** — Quality check the outputs -3. **Push to Proof** — Share execution summary for review -4. **Continue working** — Pick up blocked tasks or add new ones -5. **Ship it** — Done for now; skip compounding (not recommended after meaningful work) +3. **Continue working** — Pick up blocked tasks or add new ones +4. **Done for now** — End without compounding (not recommended after meaningful work) +5. **Push to Proof** — Share execution summary for review, then re-present this menu #### Handle the selected option * **Run `/kw:compound`:** Immediately load `kw:compound`, pointing at this session's plan + execution log. * **Run `/kw:review`:** Immediately load `kw:review` on the primary deliverable or plan. * **Continue working:** Return to Step 4 for remaining/blocked work, then return to this menu. +* **Done for now:** End the turn; note that `/kw:compound` can still run later on this plan's execution log. +* **Push to Proof:** Share, then re-present this menu. ## Important Rules @@ -218,10 +226,10 @@ Use AskUserQuestion when available; otherwise a numbered list in chat. **Never s ## Pipeline Mode -When invoked with `disable-model-invocation` context (e.g., from an orchestrator or automation): +When invoked with `mode:pipeline` in arguments (or equivalent pipeline/orchestrator context): -- Skip all AskUserQuestion prompts +- Skip all AskUserQuestion prompts and interactive waits (including "wait for the user to react" / batch approvals) - 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 +- **Do not** load the next skill yourself — return structured results to the caller (e.g. `/kw:lfg`) which owns progression +- Output structured results the calling context can parse From 4e1940d132195ef13bcc0abbae20d8a674777684 Mon Sep 17 00:00:00 2001 From: crowlede <5617703+crowlede@users.noreply.github.com> Date: Mon, 31 Aug 2026 10:25:18 -0700 Subject: [PATCH 9/9] =?UTF-8?q?docs:=20CE=20review=20=E2=80=94=20changelog?= =?UTF-8?q?,=20AGENTS,=20READMEs=20for=20stage=20handoffs=20and=20LFG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- plugins/compound-knowledge/AGENTS.md | 4 +++- plugins/compound-knowledge/CHANGELOG.md | 6 +++++- plugins/compound-knowledge/README.md | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 8471823..cb1473f 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Read the story: [How to Build a Command Center That Keeps You Sane](https://ever Each cycle makes the next one faster. `/kw:plan` searches `docs/knowledge/` for past learnings saved by `/kw:compound`. Knowledge compounds. -After `/kw:brainstorm`, you get an explicit handoff — create a plan, or ship the rest of the loop with `/kw:lfg` — so you don't lose track of which stage you're in. +After `/kw:brainstorm`, you get an explicit handoff — create a plan, or **Ship the rest** with `/kw:lfg` — so you don't lose track of which stage you're in. ## Install diff --git a/plugins/compound-knowledge/AGENTS.md b/plugins/compound-knowledge/AGENTS.md index a8f7512..720f9e5 100644 --- a/plugins/compound-knowledge/AGENTS.md +++ b/plugins/compound-knowledge/AGENTS.md @@ -41,7 +41,9 @@ compound-knowledge/ * End-of-stage handoffs must (1) name the completed stage, (2) present next options, and (3) immediately load the chosen next skill when applicable — never silently skip the handoff -* `/kw:lfg` is the only skill that chains stages without check-ins; other skills stay single-stage unless the user picks a handoff option +* Handoff menus: Claude Code `AskUserQuestion` max 4 options — if more are visible, use a numbered list in chat instead of overloading the tool + +* `/kw:lfg` is the only skill that chains stages without check-ins; it invokes children with `mode:pipeline`. Other skills stay single-stage unless the user picks a handoff option; under `mode:pipeline` they return results to the caller and do not self-chain * Review agents live in `agents/review/` diff --git a/plugins/compound-knowledge/CHANGELOG.md b/plugins/compound-knowledge/CHANGELOG.md index d56d774..e382da5 100644 --- a/plugins/compound-knowledge/CHANGELOG.md +++ b/plugins/compound-knowledge/CHANGELOG.md @@ -17,7 +17,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). * `/kw:brainstorm` Step 7 reframed as an explicit "Brainstorm complete" handoff (never skip), aligned with CE's post-brainstorm progression * `/kw:plan`, `/kw:review`, `/kw:work`, and `/kw:compound` handoffs strengthened with stage-complete preambles and immediate skill load on selection -* `/kw:confidence` re-anchors to the interrupted parent stage after the check +* Handoff menus follow CE's AskUserQuestion cap: ≤4 options use the tool; more than 4 fall back to a numbered list (never call AskUserQuestion over the limit) +* Pipeline Mode now keys off `mode:pipeline` (not `disable-model-invocation`); children return results to the caller instead of self-chaining +* `/kw:compound` allows pipeline auto-save so `/kw:lfg` does not contradict "approval required" +* LFG option labeled **Ship the rest**; existing `plans/*.md` paths skip re-planning; work end option renamed **Done for now** +* `/kw:confidence` captures and resumes the interrupted parent stage * README / component counts updated for 7 skills ## [1.0.0] - 2026-03-22 diff --git a/plugins/compound-knowledge/README.md b/plugins/compound-knowledge/README.md index c3178a9..037f744 100644 --- a/plugins/compound-knowledge/README.md +++ b/plugins/compound-knowledge/README.md @@ -17,7 +17,7 @@ Workflows for knowledge work that compounds over time. The knowledge work equiva Each cycle makes the next one faster. `/kw:plan` searches `docs/knowledge/` for past learnings saved by `/kw:compound`. Knowledge compounds. -After `/kw:brainstorm`, the skill ends with an explicit handoff (create plan, or ship the rest with `/kw:lfg`) so you always know which stage you're in. +After `/kw:brainstorm`, the skill ends with an explicit handoff (create plan, or **Ship the rest** with `/kw:lfg`) so you always know which stage you're in. ## Install