devflow-kit 3.2.0 → 3.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.
Files changed (89) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +1 -1
  3. package/dist/cli/commands/learning.js +25 -5
  4. package/dist/commands/code-review.md +1 -1
  5. package/dist/commands/debug.md +1 -1
  6. package/dist/commands/dynamic-build.md +141 -94
  7. package/dist/commands/dynamic-plan.md +1 -1
  8. package/dist/commands/explore.md +1 -1
  9. package/dist/commands/implement.md +133 -133
  10. package/dist/commands/resolve.md +27 -16
  11. package/dist/commands/self-review.md +16 -11
  12. package/dist/core/agent-models.js +10 -7
  13. package/dist/core/learning-tuning-config.js +8 -0
  14. package/dist/core/plugins.js +7 -2
  15. package/dist/skills/git/references/tracker/github/gather-release-evidence.md +1 -1
  16. package/dist/skills/git/references/tracker/jira/gather-release-evidence.md +1 -1
  17. package/dist/skills/git/references/tracker/linear/gather-release-evidence.md +1 -1
  18. package/package.json +1 -1
  19. package/src/assets/agents/code.md +71 -18
  20. package/src/assets/agents/design.md +10 -0
  21. package/src/assets/agents/diagnose.md +16 -11
  22. package/src/assets/agents/evaluate.md +14 -25
  23. package/src/assets/agents/knowledge.md +5 -3
  24. package/src/assets/agents/learning.md +4 -6
  25. package/src/assets/agents/research.md +19 -0
  26. package/src/assets/agents/review.md +10 -0
  27. package/src/assets/agents/scrutinize.md +34 -10
  28. package/src/assets/agents/simplify.md +20 -0
  29. package/src/assets/agents/skim.md +4 -2
  30. package/src/assets/agents/synthesize.md +12 -0
  31. package/src/assets/agents/test.md +2 -2
  32. package/src/assets/agents/triage.md +7 -1
  33. package/src/assets/agents/validate.md +7 -2
  34. package/src/assets/commands/_partials/_engine.mds +21 -24
  35. package/src/assets/commands/_partials/_knowledge.mds +1 -1
  36. package/src/assets/commands/_partials/_plan_contract.mds +1 -1
  37. package/src/assets/commands/_partials/_wave.mds +8 -6
  38. package/src/assets/commands/code-review.mds +1 -1
  39. package/src/assets/commands/dynamic-build.mds +111 -63
  40. package/src/assets/commands/implement.mds +132 -132
  41. package/src/assets/commands/resolve.mds +26 -15
  42. package/src/assets/commands/self-review.mds +15 -10
  43. package/src/assets/mds/tracker/_common.mds +1 -1
  44. package/src/assets/scripts/ci-wait.cjs +636 -0
  45. package/src/assets/scripts/hooks/assets/orchestrator-charter.md +1 -1
  46. package/src/assets/scripts/hooks/background-memory-update +290 -9
  47. package/src/assets/scripts/release-trace.cjs +27 -10
  48. package/src/assets/skills/accessibility/SKILL.md +1 -1
  49. package/src/assets/skills/apply-decisions/SKILL.md +12 -82
  50. package/src/assets/skills/apply-feature-knowledge/SKILL.md +8 -42
  51. package/src/assets/skills/architecture/SKILL.md +1 -1
  52. package/src/assets/skills/boundary-validation/SKILL.md +1 -1
  53. package/src/assets/skills/complexity/SKILL.md +1 -1
  54. package/src/assets/skills/compliance/SKILL.md +1 -1
  55. package/src/assets/skills/consistency/SKILL.md +1 -1
  56. package/src/assets/skills/database/SKILL.md +1 -1
  57. package/src/assets/skills/dependencies/SKILL.md +1 -1
  58. package/src/assets/skills/dependency-research/SKILL.md +3 -6
  59. package/src/assets/skills/design-review/SKILL.md +1 -1
  60. package/src/assets/skills/docs-framework/SKILL.md +1 -1
  61. package/src/assets/skills/documentation/SKILL.md +1 -1
  62. package/src/assets/skills/gap-analysis/SKILL.md +1 -1
  63. package/src/assets/skills/git/SKILL.md +1 -1
  64. package/src/assets/skills/go/SKILL.md +1 -1
  65. package/src/assets/skills/java/SKILL.md +1 -1
  66. package/src/assets/skills/patterns/SKILL.md +1 -1
  67. package/src/assets/skills/performance/SKILL.md +1 -1
  68. package/src/assets/skills/python/SKILL.md +1 -1
  69. package/src/assets/skills/qa/SKILL.md +1 -3
  70. package/src/assets/skills/quality-gates/SKILL.md +9 -12
  71. package/src/assets/skills/quality-gates/references/report-template.md +20 -20
  72. package/src/assets/skills/react/SKILL.md +1 -1
  73. package/src/assets/skills/regression/SKILL.md +1 -1
  74. package/src/assets/skills/reliability/SKILL.md +1 -1
  75. package/src/assets/skills/research-codebase/SKILL.md +1 -1
  76. package/src/assets/skills/research-competitor/SKILL.md +1 -1
  77. package/src/assets/skills/research-external/SKILL.md +1 -1
  78. package/src/assets/skills/research-technology/SKILL.md +1 -1
  79. package/src/assets/skills/review-methodology/SKILL.md +1 -1
  80. package/src/assets/skills/rust/SKILL.md +1 -1
  81. package/src/assets/skills/security/SKILL.md +1 -1
  82. package/src/assets/skills/software-design/SKILL.md +1 -1
  83. package/src/assets/skills/test-driven-development/SKILL.md +9 -29
  84. package/src/assets/skills/testing/SKILL.md +1 -1
  85. package/src/assets/skills/typescript/SKILL.md +1 -1
  86. package/src/assets/skills/ui-design/SKILL.md +1 -1
  87. package/src/assets/skills/worktree-support/SKILL.md +3 -55
  88. package/src/assets/skills/worktree-support/references/discovery.md +48 -0
  89. package/src/assets/skills/worktree-support/references/roots.md +2 -2
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: consistency
3
- description: This skill should be used when reviewing code for naming convention violations, pattern deviations, or inconsistent API styles.
3
+ description: This skill should be used when reviewing code for naming or pattern inconsistencies.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: database
3
- description: This skill should be used when reviewing database queries, migrations, indexes, or schema changes.
3
+ description: This skill should be used when reviewing queries, migrations or schema changes.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: dependencies
3
- description: This skill should be used when reviewing dependency changes, lock files, or package additions.
3
+ description: This skill should be used when reviewing dependency or lock file changes.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,9 +1,6 @@
1
1
  ---
2
2
  name: dependency-research
3
- description: >-
4
- This skill should be used when the user asks to "add a utility", "create a helper",
5
- "implement parsing", "build a wrapper", or writes infrastructure/utility code that
6
- may already exist as a well-maintained package. Enforces research before building.
3
+ description: This skill should be used when the user asks to "add a utility", "create a helper", "build a wrapper", or writes utility code a maintained package may already provide.
7
4
  user-invocable: false
8
5
  allowed-tools: Read, Grep, Glob
9
6
  ---
@@ -54,9 +51,9 @@ Nice-to-haves: {optional features}
54
51
 
55
52
  ### Phase 2: Search
56
53
 
57
- Delegate research to an Explore subagent to keep main session context clean.
54
+ Spawn an Explore subagent when you can spawn agents, to keep main session context clean; otherwise search directly, using the template's questions as your checklist.
58
55
 
59
- **Spawn an Explore agent** with this prompt template:
56
+ **Prompt template** for the Explore agent:
60
57
 
61
58
  ```
62
59
  Agent(subagent_type="Explore"):
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: design-review
3
- description: This skill should be used when reviewing implementation plans for anti-patterns, checking design quality before implementation, or performing plan-level quality assessment. Provides 6 anti-pattern detection rules for the Design agent and inline planning.
3
+ description: This skill should be used when reviewing implementation plans for anti-patterns.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: docs-framework
3
- description: This skill should be used when the user asks to "create a review report", "write a status log", "add documentation", "name this artifact", or creates files in the .devflow/docs/ directory. Provides naming conventions, templates, and directory structure for reviews, debug sessions, design docs, and all persistent Devflow documentation artifacts.
3
+ description: This skill should be used when creating files in the .devflow/docs/ directory.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Bash, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: documentation
3
- description: This skill should be used when reviewing for documentation drift, missing API docs, or stale comments.
3
+ description: This skill should be used when reviewing for documentation drift or stale comments.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: gap-analysis
3
- description: This skill should be used when analyzing design documents, specifications, or plans for completeness gaps, architectural issues, security concerns, and performance implications. Provides focus-specific detection patterns for the Design agent.
3
+ description: This skill should be used when analyzing specs or plans for completeness gaps.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: git
3
- description: This skill should be used when the user asks to "commit changes", "create a pull request", "rebase safely", "manage branches", "fix merge conflicts", "undo a commit", "comment on a PR", "create a release", or performs any git/GitHub operations. Provides safety patterns, atomic commit formatting, PR descriptions, sensitive file detection, and GitHub API usage.
3
+ description: This skill should be used when the user asks to "commit changes", "create a pull request", "rebase safely", or performs any git/GitHub operation.
4
4
  user-invocable: false
5
5
  allowed-tools: Bash, Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: go
3
- description: This skill should be used when the user works with Go files (.go), asks about "error handling", "interfaces", "goroutines", "channels", "packages", or discusses Go idioms and concurrency. Provides patterns for error handling, interface design, concurrency, and package organization.
3
+ description: This skill should be used when the user works with Go files (.go), asks about "error handling", "interfaces", "goroutines", or discusses Go idioms and concurrency.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  activation:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: java
3
- description: This skill should be used when the user works with Java files (.java), asks about "records", "sealed classes", "Optional", "streams", "composition over inheritance", or discusses modern Java patterns and API design. Provides patterns for type system usage, error handling, immutability, and concurrency.
3
+ description: This skill should be used when the user works with Java files (.java), asks about "records", "sealed classes", "streams", or discusses modern Java patterns.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  activation:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: patterns
3
- description: This skill should be used when the user asks to "create an API endpoint", "add CRUD operations", "implement event handlers", "set up logging", "add configuration", or builds features involving database operations, REST/GraphQL APIs, pub/sub patterns, or service configuration. Provides implementation patterns that follow existing codebase conventions.
3
+ description: This skill should be used when the user asks to "create an API endpoint", "add CRUD operations", "implement event handlers", "set up logging", or adds database operations, REST/GraphQL APIs, pub/sub.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: performance
3
- description: This skill should be used when reviewing code for N+1 queries, memory leaks, or I/O bottlenecks.
3
+ description: This skill should be used when reviewing code for N+1 queries or memory leaks.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: python
3
- description: This skill should be used when the user works with Python files (.py), asks about "type hints", "protocols", "dataclasses", "async/await", "decorators", or discusses Pythonic patterns and data modeling. Provides patterns for type safety, error handling, data modeling, and async programming.
3
+ description: This skill should be used when the user works with Python files (.py), asks about "type hints", "protocols", "dataclasses", "async/await", or discusses Pythonic patterns.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  activation:
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: qa
3
- description: This skill should be used when performing scenario-based acceptance testing,
4
- designing QA test plans, or validating that implementation behavior matches acceptance
5
- criteria beyond unit tests.
3
+ description: This skill should be used when designing or running scenario-based acceptance tests.
6
4
  user-invocable: false
7
5
  allowed-tools: Read, Grep, Glob, Bash
8
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: quality-gates
3
- description: This skill should be used when evaluating implementation quality before submission, checking correctness, security, and simplicity.
3
+ description: This skill should be used when evaluating implementation quality before submission.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob, Edit, Write, Bash
6
6
  ---
@@ -26,7 +26,7 @@ Based on [Google Engineering Practices](https://google.github.io/eng-practices/r
26
26
  |----------|--------|---------|
27
27
  | **P0** | MUST fix | Design, Functionality, Security |
28
28
  | **P1** | SHOULD fix | Complexity, Error Handling, Tests |
29
- | **P2** | FIX if time | Naming, Consistency, Documentation |
29
+ | **P2** | FIX if straightforward | Documentation (Naming and Consistency belong to the Simplify agent: report them as SKIP) |
30
30
 
31
31
  ### P0 - Design
32
32
  Does the implementation fit the architecture? Follows existing patterns, respects layer boundaries, dependencies injected.
@@ -48,11 +48,8 @@ Errors handled explicitly? No swallowed exceptions, helpful messages, resources
48
48
  ### P1 - Tests
49
49
  New code tested? Covers happy path, errors, edges. Tests behavior, not implementation.
50
50
 
51
- ### P2 - Naming
52
- Names clear and descriptive? No cryptic abbreviations, consistent style.
53
-
54
- ### P2 - Consistency
55
- Matches existing patterns? Same style, same conventions, no unnecessary divergence.
51
+ ### P2 - Naming and Consistency
52
+ Owned by the Simplify agent, which applies the project's naming and style standards. Report both as SKIP; do not judge or fix them here.
56
53
 
57
54
  ### P2 - Documentation
58
55
  Will others understand? Complex logic commented, public APIs documented, no outdated comments.
@@ -99,7 +96,7 @@ Check Design, Functionality, Security. If issues found and fixable, fix immediat
99
96
  Check Complexity, Error Handling, Tests. Fix issues found.
100
97
 
101
98
  ### Step 4: Evaluate P2 Pillars
102
- Check Naming, Consistency, Documentation. Fix if time permits.
99
+ Check Documentation and fix it if straightforward. Naming and Consistency are the Simplify agent's: SKIP.
103
100
 
104
101
  ### Step 5: Generate Report
105
102
  Document status of each pillar, fixes applied, and overall readiness.
@@ -122,13 +119,13 @@ Document status of each pillar, fixes applied, and overall readiness.
122
119
  - Tests: PASS/FIXED
123
120
 
124
121
  ### P2 Pillars
125
- - Naming: PASS/FIXED/SKIP
126
- - Consistency: PASS/FIXED/SKIP
127
- - Documentation: PASS/FIXED/SKIP
122
+ - Naming: SKIP (Simplify agent)
123
+ - Consistency: SKIP (Simplify agent)
124
+ - Documentation: PASS/FIXED
128
125
 
129
126
  ### Summary
130
127
  Issues Found: {n}, Fixed: {n}
131
- Status: READY / BLOCKED
128
+ Status: PASS / FIXED / BLOCKED
132
129
  ```
133
130
 
134
131
  ---
@@ -44,13 +44,13 @@ Use this template when generating your self-review report.
44
44
 
45
45
  ---
46
46
 
47
- ### P2 Pillars (FIX if Time Permits)
47
+ ### P2 Pillars (Documentation only)
48
48
 
49
49
  | Pillar | Status | Notes |
50
50
  |--------|--------|-------|
51
- | Naming | PASS/FIXED/SKIP | {details} |
52
- | Consistency | PASS/FIXED/SKIP | {details} |
53
- | Documentation | PASS/FIXED/SKIP | {details} |
51
+ | Naming | SKIP | Simplify agent |
52
+ | Consistency | SKIP | Simplify agent |
53
+ | Documentation | PASS/FIXED | {details if fixed} |
54
54
 
55
55
  **Fixes Applied** (if any):
56
56
  - {file:line} - {what was fixed}
@@ -61,7 +61,7 @@ Use this template when generating your self-review report.
61
61
 
62
62
  **Issues Found**: {total count}
63
63
  **Issues Fixed**: {count}
64
- **Status**: READY / BLOCKED
64
+ **Status**: PASS / FIXED / BLOCKED
65
65
 
66
66
  {If BLOCKED, explain what cannot be fixed and why}
67
67
  ```
@@ -105,12 +105,12 @@ Add user profile update endpoint
105
105
 
106
106
  ---
107
107
 
108
- ### P2 Pillars (FIX if Time Permits)
108
+ ### P2 Pillars (Documentation only)
109
109
 
110
110
  | Pillar | Status | Notes |
111
111
  |--------|--------|-------|
112
- | Naming | PASS | Clear, descriptive names |
113
- | Consistency | PASS | Matches existing patterns |
112
+ | Naming | SKIP | Simplify agent |
113
+ | Consistency | SKIP | Simplify agent |
114
114
  | Documentation | PASS | JSDoc on public methods |
115
115
 
116
116
  ---
@@ -119,7 +119,7 @@ Add user profile update endpoint
119
119
 
120
120
  **Issues Found**: 0
121
121
  **Issues Fixed**: 0
122
- **Status**: READY
122
+ **Status**: PASS
123
123
  ```
124
124
 
125
125
  ### Example 2: Issues Fixed
@@ -165,12 +165,12 @@ Implement order cancellation flow
165
165
 
166
166
  ---
167
167
 
168
- ### P2 Pillars (FIX if Time Permits)
168
+ ### P2 Pillars (Documentation only)
169
169
 
170
170
  | Pillar | Status | Notes |
171
171
  |--------|--------|-------|
172
- | Naming | PASS | Clear names |
173
- | Consistency | PASS | Matches existing order methods |
172
+ | Naming | SKIP | Simplify agent |
173
+ | Consistency | SKIP | Simplify agent |
174
174
  | Documentation | FIXED | Added JSDoc explaining cancellation rules |
175
175
 
176
176
  **Fixes Applied**:
@@ -182,7 +182,7 @@ Implement order cancellation flow
182
182
 
183
183
  **Issues Found**: 5
184
184
  **Issues Fixed**: 5
185
- **Status**: READY
185
+ **Status**: FIXED
186
186
  ```
187
187
 
188
188
  ### Example 3: Blocked
@@ -233,12 +233,12 @@ before implementing refund feature.
233
233
 
234
234
  ## Status Definitions
235
235
 
236
- | Status | Meaning |
237
- |--------|---------|
238
- | PASS | No issues found for this pillar |
239
- | FIXED | Issue found and resolved |
240
- | SKIP | P2 only - issue noted but not fixed due to time |
241
- | BLOCKED | Cannot fix - requires escalation |
236
+ | Status | Pillar | Overall (`### Status`) |
237
+ |--------|--------|------------------------|
238
+ | PASS | No issues found for this pillar | No change was needed |
239
+ | FIXED | Issue found and resolved | Fixes were committed and every P0 and P1 is fixed |
240
+ | SKIP | Naming and Consistency only - owned by the Simplify agent | - |
241
+ | BLOCKED | Cannot fix - requires escalation | A P0 cannot be fixed in scope |
242
242
 
243
243
  ---
244
244
 
@@ -247,7 +247,7 @@ before implementing refund feature.
247
247
  Before submitting report:
248
248
  - [ ] All P0 pillars are PASS or FIXED
249
249
  - [ ] All P1 pillars are PASS or FIXED
250
- - [ ] P2 pillars evaluated (PASS/FIXED/SKIP)
250
+ - [ ] Documentation evaluated (PASS/FIXED); Naming and Consistency reported as SKIP
251
251
  - [ ] All fixes documented with file:line
252
252
  - [ ] Summary accurately reflects status
253
253
  - [ ] If BLOCKED, clear explanation provided
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: react
3
- description: This skill should be used when the user works with React components (.tsx/.jsx), asks about "hooks", "state management", "context providers", "memo optimization", "useEffect", or discusses component composition and rendering performance. Provides patterns for hooks, state, effects, memoization, and React-specific architecture.
3
+ description: This skill should be used when the user works with React components (.tsx/.jsx), asks about "hooks", "state management", "memo optimization", or discusses component composition.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  activation:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: regression
3
- description: This skill should be used when reviewing changes that may remove exports, change signatures, or alter behavior.
3
+ description: This skill should be used when reviewing changes that may break existing behavior.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: reliability
3
- description: This skill should be used when reviewing code for unbounded loops, missing assertions, excessive allocation, or deep indirection.
3
+ description: This skill should be used when reviewing code for unbounded loops or missing assertions.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: research-codebase
3
- description: Local codebase research — find patterns, trace flows, map dependencies without browsing the web
3
+ description: Local codebase research — find patterns, trace flows, map dependencies
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: research-competitor
3
- description: Competitor analysis — structured feature comparison, positioning analysis, and gap identification
3
+ description: Competitor analysis — feature comparison, positioning and gap identification
4
4
  user-invocable: false
5
5
  allowed-tools: WebSearch, WebFetch
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: research-external
3
- description: External web research — find documentation, articles, and community knowledge with untrusted-data discipline
3
+ description: External web research — docs, articles, community knowledge; untrusted data
4
4
  user-invocable: false
5
5
  allowed-tools: WebSearch, WebFetch
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: research-technology
3
- description: Technology evaluation — assess libraries, frameworks, and tools against project requirements
3
+ description: Technology evaluation — assess libraries, frameworks and tools against requirements
4
4
  user-invocable: false
5
5
  allowed-tools: WebSearch, WebFetch, Read
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: review-methodology
3
- description: This skill should be used when performing a code review to apply the standard 6-step review process.
3
+ description: This skill should be used when performing a code review (the 6-step process).
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob, Bash
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rust
3
- description: This skill should be used when the user works with Rust files (.rs), asks about "ownership", "borrowing", "lifetimes", "Result/Option", "traits", or discusses memory safety and type-driven design. Provides patterns for ownership, error handling, type system usage, and safe concurrency.
3
+ description: This skill should be used when the user works with Rust files (.rs), asks about "ownership", "borrowing", "lifetimes", "traits", or discusses memory safety.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  activation:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: security
3
- description: This skill should be used when reviewing code for injection flaws, auth bypasses, or hardcoded secrets.
3
+ description: This skill should be used when reviewing code for injection, auth or secrets flaws.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: software-design
3
- description: This skill should be used when the user asks to "handle errors", "inject dependencies", "return Result", "make it immutable", "compose with pipes", or implements business logic, error handling, or service composition. Provides Result type patterns, dependency injection, immutability by default, pipe composition, and structured logging for robust application architecture.
3
+ description: This skill should be used when the user asks to "handle errors", "inject dependencies", "return Result", "make it immutable", or implements business logic or error handling.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob, AskUserQuestion
6
6
  ---
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: test-driven-development
3
- description: This skill should be used when implementing new features, fixing bugs, or writing new code. Enforces RED-GREEN-REFACTOR.
3
+ description: This skill should be used when implementing features or fixing bugs. Enforces RED-GREEN-REFACTOR.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  activation:
@@ -62,12 +62,11 @@ Don't optimize. Don't refactor. Don't clean up. Just pass the test.
62
62
 
63
63
  ### Step 3: REFACTOR — Improve Without Changing Behavior
64
64
 
65
- Now clean up. Extract helpers, rename variables, simplify logic. Tests stay green throughout.
65
+ Now clean up: extract helpers, rename, simplify, apply DRY. Tests stay green throughout.
66
66
 
67
67
  ```
68
68
  Run the affected tests after every refactoring step.
69
69
  If a test breaks during refactor, undo immediately — you changed behavior.
70
- Apply DRY, extract patterns, improve readability.
71
70
  ```
72
71
 
73
72
  **Checkpoint:** All affected tests still pass. Code is clean. Repeat from Step 1 for next behavior.
@@ -98,11 +97,10 @@ These are the excuses developers use to skip TDD. Recognize and reject them.
98
97
  | "I'll write tests after" | Need to see the shape first | Tests ARE the shape — they define the interface before implementation exists | Write the test first |
99
98
  | "Too simple to test" | It's just a getter/setter | Getters break, defaults change, edge cases hide in "simple" code | Write it — takes 30 seconds |
100
99
  | "I'll refactor later" | Just get it working now | "Later" never comes; technical debt compounds silently | Refactor now in Step 3 |
101
- | "Test is too hard to write" | Setup is complex, mocking is painful | Hard-to-test code = bad design; the test is telling you the interface is wrong | Simplify the interface first |
102
- | "Need to see the whole picture" | Can't test what I haven't designed yet | TDD IS design; each test reveals the next piece of the interface | Let the test guide the design |
100
+ | "Test is too hard to write" or "the test setup is too complex" | Mocking is painful | Hard-to-test code = bad design, and complex setup = too much coupling; the test is telling you the interface is wrong | Simplify the interface first |
101
+ | "Need to see the whole picture" or "the architecture first" | Can't test what I haven't designed or structured yet | TDD IS design; each test reveals the next piece of the interface, and tests DEFINE the architecture | Let the tests drive the design and structure |
103
102
  | "Tests slow me down" | Faster to just write the code | Faster until the first regression; TDD is faster for anything > 50 lines | Trust the cycle |
104
103
  | "Framework is hard to set up" | Setup is complex | One-time cost vs recurring regression cost; untested code compounds debt | Set up the framework first — that IS the work |
105
- | "Need the architecture first" | Can't test without structure | Tests DEFINE the architecture; they reveal what interfaces are needed | Let tests drive the structure |
106
104
  | "This is infrastructure, not logic" | Plumbing doesn't need tests | Infrastructure carries data; broken plumbing floods everything downstream | Test the contract, not the internals |
107
105
  | "Deadline is tight, no time for tests" | Ship now, test later | Untested code ships bugs; fixing bugs under deadline is slower than TDD | TDD is faster under pressure, not slower |
108
106
 
@@ -110,13 +108,11 @@ See `references/rationalization-prevention.md` for extended examples with code.
110
108
 
111
109
  ### Red Flags — STOP Immediately
112
110
 
113
- The rationalization table above catches excuses you make *before starting*. These red flags catch you *mid-work* — thoughts that signal you are about to skip a step.
111
+ The table above catches excuses *before starting*. These catch you *mid-work*: thoughts that signal you are about to skip a step.
114
112
 
115
113
  | Thought | Correction |
116
114
  |---------|------------|
117
115
  | "Let me write the implementation first, tests after" | Delete the code. Write the test. Watch it fail. Then rewrite. |
118
- | "I need to see the shape before I can test" | The test IS the shape. It defines the interface before implementation. |
119
- | "The test setup is too complex for this" | Complex setup = too much coupling. Simplify the design first. |
120
116
  | "I'll just spike this and add tests later" | Unless the user said "spike" — you're rationalizing, not prototyping. |
121
117
  | "Let me get it working, then lock it with tests" | Those tests verify your implementation, not the requirement. Backwards. |
122
118
  | "I know this works, I've written it before" | Past code passed past tests. This code needs its own failing test. |
@@ -124,20 +120,11 @@ The rationalization table above catches excuses you make *before starting*. Thes
124
120
 
125
121
  ### Test-First vs Code-First
126
122
 
127
- **Code-first** (wrong):
128
- 1. Write `parseConfig()` — split lines, filter comments, build map
129
- 2. Write test: `parseConfig("key=val")` passes
130
- 3. Ship. Undiscovered: empty input, malformed lines, multi-value keys, whitespace
131
- > Test mirrors implementation. Edge cases stay hidden until production.
123
+ **Code-first** (wrong): write `parseConfig()`, then a test that mirrors it (`parseConfig("key=val")` passes). Empty input, malformed lines, multi-value keys and whitespace stay hidden until production.
132
124
 
133
- **Test-first** (correct):
134
- 1. Test: "ignores comment lines" — `parseConfig("# comment\nkey=val")` → `{key: val}`
135
- 2. Test: "handles empty input" — `parseConfig("")` → empty result
136
- 3. Test: "rejects malformed lines" — `parseConfig("no-equals")` → error
137
- 4. Implement `parseConfig()` to satisfy all three
138
- > Tests define the contract. Implementation forced to handle edges from the start.
125
+ **Test-first** (correct): "ignores comment lines", then "handles empty input", then "rejects malformed lines", each failing first and each driving the next slice of `parseConfig()`, so it handles the edges from the start.
139
126
 
140
- The difference: code-first tests verify what you *happened to build*. Test-first tests specify what *should exist*.
127
+ Code-first tests verify what you *happened to build*. Test-first tests specify what *should exist*.
141
128
 
142
129
  ### When Stuck
143
130
 
@@ -153,14 +140,7 @@ The difference: code-first tests verify what you *happened to build*. Test-first
153
140
 
154
141
  ## Process Enforcement
155
142
 
156
- When implementing any feature under ambient IMPLEMENT:
157
-
158
- 1. **Identify the first behavior** — What is the simplest thing this feature must do?
159
- 2. **Write the test** — Describe that behavior as a failing test
160
- 3. **Run the test** — Confirm it fails (RED)
161
- 4. **Write minimum code** — Just enough to pass (GREEN)
162
- 5. **Refactor** — Clean up while tests stay green (REFACTOR)
163
- 6. **Repeat** — Next behavior, next test, next cycle
143
+ When implementing any feature under ambient IMPLEMENT, start from the simplest thing it must do, take that one behavior through RED, GREEN and REFACTOR, then repeat for the next behavior.
164
144
 
165
145
  ### File Organization
166
146
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: testing
3
- description: This skill should be used when the user asks to "write tests", "fix failing tests", "improve test coverage", "add integration tests", "debug a flaky test", or reviews test quality. Provides behavior-focused testing patterns, coverage analysis, and detection of brittle test anti-patterns like implementation coupling and non-deterministic assertions.
3
+ description: This skill should be used when the user asks to "write tests", "fix failing tests", "improve test coverage" or "debug a flaky test", or reviews test quality.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob, AskUserQuestion
6
6
  activation:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: typescript
3
- description: This skill should be used when the user works with TypeScript files (.ts/.tsx), asks about "generics", "type guards", "utility types", "strict typing", "discriminated unions", or discusses type safety and inference. Provides patterns for Result types, exhaustive checks, branded types, and type-safe API contracts.
3
+ description: This skill should be used when the user works with TypeScript files (.ts/.tsx), asks about "generics", "type guards", "utility types", "discriminated unions", or discusses type safety.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  activation:
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ui-design
3
- description: This skill should be used when the user asks to "design a component", "pick colors", "improve typography", "fix spacing", "choose a layout", or discusses visual design, CSS, styling decisions, or responsive interfaces. Provides patterns for typography scales, color systems, spacing, and production-grade UI design.
3
+ description: This skill should be used when the user asks to "design a component", "pick colors", "improve typography", "fix spacing", or discusses visual design and CSS.
4
4
  user-invocable: false
5
5
  allowed-tools: Read, Grep, Glob
6
6
  activation:
@@ -7,8 +7,6 @@ allowed-tools: Bash, Read
7
7
 
8
8
  # Worktree Support
9
9
 
10
- Canonical patterns for worktree-aware agents and multi-worktree discovery in commands.
11
-
12
10
  ## Iron Law
13
11
 
14
12
  > **WORKTREE_PATH IS A PREFIX, NOT A FLAG**
@@ -16,8 +14,6 @@ Canonical patterns for worktree-aware agents and multi-worktree discovery in com
16
14
  > When WORKTREE_PATH is provided, it changes how you resolve ALL paths — git commands,
17
15
  > file reads, .devflow/docs/ paths. It's not a toggle; it's a coordinate system shift.
18
16
 
19
- ---
20
-
21
17
  ## Agent Path Resolution
22
18
 
23
19
  When `WORKTREE_PATH` is provided to an agent:
@@ -31,46 +27,6 @@ When `WORKTREE_PATH` is provided to an agent:
31
27
 
32
28
  If `WORKTREE_PATH` is omitted, behavior is unchanged (use cwd). This is the common case.
33
29
 
34
- ---
35
-
36
- ## Worktree Discovery Algorithm (Commands)
37
-
38
- For commands that auto-discover worktrees (`/code-review`, `/resolve`):
39
-
40
- ### Step 1: List Worktrees
41
-
42
- Run `git worktree list --porcelain`
43
-
44
- ### Step 2: Parse Each Entry
45
-
46
- Extract: `worktree {path}`, `HEAD {sha}`, `branch refs/heads/{name}`
47
-
48
- ### Step 3: Filter
49
-
50
- Exclude:
51
- - **Bare worktrees** (no branch)
52
- - **Detached HEAD** (no named branch; roots and detached HEAD: `references/roots.md`)
53
- - **Protected branches**: `main`, `master`, `develop`, `integration`, `trunk`, `release/*`, `staging`, `production`
54
- - **Mid-rebase or mid-merge**: check `git -C {path} status` for "rebase in progress" or "merging"
55
-
56
- ### Step 4: Check for Work
57
-
58
- Each worktree must have commits ahead of base branch. Skip those that are clean/up-to-date.
59
-
60
- ### Step 5: Deduplicate
61
-
62
- If two worktrees are on the same branch, use only the first worktree's path.
63
-
64
- ### Step 6: Sort
65
-
66
- Sort by last commit date (most recent first).
67
-
68
- ### Step 7: Return
69
-
70
- Return list of reviewable worktrees with path, branch, HEAD SHA.
71
-
72
- ---
73
-
74
30
  ## Protected Branches (Canonical List)
75
31
 
76
32
  `main`, `master`, `develop`, `integration`, `trunk`, `release/*`, `staging`, `production`
@@ -78,15 +34,7 @@ Return list of reviewable worktrees with path, branch, HEAD SHA.
78
34
  All components (agents, commands, skills) must use this exact list when checking for protected branches.
79
35
  The HUD mirrors this list in `TRUNK_BRANCHES`/`TRUNK_BRANCH_PREFIXES`/`isTrunkBranch()` in `src/core/git.ts` — update both together.
80
36
 
81
- ---
82
-
83
- ## Multi-Worktree Mode
37
+ ## Extended References
84
38
 
85
- | Condition | Behavior |
86
- |-----------|----------|
87
- | 0 reviewable worktrees | Error: no reviewable branches found |
88
- | 1 worktree (common case) | Single-worktree flow, zero behavior change |
89
- | 2+ worktrees | Report count, process worktrees **sequentially** (one at a time) |
90
- | 5+ worktrees | Report count and proceed — user manages their worktree count |
91
- | `--path` flag provided | Use only that worktree, skip discovery |
92
- | Same branch in 2 worktrees | Deduplicate — review once using first worktree's path |
39
+ - `references/discovery.md` — the 7-step discovery algorithm and multi-worktree mode
40
+ - `references/roots.md` — project data roots and detached HEAD