Skip to main content

kwwork

Execute a knowledge work plan. Break it into tasks, do the work, and track what happened. Use after planning to actually produce the deliverables.

Source facts

Repository
EveryInc/compound-knowledge-plugin
Last source activity
March 22, 2026 at 18:53
Detected SKILL.md language
English
Stars
426
Forks
47

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
kw:work
description
Execute a knowledge work plan. Break it into tasks, do the work, and track what happened. Use after planning to actually produce the deliverables.
argument-hint
[plan file to execute]
<work_target> #$ARGUMENTS </work_target> # Work You have a plan. Now execute it. Break it into tasks, do them, track what happened. ## When to Use * After `/kw:plan` or `/kw:review` — the plan is ready, time to execute * "Start working on this", "Execute the plan", "Let's do this" * When you have a clear plan and need to produce deliverables ## Process ### Step 1: Load the plan Read the plan file. If no plan is specified: 1. Check for the most recently modified file in `plans/` 2. Ask: "Which plan should I execute? Point me to a file." ### Step 2: Break into tasks Extract concrete deliverables from the plan. For each deliverable, create a task: ``` ## Tasks - [ ] [Task 1] — [what needs to be produced] - [ ] [Task 2] — [what needs to be produced] - [ ] [Task 3] — [what needs to be produced] ``` 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?" **Task types in knowledge work:** | Deliverable | How to execute | | -------------------- | -------------------------------------------- | | Strategy doc / brief | Write it using the plan as structure | | Email draft | Write it, check tone, present for review | | Social copy | Write variations, check against style guides | | Data analysis | Pull data, analyze, summarize findings | | Presentation | Structure slides, write content | | Research synthesis | Gather sources, extract insights, summarize | | Meeting agenda | Structure topics, time-box, add context | | Notion page / doc | Create and populate | | Campaign assets | Create copy, briefs, timelines | ### Step 3: Group tasks by dependency Before executing, sort tasks into **batches**: ``` ## Execution Plan ### Batch 1 (parallel) — no dependencies - [ ] [Task A] — independent - [ ] [Task B] — independent ### Batch 2 (parallel) — depends on Batch 1 - [ ] [Task C] — needs output from Task A - [ ] [Task D] — independent of C, but needs Batch 1 context ### Batch 3 (sequential) — needs user direction - [ ] [Task E] — depends on user feedback from earlier batches ``` **Grouping rules:** * Tasks with no dependencies on each other go in the same batch * Tasks that need another task's output go in a later batch * Tasks that need user feedback before starting go in their own batch Present the execution plan to the user: > "I've grouped these into \[N] batches. Batch 1 has \[N] independent tasks I can run in parallel. Want to adjust before I start?" ### Step 4: Execute batch by batch **For each batch:** 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?" 5. **Mark complete** — Move to next batch **When to parallelize within a batch:** | Situation | Approach | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | | 2+ independent deliverables (e.g., 3 social posts, a brief + a data pull) | Launch as parallel Task agents | | Single deliverable | Execute inline | | Deliverable needs back-and-forth (e.g., iterating on tone) | Execute inline, don't delegate | **Execution principles:** * **Use what's available.** If there are MCP tools, APIs, or skills that can help, use them. Don't recreate what exists. * **Follow project conventions.** Check CLAUDE.md for style guides, data sources, tool preferences. * **Show, don't describe.** Produce the actual deliverable, not a description of what it would look like. * **Approve between batches, not between every task.** Independent tasks don't need individual sign-off. Check in after each batch completes. * **Fall back to sequential if unsure.** When in doubt about whether tasks are independent, run them one at a time. Wrong parallelism is worse than no parallelism. ### Step 5: Handle blockers If you can't complete a task: * **Missing information** — Ask the user. Be specific about what you need. * **Missing access** — Note it and move to the next task. Come back when unblocked. * **Scope creep** — If a task is bigger than expected, flag it: "This is turning into its own project. Should I keep going or add it as a separate plan?" * **Quality concern** — If the output doesn't feel right, say so. "I produced this but I'm not confident about \[X]. Want to review before I continue?" ### Step 6: Track what happened As you work, maintain a running log. After each batch completes, **append the log to the plan file** under a `## Execution Log` section: ``` ## Execution Log ### [timestamp] Batch 1: [batch name] - [Task 1] ✅ — Produced: [what], Location: [path] - [Task 2] ✅ — Produced: [what], Location: [path] - Notes: [anything notable] ### [timestamp] Batch 2: [batch name] - [Task 3] ✅ — Produced: [what], Location: [path] - [Task 4] ⏳ Blocked — [blocker], Next step: [what needs to happen] ``` <critical_requirement> Write the execution log to the plan file after each batch. Do not keep it only in conversation. This log feeds /kw:compound with concrete material to extract learnings from. </critical_requirement> ### Step 7: Wrap up When all tasks are complete (or blocked), summarize: ``` ## Execution Summary **Plan:** [plan name] **Tasks completed:** [N] of [total] **Deliverables produced:** - [deliverable 1] — [location] - [deliverable 2] — [location] **Still open:** - [blocked task] — [blocker] **Discoveries:** - [anything learned during execution worth noting] ``` ### Step 8: Offer next steps Use AskUserQuestion: **Question:** "Execution complete. \[N] deliverables produced. What next?" **Options:** 1. **Run `/kw:review`** — Quality check the outputs 2. **Run `/kw:compound`** — Save learnings from this session 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 ## Important Rules * **Produce, don't plan.** This is execution mode. If you find yourself writing another plan, you're in the wrong workflow. Use `/kw:plan` for that. * **Show your work.** After each task, show the actual output. Don't say "I would create a doc that..." — create the doc. * **Respect scope.** The plan defines what to do. If something isn't in the plan, ask before adding it. Scope creep is the enemy of finishing. * **Track everything.** The work log is how you know what happened. It also feeds `/kw:compound` with concrete results to learn from. * **Ask for feedback between batches.** Knowledge work is subjective. Check in after each batch rather than producing everything and hoping it's right. Independent tasks within a batch don't need individual sign-off. ## 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
View on GitHub