@jaggerxtrm/specialists 3.16.0 → 3.17.0
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 +3 -1
- package/config/mandatory-rules/research-tool-routing.md +4 -0
- package/config/mandatory-rules/test-runner-execution-scope.md +1 -1
- package/config/skills/specialists-creator/SKILL.md +28 -1
- package/config/skills/using-specialists-auto/SKILL.md +1 -1
- package/config/skills/using-specialists-v2/SKILL.md +7 -7
- package/config/skills/using-specialists-v3/SKILL.md +223 -147
- package/config/specialists/changelog-drafter.specialist.json +4 -2
- package/config/specialists/changelog-keeper.specialist.json +4 -2
- package/config/specialists/debugger.specialist.json +6 -4
- package/config/specialists/executor.specialist.json +7 -5
- package/config/specialists/explorer.specialist.json +4 -2
- package/config/specialists/memory-processor.specialist.json +4 -2
- package/config/specialists/node-coordinator.specialist.json +4 -2
- package/config/specialists/obligations-scanner.specialist.json +99 -0
- package/config/specialists/overthinker.specialist.json +4 -2
- package/config/specialists/planner.specialist.json +4 -2
- package/config/specialists/researcher.specialist.json +12 -7
- package/config/specialists/reviewer.specialist.json +10 -8
- package/config/specialists/seconder.specialist.json +170 -0
- package/config/specialists/security-auditor.specialist.json +4 -2
- package/config/specialists/service-skills-sync.specialist.json +78 -0
- package/config/specialists/specialists-creator.specialist.json +6 -4
- package/config/specialists/sync-docs.specialist.json +5 -3
- package/config/specialists/test-engineer.specialist.json +134 -0
- package/config/specialists/test-runner.specialist.json +8 -6
- package/config/specialists/transcriber.specialist.json +59 -0
- package/config/specialists/xt-merge.specialist.json +4 -2
- package/dist/asset-contract.json +20 -8
- package/dist/index.js +1136 -293
- package/dist/lib.js +1 -0
- package/dist/types/cli/format-helpers.d.ts.map +1 -1
- package/dist/types/cli/help.d.ts.map +1 -1
- package/dist/types/cli/log.d.ts +2 -0
- package/dist/types/cli/log.d.ts.map +1 -0
- package/dist/types/cli/result.d.ts.map +1 -1
- package/dist/types/cli/resume.d.ts.map +1 -1
- package/dist/types/cli/steer.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/specialist/control.d.ts.map +1 -1
- package/dist/types/specialist/job-file-output.d.ts +2 -0
- package/dist/types/specialist/job-file-output.d.ts.map +1 -1
- package/dist/types/specialist/launch.d.ts.map +1 -1
- package/dist/types/specialist/runner.d.ts +3 -0
- package/dist/types/specialist/runner.d.ts.map +1 -1
- package/dist/types/specialist/schema.d.ts +18 -9
- package/dist/types/specialist/schema.d.ts.map +1 -1
- package/dist/types/specialist/supervisor.d.ts +25 -2
- package/dist/types/specialist/supervisor.d.ts.map +1 -1
- package/dist/types/specialist/timeline-events.d.ts +20 -1
- package/dist/types/specialist/timeline-events.d.ts.map +1 -1
- package/package.json +13 -11
- package/config/specialists/code-sanity.specialist.json +0 -108
package/README.md
CHANGED
|
@@ -170,8 +170,10 @@ Useful commands:
|
|
|
170
170
|
```bash
|
|
171
171
|
sp ps # actionable dashboard
|
|
172
172
|
sp ps -f # TTY dashboard follow; pipes emit ANSI-free snapshots
|
|
173
|
-
sp feed <job-id> #
|
|
173
|
+
sp feed <job-id> # compact DB-backed event replay
|
|
174
174
|
sp feed -f # follow all active jobs
|
|
175
|
+
sp log <job-id> # lean runtime/control/error log; from a parent dir aggregates child repo DBs
|
|
176
|
+
sp log --specialist reviewer -f
|
|
175
177
|
sp chat explorer --bead <id> # launch interactive TUI; input auto-steers/resumes
|
|
176
178
|
sp result <job-id> --wait
|
|
177
179
|
sp steer <job-id> "focus only on X"
|
|
@@ -7,6 +7,10 @@ Pick the right source before invoking research. Default to the project knowledge
|
|
|
7
7
|
- `find-docs` / context7 — library, framework, SDK, CLI, or cloud-service docs (API syntax, config, migration).
|
|
8
8
|
- `deepwiki` — public GitHub repo internals (architecture, conventions, code paths).
|
|
9
9
|
- `github-search` (ghgrep) — real-world code patterns and API usage examples.
|
|
10
|
+
- `ddgs` — general web search, no API key (`ddgs text -q "<query>" -m 8`). Discover authoritative URLs for vendor docs, blogs, papers, or proprietary products the above don't cover.
|
|
11
|
+
- `agent-browser` — read/interact with any URL, including JS-rendered pages (`agent-browser open <url>` → `get text body`; close with `agent-browser close --all`).
|
|
10
12
|
- `last30days` — recent web/social signals (Reddit, X, HN, YouTube). Early-warning only, never authoritative.
|
|
11
13
|
|
|
14
|
+
General web (not a library/repo/social topic): use `ddgs` to discover URLs, then `agent-browser` to read them. Never point `agent-browser` at a search engine — headless Chrome gets CAPTCHA-blocked; search with `ddgs` instead. If `ddgs`/`agent-browser` aren't installed, report the gap (`uv tool install ddgs`; `npm i -g agent-browser && agent-browser install`) rather than answering from memory.
|
|
15
|
+
|
|
12
16
|
Invoke skills on demand, not by default. Cite the source for every external claim.
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
name: test-runner-execution-scope
|
|
3
3
|
kind: mandatory-rule
|
|
4
4
|
---
|
|
5
|
-
Run only requested tests. Report failures with root cause and
|
|
5
|
+
Run only requested tests. Exact command input wins over manifest fallback. If fallback is used, label it clearly as fallback. Report failures with root cause, owner classification, and next-recipient hints; do not expand scope.
|
|
@@ -575,7 +575,34 @@ Informational declarations used by pre-run validation and future tooling (e.g. `
|
|
|
575
575
|
}
|
|
576
576
|
```
|
|
577
577
|
|
|
578
|
-
|
|
578
|
+
When set, the specialist writes its **handoff block** to this file on every substantive turn — foreground and `--background`. The content is identical to what is appended to the input bead notes and shown by `sp result`: a markdown heading, the verbatim specialist output, and an italic metadata footer.
|
|
579
|
+
|
|
580
|
+
- **No env flag required.** `output_file` is honored whenever it is set (since unitAI-f58ma). It does NOT require `SPECIALISTS_JOB_FILE_OUTPUT` — that flag now only gates the debug file-mirrors (events.jsonl / status.json / result.txt).
|
|
581
|
+
- **Single writer.** In a supervised run (`sp run`) the supervisor owns the file and the runner's own write is suppressed, so the file is never double-written. (In script/serve runs there is no supervisor; the runner writes the raw output instead of the enveloped block.)
|
|
582
|
+
- **Format is the rendered handoff block, not bare output.** A downstream specialist that consumes this file as input will see the header/footer envelope around the body.
|
|
583
|
+
- **Append vs overwrite is controlled by `notes_mode`** (see below): `full-trail` appends each turn; `final-only` overwrites with just the final `[FINAL · DONE]` block.
|
|
584
|
+
- **Gitignore the path** if you don't want it committed — specs with `output_file` always write, so add the path (e.g. `.specialists/*-result.md`) to `.gitignore`.
|
|
585
|
+
|
|
586
|
+
Relative paths resolve from the working directory.
|
|
587
|
+
|
|
588
|
+
### `specialist.notes_mode`
|
|
589
|
+
|
|
590
|
+
Controls how per-turn handoff output is persisted to BOTH the input bead notes and `output_file`.
|
|
591
|
+
|
|
592
|
+
| Value | Behavior |
|
|
593
|
+
|---|---|
|
|
594
|
+
| `"full-trail"` (default) | Append every substantive turn. Bead notes / `output_file` accumulate `### … [turn N · WAITING]` blocks, ending with a final `## … [FINAL · DONE]` block. Best for keep-alive specialists where the operator wants the full trail. |
|
|
595
|
+
| `"final-only"` | Persist only the single canonical `## … [FINAL · DONE]` block; intermediate turns are skipped and `output_file` is OVERWRITTEN (not appended). Best for non-coding / chained pipelines where the next specialist reads the previous specialist's bead note or `output_file` as its input and only wants the final result. |
|
|
596
|
+
|
|
597
|
+
Empty turns are never persisted. The handoff block is markdown-native (heading + verbatim body + one italic metadata footer); the model string is normalized (provider prefix stripped, e.g. `nano-gpt/moonshotai/kimi-k2.5` renders as `kimi-k2.5`).
|
|
598
|
+
|
|
599
|
+
```json
|
|
600
|
+
{ "notes_mode": "final-only" }
|
|
601
|
+
```
|
|
602
|
+
|
|
603
|
+
### Handoff / pipeline output recipe
|
|
604
|
+
|
|
605
|
+
For a non-coding pipeline where each specialist reads the previous one's result, set `output_file` to a known path AND `notes_mode: "final-only"` so the file (and the bead note) holds exactly the final result, overwritten each run — clean for the next specialist to consume. For a human-monitored keep-alive specialist, leave `notes_mode: "full-trail"` (default) so the operator sees every turn accumulate. `output_file` needs no env flag; just gitignore its path.
|
|
579
606
|
|
|
580
607
|
### `specialist.validation` (optional)
|
|
581
608
|
|
|
@@ -39,7 +39,7 @@ read bead → write 7-section contract (child impl bead) → bd dep add parent
|
|
|
39
39
|
→ sleep 10 && sp ps # confirm started, not stuck queued
|
|
40
40
|
→ sleep <role-typical from v3> & sp ps # check (see v3 Monitoring section)
|
|
41
41
|
→ sp result <exec-job> # consume immediately on transition to waiting
|
|
42
|
-
→ optional advisory passes per v3 (
|
|
42
|
+
→ optional advisory passes per v3 (seconder if smelly, security-auditor if risk surface)
|
|
43
43
|
→ write reviewer bead contract → sp run reviewer --bead <review> --job <exec-job> --background
|
|
44
44
|
→ sleep 90 & sp ps
|
|
45
45
|
→ sp result <reviewer-job>
|
|
@@ -215,7 +215,7 @@ Run `specialists list` if you need the live registry. Choose by task, not by hab
|
|
|
215
215
|
| Design/tradeoffs | `overthinker` | The approach is risky, ambiguous, or needs critique. |
|
|
216
216
|
| Implementation | `executor` | The contract is clear enough to write code or docs. |
|
|
217
217
|
| Compliance/code review | `reviewer` | An executor/debugger produced changes that need the final PASS/PARTIAL/FAIL verdict. |
|
|
218
|
-
| Implementation sanity | `
|
|
218
|
+
| Implementation sanity | `seconder` | You want a cheap READ_ONLY smell pass for simplicity, type safety, dead code, brittle async/error handling, or maintainability before reviewer. |
|
|
219
219
|
| Security/dependency audit | `security-auditor` | You need threat modeling, secure-code review, package advisory triage, or agent/config security scanning. LOW: scan/read/recommend only. |
|
|
220
220
|
| Multiple review perspectives | `parallel-review` | A critical diff needs independent review passes. |
|
|
221
221
|
| Test execution | `test-runner` | You need suites run and failures interpreted. |
|
|
@@ -247,7 +247,7 @@ specialists doctor --check-drift # inspect stale .specialists/de
|
|
|
247
247
|
sp prune-stale-defaults --dry-run # preview redundant default snapshots
|
|
248
248
|
specialists run <name> --bead <id> --background
|
|
249
249
|
specialists run executor --bead <impl-bead> --background # worktree auto-provisioned
|
|
250
|
-
specialists run
|
|
250
|
+
specialists run seconder --bead <sanity-bead> --job <exec-job> --keep-alive --background
|
|
251
251
|
specialists run security-auditor --bead <security-bead> --job <exec-job> --keep-alive --background
|
|
252
252
|
specialists run reviewer --bead <review-bead> --job <exec-job> --keep-alive --background
|
|
253
253
|
specialists ps
|
|
@@ -343,7 +343,7 @@ specialists run executor --worktree --bead <impl> --context-depth 3 --background
|
|
|
343
343
|
specialists result <exec-job>
|
|
344
344
|
```
|
|
345
345
|
|
|
346
|
-
Optional
|
|
346
|
+
Optional seconder pass for implementation smell checks (use when the diff is non-trivial or likely to accumulate agent-code complexity):
|
|
347
347
|
|
|
348
348
|
```bash
|
|
349
349
|
bd create --title "Code sanity check token refresh retry" --type task --priority 3 \
|
|
@@ -355,11 +355,11 @@ CONSTRAINTS: At most 5 concrete findings; cite files/symbols/lines where possibl
|
|
|
355
355
|
VALIDATION: Findings are suitable to paste into specialists resume <exec-job>.
|
|
356
356
|
OUTPUT: OK/FINDINGS/BLOCKED with handoff."
|
|
357
357
|
bd dep add <sanity> <impl>
|
|
358
|
-
specialists run
|
|
358
|
+
specialists run seconder --bead <sanity> --job <exec-job> --context-depth 3 --keep-alive --background
|
|
359
359
|
specialists result <sanity-job>
|
|
360
360
|
```
|
|
361
361
|
|
|
362
|
-
If
|
|
362
|
+
If seconder returns `FINDINGS`, resume executor with those concrete instructions, then rerun seconder only if the fixes were substantive. Do not treat seconder `OK` as reviewer PASS.
|
|
363
363
|
|
|
364
364
|
Optional security pass when the task touches auth, secrets, input handling, dependency updates, package advisories, agent config, hooks, or exposed endpoints:
|
|
365
365
|
|
|
@@ -492,7 +492,7 @@ Standard loop:
|
|
|
492
492
|
```text
|
|
493
493
|
executor --worktree --bead impl
|
|
494
494
|
-> waiting after turn
|
|
495
|
-
optional
|
|
495
|
+
optional seconder --bead sanity --job exec-job
|
|
496
496
|
-> OK: continue
|
|
497
497
|
-> FINDINGS: resume executor with exact sanity findings
|
|
498
498
|
optional security-auditor --bead security --job exec-job
|
|
@@ -506,7 +506,7 @@ reviewer --bead review --job exec-job
|
|
|
506
506
|
|
|
507
507
|
Prefer `sp resume <exec-job>` over a new fix executor when the original job is waiting and context is healthy. Use a new fix bead with `--job <exec-job>` only when the original executor is dead, context exhausted, or a separate audit trail is required.
|
|
508
508
|
|
|
509
|
-
|
|
509
|
+
Seconder and security-auditor outputs are advisory inputs to the chain; reviewer output must still be consumed before publishing. Do not treat job completion, seconder OK, or security no-findings as equivalent to reviewer acceptance.
|
|
510
510
|
|
|
511
511
|
## Dependency Mapping
|
|
512
512
|
|