ai-spector 0.8.52 → 0.8.54
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/dist/core/workflow/route-intent.d.ts.map +1 -1
- package/dist/core/workflow/route-intent.js +21 -1
- package/dist/core/workflow/route-intent.js.map +1 -1
- package/package.json +1 -1
- package/scaffold/cursor/WORKFLOW.md +42 -61
- package/scaffold/cursor/commands/generate-srs.md +9 -9
- package/scaffold/cursor/commands/resolve-comments.md +5 -4
- package/scaffold/cursor/commands/review.md +4 -3
- package/scaffold/cursor/rules/ai-spector-routing.mdc +42 -60
- package/scaffold/cursor/skills/README.md +16 -17
- package/scaffold/cursor/skills/_skill-router.md +4 -6
- package/scaffold/cursor/skills/ai-spector-check/SKILL.md +0 -7
- package/scaffold/cursor/skills/ai-spector-generate/SKILL.md +0 -4
- package/scaffold/cursor/skills/ai-spector-generate-basic-design/SKILL.md +0 -7
- package/scaffold/cursor/skills/ai-spector-generate-prototype/SKILL.md +0 -7
- package/scaffold/cursor/skills/ai-spector-generate-srs/SKILL.md +0 -7
- package/scaffold/cursor/skills/ai-spector-graph/SKILL.md +0 -7
- package/scaffold/cursor/skills/ai-spector-resolve-comments/SKILL.md +0 -7
- package/scaffold/cursor/skills/ai-spector-resolve-task/SKILL.md +0 -7
- package/scaffold/cursor/skills/ai-spector-review/SKILL.md +0 -6
- package/scaffold/cursor/skills/ai-spector-search/SKILL.md +0 -7
- package/scaffold/cursor/skills/ai-spector-setup/SKILL.md +0 -7
- package/scaffold/cursor/skills/ai-spector-task/SKILL.md +0 -7
- package/scaffold/cursor/ACTIVE-WORKER.md +0 -46
- package/scaffold/cursor/subagents/README.md +0 -53
- package/scaffold/cursor/subagents/doc-review.md +0 -45
- package/scaffold/cursor/subagents/generate-basic-design.md +0 -28
- package/scaffold/cursor/subagents/generate-prototype.md +0 -31
- package/scaffold/cursor/subagents/generate-srs.md +0 -44
- package/scaffold/cursor/subagents/graph-ops.md +0 -34
- package/scaffold/cursor/subagents/resolve-comments.md +0 -38
- package/scaffold/cursor/subagents/resolve-task.md +0 -40
- package/scaffold/cursor/subagents/search.md +0 -25
- package/scaffold/cursor/subagents/setup-check.md +0 -25
- package/scaffold/cursor/subagents/spec-queue.md +0 -34
- package/scaffold/cursor/subagents/task-router.md +0 -39
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-intent.d.ts","sourceRoot":"","sources":["../../../src/core/workflow/route-intent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,MAAM,MAAM,UAAU,GAClB,YAAY,GACZ,kBAAkB,GAClB,cAAc,GACd,uBAAuB,GACvB,oBAAoB,GACpB,cAAc,GACd,aAAa,GACb,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,aAAa,CAAC;AAElB,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE;QACR,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;QACxC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,sBAAsB,EAAE,CAAA;KAAE,CAAC;IAClE,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;CAC3C;
|
|
1
|
+
{"version":3,"file":"route-intent.d.ts","sourceRoot":"","sources":["../../../src/core/workflow/route-intent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,MAAM,MAAM,UAAU,GAClB,YAAY,GACZ,kBAAkB,GAClB,cAAc,GACd,uBAAuB,GACvB,oBAAoB,GACpB,cAAc,GACd,aAAa,GACb,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,aAAa,CAAC;AAElB,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE;QACR,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;QACxC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,sBAAsB,EAAE,CAAA;KAAE,CAAC;IAClE,OAAO,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;CAC3C;AA+PD,uFAAuF;AACvF,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,oBAAoB,GACxB,mBAAmB,CA0KrB"}
|
|
@@ -106,6 +106,26 @@ function inferPhase(skill, ctx, matchedBy) {
|
|
|
106
106
|
}
|
|
107
107
|
return "start";
|
|
108
108
|
}
|
|
109
|
+
function skillReadBrief(skill) {
|
|
110
|
+
if (skill === "ai-spector-generate") {
|
|
111
|
+
return ".cursor/skills/ai-spector/references/extract-specs.md";
|
|
112
|
+
}
|
|
113
|
+
const runbookSkills = new Set([
|
|
114
|
+
"ai-spector-review",
|
|
115
|
+
"ai-spector-resolve-comments",
|
|
116
|
+
"ai-spector-generate-srs",
|
|
117
|
+
"ai-spector-generate-basic-design",
|
|
118
|
+
"ai-spector-generate-prototype",
|
|
119
|
+
"ai-spector-resolve-task",
|
|
120
|
+
"ai-spector-task",
|
|
121
|
+
"ai-spector-setup",
|
|
122
|
+
"ai-spector-resolve-translation",
|
|
123
|
+
]);
|
|
124
|
+
if (runbookSkills.has(skill)) {
|
|
125
|
+
return `.cursor/skills/${skill}/references/runbook.md`;
|
|
126
|
+
}
|
|
127
|
+
return `.cursor/skills/${skill}/SKILL.md`;
|
|
128
|
+
}
|
|
109
129
|
function buildHandoff(workflowId, skill, userGoal, ctx, matchedBy, allowedTools, forbiddenTools) {
|
|
110
130
|
const hasPersistedState = !!ctx.reviewSession || !!ctx.activeTask;
|
|
111
131
|
const gated = !["graph-ops", "search"].includes(workflowId);
|
|
@@ -115,7 +135,7 @@ function buildHandoff(workflowId, skill, userGoal, ctx, matchedBy, allowedTools,
|
|
|
115
135
|
phase: inferPhase(skill, ctx, matchedBy),
|
|
116
136
|
userGoal,
|
|
117
137
|
resumeFromState: hasPersistedState,
|
|
118
|
-
readBrief:
|
|
138
|
+
readBrief: skillReadBrief(skill),
|
|
119
139
|
runInBackground: !gated,
|
|
120
140
|
...(allowedTools?.length ? { allowedTools } : {}),
|
|
121
141
|
...(forbiddenTools?.length ? { forbiddenTools } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-intent.js","sourceRoot":"","sources":["../../../src/core/workflow/route-intent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"route-intent.js","sourceRoot":"","sources":["../../../src/core/workflow/route-intent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,25 +1,8 @@
|
|
|
1
1
|
# AI Spector workflow
|
|
2
2
|
|
|
3
|
-
**You describe what you need in chat.**
|
|
3
|
+
**You describe what you need in chat.** Cursor picks the right **skill**; the agent calls **MCP tools** (when `ai-spector` server is configured) or falls back to **`npx ai-spector`** CLI. You do not need to memorize command names.
|
|
4
4
|
|
|
5
|
-
Enable all skills under `.cursor/skills/` (see [skills/README.md](./skills/README.md)).
|
|
6
|
-
|
|
7
|
-
## Orchestrator vs worker
|
|
8
|
-
|
|
9
|
-
| Layer | Role | Asks user? |
|
|
10
|
-
|-------|------|------------|
|
|
11
|
-
| **Orchestrator** | `workflow_route`, disambiguate approve, spawn worker | Yes — routing questions **before** spawn |
|
|
12
|
-
| **Worker** | One runbook + MCP tools for one job | Returns `waiting_user` → orchestrator relays question in chat |
|
|
13
|
-
|
|
14
|
-
After you answer a worker question, the orchestrator **resumes the same `workflowId`** (or respawns with state from disk).
|
|
15
|
-
|
|
16
|
-
## Slash commands → worker
|
|
17
|
-
|
|
18
|
-
| Command | workflowId |
|
|
19
|
-
|---------|------------|
|
|
20
|
-
| `/review` | `doc-review` |
|
|
21
|
-
| `/resolve-comments` | `resolve-comments` |
|
|
22
|
-
| `/generate-srs` | `generate-srs` |
|
|
5
|
+
Enable all skills under `.cursor/skills/` (see [skills/README.md](./skills/README.md)). On CLI or tool failure: agent pauses, shows output, and offers fix / workaround / pause — [cli-failures](./skills/ai-spector/references/cli-failures.md).
|
|
23
6
|
|
|
24
7
|
## One-time setup
|
|
25
8
|
|
|
@@ -42,35 +25,33 @@ Then: add files under `docs/data-source/`, enable **all** skills under `.cursor/
|
|
|
42
25
|
|
|
43
26
|
| You want to… | Say (examples) | Skill | Agent runs (MCP preferred) |
|
|
44
27
|
|--------------|----------------|-------|---------------------------|
|
|
45
|
-
| **Learn / open course** |
|
|
46
|
-
| **Setup project** |
|
|
47
|
-
| **Check workspace** |
|
|
48
|
-
| **Resume / manage tasks** |
|
|
49
|
-
| Ingest sources |
|
|
50
|
-
| Check graph health |
|
|
51
|
-
| Refresh after edits |
|
|
52
|
-
| Write SRS |
|
|
53
|
-
| Basic design |
|
|
54
|
-
| Review extracted specs |
|
|
55
|
-
| Answer clarifications |
|
|
56
|
-
| Detail design |
|
|
57
|
-
| HTML prototype |
|
|
58
|
-
| Pick / preview UI theme |
|
|
59
|
-
| What to redo |
|
|
60
|
-
| Find docs by concept |
|
|
61
|
-
| Find graph node by name |
|
|
62
|
-
| Translation status |
|
|
63
|
-
| Sync translations |
|
|
64
|
-
| Review comments |
|
|
65
|
-
| **Review documents** | **`/review`**,
|
|
66
|
-
| Add/update one feature or section |
|
|
67
|
-
| Explore graph |
|
|
68
|
-
|
|
69
|
-
Unsure? Say **"help me approve"** or call **`workflow_route`** —
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
### “Approve” disambiguation
|
|
28
|
+
| **Learn / open course** | "open the course", "learn ai-spector", "mở khóa học", "khóa học tiếng Việt" | `ai-spector-course` | `course serve --open [--lang vi]` → link lesson |
|
|
29
|
+
| **Setup project** | "setup ai-spector", "initialize project", "bootstrap project" | `ai-spector-setup` | `setup --check` → `setup -y` → enable skills checklist |
|
|
30
|
+
| **Check workspace** | "check my workspace", "why did pre-commit block me", "stale clarifications" | `ai-spector-check` | `workspace_check({})` → findings table → optional `fix: true` |
|
|
31
|
+
| **Resume / manage tasks** | "resume my SRS", "continue generation", "active tasks", "pause task" | `ai-spector-task` | `task_list` → `task_resume` / `task_get` → route to generate or resolve skill |
|
|
32
|
+
| Ingest sources | "analyze my data source", "build the knowledge graph" | `ai-spector-graph` | `index({})` → agent extracts → `knowledge_validate` → `graph_merge` → `graph_validate` |
|
|
33
|
+
| Check graph health | "validate the graph", "graph errors", "graph report" | `ai-spector-graph` | `graph_validate({})` · `graph_report({})` |
|
|
34
|
+
| Refresh after edits | "re-index", "sync the graph" | `ai-spector-graph` | `index({ cocoindexSync: true })` (or `index({})` if no CocoIndex) |
|
|
35
|
+
| Write SRS | "generate SRS", "write use cases" | `ai-spector-generate-srs` | `task_create` → **gated**: check → clarify → briefing + plan → `task_approve_plan` → `task_record_wave` per wave → `spec_record` → `task_complete` |
|
|
36
|
+
| Basic design | "screen list", "API design", "wireframes" | `ai-spector-generate-basic-design` | same task-state flow → docs/basic-design → index each wave |
|
|
37
|
+
| Review extracted specs | "pending specs", "approve SPEC-001" | (generate skills, stage 6) | `spec_list` → `spec_approve` (merges to graph) / `spec_reject` |
|
|
38
|
+
| Answer clarifications | "open questions", "what did I answer about auth" | `ai-spector-check` | `context_list` → `context_resolve` |
|
|
39
|
+
| Detail design | "detail design for checkout" | `ai-spector-generate-detail-design` | docs/detail-design |
|
|
40
|
+
| HTML prototype | "HTML mockup", "prototype with stripe theme" | `ai-spector-generate-prototype` | auth picker (if needed) → theme picker → setup → HTML → validate |
|
|
41
|
+
| Pick / preview UI theme | "help me pick a theme", "show me themes" | `ai-spector-generate-prototype` | read project context → recommend 3 → `prototype preview` ×3 |
|
|
42
|
+
| What to redo | "what's impacted", "what should I regenerate" | `ai-spector-graph` | `graph_impact({ git: true, change: "…" })` — includes `semanticSuggestions` when CocoIndex ready |
|
|
43
|
+
| Find docs by concept | "find all mentions of rate limiting", "which docs describe login?" | `ai-spector-search` | `docs_search({ query })` MCP |
|
|
44
|
+
| Find graph node by name | "show graph for user login" (node ID unknown) | `ai-spector-search` | `graph_query_fuzzy({ query })` MCP |
|
|
45
|
+
| Translation status | "what's stale in JP", "pending translations" | `ai-spector-lang-status` | `lang_queue({})` MCP |
|
|
46
|
+
| Sync translations | "resolve translations", "update JP from EN" | `ai-spector-resolve-translation` | read queue → translate → `index({ cocoindexSync: true })` |
|
|
47
|
+
| Review comments | "resolve comments", "fix C-001" | `ai-spector-resolve-comments` | inbox → plan → edit → commit |
|
|
48
|
+
| **Review documents** | **`/review`**, "review docs", "approve SRS", "approve srs/01-overview", "pending review", "what changed since approval" | `ai-spector-review` | `review_check` → queue → pick → `review_status` (readiness + custom checklists) → read doc → graph_impact → **write review** → user decision → `review_approve` / `review_reject` |
|
|
49
|
+
| Add/update one feature or section | "I want to add login with Google", "add requirement", "update auth section" | `ai-spector-resolve-task` | `task_create` → clarify → plan → `task_approve_plan` → `resolve_task({ taskId })` → `task_complete` |
|
|
50
|
+
| Explore graph | "show the graph" | `ai-spector-graph` | `npx ai-spector graph visualize --open` (no MCP equivalent) |
|
|
51
|
+
|
|
52
|
+
Unsure? Say **"help me approve"** or call **`workflow_route`** — the agent uses [skills/_skill-router.md](./skills/_skill-router.md) or asks one clarifying question.
|
|
53
|
+
|
|
54
|
+
### "Approve" disambiguation
|
|
74
55
|
|
|
75
56
|
When intent is unclear, the agent asks:
|
|
76
57
|
|
|
@@ -84,10 +65,10 @@ Which did you mean?
|
|
|
84
65
|
|
|
85
66
|
| You mean… | Say… | Tool |
|
|
86
67
|
|-----------|------|------|
|
|
87
|
-
| Sign off a document | **`/review`** or
|
|
88
|
-
| Approve extracted spec |
|
|
89
|
-
| Approve plan to execute |
|
|
90
|
-
| Mark comment thread done |
|
|
68
|
+
| Sign off a document | **`/review`** or "approve srs/01-overview" | `review_approve` via `ai-spector-review` |
|
|
69
|
+
| Approve extracted spec | "approve SPEC-001" | `spec_approve` |
|
|
70
|
+
| Approve plan to execute | "yes, go ahead" (after plan table) | `task_approve_plan` |
|
|
71
|
+
| Mark comment thread done | "resolve C-012" | `comments_resolve` |
|
|
91
72
|
|
|
92
73
|
Full plan: [../../docs/review-routing-impl-plan.md](../../docs/review-routing-impl-plan.md).
|
|
93
74
|
|
|
@@ -96,10 +77,10 @@ Full plan: [../../docs/review-routing-impl-plan.md](../../docs/review-routing-im
|
|
|
96
77
|
```text
|
|
97
78
|
npx ai-spector init
|
|
98
79
|
docs/data-source/ ← your inputs
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
80
|
+
"analyze the data source"
|
|
81
|
+
"validate the graph"
|
|
82
|
+
"generate the SRS"
|
|
83
|
+
"refresh the index"
|
|
103
84
|
```
|
|
104
85
|
|
|
105
86
|
## Pipeline order
|
|
@@ -124,10 +105,10 @@ offers extracted key specs for review — only approved specs reach the graph, a
|
|
|
124
105
|
|
|
125
106
|
| Symptom | What to say / do |
|
|
126
107
|
|---------|------------------|
|
|
127
|
-
| Analyze failed | Agent offers fix vs workaround; say **1** to retry or
|
|
128
|
-
| Validate errors |
|
|
129
|
-
| Empty SRS |
|
|
130
|
-
| Unsure what regen |
|
|
131
|
-
| Comments incomplete |
|
|
108
|
+
| Analyze failed | Agent offers fix vs workaround; say **1** to retry or "analyze again" after fixing data-source |
|
|
109
|
+
| Validate errors | "validate the graph" — agent explains each error |
|
|
110
|
+
| Empty SRS | "analyze" then "generate SRS" — not bulk-read all docs |
|
|
111
|
+
| Unsure what regen | "what's the impact of my changes" |
|
|
112
|
+
| Comments incomplete | "resolve comments" — commit must include doc + `comments/` meta |
|
|
132
113
|
|
|
133
114
|
References: [cli-failures](./skills/ai-spector/references/cli-failures.md), [graph CLI](./skills/ai-spector/references/graph.md), [prerequisites](./skills/ai-spector/references/prerequisites.md).
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Full **SRS generation** from the traceability graph (gated waves). Not incremental single-feature adds.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Start here
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
1. Activate skill **`ai-spector-generate-srs`**
|
|
8
|
+
2. Read `.cursor/skills/ai-spector-generate-srs/references/runbook.md`
|
|
8
9
|
|
|
9
|
-
##
|
|
10
|
+
## Agent steps (MCP preferred)
|
|
10
11
|
|
|
11
12
|
| Phase | Action |
|
|
12
13
|
|-------|--------|
|
|
@@ -15,18 +16,17 @@ Spawn **`generate-srs`** worker — brief: [../subagents/generate-srs.md](../sub
|
|
|
15
16
|
| 2 | Clarify gaps → context store |
|
|
16
17
|
| 3 | Briefing + plan table → **wait for user yes** → `task_approve_plan` |
|
|
17
18
|
| 4 | DAG waves → `task_record_wave` per wave → `index` |
|
|
18
|
-
| 5 | Offer spec extraction →
|
|
19
|
+
| 5 | Offer spec extraction → `spec_list` / `spec_approve` if user wants |
|
|
19
20
|
|
|
20
21
|
## Hard gate
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
No writes under `docs/` until **`task_approve_plan`**.
|
|
23
24
|
|
|
24
25
|
## Not this command
|
|
25
26
|
|
|
26
27
|
| You mean | Use instead |
|
|
27
28
|
|----------|-------------|
|
|
28
|
-
| "add login with Google" | resolve-task
|
|
29
|
-
| Approve
|
|
30
|
-
| Approve SPEC-003 | spec-queue after extract |
|
|
29
|
+
| Add one feature ("add login with Google") | `ai-spector-resolve-task` |
|
|
30
|
+
| Approve SPEC-003 only | "approve SPEC-003" |
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Routing: [skills/_skill-router.md](../skills/_skill-router.md)
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Git-backed **comment threads** — not formal document sign-off, specs, or task plans.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Start here
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
1. Activate skill **`ai-spector-resolve-comments`**
|
|
8
|
+
2. Read `.cursor/skills/ai-spector-resolve-comments/references/runbook.md`
|
|
8
9
|
|
|
9
|
-
##
|
|
10
|
+
## Agent steps (MCP preferred)
|
|
10
11
|
|
|
11
12
|
| Phase | Action |
|
|
12
13
|
|-------|--------|
|
|
@@ -28,4 +29,4 @@ Spawn **`resolve-comments`** worker — brief: [../subagents/resolve-comments.md
|
|
|
28
29
|
| Approve SPEC-003 | "approve SPEC-003" |
|
|
29
30
|
| Yes to plan table | "yes, go ahead" (task approval) |
|
|
30
31
|
|
|
31
|
-
Routing: [skills/_skill-router.md](../skills/_skill-router.md)
|
|
32
|
+
Routing: [skills/_skill-router.md](../skills/_skill-router.md)
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Formal **document sign-off** — not comment threads, extracted specs, or task plans.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Start here
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
1. Activate skill **`ai-spector-review`**
|
|
8
|
+
2. Read `.cursor/skills/ai-spector-review/references/runbook.md`
|
|
8
9
|
|
|
9
|
-
##
|
|
10
|
+
## Agent steps (MCP preferred)
|
|
10
11
|
|
|
11
12
|
| Phase | Action |
|
|
12
13
|
|-------|--------|
|
|
@@ -1,58 +1,25 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: >-
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Route ai-spector requests to the correct skill and MCP tools. Disambiguate approve/review
|
|
4
|
+
intent; enforce review, generate, and resolve-task gates. See _skill-router.md for full tables.
|
|
5
5
|
alwaysApply: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# AI Spector
|
|
8
|
+
# AI Spector routing
|
|
9
9
|
|
|
10
|
-
**
|
|
11
|
-
|
|
12
|
-
## You are the orchestrator (parent)
|
|
13
|
-
|
|
14
|
-
1. **Classify** — priority table below, or `workflow_route({ message })` when ambiguous
|
|
15
|
-
2. **Ask before spawn** — if `askUser` or low confidence, show question in main chat and **do not spawn** a worker yet
|
|
16
|
-
3. **Delegate** — spawn one worker from `.cursor/subagents/<workflowId>.md` with `handoff` from `workflow_route` (or build from table below)
|
|
17
|
-
4. **Relay gates** — workers return `waiting_user` + `askUser`; you show it in main chat. User reply → **resume same `workflowId`** (prefer `Task resume`) or fresh spawn with `resumeFromState: true`
|
|
18
|
-
5. **Never inline runbooks** — do not load generate + review + resolve runbooks in parent chat
|
|
19
|
-
|
|
20
|
-
Workers must **not** call `workflow_route` or read `_skill-router.md`.
|
|
10
|
+
**Full router:** `.cursor/skills/_skill-router.md` · **User guide:** `.cursor/WORKFLOW.md`
|
|
21
11
|
|
|
22
12
|
## Priority (first match wins)
|
|
23
13
|
|
|
24
|
-
0. **Document sign-off**
|
|
25
|
-
0.5. **Active review session** — `.session.json` phase `queue
|
|
26
|
-
1. **Resume task** →
|
|
27
|
-
2. **Incremental change** →
|
|
28
|
-
3. **Full generation**
|
|
29
|
-
|
|
30
|
-
## skill → workflowId
|
|
31
|
-
|
|
32
|
-
| Skill | workflowId |
|
|
33
|
-
|-------|------------|
|
|
34
|
-
| `ai-spector-review` | `doc-review` |
|
|
35
|
-
| `ai-spector-resolve-comments` | `resolve-comments` |
|
|
36
|
-
| `ai-spector-generate-srs` | `generate-srs` |
|
|
37
|
-
| `ai-spector-generate-basic-design` | `generate-basic-design` |
|
|
38
|
-
| `ai-spector-generate-prototype` | `generate-prototype` |
|
|
39
|
-
| `ai-spector-resolve-task` | `resolve-task` |
|
|
40
|
-
| `ai-spector-task` | `task-router` |
|
|
41
|
-
| `ai-spector-generate` (spec) | `spec-queue` |
|
|
42
|
-
| `ai-spector-graph` | `graph-ops` |
|
|
43
|
-
| `ai-spector-search` | `search` |
|
|
44
|
-
| `ai-spector-course` | *(parent — open course + link lesson; no worker)* |
|
|
45
|
-
| `ai-spector-setup` / `ai-spector-check` | `setup-check` |
|
|
46
|
-
|
|
47
|
-
Spawn: `Task({ prompt: handoff from workflow_route, run_in_background: false })` for gated workflows.
|
|
48
|
-
|
|
49
|
-
## Active worker (observability)
|
|
50
|
-
|
|
51
|
-
Call **`workflow_status({})`** at session start or after delegating — show `statusLine` to the user when `active` is set (e.g. `Active worker: doc-review (reviewing srs/01-overview)`). Details: [ACTIVE-WORKER.md](../ACTIVE-WORKER.md).
|
|
14
|
+
0. **Document sign-off** — `/review`, approve doc, review queue, pending client, logical path (`srs/…`) → **`ai-spector-review`**
|
|
15
|
+
0.5. **Active review session** — if `.ai-spector/.docflow/review-queue/.session.json` phase is `queue`, `reviewing`, or `awaiting_decision` → **`ai-spector-review`** (overrides "continue"/"resume" unless user clearly switches topic)
|
|
16
|
+
1. **Resume task** — resume, continue generation, active tasks → **`ai-spector-task`** (skip if sign-off cues or active review session)
|
|
17
|
+
2. **Incremental change** — add/update/change/"I want to…" → **`ai-spector-resolve-task`**
|
|
18
|
+
3. **Full generation** — generate SRS/chapter/DAG → **`ai-spector-generate-*`**
|
|
52
19
|
|
|
53
20
|
## Ambiguous "approve" or "looks good"
|
|
54
21
|
|
|
55
|
-
|
|
22
|
+
Call **`workflow_route({ message })`** or ask **one** question — do **not** call any approve tool until answered:
|
|
56
23
|
|
|
57
24
|
```
|
|
58
25
|
Which did you mean?
|
|
@@ -62,25 +29,40 @@ Which did you mean?
|
|
|
62
29
|
4. Mark a comment thread done (e.g. C-012) — feedback addressed
|
|
63
30
|
```
|
|
64
31
|
|
|
65
|
-
| Answer |
|
|
66
|
-
|
|
67
|
-
| 1 | `
|
|
68
|
-
| 2 |
|
|
69
|
-
| 3 |
|
|
70
|
-
| 4 | `resolve-comments` | `comments_resolve` |
|
|
32
|
+
| Answer | Skill | Tool |
|
|
33
|
+
|--------|-------|------|
|
|
34
|
+
| 1 | `ai-spector-review` | `review_approve` (after runbook) |
|
|
35
|
+
| 2 | generate + extract-specs | `spec_approve` |
|
|
36
|
+
| 3 | resolve-task or generate | `task_approve_plan` |
|
|
37
|
+
| 4 | `ai-spector-resolve-comments` | `comments_resolve` |
|
|
38
|
+
|
|
39
|
+
## Document review gate
|
|
40
|
+
|
|
41
|
+
Triggers: review documents, approve doc, review queue, `/review`.
|
|
42
|
+
|
|
43
|
+
1. Activate **`ai-spector-review`** — read `references/runbook.md`
|
|
44
|
+
2. Phases: `review_check` → `review_queue` → `review_status` + read doc → `graph_impact` → **write review in chat** → `review_session_ack_review` → decision menu → `review_approve` only on user **Approve**
|
|
45
|
+
3. **Forbidden:** `review_approve` without written review + ack; using `spec_approve` / `task_approve_plan` / `comments_resolve` for document sign-off
|
|
46
|
+
|
|
47
|
+
## Generate gate (SRS / basic design)
|
|
48
|
+
|
|
49
|
+
Triggers: generate SRS, write chapter, DAG wave.
|
|
50
|
+
|
|
51
|
+
1. **`ai-spector-generate-srs`** or **`ai-spector-generate-basic-design`** — not resolve-task
|
|
52
|
+
2. `task_list` → clarify → briefing → plan → **`task_approve_plan`** before any `docs/` write
|
|
53
|
+
3. `task_approve_plan` is **plan** approval — not document sign-off (`review_approve`)
|
|
54
|
+
|
|
55
|
+
## Resolve-task gate (incremental)
|
|
71
56
|
|
|
72
|
-
|
|
57
|
+
Triggers: add/update/change feature, section, or prototype.
|
|
73
58
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
| Generate SRS/BD | `subagents/generate-srs.md` | `docs/` writes before `task_approve_plan` |
|
|
78
|
-
| Resolve task | `subagents/resolve-task.md` | edits before plan yes |
|
|
79
|
-
| Comments | `subagents/resolve-comments.md` | `review_approve` for threads |
|
|
59
|
+
1. **`ai-spector-resolve-task`** — not generate-srs for single-feature adds
|
|
60
|
+
2. Clarify → GoalSpec + TaskPlan → wait for **yes** → then edit / `graph_impact` / `resolve_task`
|
|
61
|
+
3. **Forbidden before plan approval:** edits under `docs/` or `prototype/`, `graph_impact`, `index`
|
|
80
62
|
|
|
81
63
|
## Generate vs incremental
|
|
82
64
|
|
|
83
|
-
| Request |
|
|
84
|
-
|
|
85
|
-
| "generate SRS", "write chapter 4" |
|
|
86
|
-
| "add login with Google", "update auth section" |
|
|
65
|
+
| Request | Skill |
|
|
66
|
+
|---------|-------|
|
|
67
|
+
| "generate SRS", "write chapter 4" | generate-srs / generate-basic-design |
|
|
68
|
+
| "add login with Google", "update auth section" | resolve-task |
|
|
@@ -2,31 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
Enable **every** folder under `.cursor/skills/` in Cursor (Settings → Rules → Agent Skills).
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**You do not need slash commands.** Describe what you want ("generate SRS", "analyze data source"); Cursor matches the skill `description` and the agent reads that skill's **runbook** under `references/`.
|
|
6
6
|
|
|
7
7
|
**Pipeline overview:** [../WORKFLOW.md](../WORKFLOW.md)
|
|
8
|
-
**Disambiguation:** [_skill-router.md](./_skill-router.md)
|
|
9
|
-
**Subagent catalog:** [../subagents/README.md](../subagents/README.md)
|
|
8
|
+
**Disambiguation:** [_skill-router.md](./_skill-router.md)
|
|
10
9
|
|
|
11
10
|
## Quick pick
|
|
12
11
|
|
|
13
|
-
| You want to… | Skill
|
|
14
|
-
|
|
12
|
+
| You want to… | Skill |
|
|
13
|
+
|--------------|-------|
|
|
15
14
|
| **Learn / open course / tutorials** | `ai-spector-course` |
|
|
16
|
-
| **Setup / bootstrap project** | `setup
|
|
17
|
-
| Check workspace structure / stale clarifications | `
|
|
18
|
-
| Analyze, index, validate graph, impact, visualize | `graph
|
|
19
|
-
| SRS / requirements | `generate-srs` — or **`/generate-srs`** |
|
|
20
|
-
| Screens, APIs, DB basic design | `generate-basic-design` |
|
|
21
|
-
| HTML prototype | `generate-prototype` |
|
|
22
|
-
| Review comments | `resolve-comments` — or **`/resolve-comments`** |
|
|
23
|
-
| **Document sign-off / review queue** | `
|
|
24
|
-
| Add/update feature or section (
|
|
25
|
-
| Resume / active tasks | `task
|
|
26
|
-
| Approve SPEC-NNN | `
|
|
15
|
+
| **Setup / bootstrap project** | `ai-spector-setup` |
|
|
16
|
+
| Check workspace structure / stale clarifications | `ai-spector-check` |
|
|
17
|
+
| Analyze, index, validate graph, impact, visualize | `ai-spector-graph` |
|
|
18
|
+
| SRS / requirements | `ai-spector-generate-srs` — or **`/generate-srs`** |
|
|
19
|
+
| Screens, APIs, DB basic design | `ai-spector-generate-basic-design` |
|
|
20
|
+
| HTML prototype | `ai-spector-generate-prototype` |
|
|
21
|
+
| Review comments | `ai-spector-resolve-comments` — or **`/resolve-comments`** |
|
|
22
|
+
| **Document sign-off / review queue** | `ai-spector-review` — or **`/review`** |
|
|
23
|
+
| Add/update feature or section ("I want to add…") | `ai-spector-resolve-task` (plan-first) |
|
|
24
|
+
| Resume / active tasks | `ai-spector-task` |
|
|
25
|
+
| Approve SPEC-NNN | `ai-spector-generate` + extract-specs |
|
|
27
26
|
| Translation status (read-only) | `ai-spector-lang-status` |
|
|
28
27
|
| Resolve / sync translations | `ai-spector-resolve-translation` |
|
|
29
|
-
| Unsure |
|
|
28
|
+
| Unsure | `workflow_route` or `ai-spector` (core) |
|
|
30
29
|
|
|
31
30
|
## Shared references (core skill)
|
|
32
31
|
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
# AI Spector skill router
|
|
2
2
|
|
|
3
|
-
**Orchestrator** uses this for classification. **Workers** must not read this file — they follow `.cursor/subagents/<workflowId>.md` only.
|
|
4
|
-
|
|
5
3
|
Agents use this when intent is ambiguous.
|
|
6
4
|
|
|
7
5
|
## Priority
|
|
@@ -12,8 +10,8 @@ Agents use this when intent is ambiguous.
|
|
|
12
10
|
2. **Incremental change (plan-first)** — verbs *add*, *update*, *change*, *modify*, *extend*, or phrases *"I want to"*, *"we need to"*, *create task* → **`ai-spector-resolve-task`** before any generate-* skill. Example: "add login with Google" → resolve-task, **not** generate-srs.
|
|
13
11
|
3. **Full generation** — *generate*, *write chapter*, *DAG wave*, *from graph* → `ai-spector-generate` or layer skill.
|
|
14
12
|
4. **File context** — `paths` in skill frontmatter (e.g. `prototype/**` → prototype skill) when intent is still ambiguous.
|
|
15
|
-
5. **Natural language** — match skill `description`; then read that skill
|
|
16
|
-
6. **Still unclear** — call MCP `workflow_route({ message })` →
|
|
13
|
+
5. **Natural language** — match skill `description`; then read that skill's `references/` runbook.
|
|
14
|
+
6. **Still unclear** — call MCP `workflow_route({ message })` → read `handoff.readBrief` skill runbook; if `askUser`, ask in chat first (see approve disambiguation below).
|
|
17
15
|
|
|
18
16
|
## DISAMBIGUATION: "approve" means four different things
|
|
19
17
|
|
|
@@ -79,10 +77,10 @@ When in doubt: if the user names a document and asks about approval/status → `
|
|
|
79
77
|
| set up template pack, import template, custom template, install template | `ai-spector-template-import` | `references/runbook.md` |
|
|
80
78
|
| create task, new task, resolve task, change prototype | `ai-spector-resolve-task` | `references/runbook.md` |
|
|
81
79
|
| comment threads, C-001, inbox, resolve comments, open threads | `ai-spector-resolve-comments` | `references/runbook.md` |
|
|
82
|
-
| document approval, approve doc, review status, review queue, "which docs reviewed", "has X been approved", "pending review", "what changed since approval", "does all document has reviewed"
|
|
80
|
+
| document approval, approve doc, review status, review queue, "which docs reviewed", "has X been approved", "pending review", "what changed since approval", "does all document has reviewed" | `ai-spector-review` | `references/runbook.md` |
|
|
83
81
|
| translation status, stale langs | `ai-spector-lang-status` | `SKILL.md` |
|
|
84
82
|
| resolve translations, sync JP/VI | `ai-spector-resolve-translation` | `references/runbook.md` |
|
|
85
|
-
|
|
|
83
|
+
| "generate docs" (no layer named) | `ai-spector-generate` | `SKILL.md` |
|
|
86
84
|
|
|
87
85
|
Shared: [ai-spector/references/cli-failures.md](./ai-spector/references/cli-failures.md), [generate-workflow.md](./ai-spector/references/generate-workflow.md), [generate-graph.md](./ai-spector/references/generate-graph.md).
|
|
88
86
|
|
|
@@ -8,13 +8,6 @@ description: >-
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# Workspace check
|
|
11
|
-
|
|
12
|
-
## Subagent worker
|
|
13
|
-
|
|
14
|
-
**workflowId:** `setup-check` · **Brief:** [../../subagents/setup-check.md](../../subagents/setup-check.md)
|
|
15
|
-
|
|
16
|
-
Orchestrator spawns this worker for workspace audit flows.
|
|
17
|
-
|
|
18
11
|
## Load at start
|
|
19
12
|
1. [../ai-spector/references/workspace-check.md](../ai-spector/references/workspace-check.md)
|
|
20
13
|
|
|
@@ -9,10 +9,6 @@ description: >-
|
|
|
9
9
|
|
|
10
10
|
# AI Spector — Generate (router)
|
|
11
11
|
|
|
12
|
-
## Subagent note
|
|
13
|
-
|
|
14
|
-
Orchestrator may spawn **`spec-queue`** worker for SPEC-NNN approval — brief: [../../subagents/spec-queue.md](../../subagents/spec-queue.md). Full generate → `generate-srs` / `generate-basic-design` workers.
|
|
15
|
-
|
|
16
12
|
## Step 0 — Incremental vs full generate
|
|
17
13
|
|
|
18
14
|
| User intent | Route to |
|
|
@@ -11,13 +11,6 @@ paths:
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Generate Basic Design
|
|
14
|
-
|
|
15
|
-
## Subagent worker
|
|
16
|
-
|
|
17
|
-
**workflowId:** `generate-basic-design` · **Brief:** [../../subagents/generate-basic-design.md](../../subagents/generate-basic-design.md)
|
|
18
|
-
|
|
19
|
-
Orchestrator spawns this worker. Workers do not call `workflow_route` or read `_skill-router.md`.
|
|
20
|
-
|
|
21
14
|
## Step 0 — HARD GATE (before anything else)
|
|
22
15
|
|
|
23
16
|
**Do not** run `workspace_check`, read templates, or write under `docs/basic-design/` until task state exists.
|
|
@@ -11,13 +11,6 @@ paths:
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Generate Prototype
|
|
14
|
-
|
|
15
|
-
## Subagent worker
|
|
16
|
-
|
|
17
|
-
**workflowId:** `generate-prototype` · **Brief:** [../../subagents/generate-prototype.md](../../subagents/generate-prototype.md)
|
|
18
|
-
|
|
19
|
-
Orchestrator spawns this worker. Workers do not call `workflow_route` or read `_skill-router.md`.
|
|
20
|
-
|
|
21
14
|
## Load at start
|
|
22
15
|
1. [references/runbook.md](references/runbook.md)
|
|
23
16
|
|
|
@@ -11,13 +11,6 @@ paths:
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# Generate SRS
|
|
14
|
-
|
|
15
|
-
## Subagent worker
|
|
16
|
-
|
|
17
|
-
**workflowId:** `generate-srs` · **Brief:** [../../subagents/generate-srs.md](../../subagents/generate-srs.md)
|
|
18
|
-
|
|
19
|
-
Orchestrator spawns this worker. Workers do not call `workflow_route` or read `_skill-router.md`.
|
|
20
|
-
|
|
21
14
|
## Step 0 — HARD GATE (before anything else)
|
|
22
15
|
|
|
23
16
|
**Do not** run `workspace_check`, read templates, or write under `docs/srs/` until task state exists.
|
|
@@ -14,13 +14,6 @@ paths:
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
16
|
# AI Spector — Graph
|
|
17
|
-
|
|
18
|
-
## Subagent worker
|
|
19
|
-
|
|
20
|
-
**workflowId:** `graph-ops` · **Brief:** [../../subagents/graph-ops.md](../../subagents/graph-ops.md)
|
|
21
|
-
|
|
22
|
-
Orchestrator spawns this worker. Workers do not call `workflow_route` or read `_skill-router.md`.
|
|
23
|
-
|
|
24
17
|
**Core:** [../ai-spector/SKILL.md](../ai-spector/SKILL.md) · **Workflow:** [../../WORKFLOW.md](../../WORKFLOW.md)
|
|
25
18
|
|
|
26
19
|
## When this skill applies
|
|
@@ -10,13 +10,6 @@ paths:
|
|
|
10
10
|
---
|
|
11
11
|
|
|
12
12
|
# AI Spector — Resolve comments
|
|
13
|
-
|
|
14
|
-
## Subagent worker
|
|
15
|
-
|
|
16
|
-
**workflowId:** `resolve-comments` · **Brief:** [../../subagents/resolve-comments.md](../../subagents/resolve-comments.md)
|
|
17
|
-
|
|
18
|
-
Orchestrator spawns this worker. Workers do not call `workflow_route` or read `_skill-router.md`.
|
|
19
|
-
|
|
20
13
|
**Core:** [../ai-spector/SKILL.md](../ai-spector/SKILL.md)
|
|
21
14
|
|
|
22
15
|
## Required reading
|
|
@@ -15,13 +15,6 @@ paths:
|
|
|
15
15
|
---
|
|
16
16
|
|
|
17
17
|
# AI Spector — Resolve Task
|
|
18
|
-
|
|
19
|
-
## Subagent worker
|
|
20
|
-
|
|
21
|
-
**workflowId:** `resolve-task` · **Brief:** [../../subagents/resolve-task.md](../../subagents/resolve-task.md)
|
|
22
|
-
|
|
23
|
-
Orchestrator spawns this worker. Workers do not call `workflow_route` or read `_skill-router.md`.
|
|
24
|
-
|
|
25
18
|
**Read first:** [references/runbook.md](references/runbook.md) — follow every phase in order.
|
|
26
19
|
|
|
27
20
|
## You are in plan-first mode
|
|
@@ -15,12 +15,6 @@ paths:
|
|
|
15
15
|
|
|
16
16
|
# AI Spector — Document Review
|
|
17
17
|
|
|
18
|
-
## Subagent worker
|
|
19
|
-
|
|
20
|
-
**workflowId:** `doc-review` · **Brief:** [../../subagents/doc-review.md](../../subagents/doc-review.md)
|
|
21
|
-
|
|
22
|
-
Orchestrator spawns this worker. Workers do not call `workflow_route` or read `_skill-router.md`.
|
|
23
|
-
|
|
24
18
|
**Core:** [../ai-spector/SKILL.md](../ai-spector/SKILL.md)
|
|
25
19
|
|
|
26
20
|
## Required reading
|
|
@@ -11,13 +11,6 @@ paths:
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
13
|
# AI Spector — Semantic Search
|
|
14
|
-
|
|
15
|
-
## Subagent worker
|
|
16
|
-
|
|
17
|
-
**workflowId:** `search` · **Brief:** [../../subagents/search.md](../../subagents/search.md)
|
|
18
|
-
|
|
19
|
-
Orchestrator spawns this worker. Workers do not call `workflow_route` or read `_skill-router.md`.
|
|
20
|
-
|
|
21
14
|
**Core:** [../ai-spector/SKILL.md](../ai-spector/SKILL.md)
|
|
22
15
|
|
|
23
16
|
CocoIndex adds **semantic proximity** on top of the formal traceability graph.
|
|
@@ -12,13 +12,6 @@ paths:
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
# AI Spector — Project setup
|
|
15
|
-
|
|
16
|
-
## Subagent worker
|
|
17
|
-
|
|
18
|
-
**workflowId:** `setup-check` · **Brief:** [../../subagents/setup-check.md](../../subagents/setup-check.md)
|
|
19
|
-
|
|
20
|
-
Orchestrator spawns this worker for setup flows.
|
|
21
|
-
|
|
22
15
|
**Core:** [../ai-spector/SKILL.md](../ai-spector/SKILL.md)
|
|
23
16
|
|
|
24
17
|
## Two paths
|
|
@@ -9,13 +9,6 @@ paths:
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
# AI Spector — Task state
|
|
12
|
-
|
|
13
|
-
## Subagent worker
|
|
14
|
-
|
|
15
|
-
**workflowId:** `task-router` · **Brief:** [../../subagents/task-router.md](../../subagents/task-router.md)
|
|
16
|
-
|
|
17
|
-
Orchestrator spawns this worker to list/resume tasks, then hand off to `generate-srs` or `resolve-task`.
|
|
18
|
-
|
|
19
12
|
**Read first:** [references/runbook.md](references/runbook.md)
|
|
20
13
|
|
|
21
14
|
## When to use
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
# Active worker status (orchestrator)
|
|
2
|
-
|
|
3
|
-
Optional observability for subagent routing. Persisted under `.ai-spector/.docflow/`.
|
|
4
|
-
|
|
5
|
-
## MCP
|
|
6
|
-
|
|
7
|
-
```text
|
|
8
|
-
workflow_status({})
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Returns:
|
|
12
|
-
|
|
13
|
-
```json
|
|
14
|
-
{
|
|
15
|
-
"active": {
|
|
16
|
-
"workflowId": "doc-review",
|
|
17
|
-
"phase": "reviewing",
|
|
18
|
-
"displayLabel": "doc-review (reviewing srs/01-overview)",
|
|
19
|
-
"context": { "logicalPath": "srs/01-overview" }
|
|
20
|
-
},
|
|
21
|
-
"statusLine": "Active worker: doc-review (reviewing srs/01-overview)",
|
|
22
|
-
"recentTransitions": [...]
|
|
23
|
-
}
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
## Orchestrator behavior
|
|
27
|
-
|
|
28
|
-
1. At session start (or after routing), call `workflow_status` and show `statusLine` once if `active` is set.
|
|
29
|
-
2. After `workflow_route` with `handoff`, active state is updated automatically.
|
|
30
|
-
3. Review session phase changes (`review_check`, `review_queue`, `review_status`, …) update active worker via `.session.json` hooks.
|
|
31
|
-
4. `review_approve` / `review_reject` clears active doc-review worker.
|
|
32
|
-
|
|
33
|
-
## Cursor status line (optional)
|
|
34
|
-
|
|
35
|
-
In Cursor Settings → Status Line, you can reference project context. Simpler approach: orchestrator prefixes replies when `workflow_status.active` exists:
|
|
36
|
-
|
|
37
|
-
> **Active worker:** doc-review (reviewing srs/01-overview)
|
|
38
|
-
|
|
39
|
-
Files:
|
|
40
|
-
|
|
41
|
-
| Path | Purpose |
|
|
42
|
-
|------|---------|
|
|
43
|
-
| `workflow-active.json` | Current worker + phase |
|
|
44
|
-
| `workflow-log.jsonl` | Recent transitions (tail) |
|
|
45
|
-
|
|
46
|
-
Design: [../../docs/subagent-routing-design.md](../../docs/subagent-routing-design.md)
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# AI Spector subagent briefs
|
|
2
|
-
|
|
3
|
-
**Orchestrator-only routing** — parent reads [../rules/ai-spector-routing.mdc](../rules/ai-spector-routing.mdc) and spawns workers from this folder. Workers must **not** read `_skill-router.md` or call `workflow_route`.
|
|
4
|
-
|
|
5
|
-
## Catalog
|
|
6
|
-
|
|
7
|
-
| workflowId | Brief | Skill | Command |
|
|
8
|
-
|------------|-------|-------|---------|
|
|
9
|
-
| `doc-review` | [doc-review.md](./doc-review.md) | `ai-spector-review` | `/review` |
|
|
10
|
-
| `resolve-comments` | [resolve-comments.md](./resolve-comments.md) | `ai-spector-resolve-comments` | `/resolve-comments` |
|
|
11
|
-
| `generate-srs` | [generate-srs.md](./generate-srs.md) | `ai-spector-generate-srs` | `/generate-srs` |
|
|
12
|
-
| `generate-basic-design` | [generate-basic-design.md](./generate-basic-design.md) | `ai-spector-generate-basic-design` | `/generate-basic-design` |
|
|
13
|
-
| `generate-prototype` | [generate-prototype.md](./generate-prototype.md) | `ai-spector-generate-prototype` | `/generate-prototype` |
|
|
14
|
-
| `resolve-task` | [resolve-task.md](./resolve-task.md) | `ai-spector-resolve-task` | — |
|
|
15
|
-
| `task-router` | [task-router.md](./task-router.md) | `ai-spector-task` | — |
|
|
16
|
-
| `spec-queue` | [spec-queue.md](./spec-queue.md) | extract-specs ref | — |
|
|
17
|
-
| `graph-ops` | [graph-ops.md](./graph-ops.md) | `ai-spector-graph` | — |
|
|
18
|
-
| `search` | [search.md](./search.md) | `ai-spector-search` | — |
|
|
19
|
-
| `setup-check` | [setup-check.md](./setup-check.md) | `ai-spector-setup` / `ai-spector-check` | — |
|
|
20
|
-
|
|
21
|
-
## Spawn prompt (parent → worker)
|
|
22
|
-
|
|
23
|
-
Copy from `workflow_route` response `handoff`, or build manually:
|
|
24
|
-
|
|
25
|
-
```yaml
|
|
26
|
-
workflowId: doc-review
|
|
27
|
-
phase: queue # from ReviewSession or runbook
|
|
28
|
-
userGoal: "<original user request>"
|
|
29
|
-
userAnswer: "<if answering worker gate>"
|
|
30
|
-
resumeFromState: true # when continuing after waiting_user
|
|
31
|
-
readBrief: .cursor/subagents/doc-review.md
|
|
32
|
-
runInBackground: false # required when HITL gates exist
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Prefer **`Task({ resume: priorAgentId })`** when the worker just returned `waiting_user`. Otherwise spawn fresh with `resumeFromState: true` — phase lives on disk (`ReviewSession`, `TaskState`).
|
|
36
|
-
|
|
37
|
-
## Worker output (worker → parent)
|
|
38
|
-
|
|
39
|
-
```yaml
|
|
40
|
-
status: waiting_user | phase_complete | workflow_complete | blocked
|
|
41
|
-
summary: "<user-facing>"
|
|
42
|
-
askUser: # when status === waiting_user
|
|
43
|
-
question: "..."
|
|
44
|
-
options: [{ id, label }]
|
|
45
|
-
suggestedNext:
|
|
46
|
-
workflowId: task-router # optional handoff
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Parent shows `askUser` in main chat. User reply → resume same `workflowId` (do not re-route unless topic switch).
|
|
50
|
-
|
|
51
|
-
**Observability:** `workflow_status({})` → `statusLine` (see [ACTIVE-WORKER.md](../ACTIVE-WORKER.md)).
|
|
52
|
-
|
|
53
|
-
Design: [../../../docs/subagent-routing-design.md](../../../docs/subagent-routing-design.md)
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# Subagent: doc-review
|
|
2
|
-
|
|
3
|
-
**One job:** Formal document sign-off (`review_approve`). Not comment threads, specs, or task plans.
|
|
4
|
-
|
|
5
|
-
## Read first
|
|
6
|
-
|
|
7
|
-
1. [../skills/ai-spector-review/references/runbook.md](../skills/ai-spector-review/references/runbook.md)
|
|
8
|
-
2. [../skills/ai-spector-review/references/readiness-compliance.md](../skills/ai-spector-review/references/readiness-compliance.md)
|
|
9
|
-
3. [../skills/ai-spector-review/references/custom-checklists.md](../skills/ai-spector-review/references/custom-checklists.md) — user-extensible JSON checklists
|
|
10
|
-
|
|
11
|
-
## NOT WHEN
|
|
12
|
-
|
|
13
|
-
| User means | Wrong tool | Use instead |
|
|
14
|
-
|------------|------------|-------------|
|
|
15
|
-
| Comment thread C-NNN | `comments_resolve` | `resolve-comments` worker |
|
|
16
|
-
| SPEC-NNN | `spec_approve` | `spec-queue` worker |
|
|
17
|
-
| Plan yes after GoalSpec table | `task_approve_plan` | `resolve-task` / generate worker |
|
|
18
|
-
| Routing / which workflow | `workflow_route` | Return `blocked` — orchestrator only |
|
|
19
|
-
|
|
20
|
-
## Phase → tools
|
|
21
|
-
|
|
22
|
-
| Phase | Allowed | Forbidden |
|
|
23
|
-
|-------|---------|-----------|
|
|
24
|
-
| `detect` | `review_check` | `review_approve` |
|
|
25
|
-
| `queue` | `review_queue` | `review_approve` |
|
|
26
|
-
| `reviewing` | `review_status`, read doc, `readiness_scan`, `readiness_output_checklist`, `graph_impact`, `review_session_ack_review` | `review_approve` until ack |
|
|
27
|
-
| `awaiting_decision` | `review_approve`, `review_reject` | `spec_approve`, `task_approve_plan`, `comments_resolve` |
|
|
28
|
-
|
|
29
|
-
On entry with `resumeFromState: true`, load `.ai-spector/.docflow/review-queue/.session.json` or last `review_status` — do not restart from `detect` if phase is already `reviewing`.
|
|
30
|
-
|
|
31
|
-
## Human gates (return `waiting_user`)
|
|
32
|
-
|
|
33
|
-
- After `review_queue` table → ask which document
|
|
34
|
-
- After written review + ack → decision menu (Approve / Request changes / Dismiss)
|
|
35
|
-
|
|
36
|
-
Workers cannot ask user directly — return `askUser` and stop.
|
|
37
|
-
|
|
38
|
-
## Output contract
|
|
39
|
-
|
|
40
|
-
```yaml
|
|
41
|
-
status: waiting_user | phase_complete | workflow_complete
|
|
42
|
-
summary: review summary for user
|
|
43
|
-
askUser: { question, options? }
|
|
44
|
-
artifacts: [logicalPath]
|
|
45
|
-
```
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# Subagent: generate-basic-design
|
|
2
|
-
|
|
3
|
-
**One job:** Basic design docs (screens, APIs, DB) in gated waves. Same task-state pattern as SRS.
|
|
4
|
-
|
|
5
|
-
## Read first
|
|
6
|
-
|
|
7
|
-
1. [../skills/ai-spector-generate-basic-design/references/runbook.md](../skills/ai-spector-generate-basic-design/references/runbook.md) (if present) or skill `SKILL.md`
|
|
8
|
-
2. [../skills/ai-spector/references/generate-workflow.md](../skills/ai-spector/references/generate-workflow.md)
|
|
9
|
-
|
|
10
|
-
## NOT WHEN
|
|
11
|
-
|
|
12
|
-
Incremental section update → `resolve-task`. Document sign-off → `doc-review`.
|
|
13
|
-
|
|
14
|
-
## Phase → tools
|
|
15
|
-
|
|
16
|
-
Same gates as `generate-srs` but `docType: basic-design`, paths under `docs/basic-design/`.
|
|
17
|
-
|
|
18
|
-
| Phase | Forbidden until `task_approve_plan` |
|
|
19
|
-
|-------|-------------------------------------|
|
|
20
|
-
| pre-plan | writes under `docs/basic-design/`, `index`, `graph_merge` |
|
|
21
|
-
|
|
22
|
-
## Human gates
|
|
23
|
-
|
|
24
|
-
Clarify → plan → user yes → `task_approve_plan` → waves.
|
|
25
|
-
|
|
26
|
-
## Output contract
|
|
27
|
-
|
|
28
|
-
Same as `generate-srs.md`.
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Subagent: generate-prototype
|
|
2
|
-
|
|
3
|
-
**One job:** HTML prototype setup and screen generation.
|
|
4
|
-
|
|
5
|
-
## Read first
|
|
6
|
-
|
|
7
|
-
1. [../skills/ai-spector-generate-prototype/references/runbook.md](../skills/ai-spector-generate-prototype/references/runbook.md)
|
|
8
|
-
|
|
9
|
-
## NOT WHEN
|
|
10
|
-
|
|
11
|
-
SRS/basic-design chapter writes → generate workers. Incremental prototype tweak → `resolve-task`.
|
|
12
|
-
|
|
13
|
-
## Phase → tools
|
|
14
|
-
|
|
15
|
-
| Phase | Allowed |
|
|
16
|
-
|-------|---------|
|
|
17
|
-
| `auth` | auth picker flow |
|
|
18
|
-
| `theme` | theme picker, `prototype preview` |
|
|
19
|
-
| `setup` | `prototype setup` |
|
|
20
|
-
| `generate` | write `prototype/src/*.html`, validate |
|
|
21
|
-
|
|
22
|
-
## Human gates
|
|
23
|
-
|
|
24
|
-
Auth picker, theme picker (3 previews) — return `waiting_user` with options.
|
|
25
|
-
|
|
26
|
-
## Output contract
|
|
27
|
-
|
|
28
|
-
```yaml
|
|
29
|
-
status: waiting_user | workflow_complete
|
|
30
|
-
artifacts: [prototype paths, theme]
|
|
31
|
-
```
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Subagent: generate-srs
|
|
2
|
-
|
|
3
|
-
**One job:** Full SRS generation in DAG order (gated waves). Not incremental single-feature adds.
|
|
4
|
-
|
|
5
|
-
## Read first
|
|
6
|
-
|
|
7
|
-
1. [../skills/ai-spector-generate-srs/references/runbook.md](../skills/ai-spector-generate-srs/references/runbook.md)
|
|
8
|
-
2. [../skills/ai-spector/references/generate-workflow.md](../skills/ai-spector/references/generate-workflow.md)
|
|
9
|
-
|
|
10
|
-
## NOT WHEN
|
|
11
|
-
|
|
12
|
-
| User means | Route to |
|
|
13
|
-
|------------|----------|
|
|
14
|
-
| "add login", "update section" | `resolve-task` worker |
|
|
15
|
-
| Approve doc sign-off | `doc-review` worker |
|
|
16
|
-
| Approve SPEC after extract | `spec-queue` worker (separate spawn) |
|
|
17
|
-
|
|
18
|
-
## Phase → tools
|
|
19
|
-
|
|
20
|
-
| Phase | Allowed | Forbidden |
|
|
21
|
-
|-------|---------|-----------|
|
|
22
|
-
| `bootstrap` | `task_list` (with bootstrap), `task_resume` | writes under `docs/srs/` |
|
|
23
|
-
| `check` | `workspace_check`, `context_list` | `index`, `graph_merge` |
|
|
24
|
-
| `clarify` | `context_resolve`, `task_update` | doc writes |
|
|
25
|
-
| `plan` | briefing in chat, `task_update` | doc writes, `task_approve_plan` until user yes |
|
|
26
|
-
| `approved` | `task_record_wave`, `index`, `spec_record` | `review_approve` |
|
|
27
|
-
| `extract_offer` | offer spec extraction → hand off to `spec-queue` | inline `spec_approve` in same long session optional |
|
|
28
|
-
|
|
29
|
-
## Human gates
|
|
30
|
-
|
|
31
|
-
- Clarification questions (≤ batch per runbook)
|
|
32
|
-
- Plan table → wait for explicit **yes** → `task_approve_plan`
|
|
33
|
-
- Spec extraction offer → user picks specs to queue
|
|
34
|
-
|
|
35
|
-
`runInBackground: false` always.
|
|
36
|
-
|
|
37
|
-
## Output contract
|
|
38
|
-
|
|
39
|
-
```yaml
|
|
40
|
-
status: waiting_user | phase_complete | workflow_complete
|
|
41
|
-
suggestedNext:
|
|
42
|
-
workflowId: spec-queue # after extract offer accepted
|
|
43
|
-
artifacts: [taskId, wave ids]
|
|
44
|
-
```
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Subagent: graph-ops
|
|
2
|
-
|
|
3
|
-
**One job:** Analyze, index, validate graph, impact, visualize, sync.
|
|
4
|
-
|
|
5
|
-
## Read first
|
|
6
|
-
|
|
7
|
-
1. Relevant ref from [../skills/ai-spector-graph/](../skills/ai-spector-graph/) (`analyze.md`, `index.md`, `impact.md`, etc.)
|
|
8
|
-
|
|
9
|
-
## NOT WHEN
|
|
10
|
-
|
|
11
|
-
Semantic doc search → `search` worker. Generate/write docs → generate or resolve workers.
|
|
12
|
-
|
|
13
|
-
## Phase → tools
|
|
14
|
-
|
|
15
|
-
| Intent | Tools |
|
|
16
|
-
|--------|-------|
|
|
17
|
-
| analyze | agent extract → `knowledge_validate` → `graph_merge` |
|
|
18
|
-
| index | `index` |
|
|
19
|
-
| validate | `graph_validate`, `graph_report` |
|
|
20
|
-
| impact | `graph_impact` |
|
|
21
|
-
| visualize | CLI `graph visualize --open` |
|
|
22
|
-
|
|
23
|
-
## Human gates
|
|
24
|
-
|
|
25
|
-
Usually none. May ask before destructive `graph_merge` if runbook requires.
|
|
26
|
-
|
|
27
|
-
Background OK for read-only validate/report.
|
|
28
|
-
|
|
29
|
-
## Output contract
|
|
30
|
-
|
|
31
|
-
```yaml
|
|
32
|
-
status: workflow_complete
|
|
33
|
-
summary: findings table or impact summary
|
|
34
|
-
```
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# Subagent: resolve-comments
|
|
2
|
-
|
|
3
|
-
**One job:** Resolve git-backed comment threads (`comments_resolve`). Not document sign-off.
|
|
4
|
-
|
|
5
|
-
## Read first
|
|
6
|
-
|
|
7
|
-
1. [../skills/ai-spector-resolve-comments/references/runbook.md](../skills/ai-spector-resolve-comments/references/runbook.md)
|
|
8
|
-
|
|
9
|
-
## NOT WHEN
|
|
10
|
-
|
|
11
|
-
| User means | Wrong tool | Use instead |
|
|
12
|
-
|------------|------------|-------------|
|
|
13
|
-
| Approve doc / review queue | `review_approve` | `doc-review` worker |
|
|
14
|
-
| SPEC-NNN | `spec_approve` | `spec-queue` worker |
|
|
15
|
-
| `workflow_route` | — | orchestrator only |
|
|
16
|
-
|
|
17
|
-
## Phase → tools
|
|
18
|
-
|
|
19
|
-
| Phase | Allowed | Forbidden |
|
|
20
|
-
|-------|---------|-----------|
|
|
21
|
-
| `inbox` | `comments_inbox`, `comments_show` | `comments_resolve` |
|
|
22
|
-
| `plan` | `comments_plan` | `comments_resolve` until edits done |
|
|
23
|
-
| `resolve` | edit docs, `comments_resolve` | `review_approve`, `spec_approve` |
|
|
24
|
-
|
|
25
|
-
## Human gates
|
|
26
|
-
|
|
27
|
-
- After inbox table → user picks C-NNN
|
|
28
|
-
- After plan → confirm before edits (if runbook requires)
|
|
29
|
-
|
|
30
|
-
Commit must include **both** doc and `comments/` meta (amend pattern in runbook).
|
|
31
|
-
|
|
32
|
-
## Output contract
|
|
33
|
-
|
|
34
|
-
```yaml
|
|
35
|
-
status: waiting_user | workflow_complete
|
|
36
|
-
summary: what was resolved
|
|
37
|
-
artifacts: [C-NNN, doc paths]
|
|
38
|
-
```
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
# Subagent: resolve-task
|
|
2
|
-
|
|
3
|
-
**One job:** Incremental doc/graph/prototype changes — plan first, execute after `task_approve_plan`.
|
|
4
|
-
|
|
5
|
-
## Read first
|
|
6
|
-
|
|
7
|
-
1. [../skills/ai-spector-resolve-task/references/runbook.md](../skills/ai-spector-resolve-task/references/runbook.md)
|
|
8
|
-
|
|
9
|
-
## NOT WHEN
|
|
10
|
-
|
|
11
|
-
| User means | Route to |
|
|
12
|
-
|------------|----------|
|
|
13
|
-
| Full SRS generate | `generate-srs` |
|
|
14
|
-
| Document sign-off | `doc-review` |
|
|
15
|
-
| Comment thread | `resolve-comments` |
|
|
16
|
-
|
|
17
|
-
## Phase → tools
|
|
18
|
-
|
|
19
|
-
| Phase | Allowed | Forbidden |
|
|
20
|
-
|-------|---------|-----------|
|
|
21
|
-
| `clarify` | `task_create`, `task_update`, `context_list` | edits, `graph_impact`, `resolve_task` |
|
|
22
|
-
| `discover` | `docs_search`, `graph_query`, `graph_query_fuzzy` (readonly) | `graph_impact`, edits |
|
|
23
|
-
| `plan` | GoalSpec + TaskPlan in chat | all writes |
|
|
24
|
-
| `awaiting_yes` | — | everything until user says yes |
|
|
25
|
-
| `execute` | `task_approve_plan`, edits, `graph_impact`, `resolve_task`, `index` | `review_approve` |
|
|
26
|
-
|
|
27
|
-
Discover phase may use `readonly: true` spawn if parent splits phases.
|
|
28
|
-
|
|
29
|
-
## Human gates
|
|
30
|
-
|
|
31
|
-
- Clarification (≤3 questions)
|
|
32
|
-
- GoalSpec + TaskPlan table → wait for **yes**
|
|
33
|
-
|
|
34
|
-
## Output contract
|
|
35
|
-
|
|
36
|
-
```yaml
|
|
37
|
-
status: waiting_user | workflow_complete
|
|
38
|
-
summary: plan table or execution summary
|
|
39
|
-
artifacts: [taskId]
|
|
40
|
-
```
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Subagent: search
|
|
2
|
-
|
|
3
|
-
**One job:** Semantic doc search and fuzzy graph node lookup.
|
|
4
|
-
|
|
5
|
-
## Read first
|
|
6
|
-
|
|
7
|
-
1. [../skills/ai-spector-search/SKILL.md](../skills/ai-spector-search/SKILL.md)
|
|
8
|
-
|
|
9
|
-
## NOT WHEN
|
|
10
|
-
|
|
11
|
-
Full graph analyze/index → `graph-ops`. Writing docs → generate/resolve workers.
|
|
12
|
-
|
|
13
|
-
## Tools
|
|
14
|
-
|
|
15
|
-
- `docs_search({ query })`
|
|
16
|
-
- `graph_query_fuzzy({ query })`
|
|
17
|
-
|
|
18
|
-
Read-only. `runInBackground: true` OK.
|
|
19
|
-
|
|
20
|
-
## Output contract
|
|
21
|
-
|
|
22
|
-
```yaml
|
|
23
|
-
status: workflow_complete
|
|
24
|
-
summary: ranked results for user
|
|
25
|
-
```
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Subagent: setup-check
|
|
2
|
-
|
|
3
|
-
**One job:** Project bootstrap (`setup`) or workspace audit (`check`).
|
|
4
|
-
|
|
5
|
-
## Read first
|
|
6
|
-
|
|
7
|
-
1. [../skills/ai-spector-setup/references/runbook.md](../skills/ai-spector-setup/references/runbook.md) or [../skills/ai-spector-check/SKILL.md](../skills/ai-spector-check/SKILL.md)
|
|
8
|
-
|
|
9
|
-
## Phase → tools
|
|
10
|
-
|
|
11
|
-
| Intent | Tools / CLI |
|
|
12
|
-
|--------|-------------|
|
|
13
|
-
| setup | `setup --check`, `setup -y` |
|
|
14
|
-
| check | `workspace_check`, optional `fix: true` |
|
|
15
|
-
|
|
16
|
-
## Human gates
|
|
17
|
-
|
|
18
|
-
Setup wizard choices, fix approval for workspace_check.
|
|
19
|
-
|
|
20
|
-
## Output contract
|
|
21
|
-
|
|
22
|
-
```yaml
|
|
23
|
-
status: waiting_user | workflow_complete
|
|
24
|
-
summary: setup checklist or findings table
|
|
25
|
-
```
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Subagent: spec-queue
|
|
2
|
-
|
|
3
|
-
**One job:** Review and approve/reject extracted specs (SPEC-NNN) after generation stage 6.
|
|
4
|
-
|
|
5
|
-
## Read first
|
|
6
|
-
|
|
7
|
-
1. [../skills/ai-spector/references/extract-specs.md](../skills/ai-spector/references/extract-specs.md)
|
|
8
|
-
|
|
9
|
-
## NOT WHEN
|
|
10
|
-
|
|
11
|
-
| User means | Wrong tool |
|
|
12
|
-
|------------|------------|
|
|
13
|
-
| Document sign-off | `review_approve` |
|
|
14
|
-
| Task plan yes | `task_approve_plan` |
|
|
15
|
-
| Comment done | `comments_resolve` |
|
|
16
|
-
|
|
17
|
-
## Phase → tools
|
|
18
|
-
|
|
19
|
-
| Phase | Allowed |
|
|
20
|
-
|-------|---------|
|
|
21
|
-
| `list` | `spec_list` |
|
|
22
|
-
| `review` | show pending specs to user |
|
|
23
|
-
| `decide` | `spec_approve`, `spec_reject`, `graph_merge` |
|
|
24
|
-
|
|
25
|
-
## Human gates
|
|
26
|
-
|
|
27
|
-
User picks which SPEC(s) to approve/reject.
|
|
28
|
-
|
|
29
|
-
## Output contract
|
|
30
|
-
|
|
31
|
-
```yaml
|
|
32
|
-
status: waiting_user | workflow_complete
|
|
33
|
-
artifacts: [SPEC-NNN ids]
|
|
34
|
-
```
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# Subagent: task-router
|
|
2
|
-
|
|
3
|
-
**One job:** List, resume, pause task state — then hand off to generate or resolve worker.
|
|
4
|
-
|
|
5
|
-
## Read first
|
|
6
|
-
|
|
7
|
-
1. [../skills/ai-spector-task/references/runbook.md](../skills/ai-spector-task/references/runbook.md)
|
|
8
|
-
|
|
9
|
-
## NOT WHEN
|
|
10
|
-
|
|
11
|
-
Active `ReviewSession` (phase queue/reviewing/awaiting_decision) → orchestrator spawns `doc-review` instead on "continue".
|
|
12
|
-
|
|
13
|
-
## Phase → tools
|
|
14
|
-
|
|
15
|
-
| Phase | Allowed |
|
|
16
|
-
|-------|---------|
|
|
17
|
-
| `list` | `task_list`, `task_status` |
|
|
18
|
-
| `resume` | `task_resume`, `task_get` |
|
|
19
|
-
| `handoff` | return `suggestedNext.workflowId` |
|
|
20
|
-
|
|
21
|
-
## Handoff map
|
|
22
|
-
|
|
23
|
-
| `task.kind` + `workflow` | Spawn next |
|
|
24
|
-
|--------------------------|------------|
|
|
25
|
-
| `generate` + `generate-srs` | `generate-srs` |
|
|
26
|
-
| `generate` + basic design | `generate-basic-design` |
|
|
27
|
-
| `resolve` | `resolve-task` |
|
|
28
|
-
|
|
29
|
-
Do not execute generation or resolve inside this worker — only load state and suggest handoff.
|
|
30
|
-
|
|
31
|
-
## Output contract
|
|
32
|
-
|
|
33
|
-
```yaml
|
|
34
|
-
status: phase_complete | workflow_complete
|
|
35
|
-
suggestedNext:
|
|
36
|
-
workflowId: generate-srs | resolve-task | ...
|
|
37
|
-
message: "Resuming task X — continuing generation"
|
|
38
|
-
artifacts: [taskId]
|
|
39
|
-
```
|