@brunosps00/dev-workflow 1.0.4 → 1.0.6
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/README.md +71 -23
- package/bin/dev-workflow.js +29 -3
- package/lib/agents.js +410 -0
- package/lib/constants.js +16 -2
- package/lib/doctor.js +213 -0
- package/lib/init.js +96 -8
- package/lib/install-state.js +57 -0
- package/lib/list-installed.js +27 -0
- package/lib/migrate-skills.js +26 -2
- package/lib/profiles.js +44 -0
- package/lib/skill-registry.js +109 -0
- package/lib/subtasks.js +264 -0
- package/lib/uninstall.js +21 -12
- package/lib/utils.js +42 -1
- package/lib/wrappers.js +2 -1
- package/package.json +1 -1
- package/scaffold/agent-registry.json +272 -0
- package/scaffold/agents/core/dw-build-fixer.md +21 -0
- package/scaffold/agents/core/dw-code-explorer.md +32 -0
- package/scaffold/agents/core/dw-code-reviewer.md +28 -0
- package/scaffold/agents/core/dw-planner.md +23 -0
- package/scaffold/agents/core/dw-test-author.md +21 -0
- package/scaffold/agents/csharp/dw-csharp-reviewer.md +15 -0
- package/scaffold/agents/csharp/dw-dotnet-build-fixer.md +15 -0
- package/scaffold/agents/frontend/dw-qa-runner.md +21 -0
- package/scaffold/agents/python/dw-python-build-fixer.md +15 -0
- package/scaffold/agents/python/dw-python-reviewer.md +15 -0
- package/scaffold/agents/rust/dw-rust-build-fixer.md +15 -0
- package/scaffold/agents/rust/dw-rust-reviewer.md +15 -0
- package/scaffold/agents/security/dw-security-reviewer.md +24 -0
- package/scaffold/agents/security/dw-silent-failure-hunter.md +22 -0
- package/scaffold/agents/typescript/dw-typescript-build-fixer.md +15 -0
- package/scaffold/agents/typescript/dw-typescript-reviewer.md +15 -0
- package/scaffold/en/agent-instructions.md +51 -6
- package/scaffold/en/commands/dw-autopilot.md +156 -275
- package/scaffold/en/commands/dw-bugfix.md +12 -2
- package/scaffold/en/commands/dw-context-budget.md +28 -0
- package/scaffold/en/commands/dw-goal.md +136 -0
- package/scaffold/en/commands/dw-harness-audit.md +31 -0
- package/scaffold/en/commands/dw-help.md +22 -10
- package/scaffold/en/commands/dw-intel.md +6 -0
- package/scaffold/en/commands/dw-plan.md +20 -3
- package/scaffold/en/commands/dw-review.md +12 -0
- package/scaffold/en/commands/dw-skill-health.md +29 -0
- package/scaffold/en/commands/dw-subtask-complete.md +40 -0
- package/scaffold/en/commands/dw-subtask-resume.md +21 -0
- package/scaffold/en/commands/dw-subtask-start.md +22 -0
- package/scaffold/pt-br/agent-instructions.md +51 -6
- package/scaffold/pt-br/commands/dw-autopilot.md +159 -278
- package/scaffold/pt-br/commands/dw-bugfix.md +12 -2
- package/scaffold/pt-br/commands/dw-context-budget.md +28 -0
- package/scaffold/pt-br/commands/dw-goal.md +136 -0
- package/scaffold/pt-br/commands/dw-harness-audit.md +31 -0
- package/scaffold/pt-br/commands/dw-help.md +22 -10
- package/scaffold/pt-br/commands/dw-intel.md +6 -0
- package/scaffold/pt-br/commands/dw-plan.md +20 -3
- package/scaffold/pt-br/commands/dw-review.md +12 -0
- package/scaffold/pt-br/commands/dw-skill-health.md +29 -0
- package/scaffold/pt-br/commands/dw-subtask-complete.md +40 -0
- package/scaffold/pt-br/commands/dw-subtask-resume.md +21 -0
- package/scaffold/pt-br/commands/dw-subtask-start.md +22 -0
- package/scaffold/skill-registry.json +258 -0
- package/scaffold/skills/dw-codebase-intel/SKILL.md +12 -5
- package/scaffold/skills/dw-context-budget/SKILL.md +45 -0
- package/scaffold/skills/dw-search-first/SKILL.md +31 -0
- package/scaffold/skills/dw-silent-failure/SKILL.md +33 -0
- package/scaffold/skills/dw-verify/SKILL.md +2 -29
- package/scaffold/skills/dw-verify/references/verification-discovery-and-attribution.md +32 -0
- package/scaffold/skills/humanizer/SKILL.md +7 -412
- package/scaffold/skills/humanizer/references/ai-writing-patterns.md +418 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "1.0",
|
|
3
|
+
"skills": [
|
|
4
|
+
{
|
|
5
|
+
"name": "api-testing-recipes",
|
|
6
|
+
"kind": "recipe-pack",
|
|
7
|
+
"tier": "specialty",
|
|
8
|
+
"owner": "dw-qa",
|
|
9
|
+
"trigger": "API QA, endpoint testing, HTTP recipe generation",
|
|
10
|
+
"expected_output": "A selected API testing recipe and evidence path for the active stack.",
|
|
11
|
+
"load_policy": "lazy-references",
|
|
12
|
+
"context_limit": 12000,
|
|
13
|
+
"bundled": true
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"name": "docker-compose-recipes",
|
|
17
|
+
"kind": "recipe-pack",
|
|
18
|
+
"tier": "specialty",
|
|
19
|
+
"owner": "dw-new-project,dw-dockerize",
|
|
20
|
+
"trigger": "Docker Compose service selection or local infrastructure setup",
|
|
21
|
+
"expected_output": "A selected service recipe and composition guidance.",
|
|
22
|
+
"load_policy": "lazy-references",
|
|
23
|
+
"context_limit": 12000,
|
|
24
|
+
"bundled": true
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "dw-codebase-intel",
|
|
28
|
+
"kind": "protocol",
|
|
29
|
+
"tier": "core",
|
|
30
|
+
"owner": "dw-intel",
|
|
31
|
+
"trigger": "Codebase indexing or codebase intelligence query",
|
|
32
|
+
"expected_output": ".dw/intel index files or a cited answer from the index.",
|
|
33
|
+
"load_policy": "lazy-references",
|
|
34
|
+
"context_limit": 12000,
|
|
35
|
+
"bundled": true
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "dw-context-budget",
|
|
39
|
+
"kind": "protocol",
|
|
40
|
+
"tier": "core",
|
|
41
|
+
"owner": "dw-context-budget",
|
|
42
|
+
"trigger": "Context overhead, slow sessions, many agents/skills/MCPs",
|
|
43
|
+
"expected_output": "A context budget report with concrete savings.",
|
|
44
|
+
"load_policy": "always-small",
|
|
45
|
+
"context_limit": 6000,
|
|
46
|
+
"bundled": true
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "dw-council",
|
|
50
|
+
"kind": "protocol",
|
|
51
|
+
"tier": "specialty",
|
|
52
|
+
"owner": "dw-brainstorm,dw-plan",
|
|
53
|
+
"trigger": "Council mode or high-impact architectural debate",
|
|
54
|
+
"expected_output": "Advisor positions, tension synthesis, and decision recommendation.",
|
|
55
|
+
"load_policy": "lazy-references",
|
|
56
|
+
"context_limit": 12000,
|
|
57
|
+
"bundled": true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "dw-debug-protocol",
|
|
61
|
+
"kind": "protocol",
|
|
62
|
+
"tier": "core",
|
|
63
|
+
"owner": "dw-bugfix,dw-qa",
|
|
64
|
+
"trigger": "Bugfix, QA fix loop, or non-reproducible failure",
|
|
65
|
+
"expected_output": "Six-step triage, root cause, guard, and verification path.",
|
|
66
|
+
"load_policy": "lazy-references",
|
|
67
|
+
"context_limit": 12000,
|
|
68
|
+
"bundled": true
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "dw-execute-phase",
|
|
72
|
+
"kind": "protocol",
|
|
73
|
+
"tier": "core",
|
|
74
|
+
"owner": "dw-run,dw-autopilot",
|
|
75
|
+
"trigger": "Task execution, plan-checking, waves, checkpoint recovery",
|
|
76
|
+
"expected_output": "Plan-check verdict, wave execution report, or checkpoint summary.",
|
|
77
|
+
"load_policy": "lazy-references",
|
|
78
|
+
"context_limit": 12000,
|
|
79
|
+
"bundled": true
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "dw-git-discipline",
|
|
83
|
+
"kind": "protocol",
|
|
84
|
+
"tier": "core",
|
|
85
|
+
"owner": "dw-commit,dw-generate-pr",
|
|
86
|
+
"trigger": "Commit creation, branch hygiene, PR generation",
|
|
87
|
+
"expected_output": "Atomic commit plan and git hygiene checks.",
|
|
88
|
+
"load_policy": "lazy-references",
|
|
89
|
+
"context_limit": 12000,
|
|
90
|
+
"bundled": true
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "dw-incident-response",
|
|
94
|
+
"kind": "domain-pack",
|
|
95
|
+
"tier": "domain",
|
|
96
|
+
"owner": "dw-bugfix",
|
|
97
|
+
"trigger": "Production critical bug, outage, incident, SEV workflow",
|
|
98
|
+
"expected_output": "Incident triage, communication, resolution, and postmortem artifacts.",
|
|
99
|
+
"load_policy": "lazy-references",
|
|
100
|
+
"context_limit": 12000,
|
|
101
|
+
"bundled": true
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"name": "dw-llm-eval",
|
|
105
|
+
"kind": "domain-pack",
|
|
106
|
+
"tier": "domain",
|
|
107
|
+
"owner": "dw-plan,dw-review,dw-qa",
|
|
108
|
+
"trigger": "AI, LLM, RAG, classifier, agent, or tool-use feature",
|
|
109
|
+
"expected_output": "Eval strategy, oracle choice, dataset requirements, and result checks.",
|
|
110
|
+
"load_policy": "lazy-references",
|
|
111
|
+
"context_limit": 12000,
|
|
112
|
+
"bundled": true
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "dw-memory",
|
|
116
|
+
"kind": "protocol",
|
|
117
|
+
"tier": "core",
|
|
118
|
+
"owner": "dw-run,dw-autopilot",
|
|
119
|
+
"trigger": "Task execution memory, checkpointing, compaction",
|
|
120
|
+
"expected_output": "Updated workflow memory and task-local memory guidance.",
|
|
121
|
+
"load_policy": "lazy-references",
|
|
122
|
+
"context_limit": 12000,
|
|
123
|
+
"bundled": true
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"name": "dw-review-rigor",
|
|
127
|
+
"kind": "protocol",
|
|
128
|
+
"tier": "core",
|
|
129
|
+
"owner": "dw-review",
|
|
130
|
+
"trigger": "Code review, implementation review, or review consolidation",
|
|
131
|
+
"expected_output": "Deduplicated findings ordered by defensible severity.",
|
|
132
|
+
"load_policy": "always-small",
|
|
133
|
+
"context_limit": 12000,
|
|
134
|
+
"bundled": true
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "dw-search-first",
|
|
138
|
+
"kind": "protocol",
|
|
139
|
+
"tier": "core",
|
|
140
|
+
"owner": "dw-plan,dw-find-skills",
|
|
141
|
+
"trigger": "New dependency, integration, MCP server, helper, or abstraction",
|
|
142
|
+
"expected_output": "Adopt/wrap/compose/build decision with checked search channels.",
|
|
143
|
+
"load_policy": "always-small",
|
|
144
|
+
"context_limit": 6000,
|
|
145
|
+
"bundled": true
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"name": "dw-silent-failure",
|
|
149
|
+
"kind": "protocol",
|
|
150
|
+
"tier": "core",
|
|
151
|
+
"owner": "dw-review,dw-bugfix",
|
|
152
|
+
"trigger": "Swallowed errors, dangerous fallbacks, retries, async detachment",
|
|
153
|
+
"expected_output": "Concrete silent-failure findings or an explicit pass.",
|
|
154
|
+
"load_policy": "always-small",
|
|
155
|
+
"context_limit": 6000,
|
|
156
|
+
"bundled": true
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name": "dw-simplification",
|
|
160
|
+
"kind": "protocol",
|
|
161
|
+
"tier": "specialty",
|
|
162
|
+
"owner": "dw-review,dw-brainstorm",
|
|
163
|
+
"trigger": "Refactor analysis, code smells, complexity, or behavior-preserving simplification",
|
|
164
|
+
"expected_output": "Simplification target, risk, behavior-preserving checks, and recommendation.",
|
|
165
|
+
"load_policy": "lazy-references",
|
|
166
|
+
"context_limit": 12000,
|
|
167
|
+
"bundled": true
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"name": "dw-source-grounding",
|
|
171
|
+
"kind": "protocol",
|
|
172
|
+
"tier": "core",
|
|
173
|
+
"owner": "dw-plan,dw-brainstorm",
|
|
174
|
+
"trigger": "Library/framework/API decision, technical research, dependency audit",
|
|
175
|
+
"expected_output": "Cited source-grounded decision with version and retrieval date.",
|
|
176
|
+
"load_policy": "lazy-references",
|
|
177
|
+
"context_limit": 12000,
|
|
178
|
+
"bundled": true
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "dw-testing-discipline",
|
|
182
|
+
"kind": "protocol",
|
|
183
|
+
"tier": "core",
|
|
184
|
+
"owner": "dw-run,dw-qa,dw-review",
|
|
185
|
+
"trigger": "Writing, reviewing, or debugging tests",
|
|
186
|
+
"expected_output": "Test placement, invariant, anti-pattern checks, and verification guidance.",
|
|
187
|
+
"load_policy": "lazy-references",
|
|
188
|
+
"context_limit": 12000,
|
|
189
|
+
"bundled": true
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"name": "dw-ui-discipline",
|
|
193
|
+
"kind": "protocol",
|
|
194
|
+
"tier": "specialty",
|
|
195
|
+
"owner": "dw-redesign-ui,dw-plan,dw-qa",
|
|
196
|
+
"trigger": "UI design, redesign, visual QA, accessibility, or frontend polish",
|
|
197
|
+
"expected_output": "Grounding answers, state matrix, accessibility checks, and visual risks.",
|
|
198
|
+
"load_policy": "lazy-references",
|
|
199
|
+
"context_limit": 12000,
|
|
200
|
+
"bundled": true
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "dw-verify",
|
|
204
|
+
"kind": "protocol",
|
|
205
|
+
"tier": "core",
|
|
206
|
+
"owner": "dw-run,dw-review,dw-generate-pr",
|
|
207
|
+
"trigger": "Completion claim, commit, PR generation, or fixed bug status",
|
|
208
|
+
"expected_output": "Fresh verification report with cited command evidence.",
|
|
209
|
+
"load_policy": "always-small",
|
|
210
|
+
"context_limit": 12000,
|
|
211
|
+
"bundled": true
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"name": "humanizer",
|
|
215
|
+
"kind": "domain-pack",
|
|
216
|
+
"tier": "domain",
|
|
217
|
+
"owner": "manual,docs",
|
|
218
|
+
"trigger": "Editing AI-generated prose, README, docs, captions, marketing copy",
|
|
219
|
+
"expected_output": "Rewritten prose with AI-writing tells removed and voice preserved.",
|
|
220
|
+
"load_policy": "lazy-references",
|
|
221
|
+
"context_limit": 6000,
|
|
222
|
+
"bundled": true
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"name": "remotion-best-practices",
|
|
226
|
+
"kind": "asset-pack",
|
|
227
|
+
"tier": "media",
|
|
228
|
+
"owner": "manual,remotion",
|
|
229
|
+
"trigger": "Remotion video composition, captions, rendering, transitions, media assets",
|
|
230
|
+
"expected_output": "Selected Remotion rule references and implementation guidance.",
|
|
231
|
+
"load_policy": "lazy-references",
|
|
232
|
+
"context_limit": 8000,
|
|
233
|
+
"bundled": true
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"name": "security-review",
|
|
237
|
+
"kind": "domain-pack",
|
|
238
|
+
"tier": "domain",
|
|
239
|
+
"owner": "dw-secure-audit,dw-review",
|
|
240
|
+
"trigger": "Security review, sensitive code, OWASP checks, auth/payment/input surfaces",
|
|
241
|
+
"expected_output": "High-confidence security findings or explicit pass.",
|
|
242
|
+
"load_policy": "lazy-references",
|
|
243
|
+
"context_limit": 12000,
|
|
244
|
+
"bundled": true
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"name": "vercel-react-best-practices",
|
|
248
|
+
"kind": "recipe-pack",
|
|
249
|
+
"tier": "specialty",
|
|
250
|
+
"owner": "dw-review,dw-redesign-ui,dw-plan",
|
|
251
|
+
"trigger": "React/Next.js performance, hydration, data fetching, bundle or render issues",
|
|
252
|
+
"expected_output": "Selected performance rule references and metric-driven recommendations.",
|
|
253
|
+
"load_policy": "lazy-references",
|
|
254
|
+
"context_limit": 12000,
|
|
255
|
+
"bundled": true
|
|
256
|
+
}
|
|
257
|
+
]
|
|
258
|
+
}
|
|
@@ -46,6 +46,7 @@ The intel directory is the contract. Every file is machine-parseable and referen
|
|
|
46
46
|
| `deps.json` | Dependencies: version, type, used_by, invocation | JSON |
|
|
47
47
|
| `bugfixes.json` | Historical bugfix index aggregated from `.dw/bugfixes/*/SUMMARY.md` (slug, date, modules touched, related concerns, by_module map). Optional — present only if `.dw/bugfixes/` is non-empty. | JSON |
|
|
48
48
|
| `arch.md` | Human-readable architecture overview + key components + data flow | Markdown |
|
|
49
|
+
| `codemaps/*.md` | Token-lean architecture maps for architecture/backend/frontend/data/dependencies. Optional but recommended for large repos. | Markdown |
|
|
49
50
|
| `.last-refresh.json` | Timestamps + content hashes for incremental detection (now includes `bugfixes_indexed` count) | JSON |
|
|
50
51
|
|
|
51
52
|
Schemas are documented in `references/intel-format.md`.
|
|
@@ -62,10 +63,11 @@ This skill ships ONE agent — `intel-updater` — which produces machine-readab
|
|
|
62
63
|
|
|
63
64
|
1. **`/dw-intel --build`** is invoked.
|
|
64
65
|
2. The command spawns `intel-updater` with `focus: full` (first run) or `focus: partial --files <paths>` (incremental).
|
|
65
|
-
3. The agent reads source files
|
|
66
|
-
4.
|
|
67
|
-
5.
|
|
68
|
-
6.
|
|
66
|
+
3. The agent reads source files using iterative retrieval: broad search, relevance evaluation, refined search, then final read set. Use Glob/Read/Grep; no Bash file listing for cross-platform safety.
|
|
67
|
+
4. The agent writes the intel files (`stack.json`, `files.json`, `apis.json`, `deps.json`, `arch.md`) plus token-lean codemaps in `.dw/intel/codemaps/` when enough structure exists.
|
|
68
|
+
5. If `.dw/bugfixes/` exists and contains at least one `SUMMARY.md`, the agent additionally scans every SUMMARY frontmatter + Files Touched section and writes `bugfixes.json`. SUMMARY files with invalid frontmatter are logged and skipped.
|
|
69
|
+
6. The agent writes `.last-refresh.json` with timestamps + hashes for incremental change detection on the next run, including a `bugfixes_indexed` count.
|
|
70
|
+
7. `/dw-intel --build` reports completion and invites the user to query via `/dw-intel "<question>"`.
|
|
69
71
|
|
|
70
72
|
For human-readable analysis (architecture overview, module conventions, anti-patterns), run `/dw-analyze-project` after `/dw-intel --build` — it reads `.dw/intel/` as input and produces `.dw/rules/`.
|
|
71
73
|
|
|
@@ -90,7 +92,7 @@ If no `.dw/intel/` exists at all, `/dw-intel` falls back to `.dw/rules/` (seeded
|
|
|
90
92
|
- **Cross-platform**: use Glob/Read/Grep; never Bash `ls`/`find`/`cat` (those break on Windows).
|
|
91
93
|
- **Forbidden files**: never read `.env*` (except `.env.example`/`.env.template`), `*.key`, `*.pem`, `*.pfx`, `*.p12`, `*.keystore`, `*.jks`, `id_rsa`, `id_ed25519`, or files matching `*credential*`/`*secret*` in name. Skip silently if encountered.
|
|
92
94
|
- **Excluded directories**: `node_modules/`, `.git/`, `dist/`, `build/`, `.dw/` (planning docs, not project code).
|
|
93
|
-
- **Output budget**: `files.json` ≤2K tokens, `apis.json` ≤1.5K, `deps.json` ≤1K, `stack.json` ≤500, `arch.md` ≤1.5K, `bugfixes.json` ≤1K. For large repos, prioritize coverage of key files over exhaustive listing. For `bugfixes.json`, keep one-line symptom/root-cause summaries; do not embed full SUMMARY.md content.
|
|
95
|
+
- **Output budget**: `files.json` ≤2K tokens, `apis.json` ≤1.5K, `deps.json` ≤1K, `stack.json` ≤500, `arch.md` ≤1.5K, each `codemaps/*.md` ≤1K, `bugfixes.json` ≤1K. For large repos, prioritize coverage of key files over exhaustive listing. For `bugfixes.json`, keep one-line symptom/root-cause summaries; do not embed full SUMMARY.md content.
|
|
94
96
|
|
|
95
97
|
## References
|
|
96
98
|
|
|
@@ -99,6 +101,11 @@ If no `.dw/intel/` exists at all, `/dw-intel` falls back to `.dw/rules/` (seeded
|
|
|
99
101
|
- `references/query-patterns.md` — how `/dw-intel` answers different question shapes (where-is, what-uses, architecture-of, dependency-of).
|
|
100
102
|
- `references/api-design-discipline.md` — Hyrum's Law, contract-first design, error semantics, boundary validation, versioning. Use when intel feeds techspec authoring (`/dw-plan techspec`) for endpoints — design must respect existing project conventions surfaced in `apis.json`. Adapted from [`addyosmani/agent-skills/api-design`](https://github.com/addyosmani/agent-skills/tree/main/api-design) (MIT).
|
|
101
103
|
|
|
104
|
+
## ECC-Inspired Additions
|
|
105
|
+
|
|
106
|
+
- **Iterative retrieval**: subagents should not load broad file sets blindly. They perform at most three search/evaluate/refine cycles, then read only high-relevance files.
|
|
107
|
+
- **Codemaps**: `.dw/intel/codemaps/*.md` stores short maps optimized for agent context instead of forcing repeated source reads.
|
|
108
|
+
|
|
102
109
|
## Inspired by
|
|
103
110
|
|
|
104
111
|
Adapted from [`get-shit-done-cc`](https://github.com/gsd-build/get-shit-done) (`gsd-intel-updater`) by gsd-build (MIT license). Core schemas (`files.json`, `apis.json`, `deps.json`, `stack.json`, `arch.md`) and incremental update protocol preserved. Path conventions changed from `.planning/intel/` to `.dw/intel/`. CLI tooling (`gsd-sdk query intel.*`) replaced by agent-driven inline operations (no separate runtime). The companion `gsd-codebase-mapper` agent (human-readable analysis docs) was NOT ported — its scope overlaps with the existing `/dw-analyze-project` command which writes to `.dw/rules/`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dw-context-budget
|
|
3
|
+
description: Audit context overhead from commands, skills, agents, MCPs, and instruction files before sessions degrade.
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Grep
|
|
7
|
+
- Glob
|
|
8
|
+
- Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# dw-context-budget
|
|
12
|
+
|
|
13
|
+
Use when a project has many commands, skills, agents, MCP servers, or long instruction files.
|
|
14
|
+
|
|
15
|
+
## Audit Targets
|
|
16
|
+
|
|
17
|
+
- `CLAUDE.md` and `AGENTS.md`
|
|
18
|
+
- `.dw/commands/*.md`
|
|
19
|
+
- `.agents/skills/*/SKILL.md`
|
|
20
|
+
- `.agents/agents/*.md`
|
|
21
|
+
- `.claude/agents/*.md`
|
|
22
|
+
- `.opencode/agent/*.md`
|
|
23
|
+
- `.claude/settings.json`
|
|
24
|
+
|
|
25
|
+
## Heuristics
|
|
26
|
+
|
|
27
|
+
- Prose estimate: `word count * 1.3`
|
|
28
|
+
- JSON/code estimate: `character count / 4`
|
|
29
|
+
- Flag command files over 20KB
|
|
30
|
+
- Flag `SKILL.md` files over 12KB
|
|
31
|
+
- Flag agent files over 8KB
|
|
32
|
+
- Flag more than 10 configured MCP servers
|
|
33
|
+
- Flag duplicate copies loaded by more than one platform when a fallback would be enough
|
|
34
|
+
|
|
35
|
+
## Report
|
|
36
|
+
|
|
37
|
+
Return:
|
|
38
|
+
|
|
39
|
+
1. Estimated overhead by category.
|
|
40
|
+
2. Top 10 largest files.
|
|
41
|
+
3. Duplicate or overlapping components.
|
|
42
|
+
4. Top 5 concrete savings.
|
|
43
|
+
5. What must remain loaded because commands depend on it.
|
|
44
|
+
|
|
45
|
+
Inspired by ECC's `context-budget` and `strategic-compact` patterns; adapted for dev-workflow's `.dw/` scaffold and cross-platform wrappers.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dw-search-first
|
|
3
|
+
description: Research-before-building protocol for dependencies, integrations, MCP servers, libraries, and reusable skills.
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Grep
|
|
7
|
+
- Glob
|
|
8
|
+
- Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# dw-search-first
|
|
12
|
+
|
|
13
|
+
Use before writing custom infrastructure, adding an integration, choosing a dependency, or inventing a reusable helper.
|
|
14
|
+
|
|
15
|
+
## Protocol
|
|
16
|
+
|
|
17
|
+
1. Define the capability needed and the project constraints.
|
|
18
|
+
2. Search the existing repo first.
|
|
19
|
+
3. Check installed skills and `.dw/intel/` for a local pattern.
|
|
20
|
+
4. Check package registries or official docs when network/tools are available.
|
|
21
|
+
5. Compare adopt, wrap, compose, or build custom.
|
|
22
|
+
6. Record the decision in the TechSpec or ADR when it affects architecture.
|
|
23
|
+
|
|
24
|
+
## Decision Rules
|
|
25
|
+
|
|
26
|
+
- Adopt if there is a maintained exact match with acceptable license and dependency cost.
|
|
27
|
+
- Wrap if the package is strong but needs a thin local adapter.
|
|
28
|
+
- Compose if two small tools beat one large dependency.
|
|
29
|
+
- Build custom only after search channels were checked or explicitly unavailable.
|
|
30
|
+
|
|
31
|
+
Inspired by ECC's `search-first`; adapted to compose with `dw-source-grounding`, `/dw-plan`, and `/dw-find-skills`.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dw-silent-failure
|
|
3
|
+
description: Checklist for finding swallowed errors, dangerous fallbacks, and lost failure context during review or bugfixes.
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Grep
|
|
7
|
+
- Glob
|
|
8
|
+
- Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# dw-silent-failure
|
|
12
|
+
|
|
13
|
+
Use during `/dw-review`, `/dw-bugfix`, and `/dw-qa --fix` when failures may be hidden instead of surfaced.
|
|
14
|
+
|
|
15
|
+
## Hunt List
|
|
16
|
+
|
|
17
|
+
- Empty `catch` blocks.
|
|
18
|
+
- Fallbacks such as `catch(() => null)` or `catch(() => [])`.
|
|
19
|
+
- Log-only handling where callers need the failure.
|
|
20
|
+
- Generic rethrows that lose stack or input context.
|
|
21
|
+
- Async work launched without awaiting, tracking, or explicit detachment.
|
|
22
|
+
- Network/database/filesystem calls without timeout or rollback where the project requires it.
|
|
23
|
+
|
|
24
|
+
## Reporting Standard
|
|
25
|
+
|
|
26
|
+
Only flag a finding when you can name:
|
|
27
|
+
|
|
28
|
+
- the exact location,
|
|
29
|
+
- the trigger,
|
|
30
|
+
- the hidden bad outcome,
|
|
31
|
+
- the minimal fix.
|
|
32
|
+
|
|
33
|
+
Inspired by ECC's `silent-failure-hunter`; adapted as both a skill and a dispatchable `dw-silent-failure-hunter` agent.
|
|
@@ -158,33 +158,6 @@ Verification failure is information, not a dead end. Protocol:
|
|
|
158
158
|
|
|
159
159
|
## Project-Specific Verification Commands
|
|
160
160
|
|
|
161
|
-
|
|
161
|
+
Discover the project gate before claiming success. Prefer documented gates in `.dw/rules/`, then package scripts such as `verify`, `check`, `ci`, or `test`, then Makefile/just/pyproject equivalents. If no verification command exists, state that explicitly in the Verification Report and avoid completion language.
|
|
162
162
|
|
|
163
|
-
|
|
164
|
-
2. Read `package.json` scripts: prefer `verify`, `check`, `ci`, `test`, in that order.
|
|
165
|
-
3. Check for `Makefile`/`make verify`, `pyproject.toml`/`just verify`, etc.
|
|
166
|
-
4. If none is explicit, run the documented test + lint + build sequence.
|
|
167
|
-
|
|
168
|
-
If no verification command exists for the project, state that explicitly in the Verification Report and avoid completion language.
|
|
169
|
-
|
|
170
|
-
## Integration With Other dev-workflow Commands
|
|
171
|
-
|
|
172
|
-
This skill is invoked transparently from:
|
|
173
|
-
|
|
174
|
-
- `/dw-run` — before committing the task's changes
|
|
175
|
-
- `/dw-run` — before Level 2 review and before declaring the plan complete
|
|
176
|
-
- `/dw-qa --fix` — before marking a bug as resolved in `QA/bugs.md`
|
|
177
|
-
- `/dw-bugfix` — before claiming the bug is fixed (original symptom no longer reproduces)
|
|
178
|
-
- `/dw-review --code-only` — before emitting an APPROVED verdict
|
|
179
|
-
- `/dw-generate-pr` — blocks PR creation if the session has no passing VERIFICATION REPORT post-last-edit
|
|
180
|
-
|
|
181
|
-
Callers should mention this skill in their "Skills Complementares" section so the user sees the dependency.
|
|
182
|
-
|
|
183
|
-
## Inspired by
|
|
184
|
-
|
|
185
|
-
Ported from Compozy's `cy-final-verify` skill (`/tmp/compozy/.agents/skills/cy-final-verify/SKILL.md`). Adapted for the dev-workflow context:
|
|
186
|
-
|
|
187
|
-
- Project-agnostic verification discovery (Compozy assumes `make verify`; dev-workflow scans `package.json`/Makefile/`.dw/rules/`).
|
|
188
|
-
- Integration table maps to dev-workflow command names instead of Compozy phases.
|
|
189
|
-
|
|
190
|
-
Credit: Compozy project (https://github.com/compozy/compozy).
|
|
163
|
+
Load `references/verification-discovery-and-attribution.md` when you need the full discovery checklist, command integration table, or attribution notes.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
## Project-Specific Verification Commands
|
|
2
|
+
|
|
3
|
+
dev-workflow does not hardcode a verification command. Discover it from the project:
|
|
4
|
+
|
|
5
|
+
1. Check `.dw/rules/` for a documented verify command.
|
|
6
|
+
2. Read `package.json` scripts: prefer `verify`, `check`, `ci`, `test`, in that order.
|
|
7
|
+
3. Check for `Makefile`/`make verify`, `pyproject.toml`/`just verify`, etc.
|
|
8
|
+
4. If none is explicit, run the documented test + lint + build sequence.
|
|
9
|
+
|
|
10
|
+
If no verification command exists for the project, state that explicitly in the Verification Report and avoid completion language.
|
|
11
|
+
|
|
12
|
+
## Integration With Other dev-workflow Commands
|
|
13
|
+
|
|
14
|
+
This skill is invoked transparently from:
|
|
15
|
+
|
|
16
|
+
- `/dw-run` — before committing the task's changes
|
|
17
|
+
- `/dw-run` — before Level 2 review and before declaring the plan complete
|
|
18
|
+
- `/dw-qa --fix` — before marking a bug as resolved in `QA/bugs.md`
|
|
19
|
+
- `/dw-bugfix` — before claiming the bug is fixed (original symptom no longer reproduces)
|
|
20
|
+
- `/dw-review --code-only` — before emitting an APPROVED verdict
|
|
21
|
+
- `/dw-generate-pr` — blocks PR creation if the session has no passing VERIFICATION REPORT post-last-edit
|
|
22
|
+
|
|
23
|
+
Callers should mention this skill in their "Skills Complementares" section so the user sees the dependency.
|
|
24
|
+
|
|
25
|
+
## Inspired by
|
|
26
|
+
|
|
27
|
+
Ported from Compozy's `cy-final-verify` skill (`/tmp/compozy/.agents/skills/cy-final-verify/SKILL.md`). Adapted for the dev-workflow context:
|
|
28
|
+
|
|
29
|
+
- Project-agnostic verification discovery (Compozy assumes `make verify`; dev-workflow scans `package.json`/Makefile/`.dw/rules/`).
|
|
30
|
+
- Integration table maps to dev-workflow command names instead of Compozy phases.
|
|
31
|
+
|
|
32
|
+
Credit: Compozy project (https://github.com/compozy/compozy).
|