@dtlabs/ai-toolkit 0.1.2
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/.claude/agents/assessment-manager.md +218 -0
- package/.claude/agents/concurrency-safety-assessment.md +190 -0
- package/.claude/agents/define-feature.md +265 -0
- package/.claude/agents/dependency-injection-refactoring.md +237 -0
- package/.claude/agents/dependency-supply-chain-security.md +262 -0
- package/.claude/agents/developer-backend.md +105 -0
- package/.claude/agents/developer-frontend.md +111 -0
- package/.claude/agents/developer-testing.md +121 -0
- package/.claude/agents/domain-model-refactoring.md +208 -0
- package/.claude/agents/generate-requirements.md +168 -0
- package/.claude/agents/generate-tech-spec.md +259 -0
- package/.claude/agents/generate-work-breakdown.md +284 -0
- package/.claude/agents/generic-software-assessment.md +165 -0
- package/.claude/agents/god-class-decomposition.md +198 -0
- package/.claude/agents/init-agents-md.md +322 -0
- package/.claude/agents/install-toolkit.md +196 -0
- package/.claude/agents/intervention-documentation-standard.md +131 -0
- package/.claude/agents/layered-architecture-assessment.md +205 -0
- package/.claude/agents/project-manager.md +309 -0
- package/.claude/agents/review-solution.md +138 -0
- package/.claude/agents/security-hardening.md +240 -0
- package/.claude/agents/validate-feature-docs.md +171 -0
- package/.claude/commands/assessment-status.md +116 -0
- package/.claude/commands/check-docs.md +18 -0
- package/.claude/commands/feature-status.md +20 -0
- package/.claude/commands/next-task.md +37 -0
- package/.claude/commands/pr-description.md +34 -0
- package/.claude/skills/assess-codebase/SKILL.md +16 -0
- package/.claude/skills/define-feature/SKILL.md +13 -0
- package/.claude/skills/hi-gaia/SKILL.md +261 -0
- package/.claude/skills/implement-feature/SKILL.md +69 -0
- package/.claude/skills/init-agents/SKILL.md +14 -0
- package/.claude/skills/install-toolkit/SKILL.md +14 -0
- package/CLAUDE.md +135 -0
- package/README.md +77 -0
- package/bin/cli.js +350 -0
- package/docs/installation.md +80 -0
- package/docs/pricing.md +99 -0
- package/docs/procedures/approval-gates.md +142 -0
- package/docs/procedures/assessment-approval-gate.md +60 -0
- package/docs/procedures/code-generation.md +48 -0
- package/docs/procedures/code-review.md +63 -0
- package/docs/procedures/effort-estimation.md +86 -0
- package/docs/procedures/feature-registry.md +50 -0
- package/docs/procedures/issues-register.md +24 -0
- package/docs/procedures/process-log.md +28 -0
- package/docs/procedures/secure-coding.md +50 -0
- package/docs/procedures/testing.md +63 -0
- package/docs/procedures/token-estimation.md +123 -0
- package/docs/reference.md +228 -0
- package/package.json +23 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: validate-feature-docs
|
|
3
|
+
description: "Validates Requirements and Tech-Spec documents against feature.md. Triggers targeted revision of failing documents if gaps are found. Input: path to feature.md"
|
|
4
|
+
model: haiku
|
|
5
|
+
tools: Read, Glob, Grep, Write
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Validate Feature Docs
|
|
9
|
+
|
|
10
|
+
A QA agent that cross-references `feature.md` against `{PREFIX}-Requirements.md` and `{PREFIX}-Tech-Spec.md`, identifies coverage gaps, and triggers targeted revisions until full coverage is achieved.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Phase 1 — Load Documents
|
|
15
|
+
|
|
16
|
+
1. Extract the prefix from the folder name (`FTR-001-user-management` → `FTR-001`)
|
|
17
|
+
2. Read all three documents fully:
|
|
18
|
+
- `feature.md` — source of truth
|
|
19
|
+
- `{PREFIX}-Requirements.md`
|
|
20
|
+
- `{PREFIX}-Tech-Spec.md`
|
|
21
|
+
3. If either output document is missing, abort and report: "Cannot validate: `{file}` not found. Run /agent-project-manager first."
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Phase 2 — Feature Decomposition
|
|
26
|
+
|
|
27
|
+
Parse `feature.md` into a structured checklist of **verifiable claims**. For each section, extract:
|
|
28
|
+
|
|
29
|
+
| Claim type | Examples |
|
|
30
|
+
|------------|---------|
|
|
31
|
+
| **Functional behaviour** | "Admin can add a user", "Sync deactivates missing users" |
|
|
32
|
+
| **UI element** | "Settings nav item visible only to admins", "Table on desktop, cards on mobile" |
|
|
33
|
+
| **API endpoint** | "POST /api/users/sync", "GET /api/users/available?search=" |
|
|
34
|
+
| **Data model** | "User entity with IsActive field", "Membership has FK to User" |
|
|
35
|
+
| **Business rule** | "External API called only during onboarding and sync", "Role values: viewer, editor, admin" |
|
|
36
|
+
| **Security constraint** | "All /api/users/* require Admin policy" |
|
|
37
|
+
| **Out of scope** | Items explicitly excluded — verify they do NOT appear in outputs |
|
|
38
|
+
|
|
39
|
+
Label each claim with its origin section in `feature.md`.
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Phase 3 — Coverage Check
|
|
44
|
+
|
|
45
|
+
For each claim extracted in Phase 2, check whether it is addressed in the target document:
|
|
46
|
+
|
|
47
|
+
### Requirements coverage (against `{PREFIX}-Requirements.md`)
|
|
48
|
+
|
|
49
|
+
| Check | Pass condition |
|
|
50
|
+
|-------|---------------|
|
|
51
|
+
| Every functional behaviour → at least one Use Case | UC with matching actor, trigger, and flow |
|
|
52
|
+
| Every UI element → UI Requirements section or Use Case step | Mentioned explicitly |
|
|
53
|
+
| Every business rule → Business Rules table | Row with matching rule |
|
|
54
|
+
| Every security constraint → Non-Functional Requirements | NFR row |
|
|
55
|
+
| Every out-of-scope item → Out of Scope section | Listed |
|
|
56
|
+
| Every functional behaviour → at least one Acceptance Criterion | AC in Given/When/Then format |
|
|
57
|
+
|
|
58
|
+
### Tech-Spec coverage (against `{PREFIX}-Tech-Spec.md`)
|
|
59
|
+
|
|
60
|
+
| Check | Pass condition |
|
|
61
|
+
|-------|---------------|
|
|
62
|
+
| Every API endpoint in feature.md → endpoint spec in Tech-Spec | Method, path, request/response documented |
|
|
63
|
+
| Every data model field → entity definition in Tech-Spec | Model/class definition present |
|
|
64
|
+
| Every new service/component → listed in File Inventory | New files section |
|
|
65
|
+
| Every modified file → listed in File Inventory | Modified files section |
|
|
66
|
+
| Every Use Case ID from Requirements → referenced in Implementation Order | Traceability present |
|
|
67
|
+
| Every external integration → documented in External Integrations | Integration section present |
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Phase 4 — Gap Report
|
|
72
|
+
|
|
73
|
+
Build a structured gap report:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
📋 Coverage Report (prefix: FTR-001)
|
|
77
|
+
══════════════════════════════════════════════════════
|
|
78
|
+
|
|
79
|
+
{PREFIX}-Requirements.md
|
|
80
|
+
────────────────────────
|
|
81
|
+
✅ N/N functional behaviours covered by Use Cases
|
|
82
|
+
✅ N/N business rules present
|
|
83
|
+
⚠️ MISSING: [specific gap description]
|
|
84
|
+
|
|
85
|
+
{PREFIX}-Tech-Spec.md
|
|
86
|
+
──────────────────────
|
|
87
|
+
✅ N/N API endpoints documented
|
|
88
|
+
✅ N/N new files in File Inventory
|
|
89
|
+
⚠️ MISSING: [specific gap description]
|
|
90
|
+
|
|
91
|
+
══════════════════════════════════════════════════════
|
|
92
|
+
Result: N gaps found — revision required
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
If no gaps:
|
|
96
|
+
```
|
|
97
|
+
══════════════════════════════════════════════════════
|
|
98
|
+
Result: ✅ Full coverage — all feature claims addressed in both documents
|
|
99
|
+
══════════════════════════════════════════════════════
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Phase 5 — Revision Loop
|
|
105
|
+
|
|
106
|
+
If gaps were found, trigger targeted revisions. **Only revise the documents that have gaps** — do not touch clean documents.
|
|
107
|
+
|
|
108
|
+
### Revision instructions
|
|
109
|
+
|
|
110
|
+
For each document with gaps, invoke the corresponding agent with a **targeted revision prompt** that includes:
|
|
111
|
+
1. The path to the existing document to revise (not regenerate from scratch)
|
|
112
|
+
2. The exact list of gaps to address
|
|
113
|
+
3. The instruction to revise only the affected sections
|
|
114
|
+
|
|
115
|
+
### Revision rules
|
|
116
|
+
|
|
117
|
+
- **Max iterations**: 3 revision cycles. If gaps persist after 3 rounds, write the remaining gaps to the report and stop.
|
|
118
|
+
- **After each revision**: re-run Phase 3 on the updated document to verify gaps are resolved
|
|
119
|
+
- **Document what changed**: after each revision, note which gaps were resolved
|
|
120
|
+
- **Never revise a document that has no gaps** — even if the other document is being revised
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Phase 6 — Write Validation Report
|
|
125
|
+
|
|
126
|
+
Write `{PREFIX}-Validation-Report.md` in the same directory:
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
# Validation Report — {PREFIX}
|
|
130
|
+
|
|
131
|
+
## Summary
|
|
132
|
+
| Document | Gaps found | Gaps resolved | Status |
|
|
133
|
+
|----------|-----------|--------------|--------|
|
|
134
|
+
| {PREFIX}-Requirements.md | N | N | ✅ Clean |
|
|
135
|
+
| {PREFIX}-Tech-Spec.md | N | N | ✅ Clean |
|
|
136
|
+
|
|
137
|
+
## Gaps found and resolved
|
|
138
|
+
### Requirements
|
|
139
|
+
- [RESOLVED] Description → Resolution
|
|
140
|
+
|
|
141
|
+
### Tech-Spec
|
|
142
|
+
- [RESOLVED] Description → Resolution
|
|
143
|
+
|
|
144
|
+
## Remaining gaps (if any)
|
|
145
|
+
(none)
|
|
146
|
+
|
|
147
|
+
## Validation date
|
|
148
|
+
{date}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Clarification Protocol
|
|
154
|
+
|
|
155
|
+
When a gap is found but the correct resolution is ambiguous (e.g., the feature.md itself is contradictory, or a gap could be filled in multiple valid ways), **stop and ask the user** before revising. Use the `AskUserQuestion` tool to present:
|
|
156
|
+
|
|
157
|
+
1. A clear description of the gap and why the resolution is uncertain
|
|
158
|
+
2. Concrete options (2–4) representing valid ways to address it
|
|
159
|
+
3. **Always include** an option: "Leave as open point to discuss later" — which records the gap in the Validation Report as unresolved (not a failure) and skips revision for that item
|
|
160
|
+
|
|
161
|
+
Do NOT guess how to fill ambiguous gaps. Ask first, then revise only with a clear direction.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Guidelines
|
|
166
|
+
|
|
167
|
+
- **Do not regenerate documents from scratch** — targeted revisions only
|
|
168
|
+
- **Be specific about gaps** — point to the exact section, claim, and what is missing
|
|
169
|
+
- **Stop after 3 revision cycles** — if coverage is still incomplete, report remaining gaps and exit
|
|
170
|
+
- **Out-of-scope items are also validated** — ensure they are not accidentally included in outputs
|
|
171
|
+
- **Traceability is mandatory** — every Use Case ID in Requirements must appear in Tech-Spec
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Assessment Status — reports presence and state of all assessment artifacts for a given prefix (ASSESS-NNN). Shows what has been produced, what is stale, and what the next step is. Usage: /assessment-status <assessment-prefix>"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Assessment Status Command
|
|
6
|
+
|
|
7
|
+
Report the state of all assessment artifacts for the given prefix. This is a read-only command — it does not modify files or spawn agents.
|
|
8
|
+
|
|
9
|
+
## Input
|
|
10
|
+
|
|
11
|
+
The user provides an assessment prefix, e.g. `ASSESS-001` or just `001`. Normalise to `ASSESS-NNN` format.
|
|
12
|
+
|
|
13
|
+
If no prefix is provided, scan `docs/assessments/` for all `ASSESS-*` folders and list them, then ask which one to inspect.
|
|
14
|
+
|
|
15
|
+
## Step 1 — Locate Assessment Directory
|
|
16
|
+
|
|
17
|
+
Look for `docs/assessments/{PREFIX}/` in the current working directory.
|
|
18
|
+
|
|
19
|
+
If not found, report:
|
|
20
|
+
```
|
|
21
|
+
❌ No assessment directory found for {PREFIX}.
|
|
22
|
+
Expected: docs/assessments/{PREFIX}/
|
|
23
|
+
Run /assess-codebase to start a new assessment.
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Step 2 — Check Each Artifact
|
|
27
|
+
|
|
28
|
+
For each expected artifact, report status:
|
|
29
|
+
|
|
30
|
+
| Symbol | Meaning |
|
|
31
|
+
|--------|---------|
|
|
32
|
+
| ✅ | File exists and is not stale |
|
|
33
|
+
| ⚠️ | File exists but may be stale (check modification date) |
|
|
34
|
+
| ❌ | File missing |
|
|
35
|
+
| ⏭ | Deliberately skipped (noted in process log) |
|
|
36
|
+
|
|
37
|
+
### Assessment artifacts
|
|
38
|
+
|
|
39
|
+
| Artifact | Expected file |
|
|
40
|
+
|---|---|
|
|
41
|
+
| Generic Assessment | `{PREFIX}-Generic-Assessment.md` |
|
|
42
|
+
| Layer Assessment | `{PREFIX}-Layer-Assessment.md` |
|
|
43
|
+
| Concurrency Assessment | `{PREFIX}-Concurrency-Assessment.md` |
|
|
44
|
+
| [Other specialised assessments] | `{PREFIX}-*-Assessment.md` |
|
|
45
|
+
| Interventions Index | `{PREFIX}-Interventions-Index.md` |
|
|
46
|
+
| Approval Record | `{PREFIX}-Approvals.md` |
|
|
47
|
+
| Issues Register | `{PREFIX}-Issues.md` |
|
|
48
|
+
| Process Log | `{PREFIX}-process-log.txt` |
|
|
49
|
+
|
|
50
|
+
### Intervention documents
|
|
51
|
+
|
|
52
|
+
Scan for all `{PREFIX}-INT-NNN-*.md` files and report:
|
|
53
|
+
- Total count
|
|
54
|
+
- Count per criticality (if readable from file frontmatter or heading)
|
|
55
|
+
- Which have corresponding approved entries in `{PREFIX}-Approvals.md`
|
|
56
|
+
|
|
57
|
+
## Step 3 — Determine Current Phase
|
|
58
|
+
|
|
59
|
+
Based on what exists:
|
|
60
|
+
|
|
61
|
+
| Condition | Phase |
|
|
62
|
+
|---|---|
|
|
63
|
+
| No assessment files | Not started |
|
|
64
|
+
| Assessment files exist, no Interventions Index | Assessment in progress or incomplete |
|
|
65
|
+
| Interventions Index exists, no Approvals | Awaiting Remediation Gate |
|
|
66
|
+
| Approvals exist, no remediation commits | Remediation not started |
|
|
67
|
+
| Remediation commits exist, no PR | Remediation in progress |
|
|
68
|
+
| PR exists | Remediation complete — PR open |
|
|
69
|
+
|
|
70
|
+
## Step 4 — Suggest Next Step
|
|
71
|
+
|
|
72
|
+
Based on the current phase, suggest the appropriate action:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Next step: Run /assess-codebase docs/assessments/{PREFIX}/ --force
|
|
76
|
+
to regenerate stale assessment documents.
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
```
|
|
80
|
+
Next step: Review docs/assessments/{PREFIX}/{PREFIX}-Interventions-Index.md
|
|
81
|
+
then approve/reject interventions via /assess-codebase to continue.
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Output Format
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
📊 Assessment Status — {PREFIX}
|
|
88
|
+
════════════════════════════════════════
|
|
89
|
+
|
|
90
|
+
Directory: docs/assessments/{PREFIX}/
|
|
91
|
+
|
|
92
|
+
Assessment Documents:
|
|
93
|
+
✅ {PREFIX}-Generic-Assessment.md (modified: {date})
|
|
94
|
+
✅ {PREFIX}-Layer-Assessment.md (modified: {date})
|
|
95
|
+
❌ {PREFIX}-Concurrency-Assessment.md (missing)
|
|
96
|
+
|
|
97
|
+
Intervention Documents:
|
|
98
|
+
✅ {PREFIX}-Interventions-Index.md (N interventions: N CRITICAL, N HIGH, N MEDIUM, N LOW)
|
|
99
|
+
✅ {PREFIX}-INT-001-security-hardening.md
|
|
100
|
+
✅ {PREFIX}-INT-002-god-class-decomposition.md
|
|
101
|
+
❌ {PREFIX}-INT-003-di-refactoring.md (missing)
|
|
102
|
+
|
|
103
|
+
Approval Record:
|
|
104
|
+
✅ {PREFIX}-Approvals.md (INT-001 ✅, INT-002 ✅, INT-003 ⏭ deferred)
|
|
105
|
+
|
|
106
|
+
Issues Register:
|
|
107
|
+
⚠️ {PREFIX}-Issues.md (N open, N fixed, N deferred)
|
|
108
|
+
|
|
109
|
+
Process Log:
|
|
110
|
+
✅ {PREFIX}-process-log.txt (last entry: {timestamp})
|
|
111
|
+
|
|
112
|
+
────────────────────────────────────────
|
|
113
|
+
Current phase: Remediation in progress
|
|
114
|
+
Next step: Continue remediation or review open issues in {PREFIX}-Issues.md
|
|
115
|
+
════════════════════════════════════════
|
|
116
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Check Docs — quick consistency check between feature.md, requirements, and tech-spec. Reports only inconsistencies. Usage: /check-docs <feature-slug>"
|
|
3
|
+
argument-hint: <feature-slug>
|
|
4
|
+
allowed-tools: Read, Glob, Grep, Agent
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Run a terse consistency check on the feature documents for `$ARGUMENTS`.
|
|
8
|
+
|
|
9
|
+
Approach:
|
|
10
|
+
1. Locate the feature folder under `docs/features/` (match by slug or FTR id).
|
|
11
|
+
2. Spawn the `validate-feature-docs` agent and pass the feature.md path as input.
|
|
12
|
+
3. From the agent's report, extract ONLY the inconsistencies. Skip the OK items, summaries, and recommendations.
|
|
13
|
+
4. Render the inconsistencies as a bullet list with this exact format:
|
|
14
|
+
- `<doc>:<section>` — <one-line description of the gap>
|
|
15
|
+
|
|
16
|
+
If there are no inconsistencies, output a single line: `✅ Docs are consistent.`
|
|
17
|
+
|
|
18
|
+
Do not propose fixes. This command is a diagnostic, not a corrective.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Feature Status — reports presence and state of all feature artifacts (feature.md, requirements, tech-spec, work breakdown, implementation). Usage: /feature-status <feature-slug>"
|
|
3
|
+
argument-hint: <feature-slug>
|
|
4
|
+
allowed-tools: Read, Glob, Grep, Bash
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Report the status of feature `$ARGUMENTS`.
|
|
8
|
+
|
|
9
|
+
Steps:
|
|
10
|
+
1. Locate the feature folder under `docs/features/`. Match by slug or FTR id (e.g. `FTR-001-user-login` matches both `001` and `user-login`).
|
|
11
|
+
2. For each of the following artifacts, check presence and basic completeness:
|
|
12
|
+
- `feature.md` — the source brief
|
|
13
|
+
- `{PREFIX}-Requirements.md` — functional requirements
|
|
14
|
+
- `{PREFIX}-Tech-Spec.md` — technical specification
|
|
15
|
+
- `{PREFIX}-Work-Breakdown.md` — user stories + tasks
|
|
16
|
+
- Implementation status: cross-check tasks in the work breakdown against the codebase. For each task, report `done` / `partial` / `not started` based on whether the referenced files/symbols exist.
|
|
17
|
+
3. Output a single markdown table with columns: `Artifact | Status | Notes`. Status uses ✅ / ⚠️ / ❌. Keep notes under 80 chars.
|
|
18
|
+
4. After the table, list the next 1–3 actionable items in priority order.
|
|
19
|
+
|
|
20
|
+
Do not spawn subagents. Do not modify files. Read-only operation.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Next Task — finds the next unblocked task in the active work breakdown and suggests which developer agent should handle it. Usage: /next-task [feature-slug]"
|
|
3
|
+
argument-hint: "[feature-slug]"
|
|
4
|
+
allowed-tools: Read, Glob, Grep
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Identify the next unblocked task to work on.
|
|
8
|
+
|
|
9
|
+
Steps:
|
|
10
|
+
1. If `$ARGUMENTS` is provided, target that feature. Otherwise, list all feature folders under `docs/features/` and select the most recently modified one (use `git log -1 --format=%cd <path>` or filesystem mtime).
|
|
11
|
+
2. Read `{PREFIX}-Work-Breakdown.md` in the chosen feature folder (where `{PREFIX}` matches the folder name pattern, e.g. `FTR-001`).
|
|
12
|
+
3. Parse the task list. Identify the FIRST task that meets ALL these criteria, in order:
|
|
13
|
+
- Status is `pending` / `todo` / `not started` (not `done`, `in progress`, `blocked`)
|
|
14
|
+
- All listed dependencies (other task IDs) are marked `done`
|
|
15
|
+
- Not flagged as `BLOCKED` or `BLOCKED BY`
|
|
16
|
+
4. Output a structured block:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
Feature: <slug>
|
|
20
|
+
Task ID: <id>
|
|
21
|
+
Domain: <DB | BE | FE | INFRA | TEST>
|
|
22
|
+
Title: <task title>
|
|
23
|
+
|
|
24
|
+
Suggested agent: <subagent_type>
|
|
25
|
+
Suggested invocation:
|
|
26
|
+
subagent_type: <developer-backend | developer-frontend | developer-testing>
|
|
27
|
+
prompt: <feature-md-path> <task-id>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Domain → agent mapping:
|
|
31
|
+
- `DB`, `BE`, `INFRA` → `developer-backend`
|
|
32
|
+
- `FE` → `developer-frontend`
|
|
33
|
+
- `TEST` → `developer-testing`
|
|
34
|
+
|
|
35
|
+
5. If no unblocked task remains, output: `✅ All tasks are either done, in progress, or blocked. Check blockers.`
|
|
36
|
+
|
|
37
|
+
Do not spawn the agent automatically. Just suggest the invocation — the user decides when to delegate.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "PR Description — generates a pull request description from current branch commits and the linked feature.md. Usage: /pr-description"
|
|
3
|
+
allowed-tools: Read, Glob, Grep, Bash
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Generate a pull request description for the current branch.
|
|
7
|
+
|
|
8
|
+
Steps:
|
|
9
|
+
1. Determine the current branch name: `git rev-parse --abbrev-ref HEAD`.
|
|
10
|
+
2. Extract a feature identifier from the branch name (look for `FTR-XXX` or a slug pattern).
|
|
11
|
+
3. Find the matching feature folder under `docs/features/`. If multiple match, ask the user.
|
|
12
|
+
4. Read `feature.md` (and `{PREFIX}-Requirements.md` if present) for context.
|
|
13
|
+
5. Collect the commits on this branch: `git log --no-merges $(git merge-base HEAD origin/main 2>/dev/null || git merge-base HEAD origin/master)..HEAD --pretty=format:"%h %s"`. If neither `main` nor `master` exists, ask the user for the base branch.
|
|
14
|
+
6. Produce the PR description using this exact template:
|
|
15
|
+
|
|
16
|
+
```markdown
|
|
17
|
+
## Summary
|
|
18
|
+
<2–4 bullet points: what changed and why, framed from the feature.md goal>
|
|
19
|
+
|
|
20
|
+
## Changes
|
|
21
|
+
<bullet list grouped by area: Backend / Frontend / DB / Tests / Docs — only include groups that have actual changes>
|
|
22
|
+
|
|
23
|
+
## Test plan
|
|
24
|
+
- [ ] <concrete test step 1>
|
|
25
|
+
- [ ] <concrete test step 2>
|
|
26
|
+
- [ ] <concrete test step 3>
|
|
27
|
+
|
|
28
|
+
## Linked feature
|
|
29
|
+
`docs/features/<folder>/feature.md`
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
7. Output ONLY the markdown above (no preamble, no postscript). The user will copy-paste it into the PR.
|
|
33
|
+
|
|
34
|
+
If you cannot find a matching feature folder, fall back to generating the description from commits alone and note this in a single line above the output.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Assess Codebase — starts the full codebase assessment pipeline (parallel assessment → findings consolidation → intervention documents → approval gate → remediation → review → PR). Usage: /assess-codebase [path] [--scope=architecture,security,quality,concurrency,devops] [--force]"
|
|
3
|
+
argument-hint: "[path] [--scope=architecture,security,quality,concurrency,devops] [--force]"
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Spawn the `assessment-manager` agent with the arguments provided by the user:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
subagent_type: assessment-manager
|
|
11
|
+
prompt: <path> [--scope=...] [--force]
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
If no path is provided, use `.` (current working directory).
|
|
15
|
+
|
|
16
|
+
Pass the exact arguments the user typed after `/assess-codebase` as the prompt to the agent. Do not add anything else.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Define Feature — grills the user to define a new feature, then writes feature.md in docs/features/FTR-XXX-slug/. Usage: /define-feature"
|
|
3
|
+
disable-model-invocation: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Spawn the `define-feature` agent with no additional arguments:
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
subagent_type: define-feature
|
|
10
|
+
prompt: Start the feature definition session.
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Do not add anything else. The agent handles discovery, grilling, and file creation autonomously.
|