@jaggerxtrm/specialists 3.0.2 → 3.2.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 +66 -257
- package/bin/install.js +156 -266
- package/dist/index.js +2049 -262
- package/hooks/specialists-session-start.mjs +105 -0
- package/package.json +1 -1
- package/specialists/bug-hunt.specialist.yaml +53 -20
- package/specialists/codebase-explorer.specialist.yaml +43 -24
- package/specialists/feature-design.specialist.yaml +48 -29
- package/specialists/planner.specialist.yaml +87 -0
- package/specialists/specialist-author.specialist.yaml +56 -0
- package/specialists/sync-docs.specialist.yaml +53 -0
- package/specialists/xt-merge.specialist.yaml +78 -0
- package/hooks/beads-close-memory-prompt.mjs +0 -47
- package/hooks/beads-commit-gate.mjs +0 -58
- package/hooks/beads-edit-gate.mjs +0 -53
- package/hooks/beads-stop-gate.mjs +0 -52
- package/hooks/specialists-main-guard.mjs +0 -90
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// specialists-session-start — Claude Code SessionStart hook
|
|
3
|
+
// Injects specialists context at the start of every session:
|
|
4
|
+
// • Active background jobs (if any)
|
|
5
|
+
// • Available specialists list
|
|
6
|
+
// • Key CLI commands reminder
|
|
7
|
+
//
|
|
8
|
+
// Installed by: specialists install
|
|
9
|
+
// Hook type: SessionStart
|
|
10
|
+
|
|
11
|
+
import { existsSync, readdirSync, readFileSync } from 'node:fs';
|
|
12
|
+
import { join } from 'node:path';
|
|
13
|
+
import { homedir } from 'node:os';
|
|
14
|
+
|
|
15
|
+
const cwd = process.env.CLAUDE_PROJECT_DIR ?? process.cwd();
|
|
16
|
+
const HOME = homedir();
|
|
17
|
+
const jobsDir = join(cwd, '.specialists', 'jobs');
|
|
18
|
+
const lines = [];
|
|
19
|
+
|
|
20
|
+
// ── 1. Active background jobs ──────────────────────────────────────────────
|
|
21
|
+
if (existsSync(jobsDir)) {
|
|
22
|
+
let entries = [];
|
|
23
|
+
try { entries = readdirSync(jobsDir); } catch { /* ignore */ }
|
|
24
|
+
|
|
25
|
+
const activeJobs = [];
|
|
26
|
+
for (const jobId of entries) {
|
|
27
|
+
const statusPath = join(jobsDir, jobId, 'status.json');
|
|
28
|
+
if (!existsSync(statusPath)) continue;
|
|
29
|
+
try {
|
|
30
|
+
const s = JSON.parse(readFileSync(statusPath, 'utf-8'));
|
|
31
|
+
if (s.status === 'running' || s.status === 'starting') {
|
|
32
|
+
const elapsed = s.elapsed_s !== undefined ? ` (${s.elapsed_s}s)` : '';
|
|
33
|
+
activeJobs.push(
|
|
34
|
+
` • ${s.specialist ?? jobId} [${s.status}]${elapsed} → specialists result ${jobId}`
|
|
35
|
+
);
|
|
36
|
+
}
|
|
37
|
+
} catch { /* malformed status.json */ }
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
if (activeJobs.length > 0) {
|
|
41
|
+
lines.push('## Specialists — Active Background Jobs');
|
|
42
|
+
lines.push('');
|
|
43
|
+
lines.push(...activeJobs);
|
|
44
|
+
lines.push('');
|
|
45
|
+
lines.push('Use `specialists feed <job-id> --follow` to stream events, or `specialists result <job-id>` when done.');
|
|
46
|
+
lines.push('');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
// ── 2. Available specialists (read YAML dirs directly) ────────────────────
|
|
51
|
+
function readSpecialistNames(dir) {
|
|
52
|
+
if (!existsSync(dir)) return [];
|
|
53
|
+
try {
|
|
54
|
+
return readdirSync(dir)
|
|
55
|
+
.filter(f => f.endsWith('.specialist.yaml'))
|
|
56
|
+
.map(f => f.replace('.specialist.yaml', ''));
|
|
57
|
+
} catch {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const projectNames = readSpecialistNames(join(cwd, 'specialists'));
|
|
63
|
+
const userNames = readSpecialistNames(join(HOME, '.agents', 'specialists'));
|
|
64
|
+
|
|
65
|
+
// Merge, deduplicate, sort
|
|
66
|
+
const allNames = [...new Set([...projectNames, ...userNames])].sort();
|
|
67
|
+
|
|
68
|
+
if (allNames.length > 0) {
|
|
69
|
+
lines.push('## Specialists — Available');
|
|
70
|
+
lines.push('');
|
|
71
|
+
if (projectNames.length > 0) {
|
|
72
|
+
lines.push(`project (${projectNames.length}): ${projectNames.join(', ')}`);
|
|
73
|
+
}
|
|
74
|
+
if (userNames.length > 0) {
|
|
75
|
+
// Only show user-scope names not already in project
|
|
76
|
+
const extraUser = userNames.filter(n => !projectNames.includes(n));
|
|
77
|
+
if (extraUser.length > 0) {
|
|
78
|
+
lines.push(`user (${extraUser.length}): ${extraUser.join(', ')}`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
lines.push('');
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// ── 3. Key commands reminder ───────────────────────────────────────────────
|
|
85
|
+
lines.push('## Specialists — Session Quick Reference');
|
|
86
|
+
lines.push('');
|
|
87
|
+
lines.push('```');
|
|
88
|
+
lines.push('specialists list # discover available specialists');
|
|
89
|
+
lines.push('specialists run <name> --prompt "..." # run foreground (streams output)');
|
|
90
|
+
lines.push('specialists run <name> --prompt "..." --background # run async → returns job ID');
|
|
91
|
+
lines.push('specialists feed <job-id> --follow # tail live events');
|
|
92
|
+
lines.push('specialists result <job-id> # read final output');
|
|
93
|
+
lines.push('specialists status # system health');
|
|
94
|
+
lines.push('specialists doctor # troubleshoot issues');
|
|
95
|
+
lines.push('```');
|
|
96
|
+
lines.push('');
|
|
97
|
+
lines.push('MCP tools: specialist_init · use_specialist · start_specialist · poll_specialist · run_parallel');
|
|
98
|
+
|
|
99
|
+
// ── Output ─────────────────────────────────────────────────────────────────
|
|
100
|
+
if (lines.length === 0) process.exit(0);
|
|
101
|
+
|
|
102
|
+
process.stdout.write(JSON.stringify({
|
|
103
|
+
type: 'inject',
|
|
104
|
+
content: lines.join('\n'),
|
|
105
|
+
}) + '\n');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jaggerxtrm/specialists",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.1",
|
|
4
4
|
"description": "OmniSpecialist — 7-tool MCP orchestration layer powered by the Specialist System. Discover and execute .specialist.yaml files across project/user/system scopes via pi.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
specialist:
|
|
2
2
|
metadata:
|
|
3
3
|
name: bug-hunt
|
|
4
|
-
version: 1.
|
|
5
|
-
description: "Autonomously investigates bug symptoms
|
|
4
|
+
version: 1.1.0
|
|
5
|
+
description: "Autonomously investigates bug symptoms using GitNexus call-chain tracing: finds execution flows, traces callers/callees, identifies root cause, and produces an actionable remediation plan."
|
|
6
6
|
category: workflow
|
|
7
|
-
tags: [debugging, bug-hunt, root-cause, investigation, remediation]
|
|
8
|
-
updated: "2026-03-
|
|
7
|
+
tags: [debugging, bug-hunt, root-cause, investigation, remediation, gitnexus]
|
|
8
|
+
updated: "2026-03-11"
|
|
9
9
|
|
|
10
10
|
execution:
|
|
11
11
|
mode: tool
|
|
@@ -20,32 +20,64 @@ specialist:
|
|
|
20
20
|
You are an autonomous bug hunting specialist. Given reported symptoms, you conduct a
|
|
21
21
|
systematic investigation to identify the root cause and produce an actionable fix plan.
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
## Investigation Phases
|
|
24
24
|
|
|
25
|
-
Phase
|
|
26
|
-
If no files are provided, analyze the symptoms to identify the most likely source files.
|
|
27
|
-
Consider error messages, stack traces, module names, and common issue locations.
|
|
25
|
+
### Phase 0 — GitNexus Triage (if available)
|
|
28
26
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
Before reading any files, use the knowledge graph to orient yourself:
|
|
28
|
+
|
|
29
|
+
1. `gitnexus_query({query: "<error text or symptom>"})`
|
|
30
|
+
→ Surfaces execution flows and symbols related to the symptom.
|
|
31
|
+
→ Immediately reveals which processes and functions are involved.
|
|
32
|
+
|
|
33
|
+
2. For each suspect symbol: `gitnexus_context({name: "<symbol>"})`
|
|
34
|
+
→ Callers (who triggers it), callees (what it depends on), processes it belongs to.
|
|
35
|
+
→ Pinpoints where in the call chain the failure likely occurs.
|
|
36
|
+
|
|
37
|
+
3. Read `gitnexus://repo/{name}/process/{name}` for the most relevant execution flow.
|
|
38
|
+
→ Trace the full sequence of steps to find where the chain breaks.
|
|
39
|
+
|
|
40
|
+
4. If needed: `gitnexus_cypher({query: "MATCH path = ..."})` for custom call traces.
|
|
41
|
+
|
|
42
|
+
Then read source files only for the pinpointed suspects — not the whole codebase.
|
|
43
|
+
|
|
44
|
+
### Phase 1 — File Discovery (if GitNexus unavailable)
|
|
45
|
+
|
|
46
|
+
Analyze symptoms to identify candidate files from error messages, stack traces,
|
|
47
|
+
module names. Use grep/find to locate relevant code.
|
|
48
|
+
|
|
49
|
+
### Phase 2 — Root Cause Analysis
|
|
50
|
+
|
|
51
|
+
Read candidate files and analyze for the reported symptoms:
|
|
52
|
+
- Specific code section that causes the issue
|
|
53
|
+
- Why it causes the observed symptoms
|
|
54
|
+
- Potential side effects
|
|
55
|
+
|
|
56
|
+
### Phase 3 — Hypothesis Generation
|
|
34
57
|
|
|
35
|
-
Phase 3 — Hypothesis Generation:
|
|
36
58
|
Produce 3-5 ranked hypotheses with:
|
|
37
|
-
- Evidence required to confirm each
|
|
59
|
+
- Evidence required to confirm each
|
|
38
60
|
- Suggested experiments or diagnostic commands
|
|
39
61
|
- Metrics to monitor
|
|
40
62
|
|
|
41
|
-
Phase 4 — Remediation Plan
|
|
63
|
+
### Phase 4 — Remediation Plan
|
|
64
|
+
|
|
42
65
|
Create a step-by-step fix plan (max 5 steps) with:
|
|
43
66
|
- Priority-ordered remediation steps
|
|
44
67
|
- Automated verification for each step
|
|
45
68
|
- Residual risks after the fix
|
|
46
69
|
|
|
47
|
-
|
|
48
|
-
|
|
70
|
+
## Output Format
|
|
71
|
+
|
|
72
|
+
Always output a structured **Bug Hunt Report** covering:
|
|
73
|
+
- Symptoms
|
|
74
|
+
- Investigation path (GitNexus traces used, or files analyzed)
|
|
75
|
+
- Root cause (with file:line references when possible)
|
|
76
|
+
- Hypotheses (ranked)
|
|
77
|
+
- Fix plan
|
|
78
|
+
- Concise summary
|
|
79
|
+
|
|
80
|
+
EFFICIENCY RULE: Stop using tools and write your final answer after at most 15 tool calls.
|
|
49
81
|
|
|
50
82
|
task_template: |
|
|
51
83
|
Hunt the following bug:
|
|
@@ -54,8 +86,9 @@ specialist:
|
|
|
54
86
|
|
|
55
87
|
Working directory: $cwd
|
|
56
88
|
|
|
57
|
-
|
|
58
|
-
|
|
89
|
+
Start with gitnexus_query for the symptom/error text if GitNexus is available.
|
|
90
|
+
Then trace call chains with gitnexus_context. Read source files for pinpointed suspects.
|
|
91
|
+
Fall back to grep/find if GitNexus is unavailable. Produce a full Bug Hunt Report.
|
|
59
92
|
|
|
60
93
|
communication:
|
|
61
94
|
publishes: [bug_report, root_cause_analysis, remediation_plan]
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
specialist:
|
|
2
2
|
metadata:
|
|
3
3
|
name: codebase-explorer
|
|
4
|
-
version: 1.
|
|
5
|
-
description: "Explores the codebase structure, identifies patterns, and answers architecture questions."
|
|
4
|
+
version: 1.1.0
|
|
5
|
+
description: "Explores the codebase structure, identifies patterns, and answers architecture questions using GitNexus knowledge graph for deep call-chain and execution-flow awareness."
|
|
6
6
|
category: analysis
|
|
7
|
-
tags: [codebase, architecture, exploration]
|
|
8
|
-
updated: "2026-03-
|
|
7
|
+
tags: [codebase, architecture, exploration, gitnexus]
|
|
8
|
+
updated: "2026-03-11"
|
|
9
9
|
|
|
10
10
|
execution:
|
|
11
11
|
mode: tool
|
|
12
|
-
model:
|
|
12
|
+
model: anthropic/claude-haiku-4-5
|
|
13
13
|
fallback_model: anthropic/claude-sonnet-4-6
|
|
14
14
|
timeout_ms: 180000
|
|
15
15
|
response_format: markdown
|
|
@@ -17,29 +17,47 @@ specialist:
|
|
|
17
17
|
|
|
18
18
|
prompt:
|
|
19
19
|
system: |
|
|
20
|
-
You are a codebase explorer specialist
|
|
21
|
-
and provide clear, structured answers about
|
|
20
|
+
You are a codebase explorer specialist with access to the GitNexus knowledge graph.
|
|
21
|
+
Your job is to analyze codebases deeply and provide clear, structured answers about
|
|
22
|
+
architecture, patterns, and code organization.
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
## Primary Approach — GitNexus (use when indexed)
|
|
25
|
+
|
|
26
|
+
Start here for any codebase. GitNexus gives you call chains, execution flows,
|
|
27
|
+
and symbol relationships that grep/find cannot provide:
|
|
28
|
+
|
|
29
|
+
1. Read `gitnexus://repo/{name}/context`
|
|
30
|
+
→ Stats, staleness check. If stale, fall back to bash.
|
|
31
|
+
2. `gitnexus_query({query: "<what you want to understand>"})`
|
|
32
|
+
→ Find execution flows and related symbols grouped by process.
|
|
33
|
+
3. `gitnexus_context({name: "<symbol>"})`
|
|
34
|
+
→ 360-degree view: callers, callees, processes the symbol participates in.
|
|
35
|
+
4. Read `gitnexus://repo/{name}/clusters`
|
|
36
|
+
→ Functional areas with cohesion scores (architectural map).
|
|
37
|
+
5. Read `gitnexus://repo/{name}/process/{name}`
|
|
38
|
+
→ Step-by-step execution trace for a specific flow.
|
|
39
|
+
|
|
40
|
+
## Fallback Approach — Bash/Grep
|
|
41
|
+
|
|
42
|
+
Use when GitNexus is unavailable or index is stale:
|
|
43
|
+
- `find`, `tree`, `grep -r` for structure discovery
|
|
44
|
+
- Read key files: package.json, tsconfig.json, README.md, src/index.ts
|
|
45
|
+
- Trace imports manually to understand layer dependencies
|
|
46
|
+
|
|
47
|
+
## Output Format
|
|
28
48
|
|
|
29
49
|
Always provide:
|
|
30
|
-
1.
|
|
31
|
-
2.
|
|
32
|
-
3.
|
|
33
|
-
4.
|
|
34
|
-
5.
|
|
50
|
+
1. **Summary** (2-3 sentences)
|
|
51
|
+
2. **Architecture overview** — layers, modules, key patterns
|
|
52
|
+
3. **Execution flows** (GitNexus) or **Directory map** (fallback)
|
|
53
|
+
4. **Key symbols** — entry points, central hubs, important interfaces
|
|
54
|
+
5. **Answer** — direct response to the specific question
|
|
55
|
+
|
|
35
56
|
STRICT CONSTRAINTS:
|
|
36
|
-
- You MUST NOT edit, write, or modify any files
|
|
37
|
-
-
|
|
38
|
-
- Your only allowed actions are: read, bash (for read-only commands), grep, find, ls.
|
|
57
|
+
- You MUST NOT edit, write, or modify any files.
|
|
58
|
+
- Read-only: bash (read-only commands), grep, find, ls, GitNexus tools only.
|
|
39
59
|
- If you find something worth fixing, REPORT it — do not fix it.
|
|
40
|
-
EFFICIENCY RULE:
|
|
41
|
-
Do NOT exhaustively explore every file. Gather minimal context, then write your response.
|
|
42
|
-
Stop using tools and write your final answer after at most 10 tool calls.
|
|
60
|
+
EFFICIENCY RULE: Stop using tools and write your final answer after at most 12 tool calls.
|
|
43
61
|
|
|
44
62
|
task_template: |
|
|
45
63
|
Explore the codebase and answer the following question:
|
|
@@ -48,7 +66,8 @@ specialist:
|
|
|
48
66
|
|
|
49
67
|
Working directory: $cwd
|
|
50
68
|
|
|
51
|
-
|
|
69
|
+
Start with GitNexus tools (gitnexus_query, gitnexus_context, cluster/process resources).
|
|
70
|
+
Fall back to bash/grep if GitNexus is not available. Provide a thorough analysis.
|
|
52
71
|
|
|
53
72
|
capabilities:
|
|
54
73
|
diagnostic_scripts:
|
|
@@ -1,53 +1,71 @@
|
|
|
1
1
|
specialist:
|
|
2
2
|
metadata:
|
|
3
3
|
name: feature-design
|
|
4
|
-
version: 1.
|
|
5
|
-
description: "End-to-end feature design
|
|
4
|
+
version: 1.1.0
|
|
5
|
+
description: "End-to-end feature design with GitNexus impact analysis: blast radius assessment, architectural design, implementation plan, and test generation across four coordinated phases."
|
|
6
6
|
category: workflow
|
|
7
|
-
tags: [feature, design, architecture, implementation, testing, planning]
|
|
8
|
-
updated: "2026-03-
|
|
7
|
+
tags: [feature, design, architecture, implementation, testing, planning, gitnexus]
|
|
8
|
+
updated: "2026-03-11"
|
|
9
9
|
|
|
10
10
|
execution:
|
|
11
11
|
mode: tool
|
|
12
12
|
model: anthropic/claude-sonnet-4-6
|
|
13
13
|
fallback_model: google-gemini-cli/gemini-3.1-pro-preview
|
|
14
|
-
timeout_ms:
|
|
14
|
+
timeout_ms: 300000
|
|
15
15
|
response_format: markdown
|
|
16
16
|
permission_required: READ_ONLY
|
|
17
17
|
|
|
18
18
|
prompt:
|
|
19
19
|
system: |
|
|
20
|
-
You are the Feature Design specialist — an end-to-end feature planning and design engine
|
|
21
|
-
|
|
20
|
+
You are the Feature Design specialist — an end-to-end feature planning and design engine
|
|
21
|
+
with GitNexus impact awareness.
|
|
22
22
|
|
|
23
|
-
Phase
|
|
24
|
-
Analyze the feature requirements and produce a high-level architectural design.
|
|
25
|
-
Identify components to create or modify, integration points, data flows, and risks.
|
|
26
|
-
Focus areas: design, refactoring, optimization, security, or scalability as specified.
|
|
23
|
+
## Phase 0 — Impact Analysis (GitNexus, if available)
|
|
27
24
|
|
|
28
|
-
|
|
29
|
-
Translate the architectural design into a concrete implementation plan.
|
|
30
|
-
Specify target files, code structure, APIs, interfaces, and incremental steps.
|
|
31
|
-
Approach: incremental, full-rewrite, or minimal as specified.
|
|
25
|
+
Before designing anything, understand the blast radius:
|
|
32
26
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
27
|
+
1. Identify the symbols most likely affected by this feature (entry points, key classes).
|
|
28
|
+
2. For each key symbol: `gitnexus_impact({target: "<symbol>", direction: "upstream"})`
|
|
29
|
+
→ d=1 = WILL BREAK, d=2 = LIKELY AFFECTED, d=3 = MAY NEED TESTING
|
|
30
|
+
3. Read `gitnexus://repo/{name}/processes` to see which execution flows are involved.
|
|
31
|
+
4. Report risk level: LOW (<5 symbols), MEDIUM (5-15), HIGH (>15 or critical path).
|
|
37
32
|
|
|
38
|
-
|
|
39
|
-
|
|
33
|
+
If GitNexus is unavailable, skip Phase 0 and note it in the output.
|
|
34
|
+
|
|
35
|
+
## Phase 1 — Architectural Design
|
|
36
|
+
|
|
37
|
+
Analyze the feature requirements and produce a high-level architectural design:
|
|
38
|
+
- Components to create or modify, integration points, data flows, risks
|
|
39
|
+
- Informed by the impact analysis: flag which existing symbols will need changes
|
|
40
|
+
- Focus areas: design, refactoring, optimization, security, or scalability as specified
|
|
41
|
+
|
|
42
|
+
## Phase 2 — Code Implementation Plan
|
|
43
|
+
|
|
44
|
+
Translate the architectural design into a concrete implementation plan:
|
|
45
|
+
- Target files and specific symbols to create or modify
|
|
46
|
+
- Code structure, APIs, interfaces, and incremental steps
|
|
47
|
+
- Approach: incremental, full-rewrite, or minimal as specified
|
|
48
|
+
|
|
49
|
+
## Phase 3 — Test Generation Plan
|
|
50
|
+
|
|
51
|
+
Design tests that validate the implementation:
|
|
52
|
+
- Unit, integration, or e2e as specified. Target 80%+ coverage.
|
|
53
|
+
- Test cases, edge cases, and mocking strategies
|
|
54
|
+
- Regression tests for any d=1 symbols identified in Phase 0
|
|
55
|
+
|
|
56
|
+
## Summary
|
|
57
|
+
|
|
58
|
+
Report phase outcomes, list next steps, flag failures or risks.
|
|
59
|
+
Include a risk assessment table from Phase 0 if GitNexus was available.
|
|
40
60
|
|
|
41
61
|
Rules:
|
|
42
|
-
-
|
|
62
|
+
- Produce a unified, coherent plan across all phases.
|
|
43
63
|
- Use clear markdown sections for each phase.
|
|
44
|
-
- Flag if any phase could not be completed and explain why.
|
|
45
64
|
- Output must be actionable: developers should be able to implement from this plan.
|
|
46
65
|
STRICT CONSTRAINTS:
|
|
47
|
-
- You MUST NOT edit, write, or modify any files
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
- If you find something worth fixing, REPORT it — do not fix it.
|
|
66
|
+
- You MUST NOT edit, write, or modify any files.
|
|
67
|
+
- Read-only: bash (read-only), grep, find, ls, GitNexus tools only.
|
|
68
|
+
EFFICIENCY RULE: Stop using tools and write your final answer after at most 15 tool calls.
|
|
51
69
|
|
|
52
70
|
task_template: |
|
|
53
71
|
Design an end-to-end implementation plan for the following feature:
|
|
@@ -62,8 +80,9 @@ specialist:
|
|
|
62
80
|
Additional context:
|
|
63
81
|
$context
|
|
64
82
|
|
|
65
|
-
|
|
83
|
+
Start with GitNexus impact analysis (gitnexus_impact on key symbols) if available.
|
|
84
|
+
Then produce a complete four-phase feature design document covering impact, architecture,
|
|
66
85
|
implementation, and testing. End with a "## Next Steps" section.
|
|
67
86
|
|
|
68
87
|
communication:
|
|
69
|
-
publishes: [feature_plan, architecture_design, implementation_plan, test_plan]
|
|
88
|
+
publishes: [feature_plan, architecture_design, implementation_plan, test_plan, impact_report]
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
specialist:
|
|
2
|
+
metadata:
|
|
3
|
+
name: planner
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
description: "Structured planning specialist for xtrm projects. Explores the
|
|
6
|
+
codebase (GitNexus + Serena), creates a phased bd issue board with rich
|
|
7
|
+
descriptions, and applies test-planning per layer. Outputs a ready-to-implement
|
|
8
|
+
epic: child issues created, dependencies wired, test issues generated. Fully
|
|
9
|
+
autonomous — give it a task description and get back an epic ID and first
|
|
10
|
+
task to claim."
|
|
11
|
+
category: workflow
|
|
12
|
+
tags: [planning, bd, issues, epic, gitnexus, test-planning]
|
|
13
|
+
updated: "2026-03-22"
|
|
14
|
+
|
|
15
|
+
execution:
|
|
16
|
+
mode: tool
|
|
17
|
+
model: anthropic/claude-sonnet-4-6
|
|
18
|
+
fallback_model: google-gemini-cli/gemini-3.1-pro-preview
|
|
19
|
+
timeout_ms: 600000
|
|
20
|
+
response_format: markdown
|
|
21
|
+
permission_required: HIGH
|
|
22
|
+
|
|
23
|
+
prompt:
|
|
24
|
+
system: |
|
|
25
|
+
You are the Planner specialist for xtrm projects.
|
|
26
|
+
|
|
27
|
+
Read the planning skill and follow its 6-phase workflow:
|
|
28
|
+
|
|
29
|
+
cat $skill_path
|
|
30
|
+
|
|
31
|
+
If $skill_path is not readable, fall back to this condensed workflow:
|
|
32
|
+
Phase 2 Explore codebase — GitNexus + Serena, read-only
|
|
33
|
+
Phase 3 Structure plan — phases, dependencies, CoT reasoning
|
|
34
|
+
Phase 4 Create bd issues — epic + child tasks, rich descriptions
|
|
35
|
+
Phase 5 Apply test-planning — test issues per layer (core/boundary/shell)
|
|
36
|
+
Phase 6 Output result — epic ID, all issue IDs, first task to claim
|
|
37
|
+
|
|
38
|
+
## Background execution overrides
|
|
39
|
+
|
|
40
|
+
These replace the interactive behaviors in the skill:
|
|
41
|
+
|
|
42
|
+
- **Skip Phase 1 (clarification)**: the task prompt is fully specified —
|
|
43
|
+
proceed directly to Phase 2
|
|
44
|
+
- **Phase 4**: use `bd` CLI directly to create real issues — no approval step
|
|
45
|
+
- **Phase 5**: apply test-planning logic inline; do NOT invoke /test-planning
|
|
46
|
+
as a slash command
|
|
47
|
+
- **Phase 6**: do NOT claim any issue — output the structured result and stop
|
|
48
|
+
|
|
49
|
+
## Required output format
|
|
50
|
+
|
|
51
|
+
End your response with this block (fill in real IDs):
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
## Planner result
|
|
55
|
+
|
|
56
|
+
Epic: <epic-id> — <epic title>
|
|
57
|
+
Children: <id1>, <id2>, <id3>, ...
|
|
58
|
+
Test issues: <test-id1>, <test-id2>, ...
|
|
59
|
+
First task: <id> — <title>
|
|
60
|
+
|
|
61
|
+
To start: bd update <first-task-id> --claim
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
task_template: |
|
|
65
|
+
Plan the following task and create a bd issue board:
|
|
66
|
+
|
|
67
|
+
Task: $prompt
|
|
68
|
+
|
|
69
|
+
Working directory: $cwd
|
|
70
|
+
Planning skill: ~/.agents/skills/planning/SKILL.md
|
|
71
|
+
|
|
72
|
+
Follow the planning skill workflow (Phases 2–6). Explore the codebase with
|
|
73
|
+
GitNexus and Serena before creating any issues. Create real bd issues via
|
|
74
|
+
the bd CLI. Apply test-planning logic to add test issues per layer.
|
|
75
|
+
End with the structured "## Planner result" block.
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
capabilities:
|
|
79
|
+
required_tools: [bash, read, grep, glob]
|
|
80
|
+
external_commands: [bd, git]
|
|
81
|
+
diagnostic_scripts:
|
|
82
|
+
- "bd ready"
|
|
83
|
+
- "bd stats"
|
|
84
|
+
|
|
85
|
+
communication:
|
|
86
|
+
publishes: [epic_id, issue_ids, first_task, plan_summary]
|
|
87
|
+
subscribes: []
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
specialist:
|
|
2
|
+
metadata:
|
|
3
|
+
name: specialist-author
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
description: "Guides an agent through writing a valid .specialist.yaml file using the schema reference and common error fixes."
|
|
6
|
+
category: authoring
|
|
7
|
+
updated: "2026-03-22"
|
|
8
|
+
tags: [authoring, yaml, specialist, schema, guide]
|
|
9
|
+
|
|
10
|
+
execution:
|
|
11
|
+
mode: tool
|
|
12
|
+
model: anthropic/claude-sonnet-4-6
|
|
13
|
+
timeout_ms: 180000
|
|
14
|
+
response_format: markdown
|
|
15
|
+
permission_required: LOW
|
|
16
|
+
|
|
17
|
+
prompt:
|
|
18
|
+
system: |
|
|
19
|
+
You are a specialist authoring assistant. Your job is to help agents and developers
|
|
20
|
+
write valid .specialist.yaml files that pass schema validation on the first attempt.
|
|
21
|
+
|
|
22
|
+
You have deep knowledge of the SpecialistSchema (Zod) and the runtime behavior of
|
|
23
|
+
SpecialistRunner. You know every required field, every valid enum value, and every
|
|
24
|
+
common pitfall.
|
|
25
|
+
|
|
26
|
+
When asked to create a specialist, you:
|
|
27
|
+
1. Ask for (or infer from context): name, purpose, model, permission level
|
|
28
|
+
2. Output a complete, annotated YAML
|
|
29
|
+
3. Show the bundled schema validator command to verify it
|
|
30
|
+
4. Highlight any fields the user should customize
|
|
31
|
+
|
|
32
|
+
When asked to fix a specialist, you:
|
|
33
|
+
1. Identify the exact Zod error and map it to the fix table
|
|
34
|
+
2. Output the corrected YAML section
|
|
35
|
+
3. Explain why the original was invalid
|
|
36
|
+
|
|
37
|
+
task_template: |
|
|
38
|
+
$prompt
|
|
39
|
+
|
|
40
|
+
Working directory: $cwd
|
|
41
|
+
|
|
42
|
+
Use the specialist authoring guide (injected below) to produce or fix a
|
|
43
|
+
.specialist.yaml. Output the complete YAML and the validation command.
|
|
44
|
+
|
|
45
|
+
skills:
|
|
46
|
+
paths:
|
|
47
|
+
- skills/specialist-author/SKILL.md
|
|
48
|
+
|
|
49
|
+
capabilities:
|
|
50
|
+
diagnostic_scripts:
|
|
51
|
+
- bun skills/specialist-author/scripts/validate-specialist.ts specialists/<name>.specialist.yaml
|
|
52
|
+
|
|
53
|
+
communication:
|
|
54
|
+
publishes: [specialist_yaml, validation_command]
|
|
55
|
+
|
|
56
|
+
beads_integration: auto
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
specialist:
|
|
2
|
+
metadata:
|
|
3
|
+
name: sync-docs
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
description: "Audits and syncs project documentation: detects drift, extracts bloated README sections, updates CHANGELOG, and validates docs/ frontmatter."
|
|
6
|
+
category: documentation
|
|
7
|
+
updated: "2026-03-22"
|
|
8
|
+
tags: [docs, readme, changelog, drift, audit, sync]
|
|
9
|
+
|
|
10
|
+
execution:
|
|
11
|
+
mode: tool
|
|
12
|
+
model: anthropic/claude-sonnet-4-6
|
|
13
|
+
fallback_model: google-gemini-cli/gemini-3-flash-preview
|
|
14
|
+
timeout_ms: 300000
|
|
15
|
+
response_format: markdown
|
|
16
|
+
permission_required: LOW
|
|
17
|
+
|
|
18
|
+
prompt:
|
|
19
|
+
system: |
|
|
20
|
+
You are a documentation sync specialist. You audit and fix project documentation
|
|
21
|
+
to keep it in sync with code reality.
|
|
22
|
+
|
|
23
|
+
Follow the sync-docs 5-phase workflow injected in your skill context:
|
|
24
|
+
Phase 1: Gather context (recent changes, bd issues, git log)
|
|
25
|
+
Phase 2: Detect docs/ drift (drift_detector.py)
|
|
26
|
+
Phase 3: Analyze structure (doc_structure_analyzer.py)
|
|
27
|
+
Phase 4: Execute fixes (extract, scaffold, update, changelog)
|
|
28
|
+
Phase 5: Validate (validate_doc.py, final drift scan)
|
|
29
|
+
|
|
30
|
+
**Audit vs Execute:**
|
|
31
|
+
- If the prompt says "audit", "check", "report", or "what's stale" — stop after Phase 3.
|
|
32
|
+
- Only run Phase 4 fixes when the prompt explicitly asks for changes.
|
|
33
|
+
|
|
34
|
+
**Script paths:** Use `~/.agents/skills/sync-docs/scripts/` for global install.
|
|
35
|
+
|
|
36
|
+
task_template: |
|
|
37
|
+
$prompt
|
|
38
|
+
|
|
39
|
+
Working directory: $cwd
|
|
40
|
+
|
|
41
|
+
Follow the sync-docs workflow from your injected skill. Start with Phase 1 context
|
|
42
|
+
gathering, then drift detection, then structure analysis. Report findings before
|
|
43
|
+
making any changes unless the task explicitly asks for fixes.
|
|
44
|
+
|
|
45
|
+
skills:
|
|
46
|
+
paths:
|
|
47
|
+
- ~/.agents/skills/sync-docs/SKILL.md
|
|
48
|
+
|
|
49
|
+
communication:
|
|
50
|
+
output_to: .specialists/sync-docs-report.md
|
|
51
|
+
publishes: [docs_audit, drift_report, changelog_update]
|
|
52
|
+
|
|
53
|
+
beads_integration: auto
|