@jaggerxtrm/specialists 3.4.4 → 3.5.1
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 +1 -0
- package/config/hooks/specialists-session-start.mjs +13 -28
- package/config/presets.json +26 -0
- package/config/skills/specialists-creator/SKILL.md +323 -145
- package/config/skills/specialists-creator/scripts/scaffold-specialist.ts +228 -0
- package/config/skills/using-specialists/SKILL.md +641 -183
- package/config/specialists/debugger.specialist.json +74 -0
- package/config/specialists/executor.specialist.json +117 -0
- package/config/specialists/explorer.specialist.json +82 -0
- package/config/specialists/memory-processor.specialist.json +64 -0
- package/config/specialists/node-coordinator.specialist.json +315 -0
- package/config/specialists/overthinker.specialist.json +65 -0
- package/config/specialists/parallel-review.specialist.json +65 -0
- package/config/specialists/planner.specialist.json +93 -0
- package/config/specialists/researcher.specialist.json +64 -0
- package/config/specialists/reviewer.specialist.json +60 -0
- package/config/specialists/specialists-creator.specialist.json +68 -0
- package/config/specialists/sync-docs.specialist.json +80 -0
- package/config/specialists/test-runner.specialist.json +67 -0
- package/config/specialists/xt-merge.specialist.json +60 -0
- package/dist/index.js +9242 -2331
- package/package.json +5 -3
- package/config/specialists/debugger.specialist.yaml +0 -121
- package/config/specialists/executor.specialist.yaml +0 -257
- package/config/specialists/explorer.specialist.yaml +0 -85
- package/config/specialists/memory-processor.specialist.yaml +0 -154
- package/config/specialists/overthinker.specialist.yaml +0 -76
- package/config/specialists/parallel-review.specialist.yaml +0 -75
- package/config/specialists/planner.specialist.yaml +0 -94
- package/config/specialists/reviewer.specialist.yaml +0 -142
- package/config/specialists/specialists-creator.specialist.yaml +0 -90
- package/config/specialists/sync-docs.specialist.yaml +0 -68
- package/config/specialists/test-runner.specialist.yaml +0 -65
- package/config/specialists/xt-merge.specialist.yaml +0 -159
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specialist": {
|
|
3
|
+
"metadata": {
|
|
4
|
+
"name": "node-coordinator",
|
|
5
|
+
"version": "1.1.0",
|
|
6
|
+
"description": "Coordinator hub for research nodes. READ_ONLY orchestrator that emits structured JSON decisions to route work across member specialists.",
|
|
7
|
+
"category": "orchestration",
|
|
8
|
+
"tags": [
|
|
9
|
+
"node",
|
|
10
|
+
"coordinator",
|
|
11
|
+
"orchestration",
|
|
12
|
+
"json",
|
|
13
|
+
"keep-alive",
|
|
14
|
+
"worktree"
|
|
15
|
+
],
|
|
16
|
+
"created": "2026-04-03",
|
|
17
|
+
"updated": "2026-04-04"
|
|
18
|
+
},
|
|
19
|
+
"execution": {
|
|
20
|
+
"mode": "tool",
|
|
21
|
+
"model": "anthropic/claude-sonnet-4-6",
|
|
22
|
+
"fallback_model": "openai-codex/gpt-5.4",
|
|
23
|
+
"timeout_ms": 0,
|
|
24
|
+
"stall_timeout_ms": 180000,
|
|
25
|
+
"interactive": true,
|
|
26
|
+
"response_format": "json",
|
|
27
|
+
"output_type": "orchestration",
|
|
28
|
+
"permission_required": "READ_ONLY",
|
|
29
|
+
"thinking_level": "low",
|
|
30
|
+
"max_retries": 0
|
|
31
|
+
},
|
|
32
|
+
"prompt": {
|
|
33
|
+
"system": "You are a node coordinator. You manage a team of specialist members working toward a shared research goal. You are READ_ONLY \u2014 you do not write files or run code. You emit structured JSON decisions only.\n\nYour responsibilities:\n- Read member updates injected into your context\n- Decide which members to resume, steer, or stop next\n- Maintain a running memory patch as typed entries (fact/question/decision)\n- Track coordination state (current_goal, active_members, waiting_on_members)\n- Emit a next_trigger so the NodeSupervisor knows when to resume you\n- If you need human input, set status: waiting and blocking_on.kind: human_input\n\n## Worktree Lifecycle\n\nEvery executor member runs in its own isolated git worktree. You control this through action payloads:\n\n- spawn_member with type=executor: NodeSupervisor provisions a new worktree via --worktree. The executor gets its own branch (feature/<bead-id>-<specialist-slug>) and isolated file tree.\n- spawn_member with type=reviewer/debugger/test-runner: NodeSupervisor routes into the executor's worktree via --job <executor-job-id>. These members see the executor's branch, not main.\n- complete_node or wave completion: triggers merge of worktree branches into master in FIFO dependency order. Orchestrator (or xt-merge) handles sequencing.\n\nKey rules:\n- Parallel executors are only allowed when their file sets are provably disjoint\n- Reviewers/debuggers/test-runners always enter via --job, never --worktree\n- After a wave completes, branches must be merged before the next wave starts\n- If a reviewer returns PARTIAL, create a fix bead as child of the impl bead and re-enter the same worktree via --job\n\nRefer to the using-specialists skill loaded in your context for full orchestration patterns, CLI flags, chained bead pipeline details, and merge protocol.\n\nNEVER emit prose outside of the JSON object. Your entire response must be a single valid JSON object matching the output schema.\n",
|
|
34
|
+
"task_template": "$prompt\n\nNode context:\n$bead_context\n\nMember updates (if any):\n$pre_script_output\n",
|
|
35
|
+
"output_schema": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"required": [
|
|
38
|
+
"summary",
|
|
39
|
+
"status",
|
|
40
|
+
"actions",
|
|
41
|
+
"memory_patch",
|
|
42
|
+
"coordination_state",
|
|
43
|
+
"routing_rationale",
|
|
44
|
+
"next_trigger"
|
|
45
|
+
],
|
|
46
|
+
"properties": {
|
|
47
|
+
"summary": {
|
|
48
|
+
"type": "string"
|
|
49
|
+
},
|
|
50
|
+
"status": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"enum": [
|
|
53
|
+
"success",
|
|
54
|
+
"partial",
|
|
55
|
+
"failed",
|
|
56
|
+
"waiting"
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"issues_closed": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"items": {
|
|
62
|
+
"type": "string"
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"issues_created": {
|
|
66
|
+
"type": "array",
|
|
67
|
+
"items": {
|
|
68
|
+
"type": "string"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"follow_ups": {
|
|
72
|
+
"type": "array",
|
|
73
|
+
"items": {
|
|
74
|
+
"type": "string"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"risks": {
|
|
78
|
+
"type": "array",
|
|
79
|
+
"items": {
|
|
80
|
+
"type": "string"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"verification": {
|
|
84
|
+
"type": "array",
|
|
85
|
+
"items": {
|
|
86
|
+
"type": "string"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"actions": {
|
|
90
|
+
"type": "array",
|
|
91
|
+
"items": {
|
|
92
|
+
"oneOf": [
|
|
93
|
+
{
|
|
94
|
+
"type": "object",
|
|
95
|
+
"required": [
|
|
96
|
+
"type",
|
|
97
|
+
"memberId",
|
|
98
|
+
"task"
|
|
99
|
+
],
|
|
100
|
+
"properties": {
|
|
101
|
+
"type": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"enum": [
|
|
104
|
+
"resume"
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"memberId": {
|
|
108
|
+
"type": "string"
|
|
109
|
+
},
|
|
110
|
+
"task": {
|
|
111
|
+
"type": "string"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"type": "object",
|
|
117
|
+
"required": [
|
|
118
|
+
"type",
|
|
119
|
+
"memberId",
|
|
120
|
+
"message"
|
|
121
|
+
],
|
|
122
|
+
"properties": {
|
|
123
|
+
"type": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"enum": [
|
|
126
|
+
"steer"
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
"memberId": {
|
|
130
|
+
"type": "string"
|
|
131
|
+
},
|
|
132
|
+
"message": {
|
|
133
|
+
"type": "string"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"type": "object",
|
|
139
|
+
"required": [
|
|
140
|
+
"type",
|
|
141
|
+
"memberId"
|
|
142
|
+
],
|
|
143
|
+
"properties": {
|
|
144
|
+
"type": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"enum": [
|
|
147
|
+
"stop"
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
"memberId": {
|
|
151
|
+
"type": "string"
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
"blocking_on": {
|
|
159
|
+
"type": "object",
|
|
160
|
+
"properties": {
|
|
161
|
+
"kind": {
|
|
162
|
+
"type": "string",
|
|
163
|
+
"enum": [
|
|
164
|
+
"human_input",
|
|
165
|
+
"member_output",
|
|
166
|
+
"external_dependency"
|
|
167
|
+
]
|
|
168
|
+
},
|
|
169
|
+
"target": {
|
|
170
|
+
"type": "string"
|
|
171
|
+
},
|
|
172
|
+
"details": {
|
|
173
|
+
"type": "string"
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
},
|
|
177
|
+
"memory_patch": {
|
|
178
|
+
"type": "array",
|
|
179
|
+
"items": {
|
|
180
|
+
"type": "object",
|
|
181
|
+
"required": [
|
|
182
|
+
"entry_type",
|
|
183
|
+
"summary"
|
|
184
|
+
],
|
|
185
|
+
"properties": {
|
|
186
|
+
"entry_type": {
|
|
187
|
+
"type": "string",
|
|
188
|
+
"enum": [
|
|
189
|
+
"fact",
|
|
190
|
+
"question",
|
|
191
|
+
"decision"
|
|
192
|
+
]
|
|
193
|
+
},
|
|
194
|
+
"entry_id": {
|
|
195
|
+
"type": "string"
|
|
196
|
+
},
|
|
197
|
+
"summary": {
|
|
198
|
+
"type": "string"
|
|
199
|
+
},
|
|
200
|
+
"source_member_id": {
|
|
201
|
+
"type": "string"
|
|
202
|
+
},
|
|
203
|
+
"confidence": {
|
|
204
|
+
"type": "number"
|
|
205
|
+
},
|
|
206
|
+
"provenance": {
|
|
207
|
+
"type": "object"
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"coordination_state": {
|
|
213
|
+
"type": "object",
|
|
214
|
+
"properties": {
|
|
215
|
+
"current_goal": {
|
|
216
|
+
"type": "string"
|
|
217
|
+
},
|
|
218
|
+
"active_members": {
|
|
219
|
+
"type": "array",
|
|
220
|
+
"items": {
|
|
221
|
+
"type": "string"
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
"waiting_on_members": {
|
|
225
|
+
"type": "array",
|
|
226
|
+
"items": {
|
|
227
|
+
"type": "string"
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"pending_decisions": {
|
|
231
|
+
"type": "array",
|
|
232
|
+
"items": {
|
|
233
|
+
"type": "string"
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
"blockers": {
|
|
237
|
+
"type": "array",
|
|
238
|
+
"items": {
|
|
239
|
+
"type": "string"
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
"routing_rationale": {
|
|
245
|
+
"type": "string"
|
|
246
|
+
},
|
|
247
|
+
"next_trigger": {
|
|
248
|
+
"type": "object",
|
|
249
|
+
"required": [
|
|
250
|
+
"event"
|
|
251
|
+
],
|
|
252
|
+
"properties": {
|
|
253
|
+
"event": {
|
|
254
|
+
"type": "string",
|
|
255
|
+
"enum": [
|
|
256
|
+
"on_member_update",
|
|
257
|
+
"on_human_input",
|
|
258
|
+
"on_external_update",
|
|
259
|
+
"on_timeout",
|
|
260
|
+
"manual_resume"
|
|
261
|
+
]
|
|
262
|
+
},
|
|
263
|
+
"target": {
|
|
264
|
+
"type": "string"
|
|
265
|
+
},
|
|
266
|
+
"details": {
|
|
267
|
+
"type": "string"
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
"skills": {
|
|
275
|
+
"paths": [
|
|
276
|
+
".xtrm/skills/active/pi/using-specialists/"
|
|
277
|
+
],
|
|
278
|
+
"scripts": [
|
|
279
|
+
{
|
|
280
|
+
"run": "specialists list",
|
|
281
|
+
"phase": "pre",
|
|
282
|
+
"inject_output": true
|
|
283
|
+
}
|
|
284
|
+
]
|
|
285
|
+
},
|
|
286
|
+
"capabilities": {
|
|
287
|
+
"required_tools": [
|
|
288
|
+
"read",
|
|
289
|
+
"grep",
|
|
290
|
+
"find",
|
|
291
|
+
"ls"
|
|
292
|
+
],
|
|
293
|
+
"external_commands": [
|
|
294
|
+
"bd",
|
|
295
|
+
"git",
|
|
296
|
+
"specialists"
|
|
297
|
+
]
|
|
298
|
+
},
|
|
299
|
+
"communication": {
|
|
300
|
+
"next_specialists": []
|
|
301
|
+
},
|
|
302
|
+
"validation": {
|
|
303
|
+
"files_to_watch": [
|
|
304
|
+
"src/specialist/schema.ts",
|
|
305
|
+
"src/specialist/runner.ts",
|
|
306
|
+
"src/specialist/worktree.ts",
|
|
307
|
+
"src/specialist/supervisor.ts"
|
|
308
|
+
],
|
|
309
|
+
"stale_threshold_days": 30
|
|
310
|
+
},
|
|
311
|
+
"beads_integration": "auto",
|
|
312
|
+
"stall_detection": {},
|
|
313
|
+
"beads_write_notes": true
|
|
314
|
+
}
|
|
315
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specialist": {
|
|
3
|
+
"metadata": {
|
|
4
|
+
"name": "overthinker",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Multi-phase deep reasoning workflow: initial analysis, devil's advocate critique, synthesis, and final refined output.",
|
|
7
|
+
"category": "workflow",
|
|
8
|
+
"tags": [
|
|
9
|
+
"reasoning",
|
|
10
|
+
"chain-of-thought",
|
|
11
|
+
"critique",
|
|
12
|
+
"synthesis",
|
|
13
|
+
"deep-analysis"
|
|
14
|
+
],
|
|
15
|
+
"updated": "2026-03-07"
|
|
16
|
+
},
|
|
17
|
+
"execution": {
|
|
18
|
+
"mode": "tool",
|
|
19
|
+
"model": "openai-codex/gpt-5.4",
|
|
20
|
+
"fallback_model": "anthropic/claude-sonnet-4-6",
|
|
21
|
+
"timeout_ms": 0,
|
|
22
|
+
"stall_timeout_ms": 120000,
|
|
23
|
+
"response_format": "markdown",
|
|
24
|
+
"output_type": "synthesis",
|
|
25
|
+
"permission_required": "READ_ONLY",
|
|
26
|
+
"interactive": true,
|
|
27
|
+
"max_retries": 0
|
|
28
|
+
},
|
|
29
|
+
"prompt": {
|
|
30
|
+
"system": "You are the Overthinker specialist — a multi-persona chain-of-thought reasoning engine.\nYour job is to reason deeply about complex problems through four structured phases:\n\nPhase 1 - Initial Analysis:\n Understand the problem fully. Identify goals, constraints, assumptions, and unknowns.\n Produce a thorough first-pass analysis.\n\nPhase 2 - Devil's Advocate:\n Challenge every assumption from Phase 1. What could go wrong? What was missed?\n Steelman opposing views and surface hidden risks or edge cases.\n\nPhase 3 - Synthesis:\n Integrate the initial analysis with the critiques. Resolve contradictions.\n Produce a balanced, comprehensive view that acknowledges trade-offs.\n\nPhase 4 - Final Refined Output:\n Distill everything into a clear, actionable conclusion.\n Prioritize insights. Provide concrete recommendations with reasoning.\n\nRules:\n- Be exhaustive but structured. Use headers for each phase.\n- Do not skip phases even if the problem seems simple.\n- Surface uncertainty explicitly rather than papering over it.\n- Output should be saved-ready markdown.\nSTRICT CONSTRAINTS:\n- You MUST NOT edit, write, or modify any files under any circumstances.\n- You MUST NOT use the edit or write tools.\n- Your only allowed actions are: read, bash (for read-only commands), grep, find, ls.\n- If you find something worth fixing, REPORT it — do not fix it.\n",
|
|
31
|
+
"task_template": "Apply the 4-phase Overthinker workflow to the following problem:\n\n$prompt\n\nContext files (if any): $context_files\n\nIterations requested: $iterations\n\nProduce a complete multi-phase analysis. Use markdown headers for each phase.\nEnd with a \"## Final Answer\" section containing the distilled recommendation.\n"
|
|
32
|
+
},
|
|
33
|
+
"skills": {
|
|
34
|
+
"paths": [
|
|
35
|
+
".xtrm/skills/active/pi/deepwiki/",
|
|
36
|
+
".xtrm/skills/active/pi/find-docs/",
|
|
37
|
+
".xtrm/skills/active/pi/github-search/",
|
|
38
|
+
".xtrm/skills/active/pi/gitnexus-exploring/SKILL.md"
|
|
39
|
+
],
|
|
40
|
+
"scripts": []
|
|
41
|
+
},
|
|
42
|
+
"validation": {
|
|
43
|
+
"files_to_watch": [
|
|
44
|
+
"src/specialist/schema.ts",
|
|
45
|
+
"src/specialist/runner.ts",
|
|
46
|
+
".agents/skills/planning/SKILL.md"
|
|
47
|
+
],
|
|
48
|
+
"stale_threshold_days": 30
|
|
49
|
+
},
|
|
50
|
+
"communication": {
|
|
51
|
+
"publishes": [
|
|
52
|
+
"deep_analysis",
|
|
53
|
+
"reasoning_output",
|
|
54
|
+
"overthinking_result"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"capabilities": {
|
|
58
|
+
"required_tools": [],
|
|
59
|
+
"external_commands": []
|
|
60
|
+
},
|
|
61
|
+
"stall_detection": {},
|
|
62
|
+
"beads_integration": "auto",
|
|
63
|
+
"beads_write_notes": true
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specialist": {
|
|
3
|
+
"metadata": {
|
|
4
|
+
"name": "parallel-review",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"description": "Runs concurrent code review across multiple AI backends with configurable focus areas (architecture, security, performance, quality) and synthesizes findings into a unified report.",
|
|
7
|
+
"category": "workflow",
|
|
8
|
+
"tags": [
|
|
9
|
+
"code-review",
|
|
10
|
+
"parallel",
|
|
11
|
+
"multi-backend",
|
|
12
|
+
"quality",
|
|
13
|
+
"security",
|
|
14
|
+
"architecture"
|
|
15
|
+
],
|
|
16
|
+
"updated": "2026-03-07"
|
|
17
|
+
},
|
|
18
|
+
"execution": {
|
|
19
|
+
"mode": "tool",
|
|
20
|
+
"model": "anthropic/claude-sonnet-4-6",
|
|
21
|
+
"fallback_model": "google-gemini-cli/gemini-3.1-pro-preview",
|
|
22
|
+
"timeout_ms": 0,
|
|
23
|
+
"stall_timeout_ms": 120000,
|
|
24
|
+
"response_format": "markdown",
|
|
25
|
+
"output_type": "review",
|
|
26
|
+
"permission_required": "READ_ONLY",
|
|
27
|
+
"max_retries": 0,
|
|
28
|
+
"interactive": false
|
|
29
|
+
},
|
|
30
|
+
"prompt": {
|
|
31
|
+
"system": "You are a parallel code review specialist. You coordinate concurrent analysis of\nsource files across multiple AI backends and synthesize the results into a unified,\nprioritized review report.\n\nReview focus areas:\n- architecture: Design patterns, long-term impact, scalability, engineering best practices\n- security: Vulnerabilities, input validation, secrets exposure, injection risks\n- performance: Bottlenecks, algorithmic complexity, resource usage, caching opportunities\n- quality: Code clarity, maintainability, test coverage, naming, documentation\n- all: Cover all of the above\n\nFor each focus area you:\n1. Build a tailored prompt for each backend based on its strengths\n2. Run analyses concurrently (standard: 2 backends; double-check: 3 backends)\n3. Synthesize findings into a combined report with prioritized recommendations\n\nOutput structure:\n- Per-backend analysis sections\n- Combined recommendations (High / Medium / Low priority)\n- Summary: files analyzed, focus, backends used, success/failure status\n- Warnings if any backends failed\n\nGracefully handle backend failures: report partial results with clear warnings\nrather than aborting the entire review.\nSTRICT CONSTRAINTS:\n- You MUST NOT edit, write, or modify any files under any circumstances.\n- You MUST NOT use the edit or write tools.\n- Your only allowed actions are: read, bash (for read-only commands), grep, find, ls.\n- If you find something worth fixing, REPORT it — do not fix it.\n",
|
|
32
|
+
"task_template": "Perform a parallel code review on the following files/context:\n\n$prompt\n\nWorking directory: $cwd\n\nRun concurrent analysis, then synthesize a unified review report with prioritized\nrecommendations organized by severity.\n"
|
|
33
|
+
},
|
|
34
|
+
"skills": {
|
|
35
|
+
"paths": [
|
|
36
|
+
".xtrm/skills/active/pi/using-quality-gates/SKILL.md",
|
|
37
|
+
".xtrm/skills/active/pi/clean-code/SKILL.md",
|
|
38
|
+
".xtrm/skills/active/pi/gitnexus-refactoring/SKILL.md",
|
|
39
|
+
".xtrm/skills/active/pi/gitnexus-impact-analysis/SKILL.md"
|
|
40
|
+
],
|
|
41
|
+
"scripts": []
|
|
42
|
+
},
|
|
43
|
+
"validation": {
|
|
44
|
+
"files_to_watch": [
|
|
45
|
+
"src/specialist/schema.ts",
|
|
46
|
+
"src/specialist/runner.ts"
|
|
47
|
+
],
|
|
48
|
+
"stale_threshold_days": 30
|
|
49
|
+
},
|
|
50
|
+
"communication": {
|
|
51
|
+
"publishes": [
|
|
52
|
+
"code_review_report",
|
|
53
|
+
"review_recommendations",
|
|
54
|
+
"quality_analysis"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"capabilities": {
|
|
58
|
+
"required_tools": [],
|
|
59
|
+
"external_commands": []
|
|
60
|
+
},
|
|
61
|
+
"stall_detection": {},
|
|
62
|
+
"beads_integration": "auto",
|
|
63
|
+
"beads_write_notes": true
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specialist": {
|
|
3
|
+
"metadata": {
|
|
4
|
+
"name": "planner",
|
|
5
|
+
"version": "1.1.0",
|
|
6
|
+
"description": "Structured planning specialist for xtrm projects. Explores the codebase (GitNexus + Serena), creates a phased bd issue board with rich descriptions, and applies test-planning per layer. Outputs a ready-to-implement epic: child issues created, dependencies wired, test issues generated. Fully autonomous — give it a task description and get back an epic ID and first task to claim.",
|
|
7
|
+
"category": "workflow",
|
|
8
|
+
"tags": [
|
|
9
|
+
"planning",
|
|
10
|
+
"bd",
|
|
11
|
+
"issues",
|
|
12
|
+
"epic",
|
|
13
|
+
"gitnexus",
|
|
14
|
+
"test-planning"
|
|
15
|
+
],
|
|
16
|
+
"updated": "2026-03-31"
|
|
17
|
+
},
|
|
18
|
+
"execution": {
|
|
19
|
+
"mode": "tool",
|
|
20
|
+
"model": "anthropic/claude-sonnet-4-6",
|
|
21
|
+
"fallback_model": "google-gemini-cli/gemini-3.1-pro-preview",
|
|
22
|
+
"timeout_ms": 0,
|
|
23
|
+
"stall_timeout_ms": 120000,
|
|
24
|
+
"response_format": "markdown",
|
|
25
|
+
"output_type": "workflow",
|
|
26
|
+
"permission_required": "HIGH",
|
|
27
|
+
"interactive": true,
|
|
28
|
+
"max_retries": 0
|
|
29
|
+
},
|
|
30
|
+
"prompt": {
|
|
31
|
+
"system": "You are the Planner specialist for xtrm projects.\n\nThe planning skill (Phases 1–6) and the test-planning skill are injected\ninto this system prompt below. Follow the 6-phase workflow from the\nplanning skill exactly.\n\n## Background execution overrides\n\nThese replace the interactive behaviors in the planning skill:\n\n- **Skip Phase 1 (clarification)**: the task prompt is fully specified —\n proceed directly to Phase 2\n- **Phase 4**: use `bd` CLI directly to create real issues — no approval step\n- **Parent-epic routing (mandatory when `$bead_id` is present)**:\n run `bd show $bead_id --json`; if the bead has a `parent`, reuse that\n parent epic for all newly created children and do NOT create a new epic\n- **Phase 5**: apply test-planning logic inline using the test-planning skill\n injected below — do NOT invoke /test-planning as a slash command\n- **Phase 6**: do NOT claim any issue — output the structured result and stop\n\n## Required output format\n\nEnd your response with this block (fill in real IDs):\n\n```\n## Planner result\n\nEpic: <epic-id> — <epic title>\nChildren: <id1>, <id2>, <id3>, ...\nTest issues: <test-id1>, <test-id2>, ...\nFirst task: <id> — <title>\n\nTo start: bd update <first-task-id> --claim\n```\n",
|
|
32
|
+
"task_template": "Plan the following task and create a bd issue board:\n\nTask: $prompt\n\nWorking directory: $cwd\n\nFollow the planning skill workflow (Phases 2–6). Explore the codebase with\nGitNexus and Serena before creating any issues. Create real bd issues via\nthe bd CLI. Apply test-planning logic (from the injected test-planning skill)\nto add test issues per layer. End with the structured \"## Planner result\" block.\n",
|
|
33
|
+
"output_schema": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"properties": {
|
|
36
|
+
"epic_id": {
|
|
37
|
+
"type": "string"
|
|
38
|
+
},
|
|
39
|
+
"children": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"test_issues": {
|
|
46
|
+
"type": "array",
|
|
47
|
+
"items": {
|
|
48
|
+
"type": "string"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"first_task": {
|
|
52
|
+
"type": "string"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"skills": {
|
|
58
|
+
"paths": [
|
|
59
|
+
".xtrm/skills/active/pi/planning/SKILL.md",
|
|
60
|
+
".xtrm/skills/active/pi/test-planning/SKILL.md",
|
|
61
|
+
".xtrm/skills/active/pi/gitnexus-exploring/SKILL.md"
|
|
62
|
+
],
|
|
63
|
+
"scripts": []
|
|
64
|
+
},
|
|
65
|
+
"capabilities": {
|
|
66
|
+
"required_tools": [
|
|
67
|
+
"bash",
|
|
68
|
+
"read",
|
|
69
|
+
"grep",
|
|
70
|
+
"glob"
|
|
71
|
+
],
|
|
72
|
+
"external_commands": [
|
|
73
|
+
"bd",
|
|
74
|
+
"git"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"validation": {
|
|
78
|
+
"files_to_watch": [
|
|
79
|
+
"src/specialist/schema.ts",
|
|
80
|
+
"src/specialist/runner.ts"
|
|
81
|
+
],
|
|
82
|
+
"stale_threshold_days": 30
|
|
83
|
+
},
|
|
84
|
+
"communication": {
|
|
85
|
+
"next_specialists": [
|
|
86
|
+
"executor"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"beads_integration": "auto",
|
|
90
|
+
"stall_detection": {},
|
|
91
|
+
"beads_write_notes": true
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"specialist": {
|
|
3
|
+
"metadata": {
|
|
4
|
+
"name": "researcher",
|
|
5
|
+
"version": "1.1.0",
|
|
6
|
+
"description": "Documentation and code researcher. Two modes: (1) targeted — look up current docs for a library, API, or framework relevant to the active job; (2) discovery — use ghgrep to find code patterns across GitHub, identify interesting repos, then deep-dive with deepwiki. Uses ctx7, deepwiki, and ghgrep CLIs. Keep-alive by default.",
|
|
7
|
+
"category": "analysis",
|
|
8
|
+
"tags": [
|
|
9
|
+
"docs",
|
|
10
|
+
"research",
|
|
11
|
+
"context7",
|
|
12
|
+
"deepwiki",
|
|
13
|
+
"github",
|
|
14
|
+
"discovery"
|
|
15
|
+
],
|
|
16
|
+
"updated": "2026-04-02"
|
|
17
|
+
},
|
|
18
|
+
"execution": {
|
|
19
|
+
"mode": "tool",
|
|
20
|
+
"model": "anthropic/claude-haiku-4-5",
|
|
21
|
+
"fallback_model": "anthropic/claude-sonnet-4-6",
|
|
22
|
+
"timeout_ms": 0,
|
|
23
|
+
"stall_timeout_ms": 120000,
|
|
24
|
+
"response_format": "markdown",
|
|
25
|
+
"output_type": "research",
|
|
26
|
+
"permission_required": "LOW",
|
|
27
|
+
"interactive": true,
|
|
28
|
+
"max_retries": 0
|
|
29
|
+
},
|
|
30
|
+
"prompt": {
|
|
31
|
+
"system": "You are a documentation and code researcher with two operating modes.\n\n## Mode 1: Targeted Lookup\n\nAnswer specific questions about libraries, APIs, or frameworks relevant to the current job.\nUse ctx7 for library/framework documentation. Use deepwiki for repo-specific internals.\n\nWhen to use: the bead or prompt asks about how a specific library works, what an API returns,\nwhat flags a CLI supports, or how a framework handles a specific pattern.\n\n## Mode 2: Discovery\n\nExplore what the wider ecosystem has built. Use ghgrep to search GitHub for code patterns\nand real-world implementations. When you find an interesting repository, use deepwiki to\ndeep-dive into its architecture, patterns, and conventions. Synthesize findings into\nactionable insights the team can apply.\n\nWhen to use: the bead or prompt asks \"how do others implement X?\", \"what's a good example\nof Y in the wild?\", or \"find repos that do Z well.\"\n\n## Tools Available\n\n### ghgrep — GitHub code search CLI\n\n```bash\nghgrep <query> [options]\n\n--lang <langs> comma-separated: TypeScript,TSX,Python,Go\n--repo <repo> filter by repo: facebook/react\n--path <path> file path pattern: \"packages/**\"\n--regexp regex mode (auto-prefixes (?s) for multiline)\n--case case-sensitive\n--words whole-word match\n--limit <n> max results (default: 10)\n--json raw JSON output\n```\n\nExamples:\n```bash\nghgrep \"useEffect(\" --lang TSX,TypeScript --limit 5\nghgrep \"AbortController\" --repo vercel/next.js --path \"packages/**\"\nghgrep \"class NotFoundError\" --regexp --lang TypeScript\n```\n\n### ctx7 — Context7 library documentation\n\nTwo-step process:\n```bash\n# Step 1: Resolve library ID\nnpx ctx7@latest library <name> \"<query>\"\n\n# Step 2: Fetch docs\nnpx ctx7@latest docs <libraryId> \"<query>\"\n```\n\n### deepwiki — GitHub repo documentation\n\n```bash\n# Table of contents for a repo\nnpx @seflless/deepwiki toc <owner/repo> --no-color -q\n\n# Ask a specific question about a repo\nnpx @seflless/deepwiki ask <owner/repo> \"<question>\" --no-color -q\n```\n\n## Discovery Workflow (Mode 2)\n\n1. Use ghgrep to search for code patterns relevant to the question\n2. Scan results to identify the most interesting/relevant repositories\n3. Use `deepwiki toc` to understand the selected repo's structure\n4. Use `deepwiki ask` to extract the specific pattern or design decision\n5. Synthesize findings into a structured report with concrete takeaways\n\n## Targeted Lookup Workflow (Mode 1)\n\n1. For library/framework questions → ctx7: resolve library ID, then fetch docs with query\n2. For GitHub repo internals (e.g. \"how does Vite handle X?\") → deepwiki ask\n3. Always run the actual CLI commands — do not answer from training knowledge\n4. Prefer targeted queries over broad ones; 1-3 CLI calls per sub-question\n\n## Constraints\n\n- READ and BASH only — do not write or edit any files\n- Do not include API keys, credentials, or sensitive data in queries\n- If quota errors or CLI failures occur, report them explicitly — do not silently fall back\n to training data\n- This is a keep-alive specialist — after completing a research turn, enter waiting state\n ready for follow-up questions or new research directions\n",
|
|
32
|
+
"task_template": "Research the following and return current documentation or findings with examples:\n\n$prompt\n\nChoose the appropriate mode:\n- **Targeted**: Use ctx7 or deepwiki to retrieve current docs for a specific library/API\n- **Discovery**: Use ghgrep to find real-world code patterns, identify interesting repos,\n then use deepwiki to deep-dive into the best ones\n\nSynthesize results into a clear, structured answer with code examples and actionable insights.\nAfter delivering your findings, enter keep-alive waiting state for follow-up questions.\n"
|
|
33
|
+
},
|
|
34
|
+
"skills": {
|
|
35
|
+
"paths": [
|
|
36
|
+
".xtrm/skills/active/pi/find-docs/SKILL.md",
|
|
37
|
+
".xtrm/skills/active/pi/deepwiki/SKILL.md",
|
|
38
|
+
".xtrm/skills/active/pi/github-search/SKILL.md"
|
|
39
|
+
],
|
|
40
|
+
"scripts": []
|
|
41
|
+
},
|
|
42
|
+
"validation": {
|
|
43
|
+
"files_to_watch": [
|
|
44
|
+
".xtrm/skills/active/pi/find-docs/SKILL.md",
|
|
45
|
+
".xtrm/skills/active/pi/deepwiki/SKILL.md",
|
|
46
|
+
".xtrm/skills/active/pi/github-search/SKILL.md"
|
|
47
|
+
],
|
|
48
|
+
"stale_threshold_days": 30
|
|
49
|
+
},
|
|
50
|
+
"communication": {
|
|
51
|
+
"publishes": [
|
|
52
|
+
"documentation_research",
|
|
53
|
+
"code_discovery"
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
"capabilities": {
|
|
57
|
+
"required_tools": [],
|
|
58
|
+
"external_commands": []
|
|
59
|
+
},
|
|
60
|
+
"stall_detection": {},
|
|
61
|
+
"beads_integration": "auto",
|
|
62
|
+
"beads_write_notes": true
|
|
63
|
+
}
|
|
64
|
+
}
|