devflow-kit 1.5.0 → 1.6.1

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.
Files changed (86) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/README.md +9 -4
  3. package/dist/commands/ambient.js +1 -1
  4. package/dist/commands/init.js +8 -4
  5. package/dist/commands/uninstall.d.ts +9 -0
  6. package/dist/commands/uninstall.js +60 -4
  7. package/dist/plugins.js +23 -23
  8. package/dist/utils/post-install.js +6 -2
  9. package/package.json +1 -1
  10. package/plugins/devflow-accessibility/.claude-plugin/plugin.json +1 -1
  11. package/plugins/devflow-ambient/.claude-plugin/plugin.json +25 -4
  12. package/plugins/devflow-ambient/README.md +48 -29
  13. package/plugins/devflow-ambient/agents/coder.md +135 -0
  14. package/plugins/devflow-ambient/agents/reviewer.md +165 -0
  15. package/plugins/devflow-ambient/agents/scrutinizer.md +80 -0
  16. package/plugins/devflow-ambient/agents/shepherd.md +94 -0
  17. package/plugins/devflow-ambient/agents/simplifier.md +93 -0
  18. package/plugins/devflow-ambient/agents/skimmer.md +93 -0
  19. package/plugins/devflow-ambient/agents/validator.md +86 -0
  20. package/plugins/devflow-ambient/skills/ambient-router/SKILL.md +76 -29
  21. package/plugins/devflow-ambient/skills/ambient-router/references/skill-catalog.md +40 -35
  22. package/plugins/devflow-ambient/skills/debug-orchestration/SKILL.md +69 -0
  23. package/plugins/devflow-ambient/skills/implementation-orchestration/SKILL.md +92 -0
  24. package/plugins/devflow-ambient/skills/plan-orchestration/SKILL.md +71 -0
  25. package/plugins/devflow-audit-claude/.claude-plugin/plugin.json +10 -1
  26. package/plugins/devflow-audit-claude/commands/audit-claude.md +4 -0
  27. package/plugins/devflow-code-review/.claude-plugin/plugin.json +2 -1
  28. package/plugins/devflow-code-review/agents/reviewer.md +10 -9
  29. package/plugins/devflow-code-review/commands/code-review-teams.md +43 -30
  30. package/plugins/devflow-code-review/commands/code-review.md +10 -1
  31. package/plugins/devflow-code-review/skills/knowledge-persistence/SKILL.md +128 -0
  32. package/plugins/devflow-code-review/skills/knowledge-persistence/references/examples.md +44 -0
  33. package/plugins/devflow-core-skills/.claude-plugin/plugin.json +1 -1
  34. package/plugins/devflow-core-skills/skills/docs-framework/SKILL.md +7 -2
  35. package/plugins/devflow-core-skills/skills/test-driven-development/SKILL.md +6 -5
  36. package/plugins/devflow-debug/.claude-plugin/plugin.json +5 -3
  37. package/plugins/devflow-debug/agents/synthesizer.md +211 -0
  38. package/plugins/devflow-debug/commands/debug-teams.md +28 -14
  39. package/plugins/devflow-debug/commands/debug.md +26 -12
  40. package/plugins/devflow-debug/skills/knowledge-persistence/SKILL.md +128 -0
  41. package/plugins/devflow-debug/skills/knowledge-persistence/references/examples.md +44 -0
  42. package/plugins/devflow-frontend-design/.claude-plugin/plugin.json +1 -1
  43. package/plugins/devflow-go/.claude-plugin/plugin.json +1 -1
  44. package/plugins/devflow-implement/.claude-plugin/plugin.json +2 -1
  45. package/plugins/devflow-implement/agents/coder.md +6 -1
  46. package/plugins/devflow-implement/agents/simplifier.md +32 -1
  47. package/plugins/devflow-implement/agents/skimmer.md +5 -0
  48. package/plugins/devflow-implement/commands/implement-teams.md +72 -55
  49. package/plugins/devflow-implement/commands/implement.md +44 -35
  50. package/plugins/devflow-implement/skills/knowledge-persistence/SKILL.md +128 -0
  51. package/plugins/devflow-implement/skills/knowledge-persistence/references/examples.md +44 -0
  52. package/plugins/devflow-java/.claude-plugin/plugin.json +1 -1
  53. package/plugins/devflow-python/.claude-plugin/plugin.json +1 -1
  54. package/plugins/devflow-react/.claude-plugin/plugin.json +1 -1
  55. package/plugins/devflow-resolve/.claude-plugin/plugin.json +4 -3
  56. package/plugins/devflow-resolve/agents/simplifier.md +32 -1
  57. package/plugins/devflow-resolve/commands/resolve-teams.md +16 -7
  58. package/plugins/devflow-resolve/commands/resolve.md +16 -7
  59. package/plugins/devflow-resolve/skills/knowledge-persistence/SKILL.md +128 -0
  60. package/plugins/devflow-resolve/skills/knowledge-persistence/references/examples.md +44 -0
  61. package/plugins/devflow-rust/.claude-plugin/plugin.json +1 -1
  62. package/plugins/devflow-self-review/.claude-plugin/plugin.json +10 -1
  63. package/plugins/devflow-self-review/agents/simplifier.md +32 -1
  64. package/plugins/devflow-self-review/commands/self-review.md +10 -4
  65. package/plugins/devflow-specify/.claude-plugin/plugin.json +1 -1
  66. package/plugins/devflow-specify/agents/skimmer.md +5 -0
  67. package/plugins/devflow-specify/commands/specify-teams.md +27 -20
  68. package/plugins/devflow-specify/commands/specify.md +26 -19
  69. package/plugins/devflow-typescript/.claude-plugin/plugin.json +1 -1
  70. package/scripts/hooks/ambient-prompt +10 -8
  71. package/scripts/hooks/background-memory-update +114 -85
  72. package/scripts/hooks/session-start-memory +34 -20
  73. package/shared/agents/coder.md +6 -1
  74. package/shared/agents/reviewer.md +10 -9
  75. package/shared/agents/simplifier.md +32 -1
  76. package/shared/agents/skimmer.md +5 -0
  77. package/shared/skills/ambient-router/SKILL.md +76 -29
  78. package/shared/skills/ambient-router/references/skill-catalog.md +40 -35
  79. package/shared/skills/debug-orchestration/SKILL.md +69 -0
  80. package/shared/skills/docs-framework/SKILL.md +7 -2
  81. package/shared/skills/implementation-orchestration/SKILL.md +92 -0
  82. package/shared/skills/knowledge-persistence/SKILL.md +128 -0
  83. package/shared/skills/knowledge-persistence/references/examples.md +44 -0
  84. package/shared/skills/plan-orchestration/SKILL.md +71 -0
  85. package/shared/skills/test-driven-development/SKILL.md +6 -5
  86. package/plugins/devflow-ambient/commands/ambient.md +0 -110
@@ -23,7 +23,11 @@ Investigate bugs by spawning a team of agents, each pursuing a different hypothe
23
23
 
24
24
  ## Phases
25
25
 
26
- ### Phase 1: Context Gathering
26
+ ### Phase 1: Load Project Knowledge
27
+
28
+ Read `.memory/knowledge/decisions.md` and `.memory/knowledge/pitfalls.md`. Known pitfalls from prior debugging sessions and code reviews can directly inform hypothesis generation — pass their content as context to investigators in Phase 2.
29
+
30
+ ### Phase 2: Context Gathering
27
31
 
28
32
  If `$ARGUMENTS` starts with `#`, fetch the GitHub issue:
29
33
 
@@ -39,7 +43,7 @@ Analyze the bug description (from arguments or issue) and identify 3-5 plausible
39
43
  - **Testable**: Can be confirmed or disproved by reading code/logs
40
44
  - **Distinct**: Does not overlap significantly with other hypotheses
41
45
 
42
- ### Phase 2: Spawn Investigation Team
46
+ ### Phase 3: Spawn Investigation Team
43
47
 
44
48
  Create an agent team with one investigator per hypothesis:
45
49
 
@@ -99,7 +103,7 @@ Spawn investigator teammates with self-contained prompts:
99
103
  (Add more investigators if bug complexity warrants 4-5 hypotheses — same pattern)
100
104
  ```
101
105
 
102
- ### Phase 3: Investigation
106
+ ### Phase 4: Investigation
103
107
 
104
108
  Teammates investigate in parallel:
105
109
  - Read relevant source files
@@ -108,7 +112,7 @@ Teammates investigate in parallel:
108
112
  - Look for edge cases and race conditions
109
113
  - Build evidence for or against their hypothesis
110
114
 
111
- ### Phase 4: Adversarial Debate
115
+ ### Phase 5: Adversarial Debate
112
116
 
113
117
  Lead initiates debate via broadcast:
114
118
 
@@ -135,7 +139,7 @@ Teammates challenge each other directly using SendMessage:
135
139
  - `SendMessage(type: "message", recipient: "team-lead", summary: "Updated hypothesis")`
136
140
  "I've updated my hypothesis based on investigator-b's finding at..."
137
141
 
138
- ### Phase 5: Convergence
142
+ ### Phase 6: Convergence
139
143
 
140
144
  After debate (max 2 rounds), lead collects results:
141
145
 
@@ -147,7 +151,7 @@ Lead broadcast:
147
151
  - PARTIAL: Some aspects confirmed, others not (details)"
148
152
  ```
149
153
 
150
- ### Phase 6: Cleanup
154
+ ### Phase 7: Cleanup
151
155
 
152
156
  Shut down all investigator teammates explicitly:
153
157
 
@@ -160,7 +164,7 @@ TeamDelete
160
164
  Verify TeamDelete succeeded. If failed, retry once after 5s. If retry fails, HALT.
161
165
  ```
162
166
 
163
- ### Phase 7: Report
167
+ ### Phase 8: Report
164
168
 
165
169
  Lead produces final report:
166
170
 
@@ -189,30 +193,40 @@ Lead produces final report:
189
193
  {HIGH/MEDIUM/LOW based on consensus strength}
190
194
  ```
191
195
 
196
+ ### Phase 9: Record Pitfall (if root cause found)
197
+
198
+ If root cause was identified with HIGH or MEDIUM confidence:
199
+ 1. Read `~/.claude/skills/knowledge-persistence/SKILL.md` and follow its extraction procedure to record pitfalls to `.memory/knowledge/pitfalls.md`
200
+ 2. Source field: `/debug {bug description}`
201
+
192
202
  ## Architecture
193
203
 
194
204
  ```
195
205
  /debug (orchestrator)
196
206
 
197
- ├─ Phase 1: Context gathering
207
+ ├─ Phase 1: Load Project Knowledge
208
+
209
+ ├─ Phase 2: Context gathering
198
210
  │ └─ Git agent (fetch issue, if #N provided)
199
211
 
200
- ├─ Phase 2: Spawn investigation team
212
+ ├─ Phase 3: Spawn investigation team
201
213
  │ └─ Create team with 3-5 hypothesis investigators
202
214
 
203
- ├─ Phase 3: Parallel investigation
215
+ ├─ Phase 4: Parallel investigation
204
216
  │ └─ Each teammate investigates independently
205
217
 
206
- ├─ Phase 4: Adversarial debate
218
+ ├─ Phase 5: Adversarial debate
207
219
  │ └─ Teammates challenge each other directly (max 2 rounds)
208
220
 
209
- ├─ Phase 5: Convergence
221
+ ├─ Phase 6: Convergence
210
222
  │ └─ Teammates submit final hypothesis status
211
223
 
212
- ├─ Phase 6: Cleanup
224
+ ├─ Phase 7: Cleanup
213
225
  │ └─ Shut down teammates, release resources
214
226
 
215
- └─ Phase 7: Root cause report with confidence level
227
+ ├─ Phase 8: Root cause report with confidence level
228
+
229
+ └─ Phase 9: Record Pitfall (inline, if root cause found)
216
230
  ```
217
231
 
218
232
  ## Principles
@@ -23,7 +23,11 @@ Investigate bugs by spawning parallel agents, each pursuing a different hypothes
23
23
 
24
24
  ## Phases
25
25
 
26
- ### Phase 1: Context Gathering
26
+ ### Phase 1: Load Project Knowledge
27
+
28
+ Read `.memory/knowledge/decisions.md` and `.memory/knowledge/pitfalls.md`. Known pitfalls from prior debugging sessions and code reviews can directly inform hypothesis generation — pass their content as context to investigators in Phase 2.
29
+
30
+ ### Phase 2: Context Gathering
27
31
 
28
32
  If `$ARGUMENTS` starts with `#`, fetch the GitHub issue:
29
33
 
@@ -39,12 +43,12 @@ Analyze the bug description (from arguments or issue) and identify 3-5 plausible
39
43
  - **Testable**: Can be confirmed or disproved by reading code/logs
40
44
  - **Distinct**: Does not overlap significantly with other hypotheses
41
45
 
42
- ### Phase 2: Investigate (Parallel)
46
+ ### Phase 3: Investigate (Parallel)
43
47
 
44
48
  Spawn one Explore agent per hypothesis in a **single message** (parallel execution):
45
49
 
46
50
  ```
47
- Task(subagent_type="Explore", name="investigator-a"):
51
+ Task(subagent_type="Explore"):
48
52
  "Investigate this bug: {bug_description}
49
53
 
50
54
  Hypothesis: {hypothesis A description}
@@ -63,7 +67,7 @@ Return a structured report:
63
67
  - Evidence AGAINST: [list with file:line refs]
64
68
  - Key finding: {one-sentence summary}"
65
69
 
66
- Task(subagent_type="Explore", name="investigator-b"):
70
+ Task(subagent_type="Explore"):
67
71
  "Investigate this bug: {bug_description}
68
72
 
69
73
  Hypothesis: {hypothesis B description}
@@ -71,7 +75,7 @@ Focus area: {specific code area, mechanism, or condition}
71
75
 
72
76
  [same steps and return format]"
73
77
 
74
- Task(subagent_type="Explore", name="investigator-c"):
78
+ Task(subagent_type="Explore"):
75
79
  "Investigate this bug: {bug_description}
76
80
 
77
81
  Hypothesis: {hypothesis C description}
@@ -82,12 +86,12 @@ Focus area: {specific code area, mechanism, or condition}
82
86
  (Add more investigators if bug complexity warrants 4-5 hypotheses)
83
87
  ```
84
88
 
85
- ### Phase 3: Synthesize
89
+ ### Phase 4: Synthesize
86
90
 
87
91
  Once all investigators return, spawn a Synthesizer agent to aggregate findings:
88
92
 
89
93
  ```
90
- Task(subagent_type="general-purpose", name="synthesizer"):
94
+ Task(subagent_type="Synthesizer"):
91
95
  "You are a root cause analyst. Synthesize these investigation reports:
92
96
 
93
97
  {paste all investigator reports}
@@ -100,7 +104,7 @@ Instructions:
100
104
  5. Assess confidence level based on evidence strength"
101
105
  ```
102
106
 
103
- ### Phase 4: Report
107
+ ### Phase 5: Report
104
108
 
105
109
  Produce the final report:
106
110
 
@@ -129,21 +133,31 @@ Produce the final report:
129
133
  {HIGH/MEDIUM/LOW based on evidence strength and investigator agreement}
130
134
  ```
131
135
 
136
+ ### Phase 6: Record Pitfall (if root cause found)
137
+
138
+ If root cause was identified with HIGH or MEDIUM confidence:
139
+ 1. Read `~/.claude/skills/knowledge-persistence/SKILL.md` and follow its extraction procedure to record pitfalls to `.memory/knowledge/pitfalls.md`
140
+ 2. Source field: `/debug {bug description}`
141
+
132
142
  ## Architecture
133
143
 
134
144
  ```
135
145
  /debug (orchestrator)
136
146
 
137
- ├─ Phase 1: Context gathering
147
+ ├─ Phase 1: Load Project Knowledge
148
+
149
+ ├─ Phase 2: Context gathering
138
150
  │ └─ Git agent (fetch issue, if #N provided)
139
151
 
140
- ├─ Phase 2: Parallel investigation
152
+ ├─ Phase 3: Parallel investigation
141
153
  │ └─ 3-5 Explore agents, one per hypothesis (single message)
142
154
 
143
- ├─ Phase 3: Synthesize
155
+ ├─ Phase 4: Synthesize
144
156
  │ └─ Synthesizer aggregates and compares findings
145
157
 
146
- └─ Phase 4: Root cause report with confidence level
158
+ ├─ Phase 5: Root cause report with confidence level
159
+
160
+ └─ Phase 6: Record Pitfall (inline, if root cause found)
147
161
  ```
148
162
 
149
163
  ## Principles
@@ -0,0 +1,128 @@
1
+ ---
2
+ name: knowledge-persistence
3
+ description: >-
4
+ This skill should be used when recording architectural decisions or pitfalls
5
+ to project knowledge files, or when loading prior decisions and known pitfalls
6
+ for context during investigation, specification, or review.
7
+ user-invocable: false
8
+ allowed-tools: Read, Write, Bash
9
+ ---
10
+
11
+ # Knowledge Persistence
12
+
13
+ Record architectural decisions and pitfalls to `.memory/knowledge/` files. This is the single source of truth for the extraction procedure — commands reference this skill instead of inlining the steps.
14
+
15
+ ## Iron Law
16
+
17
+ > **SINGLE SOURCE OF TRUTH**
18
+ >
19
+ > All knowledge extraction follows this procedure exactly. Commands never inline
20
+ > their own extraction steps — they read this skill and follow it.
21
+
22
+ ---
23
+
24
+ ## File Locations
25
+
26
+ ```
27
+ .memory/knowledge/
28
+ ├── decisions.md # ADR entries (append-only)
29
+ └── pitfalls.md # PF entries (area-specific gotchas)
30
+ ```
31
+
32
+ ## File Formats
33
+
34
+ ### decisions.md (ADR entries)
35
+
36
+ **Template header** (create if file missing):
37
+ ```
38
+ <!-- TL;DR: 0 decisions. Key: -->
39
+ # Architectural Decisions
40
+
41
+ Append-only. Status changes allowed; deletions prohibited.
42
+ ```
43
+
44
+ **Entry format**:
45
+ ```markdown
46
+ ## ADR-{NNN}: {Title}
47
+
48
+ - **Date**: {YYYY-MM-DD}
49
+ - **Status**: Accepted
50
+ - **Context**: {Why this decision was needed}
51
+ - **Decision**: {What was decided}
52
+ - **Consequences**: {Tradeoffs and implications}
53
+ - **Source**: {command and identifier, e.g. `/implement TASK-123`}
54
+ ```
55
+
56
+ ### pitfalls.md (PF entries)
57
+
58
+ **Template header** (create if file missing):
59
+ ```
60
+ <!-- TL;DR: 0 pitfalls. Key: -->
61
+ # Known Pitfalls
62
+
63
+ Area-specific gotchas, fragile areas, and past bugs.
64
+ ```
65
+
66
+ **Entry format**:
67
+ ```markdown
68
+ ## PF-{NNN}: {Short description}
69
+
70
+ - **Area**: {file paths or module names}
71
+ - **Issue**: {What goes wrong}
72
+ - **Impact**: {Consequences if hit}
73
+ - **Resolution**: {How to fix or avoid}
74
+ - **Source**: {command and identifier, e.g. `/code-review branch-name`}
75
+ ```
76
+
77
+ ---
78
+
79
+ ## Extraction Procedure
80
+
81
+ Follow these steps when recording decisions or pitfalls:
82
+
83
+ 1. **Read** the target file (`.memory/knowledge/decisions.md` or `.memory/knowledge/pitfalls.md`). If it doesn't exist, create it with the template header above.
84
+ 2. **Check capacity** — count `## ADR-` or `## PF-` headings. If >=50, log "Knowledge base at capacity — skipping new entry" and stop.
85
+ 3. **Find next ID** — find highest NNN via regex (`/^## ADR-(\d+)/` or `/^## PF-(\d+)/`), default to 0. Increment by 1.
86
+ 4. **Deduplicate** (pitfalls only) — skip if an entry with the same Area + Issue already exists.
87
+ 5. **Append** the new entry using the format above.
88
+ 6. **Update TL;DR** — rewrite the `<!-- TL;DR: ... -->` comment on line 1 to reflect the new count and key topics.
89
+
90
+ ## Lock Protocol
91
+
92
+ When writing, use a mkdir-based lock:
93
+ - Lock path: `.memory/.knowledge.lock`
94
+ - Timeout: 30 seconds (fail if lock not acquired)
95
+ - Stale recovery: if lock directory is >60 seconds old, remove it and retry
96
+ - Release lock after write completes (remove lock directory)
97
+
98
+ ## Loading Knowledge for Context
99
+
100
+ When a command needs prior knowledge as input (not recording):
101
+
102
+ 1. Read `.memory/knowledge/decisions.md` if it exists
103
+ 2. Read `.memory/knowledge/pitfalls.md` if it exists
104
+ 3. Pass content as context to downstream agents — prior decisions constrain scope, known pitfalls inform investigation
105
+
106
+ If neither file exists, skip silently. No error, no empty-file creation.
107
+
108
+ ## Operation Budget
109
+
110
+ Recording: do inline (no agent spawn), 2-3 Read/Write operations total.
111
+ Loading: 1-2 Read operations, pass as context string.
112
+
113
+ ---
114
+
115
+ ## Extended References
116
+
117
+ For entry examples and status lifecycle details:
118
+ - `references/examples.md` - Full decision and pitfall entry examples
119
+
120
+ ---
121
+
122
+ ## Success Criteria
123
+
124
+ - [ ] Entry appended with correct sequential ID
125
+ - [ ] No duplicate pitfalls (same Area + Issue)
126
+ - [ ] TL;DR comment updated with current count
127
+ - [ ] Lock acquired before write, released after
128
+ - [ ] Capacity limit (50) respected
@@ -0,0 +1,44 @@
1
+ # Knowledge Persistence Examples
2
+
3
+ ## Decision Entry Example
4
+
5
+ ```markdown
6
+ ## ADR-001: Use mkdir-based locks for concurrent session serialization
7
+
8
+ - **Date**: 2026-03-03
9
+ - **Status**: Accepted
10
+ - **Context**: Multiple Claude Code sessions can run on the same project simultaneously (different terminals, SSH, etc.). Memory writes must serialize to prevent corruption.
11
+ - **Decision**: Use `mkdir` as an atomic lock primitive. Lock directory at `.memory/.knowledge.lock`. 30-second timeout with 60-second stale recovery.
12
+ - **Consequences**: Simple, cross-platform, no external dependencies. Cannot detect holder PID if lock is stale — relies on age-based recovery. Sufficient for low-contention writes.
13
+ - **Source**: `/implement #99`
14
+ ```
15
+
16
+ ## Pitfall Entry Example
17
+
18
+ ```markdown
19
+ ## PF-001: Orphaned teams variants silently skipped
20
+
21
+ - **Area**: plugins/devflow-*/commands/*-teams.md, src/cli/installer
22
+ - **Issue**: The installer iterates base `.md` files and looks up matching `-teams.md` variants. A `-teams.md` file without a corresponding base `.md` is silently ignored during installation.
23
+ - **Impact**: Teams variant appears committed but never installs. Users on `--teams` mode silently get no command.
24
+ - **Resolution**: Always create the base `.md` file first. CI should validate that every `-teams.md` has a matching base file.
25
+ - **Source**: `/code-review feat/agent-teams`
26
+ ```
27
+
28
+ ## Status Lifecycle (Decisions Only)
29
+
30
+ Decisions support status transitions:
31
+ - `Accepted` — current, in effect
32
+ - `Superseded by ADR-NNN` — replaced by a newer decision
33
+ - `Deprecated` — no longer relevant, kept for history
34
+
35
+ Pitfalls have no status field — they remain until manually removed.
36
+
37
+ ## Deduplication Logic (Pitfalls Only)
38
+
39
+ Before appending a new pitfall, check existing entries:
40
+ 1. Extract `Area` and `Issue` from the new entry
41
+ 2. Compare against all existing `PF-*` entries
42
+ 3. If both Area AND Issue match an existing entry (case-insensitive substring), skip
43
+
44
+ This prevents recording the same gotcha from multiple review cycles.
@@ -4,7 +4,7 @@
4
4
  "author": {
5
5
  "name": "Dean0x"
6
6
  },
7
- "version": "1.5.0",
7
+ "version": "1.6.1",
8
8
  "homepage": "https://github.com/dean0x/devflow",
9
9
  "repository": "https://github.com/dean0x/devflow",
10
10
  "license": "MIT",
@@ -4,7 +4,7 @@
4
4
  "author": {
5
5
  "name": "Dean0x"
6
6
  },
7
- "version": "1.5.0",
7
+ "version": "1.6.1",
8
8
  "homepage": "https://github.com/dean0x/devflow",
9
9
  "repository": "https://github.com/dean0x/devflow",
10
10
  "license": "MIT",
@@ -4,7 +4,7 @@
4
4
  "author": {
5
5
  "name": "Dean0x"
6
6
  },
7
- "version": "1.5.0",
7
+ "version": "1.6.1",
8
8
  "homepage": "https://github.com/dean0x/devflow",
9
9
  "repository": "https://github.com/dean0x/devflow",
10
10
  "license": "MIT",
@@ -29,6 +29,7 @@
29
29
  "skills": [
30
30
  "agent-teams",
31
31
  "implementation-patterns",
32
+ "knowledge-persistence",
32
33
  "self-review"
33
34
  ]
34
35
  }
@@ -2,7 +2,7 @@
2
2
  name: Coder
3
3
  description: Autonomous task implementation on feature branch. Implements, tests, and commits.
4
4
  model: inherit
5
- skills: core-patterns, git-safety, implementation-patterns, git-workflow, test-patterns, input-validation
5
+ skills: core-patterns, git-safety, implementation-patterns, git-workflow, test-patterns, test-driven-development, search-first, input-validation
6
6
  ---
7
7
 
8
8
  # Coder Agent
@@ -35,6 +35,8 @@ You receive from orchestrator:
35
35
  - Cross-reference changed files against EXECUTION_PLAN to identify what's relevant to your task
36
36
  - Read those relevant files to understand interfaces, types, naming conventions, error handling, and testing patterns established by prior work
37
37
  - If PRIOR_PHASE_SUMMARY is provided, use it to validate your understanding — actual code is authoritative, summaries are supplementary
38
+ - If `.memory/knowledge/decisions.md` exists, read it. Apply prior architectural decisions relevant to this task. Avoid contradicting accepted decisions without documenting a new ADR.
39
+ - If `.memory/knowledge/pitfalls.md` exists, scan for pitfalls in files you're about to modify.
38
40
 
39
41
  2. **Load domain skills**: Based on DOMAIN hint and files in scope, dynamically load relevant language/ecosystem skills by reading their SKILL.md. Only load skills that are installed:
40
42
  - `backend` (TypeScript): Read `~/.claude/skills/typescript/SKILL.md`, `~/.claude/skills/input-validation/SKILL.md`
@@ -89,6 +91,9 @@ Return structured completion status:
89
91
  ### PR (if created)
90
92
  - URL: {pr_url}
91
93
 
94
+ ### Key Decisions (if any)
95
+ - {Decision}: {rationale}
96
+
92
97
  ### Blockers (if any)
93
98
  {Description of blocker or failure with recommendation}
94
99
  ```
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: Simplifier
3
3
  description: Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Focuses on recently modified code unless instructed otherwise.
4
+ skills: core-patterns
4
5
  model: inherit
5
6
  ---
6
7
 
@@ -59,4 +60,34 @@ Your refinement process:
59
60
  5. Verify the refined code is simpler and more maintainable
60
61
  6. Document only significant changes that affect understanding
61
62
 
62
- You operate autonomously and proactively, refining code immediately after it's written or modified without requiring explicit requests. Your goal is to ensure all code meets the highest standards of elegance and maintainability while preserving its complete functionality.
63
+ You operate autonomously and proactively, refining code immediately after it's written or modified without requiring explicit requests. Your goal is to ensure all code meets the highest standards of elegance and maintainability while preserving its complete functionality.
64
+
65
+ ## Output
66
+
67
+ Return structured completion status:
68
+
69
+ ```markdown
70
+ ## Simplification Report
71
+
72
+ ### Changes Applied
73
+ - {file}: {description of simplification}
74
+
75
+ ### Changes Skipped
76
+ - {reason not simplified — would change behavior / already clean}
77
+
78
+ ### Files Modified
79
+ - {file} ({change description})
80
+ ```
81
+
82
+ ## Boundaries
83
+
84
+ **Escalate to orchestrator:**
85
+ - Changes that would alter observable behavior or break tests
86
+ - Simplifications requiring new dependencies or architectural changes
87
+ - Files outside the recently modified scope (unless instructed)
88
+
89
+ **Handle autonomously:**
90
+ - Naming improvements, dead code removal, nesting reduction
91
+ - Import sorting and organization
92
+ - Redundant abstraction elimination
93
+ - Comment cleanup (remove obvious, keep non-obvious)
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  name: Skimmer
3
3
  description: Codebase orientation using skim to identify relevant files, functions, and patterns for a feature or task
4
+ skills: knowledge-persistence
4
5
  model: inherit
5
6
  ---
6
7
 
@@ -20,6 +21,7 @@ You receive from orchestrator:
20
21
  3. **Search for task-relevant code** - Find files matching task keywords
21
22
  4. **Identify integration points** - Exports, entry points, import patterns
22
23
  5. **Generate orientation summary** - Structured output for implementation planning
24
+ 6. **Check project knowledge** - If `.memory/knowledge/decisions.md` exists, read its `<!-- TL;DR: ... -->` first-line comment and include active decision count in orientation under "### Active Decisions". Only the TL;DR is read here (not full entries) — this is intentional for token efficiency; agents that need full entries read the file themselves.
23
25
 
24
26
  ## Tool Invocation
25
27
 
@@ -64,6 +66,9 @@ Always invoke skim via `npx rskim`. This works whether or not skim is globally i
64
66
  ### Patterns Observed
65
67
  {Existing patterns to follow}
66
68
 
69
+ ### Active Decisions
70
+ {Count and key decisions from `.memory/knowledge/decisions.md` TL;DR, or "None found" if file missing}
71
+
67
72
  ### Suggested Approach
68
73
  {Brief recommendation based on codebase structure}
69
74
  ```