compound-workflow 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"compound-workflow","version":"1.
|
|
1
|
+
{"name":"compound-workflow","version":"1.3.0","description":"Clarify → plan → execute → verify → capture. One Install action for Cursor, Claude, and OpenCode.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/cjerochim/compound-workflow.git"},"bin":{"compound-workflow":"scripts/install-cli.mjs"},"files":["src","scripts",".cursor-plugin",".claude-plugin","skills"],"scripts":{"check:pack-readme":"node scripts/check-pack-readme.mjs"},"engines":{"node":">=18"},"devDependencies":{"@semantic-release/git":"^10.0.1","@semantic-release/npm":"^13.1.4","semantic-release":"^25.0.3"}}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: triage
|
|
3
3
|
invocation: workflow:triage
|
|
4
|
-
description: Triage
|
|
5
|
-
argument-hint: "[optional: todo path, issue id,
|
|
4
|
+
description: Triage and prioritize todo files into an executable ready queue (priority, dependencies, recommended action)
|
|
5
|
+
argument-hint: "[optional: todo path, issue id, status filter ('pending'|'ready'|'active')]"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# /workflow:triage
|
|
9
9
|
|
|
10
|
-
Turn
|
|
10
|
+
Turn todo items into a prioritized executable queue.
|
|
11
11
|
|
|
12
12
|
This command does not implement fixes. It approves and organizes work so `/workflow:work` can execute without ambiguity.
|
|
13
13
|
|
|
14
14
|
## Inputs
|
|
15
15
|
|
|
16
|
-
- Default: triage all
|
|
16
|
+
- Default: triage all active todos under `todos/` (`pending` + `ready`)
|
|
17
17
|
- Optional: a specific todo file path or issue id
|
|
18
18
|
|
|
19
19
|
## Preconditions
|
|
@@ -24,9 +24,9 @@ This command does not implement fixes. It approves and organizes work so `/workf
|
|
|
24
24
|
## Workflow
|
|
25
25
|
|
|
26
26
|
1. Identify the target set:
|
|
27
|
-
- all `todos/*-pending-*.md
|
|
27
|
+
- all active todos (`todos/*-pending-*.md` + `todos/*-ready-*.md`), or
|
|
28
28
|
- the requested todo
|
|
29
|
-
2. For each
|
|
29
|
+
2. For each target todo:
|
|
30
30
|
- read Problem Statement + Findings + Proposed Solutions
|
|
31
31
|
- fill **Recommended Action** (make it executable)
|
|
32
32
|
- set `priority` (`p1|p2|p3`)
|
|
@@ -45,8 +45,9 @@ This command does not implement fixes. It approves and organizes work so `/workf
|
|
|
45
45
|
- **Blocking spikes first:** If a spike unblocks downstream build todos, prioritize approving that spike before its dependents. Do not approve dependent build todos as executable ahead of unresolved blocking spikes.
|
|
46
46
|
- **Parallel spike readiness:** If multiple spike todos are independent (no dependency edges between them), they may be approved together for parallel execution.
|
|
47
47
|
3. Decision:
|
|
48
|
-
- **approve now** -> rename `*-pending-*` -> `*-ready-*` and set frontmatter `status: ready
|
|
49
|
-
- **defer** -> rename `*-pending-*` -> `*-deferred-*` and set frontmatter `status: deferred` (keep priority, typically `p3`). Ensure Recommended Action, Findings, and Work Log have enough context for future reference. Deferred items are not executed until re-triaged to `ready`.
|
|
48
|
+
- **approve now** -> if pending, rename `*-pending-*` -> `*-ready-*` and set frontmatter `status: ready`; if already ready, keep `status: ready` and update priority/dependencies as needed
|
|
49
|
+
- **defer** -> rename `*-pending-*` or `*-ready-*` -> `*-deferred-*` and set frontmatter `status: deferred` (keep priority, typically `p3`). Ensure Recommended Action, Findings, and Work Log have enough context for future reference. Deferred items are not executed until re-triaged to `ready`.
|
|
50
|
+
- **needs rework** -> when a `ready` todo is not executable, rename `*-ready-*` -> `*-pending-*`, set `status: pending`, and record what is missing before re-approval.
|
|
50
51
|
- **blocked follow-up** -> when work returns a blocked todo, keep it as `pending` (rename from `*-ready-*` when needed), add `tags: [blocker]`, and require blocker options + recommendation in Work Log before re-approval.
|
|
51
52
|
4. Output:
|
|
52
53
|
- list approved `ready` todos (blocking spikes first, then other unblocked items)
|
|
@@ -221,8 +221,9 @@ The input must be a plan file path.
|
|
|
221
221
|
|
|
222
222
|
After creating todos:
|
|
223
223
|
|
|
224
|
-
-
|
|
225
|
-
-
|
|
224
|
+
- Run `/workflow:triage` before any implementation work to approve/prioritize the queue for this plan.
|
|
225
|
+
- Do not proceed to Phase 2 until triage completes and execution order is explicit.
|
|
226
|
+
- If triage leaves no unblocked `ready` todos, stop and report pending/deferred/blocked items.
|
|
226
227
|
|
|
227
228
|
### Phase 2: Execute
|
|
228
229
|
|
|
@@ -249,7 +250,7 @@ The input must be a plan file path.
|
|
|
249
250
|
|
|
250
251
|
- If no unblocked `ready` todos remain:
|
|
251
252
|
- summarize remaining `pending`, `deferred` (parked for reference), and blocked items
|
|
252
|
-
-
|
|
253
|
+
- require re-running `/workflow:triage` for pending/blocked prioritization
|
|
253
254
|
- stop (do not invent work)
|
|
254
255
|
|
|
255
256
|
For each task in priority order:
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: capture-skill
|
|
3
|
+
description: Capture learnings, patterns, or workflows from the current conversation into a new or existing skill. Use when the user wants to save what was learned, discovered, or built during a conversation as a reusable skill for future sessions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Capture Skill from Conversation
|
|
7
|
+
|
|
8
|
+
This skill extracts reusable knowledge from the current conversation and stores it as a skill.
|
|
9
|
+
|
|
10
|
+
## Default Policy
|
|
11
|
+
|
|
12
|
+
`capture-skill` uses an overlay model by default:
|
|
13
|
+
|
|
14
|
+
- Treat existing repo-provided skills as immutable unless the user explicitly asks to edit a specific one.
|
|
15
|
+
- Store project-specific refinements in a project overlay skill (for example, `.agents/skills/project-standards/`).
|
|
16
|
+
- Only modify an existing skill when the user clearly says to do so (for example, "update skill X").
|
|
17
|
+
- Promote overlay content into base skills only as an explicit, deliberate follow-up action.
|
|
18
|
+
|
|
19
|
+
## When to Use
|
|
20
|
+
|
|
21
|
+
- The user says "capture this as a skill" or "save this for next time"
|
|
22
|
+
- A reusable workflow, pattern, or piece of domain knowledge emerged
|
|
23
|
+
- The user wants to refine project standards based on this conversation
|
|
24
|
+
- The conversation revealed non-obvious steps, gotchas, or best practices worth preserving
|
|
25
|
+
|
|
26
|
+
## Capture Process
|
|
27
|
+
|
|
28
|
+
### Phase 1: Identify What to Capture
|
|
29
|
+
|
|
30
|
+
Prioritize broad, reusable patterns over one-off implementation details.
|
|
31
|
+
|
|
32
|
+
Look for:
|
|
33
|
+
|
|
34
|
+
1. High-level principles and standards
|
|
35
|
+
2. Multi-step workflows discovered through trial and error
|
|
36
|
+
3. Domain constraints that are not obvious
|
|
37
|
+
4. Gotchas and reliable fixes
|
|
38
|
+
5. Decision rationale that establishes a repeatable rule
|
|
39
|
+
|
|
40
|
+
Summarize the planned capture and confirm with the user before writing.
|
|
41
|
+
|
|
42
|
+
### Phase 2: Check Related Skills and Consolidate
|
|
43
|
+
|
|
44
|
+
Before creating a new skill:
|
|
45
|
+
|
|
46
|
+
1. List existing skills in personal and project locations.
|
|
47
|
+
2. Find related skill scopes.
|
|
48
|
+
3. Decide: consolidate into existing skill, extend an existing skill section, or create a new skill.
|
|
49
|
+
|
|
50
|
+
Consolidate when content overlaps domain, trigger conditions, or workflow usage.
|
|
51
|
+
|
|
52
|
+
### Phase 3: Choose Destination
|
|
53
|
+
|
|
54
|
+
If not already specified:
|
|
55
|
+
|
|
56
|
+
1. Decide whether this is a new skill or an update.
|
|
57
|
+
2. For new captures, decide storage:
|
|
58
|
+
- Personal skill directory for cross-project behavior
|
|
59
|
+
- Project skill directory for project-specific behavior
|
|
60
|
+
3. Apply the default policy:
|
|
61
|
+
- Prefer project overlay skills for refinements
|
|
62
|
+
- Do not mutate repo-provided skills by default
|
|
63
|
+
|
|
64
|
+
### Phase 4: Draft Skill Content
|
|
65
|
+
|
|
66
|
+
For new skills:
|
|
67
|
+
|
|
68
|
+
1. Use a descriptive kebab-case name (max 64 chars)
|
|
69
|
+
2. Write a precise description with WHAT + WHEN
|
|
70
|
+
3. Distill into actionable instructions
|
|
71
|
+
4. Add compact examples
|
|
72
|
+
5. Include scripts/assets only when needed
|
|
73
|
+
|
|
74
|
+
For updates:
|
|
75
|
+
|
|
76
|
+
1. Read existing `SKILL.md`
|
|
77
|
+
2. Integrate into the best section
|
|
78
|
+
3. Avoid duplication
|
|
79
|
+
4. Keep structure and voice consistent
|
|
80
|
+
|
|
81
|
+
### Phase 5: Distill for Reuse
|
|
82
|
+
|
|
83
|
+
Guidelines:
|
|
84
|
+
|
|
85
|
+
1. Lead with general principles
|
|
86
|
+
2. Generalize from specific files/functions
|
|
87
|
+
3. Explain why the pattern exists
|
|
88
|
+
4. Include only context the agent would not infer
|
|
89
|
+
5. Keep content concise and maintainable (`SKILL.md` under 500 lines)
|
|
90
|
+
|
|
91
|
+
Do not:
|
|
92
|
+
|
|
93
|
+
- Store conversation artifacts
|
|
94
|
+
- Overfit to single-file fixes
|
|
95
|
+
- Repeat obvious model knowledge
|
|
96
|
+
- Include excessive implementation trivia
|
|
97
|
+
|
|
98
|
+
### Phase 6: Write and Verify
|
|
99
|
+
|
|
100
|
+
If consolidating:
|
|
101
|
+
|
|
102
|
+
1. Merge into the chosen home skill
|
|
103
|
+
2. Keep sections clear and non-overlapping
|
|
104
|
+
3. Remove obsolete duplicate skills
|
|
105
|
+
4. Update name/description if scope broadened
|
|
106
|
+
|
|
107
|
+
If creating/updating:
|
|
108
|
+
|
|
109
|
+
1. Write `SKILL.md`
|
|
110
|
+
2. Verify trigger description accuracy
|
|
111
|
+
3. Verify no duplicate scope across skills
|
|
112
|
+
4. Confirm captured content with the user
|
|
113
|
+
|
|
114
|
+
## Consolidation Rules
|
|
115
|
+
|
|
116
|
+
- Prefer fewer, broader, discoverable skills over many narrow duplicates.
|
|
117
|
+
- Group frequently co-used patterns into one skill with clear sections.
|
|
118
|
+
- If overlap is discovered after creation, consolidate immediately.
|
|
119
|
+
|
|
120
|
+
## Edge Cases
|
|
121
|
+
|
|
122
|
+
- Multiple unrelated learnings: split into separate skills.
|
|
123
|
+
- Tiny single-rule capture: recommend a rule file instead of a skill.
|
|
124
|
+
- Major rewrite needed: ask whether to restructure or supersede.
|
|
125
|
+
- User asks to evolve standards safely: keep changes in project overlay unless explicit promotion is requested.
|
package/src/AGENTS.md
CHANGED
|
@@ -26,13 +26,10 @@ This `.agents` workspace is portable and command-first.
|
|
|
26
26
|
|
|
27
27
|
1. `/workflow:brainstorm` -> clarify what to build
|
|
28
28
|
2. `/workflow:plan` -> define how to build it
|
|
29
|
-
3. `/workflow:
|
|
30
|
-
4. `/workflow:
|
|
31
|
-
5. `/workflow:
|
|
32
|
-
|
|
33
|
-
Supporting command:
|
|
34
|
-
|
|
35
|
-
- `/workflow:triage` -> approve and prioritize pending todos
|
|
29
|
+
3. `/workflow:triage` -> approve and prioritize the todo queue before execution
|
|
30
|
+
4. `/workflow:work` -> implement
|
|
31
|
+
5. `/workflow:review` -> validate quality
|
|
32
|
+
6. `/workflow:compound` -> capture durable learnings
|
|
36
33
|
|
|
37
34
|
Continuous improvement:
|
|
38
35
|
|
|
@@ -56,6 +53,7 @@ Use the canonical command names (`/workflow:plan`, `/workflow:work`, `/workflow:
|
|
|
56
53
|
- **Solution scope contract is mandatory in every plan.** Plans must declare `solution_scope` (`partial_fix|full_remediation|migration`) plus explicit completion expectation and non-goals so `/workflow:work` can enforce intent.
|
|
57
54
|
- **SpecFlow is a validation gate, not a rewrite engine.** High fidelity required; Medium recommended; Low optional. Output must translate into acceptance criteria/edge cases, not new scope.
|
|
58
55
|
- **Isolation preflight is a hard gate.** `/workflow:work` must complete and record worktree/isolation preflight before any implementation commands. `/workflow:review` must do the same for non-current PR/branch targets before analysis.
|
|
56
|
+
- **Triage before execution is mandatory.** `/workflow:work` must not execute todos until a `/workflow:triage` pass has prioritized the queue and validated dependencies/ready state for the current plan.
|
|
59
57
|
- **Spike governance is explicit and ordered.** Risky plans must evaluate spike need, spike candidates must declare initial priority/dependencies/unblocks/timebox/deliverable, triage confirms those assumptions, and `/workflow:work` executes blocking spikes before dependent build todos.
|
|
60
58
|
- **Agentic access/testability is mandatory in planning.** Every plan must include an executable access + validation contract so work/review can run deterministically.
|
|
61
59
|
- **Todo completion requires evidence.** A todo may move to `complete` only after success criteria evidence and quality gate evidence are recorded in Work Log.
|
|
@@ -157,7 +155,7 @@ worktree_bootstrap_notes:
|
|
|
157
155
|
## Implemented Components (Current Scope)
|
|
158
156
|
|
|
159
157
|
- Commands: `workflow:brainstorm`, `workflow:plan`, `workflow:work`, `workflow:triage`, `workflow:review`, `workflow:compound` (under `.agents/commands/workflow/`), plus `test-browser`, `metrics`, `assess`, `setup`, `sync` (root commands)
|
|
160
|
-
- Skills: `brainstorming`, `document-review`, `technical-review`, `compound-docs` (alias: `compound_doc`), `file-todos`, `agent-browser`, `git-worktree`, `process-metrics`, `react-ddd-mvc-frontend`, `xstate-actor-orchestration`, `standards`, `pii-protection-prisma`, `financial-workflow-integrity`, `audit-traceability`, `data-foundations`
|
|
158
|
+
- Skills: `brainstorming`, `document-review`, `technical-review`, `compound-docs` (alias: `compound_doc`), `capture-skill`, `file-todos`, `agent-browser`, `git-worktree`, `process-metrics`, `react-ddd-mvc-frontend`, `xstate-actor-orchestration`, `standards`, `pii-protection-prisma`, `financial-workflow-integrity`, `audit-traceability`, `data-foundations`
|
|
161
159
|
- Agents:
|
|
162
160
|
- `repo-research-analyst`
|
|
163
161
|
- `learnings-researcher`
|
|
@@ -213,6 +211,7 @@ Maintenance:
|
|
|
213
211
|
| `document-review` | You need to review a document/spec and extract issues, gaps, and concrete next actions. |
|
|
214
212
|
| `technical-review` | A plan or feature approach has passed document review and must be checked for technical correctness before build. |
|
|
215
213
|
| `compound-docs` (alias: `compound_doc`) | A durable learning (solved problem or implementation insight) should be captured as institutional knowledge. |
|
|
214
|
+
| `capture-skill` | You want to capture conversation learnings as a reusable skill, while defaulting to project-overlay refinement and avoiding implicit edits to repo-provided base skills. |
|
|
216
215
|
| `file-todos` | You need a file-backed todo workflow for iterative multi-step changes. |
|
|
217
216
|
| `agent-browser` | You need to inspect available agents/skills and route deterministically. |
|
|
218
217
|
| `git-worktree` | You need isolated parallel work (review/feature) using git worktrees. |
|