ai-dev-requirements 0.1.9 → 0.1.11
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 +68 -14
- package/README.zh-CN.md +68 -14
- package/dist/index.cjs +288 -21
- package/dist/index.mjs +288 -21
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/skills/dev-workflow/SKILL.md +186 -123
- package/skills/dev-workflow/references/task-types.md +148 -97
- package/skills/dev-workflow/references/templates/code-dev-task.md +34 -21
- package/skills/dev-workflow/references/templates/code-fix-task.md +34 -20
- package/skills/dev-workflow/references/templates/code-refactor-task.md +34 -22
- package/skills/dev-workflow/references/templates/doc-write-task.md +33 -21
- package/skills/dev-workflow/references/templates/research-task.md +34 -22
- package/skills/dev-workflow/references/templates/test-task.md +33 -22
- package/skills/dev-workflow/references/workflow.md +290 -118
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dev-workflow
|
|
3
3
|
description: >
|
|
4
|
-
Use when starting any development task
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
design references, and npx skills find for frontend UI skills when no design is provided.
|
|
4
|
+
Use when starting any AI-assisted development task that needs a controlled agent harness:
|
|
5
|
+
requirement intake, MCP/context loading, normalization, task graph planning, gated execution,
|
|
6
|
+
verification, review, and handoff. Supports ONES/GitHub/Jira/Figma MCP as context sources,
|
|
7
|
+
but does not require changing MCP server code.
|
|
9
8
|
metadata:
|
|
10
9
|
author: ai-dev-workflow
|
|
11
10
|
version: "0.1.0"
|
|
12
11
|
---
|
|
13
12
|
|
|
14
|
-
# Dev Workflow
|
|
13
|
+
# Dev Workflow Harness
|
|
15
14
|
|
|
16
15
|
## Setup
|
|
17
16
|
|
|
@@ -30,16 +29,16 @@ npx skills add daguanren21/ai-dev-workflow -a cursor
|
|
|
30
29
|
|
|
31
30
|
**Prerequisites:**
|
|
32
31
|
|
|
33
|
-
1.
|
|
32
|
+
1. Optional community skill discovery:
|
|
34
33
|
|
|
35
34
|
```bash
|
|
36
35
|
npx skills add vercel-labs/skills --skill find-skills -a claude-code
|
|
37
36
|
```
|
|
38
37
|
|
|
39
|
-
2.
|
|
38
|
+
2. Optional companion MCP servers based on context source:
|
|
40
39
|
|
|
41
40
|
| Source | MCP Server |
|
|
42
|
-
|
|
41
|
+
|--------|------------|
|
|
43
42
|
| ONES | `ai-dev-requirements` (bundled) |
|
|
44
43
|
| GitHub | [github/github-mcp-server](https://github.com/github/github-mcp-server) |
|
|
45
44
|
| Jira | [Atlassian Rovo MCP](https://www.atlassian.com/blog/announcements/remote-mcp-server) |
|
|
@@ -47,169 +46,233 @@ npx skills add vercel-labs/skills --skill find-skills -a claude-code
|
|
|
47
46
|
|
|
48
47
|
## Overview
|
|
49
48
|
|
|
50
|
-
|
|
49
|
+
AI agent harness for requirement-driven software work. The harness controls what context the agent may load, which artifacts it must produce, when it must pause, how tasks are scheduled, and which verification gates must pass before handoff.
|
|
51
50
|
|
|
52
|
-
**Announce at start:** "I'm using the dev-workflow
|
|
51
|
+
**Announce at start:** "I'm using the dev-workflow harness to drive this development task."
|
|
53
52
|
|
|
54
|
-
**Core principle:**
|
|
53
|
+
**Core principle:** Harness first. Normalize inputs, create traceable artifacts, validate coverage, execute behind gates, and hand off evidence. Do not jump from a requirement directly to code.
|
|
55
54
|
|
|
56
|
-
|
|
55
|
+
**Default execution policy:** When this harness is triggered, the agent must produce user stories and an implementation plan before writing code, then pause for developer confirmation. The developer does not need to say "write the plan first" every time. Only skip this gate when the developer explicitly says to bypass planning or directly start implementation.
|
|
57
56
|
|
|
58
|
-
|
|
57
|
+
## Harness Engineering Principles
|
|
59
58
|
|
|
60
|
-
|
|
59
|
+
- Treat the harness as feedforward guidance plus feedback sensors, not just a checklist.
|
|
60
|
+
- Keep `SKILL.md` concise; load detailed references only when needed.
|
|
61
|
+
- Prefer deterministic gates for repeatable work: dependency install, lint, typecheck, build, tests, diff checks.
|
|
62
|
+
- Use backpressure: successful gates stay quiet, failed gates expose precise, actionable errors.
|
|
63
|
+
- Mark context source quality before planning; do not infer from blocked, login-gated, or verification-gated pages.
|
|
61
64
|
|
|
62
|
-
|
|
63
|
-
|--------|-----------|------|
|
|
64
|
-
| ONES | `requirements` MCP (bundled) | `get_requirement` |
|
|
65
|
-
| GitHub | `github` MCP ([github/github-mcp-server](https://github.com/github/github-mcp-server)) | get issue |
|
|
66
|
-
| Jira | `atlassian` MCP ([Atlassian Rovo MCP](https://www.atlassian.com/blog/announcements/remote-mcp-server)) | get issue |
|
|
67
|
-
| Natural language | No MCP needed | Use user's description directly |
|
|
65
|
+
For detailed operating rules, use `references/workflow.md`, `references/task-types.md`, and the templates under `references/templates/`.
|
|
68
66
|
|
|
69
|
-
|
|
67
|
+
## Harness Lifecycle
|
|
70
68
|
|
|
71
|
-
### Phase
|
|
69
|
+
### Phase 1: Intake
|
|
72
70
|
|
|
73
|
-
|
|
71
|
+
**Input:** requirement ID, issue link, document link, Figma link, screenshot, or natural language request.
|
|
74
72
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
**So that** {value}.
|
|
73
|
+
**Action:**
|
|
74
|
+
- Identify the requested outcome.
|
|
75
|
+
- Identify context sources: ONES, GitHub, Jira, Figma, local files, or user text.
|
|
76
|
+
- Choose a stable `{feature-name}` for artifact paths.
|
|
80
77
|
|
|
81
|
-
|
|
82
|
-
- [ ] Given {precondition}, When {action}, Then {expected result}
|
|
78
|
+
**Output:** source inventory and artifact path: `docs/plans/{feature-name}/`.
|
|
83
79
|
|
|
84
|
-
|
|
85
|
-
- 🎨 Figma: {link} | 🖼️ Screenshot: {path} | 📝 No UI dependency
|
|
86
|
-
```
|
|
80
|
+
**Pause:** only if the request has no actionable requirement or source.
|
|
87
81
|
|
|
88
|
-
|
|
89
|
-
1. Each story must be independently deliverable
|
|
90
|
-
2. Acceptance criteria use Given/When/Then
|
|
91
|
-
3. Stories involving UI: mark and **pause** for developer to provide UI reference
|
|
92
|
-
4. Non-UI stories: mark as "No UI dependency"
|
|
82
|
+
### Phase 2: Context Load
|
|
93
83
|
|
|
94
|
-
|
|
84
|
+
**Input:** source inventory from intake.
|
|
95
85
|
|
|
96
|
-
**
|
|
86
|
+
**Action:**
|
|
87
|
+
- Fetch ONES requirements with the bundled Requirements MCP Server when available.
|
|
88
|
+
- Fetch GitHub or Jira issue context with external MCP servers when available.
|
|
89
|
+
- Fetch Figma design context with Figma MCP when UI work depends on a Figma file.
|
|
90
|
+
- Use user-provided text directly when no MCP source exists.
|
|
97
91
|
|
|
98
|
-
|
|
92
|
+
**Output:** `docs/plans/{feature-name}/requirements.md`.
|
|
99
93
|
|
|
100
|
-
**
|
|
101
|
-
- **Figma copy link** → Use Figma MCP Server to read design details (components, variables, layout)
|
|
102
|
-
- **Screenshot/image** → Analyze image directly for UI structure
|
|
103
|
-
- **Text description** → Understand UI intent from description
|
|
94
|
+
**Pause:** if required context is unavailable and cannot be replaced by user-provided text.
|
|
104
95
|
|
|
105
|
-
|
|
96
|
+
### Phase 3: Normalize Requirements
|
|
106
97
|
|
|
107
|
-
|
|
98
|
+
**Input:** `requirements.md`.
|
|
108
99
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
100
|
+
**Action:**
|
|
101
|
+
- Convert raw context into independently deliverable user stories.
|
|
102
|
+
- Write acceptance criteria with Given/When/Then.
|
|
103
|
+
- Mark UI dependencies, backend dependencies, data dependencies, and external integrations.
|
|
104
|
+
- Record open questions and assumptions explicitly.
|
|
114
105
|
|
|
115
|
-
|
|
106
|
+
**Output:** `docs/plans/{feature-name}/user-stories.md`.
|
|
116
107
|
|
|
117
|
-
|
|
108
|
+
**Pause:** always. The developer must confirm stories and required UI references before planning.
|
|
118
109
|
|
|
119
|
-
### Phase 4:
|
|
110
|
+
### Phase 4: Build Harness Plan
|
|
120
111
|
|
|
121
|
-
|
|
112
|
+
**Input:** confirmed user stories, UI references, project conventions, and relevant skills.
|
|
122
113
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
| L4 | Context7 MCP | Framework/library official docs |
|
|
129
|
-
| L5 | WebSearch | Fallback |
|
|
114
|
+
**Action:**
|
|
115
|
+
- Build a task graph from user stories.
|
|
116
|
+
- Assign task type, agent role, scheduler mode, isolation key, dependencies, inputs, outputs, review level, and verification gate.
|
|
117
|
+
- Prefer small tasks that can be reviewed and verified independently.
|
|
118
|
+
- Use `references/task-types.md` for scheduler semantics and templates from `references/templates/`.
|
|
130
119
|
|
|
131
|
-
|
|
120
|
+
**Output:** `docs/plans/{feature-name}/implementation-plan.md`.
|
|
132
121
|
|
|
133
|
-
**
|
|
122
|
+
**Pause:** always before implementation. Present the implementation plan and wait for developer confirmation unless the developer explicitly bypassed the planning gate.
|
|
134
123
|
|
|
135
|
-
|
|
136
|
-
- Each step 2-5 minutes, TDD, exact file paths and code
|
|
137
|
-
- DRY, YAGNI, frequent commits
|
|
124
|
+
### Phase 5: Validate Coverage
|
|
138
125
|
|
|
139
|
-
|
|
126
|
+
**Input:** requirements, user stories, and harness plan.
|
|
140
127
|
|
|
141
|
-
|
|
128
|
+
**Action:**
|
|
129
|
+
- Build a traceability matrix: requirement -> user story -> task -> verification gate.
|
|
130
|
+
- Check every requirement for story coverage, acceptance criteria, implementation task, edge cases, and verification.
|
|
131
|
+
- Classify uncovered items and risks.
|
|
142
132
|
|
|
143
|
-
|
|
133
|
+
**Output:** `docs/plans/{feature-name}/validation-report.md`.
|
|
144
134
|
|
|
145
|
-
|
|
146
|
-
1. Build a traceability matrix: requirement → user story → design section → task
|
|
147
|
-
2. Check each requirement for: story coverage, AC completeness, design landing, task breakdown, edge case coverage
|
|
148
|
-
3. Generate `validation-report.md` with coverage stats, uncovered items, and risk items
|
|
149
|
-
4. **PAUSE:** Present the report to the developer for confirmation
|
|
135
|
+
**Pause:** always when coverage is incomplete, high risk, or requires product judgment.
|
|
150
136
|
|
|
151
|
-
|
|
152
|
-
- ✅ Pass: all requirements covered, no high-risk items → proceed to Phase 7
|
|
153
|
-
- ⚠️ Conditional pass: coverage ≥ 90%, uncovered items are low priority → confirm with developer, then proceed
|
|
154
|
-
- ❌ Fail: core requirements uncovered or high-risk unresolved → go back to Phase 5 and revise
|
|
137
|
+
### Phase 6: Execute Behind Gates
|
|
155
138
|
|
|
156
|
-
|
|
139
|
+
**Input:** approved harness plan.
|
|
157
140
|
|
|
158
|
-
|
|
141
|
+
**Action:**
|
|
142
|
+
- Use subagent-driven execution when available; otherwise execute inline with checkpoints.
|
|
143
|
+
- Preserve isolation keys.
|
|
144
|
+
- Run `parallel` tasks within `parallel_limit`.
|
|
145
|
+
- Run `isolated` tasks serially within the same isolation key and in parallel across different keys.
|
|
146
|
+
- Run `serial` tasks under a global lock.
|
|
147
|
+
- Record meaningful execution notes in `execution-log.md`.
|
|
159
148
|
|
|
160
|
-
**
|
|
149
|
+
**Output:** source, test, documentation, or generated artifacts declared by the plan.
|
|
161
150
|
|
|
162
|
-
|
|
163
|
-
Follow the 10-step workflow defined in `references/workflow.md`.
|
|
164
|
-
Use task templates from `references/templates/` for task declarations.
|
|
151
|
+
**Pause:** on blockers, repeated verification failure, unclear instructions, or isolation conflicts.
|
|
165
152
|
|
|
166
|
-
|
|
167
|
-
- Max 5 parallel tasks
|
|
168
|
-
- `code:dev` → isolated (serial within module, parallel across modules)
|
|
169
|
-
- `code:refactor` → serial (global lock)
|
|
170
|
-
- `doc:write` / `test` → parallel
|
|
153
|
+
### Phase 7: Verify
|
|
171
154
|
|
|
172
|
-
|
|
155
|
+
**Input:** changed artifacts.
|
|
173
156
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
157
|
+
**Action:**
|
|
158
|
+
- Run the verification gates declared by each task.
|
|
159
|
+
- For TypeScript projects, prefer `pnpm lint`, `pnpm typecheck`, `pnpm build`, and targeted tests when applicable.
|
|
160
|
+
- For frontend projects, verify user-facing behavior with browser automation where available.
|
|
161
|
+
- Capture failures before fixing them.
|
|
162
|
+
- Prefer targeted gates before full gates.
|
|
163
|
+
- Keep successful gate output concise.
|
|
164
|
+
- On failure, capture the command, key error, likely owner task, and next repair action.
|
|
182
165
|
|
|
183
|
-
|
|
166
|
+
**Output:** verification evidence in `execution-log.md` or `handoff.md`.
|
|
184
167
|
|
|
185
|
-
|
|
186
|
-
|-------|--------|--------|
|
|
187
|
-
| 1. Requirements | `requirements.md` | No |
|
|
188
|
-
| 2. User Stories | `user-stories.md` | **Yes** — developer confirms |
|
|
189
|
-
| 3. UI Resources | figma-notes / screenshots | Only if UI stories exist |
|
|
190
|
-
| 4. Skill Matching | matched skills list | No |
|
|
191
|
-
| 5. Plan | `implementation-plan.md` | Per writing-plans skill |
|
|
192
|
-
| 6. Requirement Validation | `validation-report.md` | **Yes** — developer confirms |
|
|
193
|
-
| 7. Code | Source files + tests | Per executing-plans skill |
|
|
194
|
-
| 8. Verify | lint + type + build pass | No |
|
|
168
|
+
**Pause:** if required verification cannot run or fails repeatedly.
|
|
195
169
|
|
|
196
|
-
|
|
170
|
+
### Phase 8: Review
|
|
197
171
|
|
|
198
|
-
|
|
172
|
+
**Input:** final diff and verification evidence.
|
|
173
|
+
|
|
174
|
+
**Action:**
|
|
175
|
+
- Review requirement coverage, behavioral risk, changed files, and verification results.
|
|
176
|
+
- Use strict review for new features and refactors.
|
|
177
|
+
- Use standard review for fixes and tests.
|
|
178
|
+
- Use light review for documentation and research.
|
|
179
|
+
|
|
180
|
+
**Output:** review notes, risk list, and any follow-up tasks.
|
|
181
|
+
|
|
182
|
+
**Pause:** if review finds a blocking defect or missing requirement coverage.
|
|
183
|
+
|
|
184
|
+
### Phase 9: Handoff
|
|
185
|
+
|
|
186
|
+
**Input:** final artifacts, verification evidence, and review notes.
|
|
187
|
+
|
|
188
|
+
**Action:**
|
|
189
|
+
- Summarize changed files and user-visible behavior.
|
|
190
|
+
- State verification commands and results.
|
|
191
|
+
- State residual risks or skipped checks.
|
|
192
|
+
- Provide next actions only when they are concrete.
|
|
193
|
+
|
|
194
|
+
**Output:** `docs/plans/{feature-name}/handoff.md` when the project requires persistent handoff, plus the final agent response.
|
|
195
|
+
|
|
196
|
+
## MCP Boundary
|
|
197
|
+
|
|
198
|
+
MCP is a context layer for the harness.
|
|
199
|
+
|
|
200
|
+
Allowed:
|
|
201
|
+
|
|
202
|
+
- Fetch ONES requirements through the bundled Requirements MCP Server.
|
|
203
|
+
- Fetch GitHub or Jira issue context through external MCP servers.
|
|
204
|
+
- Fetch Figma design context through a Figma MCP server.
|
|
205
|
+
- Use MCP-derived context to populate harness artifacts.
|
|
206
|
+
|
|
207
|
+
Not part of this harness skill:
|
|
208
|
+
|
|
209
|
+
- Changing MCP server source code.
|
|
210
|
+
- Adding MCP tools.
|
|
211
|
+
- Changing adapters, auth, config loading, or package exports.
|
|
212
|
+
|
|
213
|
+
## Artifact Contract
|
|
214
|
+
|
|
215
|
+
Use this structure for harness artifacts:
|
|
216
|
+
|
|
217
|
+
```text
|
|
199
218
|
docs/plans/{feature-name}/
|
|
200
219
|
├── requirements.md
|
|
201
220
|
├── user-stories.md
|
|
202
|
-
├──
|
|
203
|
-
│ ├── figma-notes.md
|
|
204
|
-
│ └── screenshots/
|
|
221
|
+
├── implementation-plan.md
|
|
205
222
|
├── validation-report.md
|
|
206
|
-
|
|
223
|
+
├── execution-log.md
|
|
224
|
+
└── handoff.md
|
|
207
225
|
```
|
|
208
226
|
|
|
227
|
+
Optional UI artifacts:
|
|
228
|
+
|
|
229
|
+
```text
|
|
230
|
+
docs/plans/{feature-name}/ui-references/
|
|
231
|
+
├── figma-notes.md
|
|
232
|
+
└── screenshots/
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Scheduling Rules
|
|
236
|
+
|
|
237
|
+
| Scheduler | Meaning | Constraint |
|
|
238
|
+
|-----------|---------|------------|
|
|
239
|
+
| `parallel` | Independent work | Bounded by `parallel_limit` |
|
|
240
|
+
| `isolated` | Work isolated by module, file, or data source | Serial within an isolation key, parallel across keys |
|
|
241
|
+
| `serial` | Work requiring a global lock | One task at a time |
|
|
242
|
+
|
|
243
|
+
Default `parallel_limit`: 5.
|
|
244
|
+
|
|
245
|
+
Use `references/task-types.md` for task declarations and review levels.
|
|
246
|
+
|
|
247
|
+
## Recovery Rules
|
|
248
|
+
|
|
249
|
+
| Failure | Harness Response |
|
|
250
|
+
|---------|------------------|
|
|
251
|
+
| Missing context | Pause and ask for source, or proceed only with explicit user-provided text |
|
|
252
|
+
| Missing UI reference | Pause before implementation for UI work that depends on visual fidelity |
|
|
253
|
+
| Coverage validation failure | Revise user stories or plan before execution |
|
|
254
|
+
| Verification failure | Capture failure, fix the relevant task, rerun the gate |
|
|
255
|
+
| Parallel conflict | Stop the affected group and serialize the conflict boundary |
|
|
256
|
+
|
|
257
|
+
## Quick Reference
|
|
258
|
+
|
|
259
|
+
| Phase | Output | Pause |
|
|
260
|
+
|-------|--------|-------|
|
|
261
|
+
| 1. Intake | Source inventory | Conditional |
|
|
262
|
+
| 2. Context Load | `requirements.md` | Conditional |
|
|
263
|
+
| 3. Normalize | `user-stories.md` | Yes |
|
|
264
|
+
| 4. Harness Plan | `implementation-plan.md` | Conditional |
|
|
265
|
+
| 5. Coverage Validation | `validation-report.md` | Yes on risk |
|
|
266
|
+
| 6. Execute | Changed artifacts + `execution-log.md` | On blocker |
|
|
267
|
+
| 7. Verify | Verification evidence | On failure |
|
|
268
|
+
| 8. Review | Review notes | On blocking finding |
|
|
269
|
+
| 9. Handoff | `handoff.md` or final response | No |
|
|
270
|
+
|
|
209
271
|
## Common Mistakes
|
|
210
272
|
|
|
211
|
-
-
|
|
212
|
-
-
|
|
213
|
-
-
|
|
214
|
-
-
|
|
215
|
-
-
|
|
273
|
+
- Jumping from requirement to code without normalized stories and a plan.
|
|
274
|
+
- Treating MCP as the implementation target instead of a context source.
|
|
275
|
+
- Running tasks with the same isolation key in parallel.
|
|
276
|
+
- Skipping coverage validation before implementation.
|
|
277
|
+
- Claiming completion without fresh verification evidence.
|
|
278
|
+
- Leaving handoff without changed files, verification results, and residual risks.
|