claude-mcp-workflow 0.1.9 → 0.1.10

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.
Files changed (65) hide show
  1. package/README.md +1 -1
  2. package/build/engine.js +1 -1
  3. package/build/engine.js.map +1 -1
  4. package/build/executor.d.ts +6 -0
  5. package/build/executor.d.ts.map +1 -1
  6. package/build/executor.js +19 -8
  7. package/build/executor.js.map +1 -1
  8. package/build/loader.d.ts.map +1 -1
  9. package/build/loader.js +4 -0
  10. package/build/loader.js.map +1 -1
  11. package/build/tools.d.ts +9 -1
  12. package/build/tools.d.ts.map +1 -1
  13. package/build/tools.js +21 -2
  14. package/build/tools.js.map +1 -1
  15. package/build/types.d.ts +20 -0
  16. package/build/types.d.ts.map +1 -1
  17. package/build/types.js +4 -0
  18. package/build/types.js.map +1 -1
  19. package/package.json +2 -1
  20. package/scripts/check-skill-sync.sh +45 -0
  21. package/scripts/hxq-lint-file.sh +44 -0
  22. package/scripts/scan-project.sh +34 -0
  23. package/templates/batch.yaml +191 -0
  24. package/templates/bug-fix.yaml +74 -22
  25. package/templates/code-review.yaml +70 -26
  26. package/templates/coding.yaml +78 -21
  27. package/templates/debugging.yaml +5 -1
  28. package/templates/explore.yaml +6 -1
  29. package/templates/file-review.yaml +93 -7
  30. package/templates/lint-review.yaml +53 -0
  31. package/templates/master.yaml +65 -1
  32. package/templates/planning.yaml +6 -2
  33. package/templates/reflection.yaml +51 -2
  34. package/templates/skills/architecture/SKILL.md +22 -95
  35. package/templates/skills/aws-lambda/SKILL.md +1 -1
  36. package/templates/skills/browser-verify/SKILL.md +59 -0
  37. package/templates/skills/build-cmake/SKILL.md +9 -0
  38. package/templates/skills/ci-github-actions/SKILL.md +29 -0
  39. package/templates/skills/claude-code-config/SKILL.md +24 -0
  40. package/templates/skills/coding-skill-selector/SKILL.md +30 -5
  41. package/templates/skills/debugging/SKILL.md +82 -0
  42. package/templates/skills/domain-gamedev/SKILL.md +18 -0
  43. package/templates/skills/domain-pixi/SKILL.md +41 -0
  44. package/templates/skills/domain-ui/SKILL.md +35 -0
  45. package/templates/skills/domain-yolo/SKILL.md +21 -0
  46. package/templates/skills/hxq/SKILL.md +241 -0
  47. package/templates/skills/hxq/references/lint.md +7 -0
  48. package/templates/skills/hxq/references/ops.md +92 -0
  49. package/templates/skills/hxq/references/parser-dev.md +103 -0
  50. package/templates/skills/hxq/references/queries.md +90 -0
  51. package/templates/skills/lang-as3/SKILL.md +12 -1
  52. package/templates/skills/lang-haxe/SKILL.md +73 -1225
  53. package/templates/skills/lang-haxe/references/abstracts.md +219 -0
  54. package/templates/skills/lang-haxe/references/compile-traps.md +328 -0
  55. package/templates/skills/lang-haxe/references/macros.md +475 -0
  56. package/templates/skills/lang-haxe/references/null-safety.md +128 -0
  57. package/templates/skills/lang-haxe/references/targets-runtime.md +113 -0
  58. package/templates/skills/preferences/SKILL.md +70 -34
  59. package/templates/skills/skill-manager/SKILL.md +23 -0
  60. package/templates/skills/target-openfl-native/SKILL.md +6 -0
  61. package/templates/skills/task-delegation/SKILL.md +102 -10
  62. package/templates/skills/workflow-authoring/SKILL.md +42 -1
  63. package/templates/subagent.yaml +4 -1
  64. package/templates/testing.yaml +85 -6
  65. package/templates/web-research.yaml +3 -1
package/build/types.d.ts CHANGED
@@ -11,6 +11,7 @@ export declare const StateDefinitionSchema: z.ZodObject<{
11
11
  task: z.ZodOptional<z.ZodString>;
12
12
  skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
13
13
  include_workflows: z.ZodOptional<z.ZodBoolean>;
14
+ digest_on_repeat: z.ZodOptional<z.ZodBoolean>;
14
15
  type: z.ZodOptional<z.ZodEnum<["prompt", "exec", "fetch"]>>;
15
16
  command: z.ZodOptional<z.ZodString>;
16
17
  cwd: z.ZodOptional<z.ZodString>;
@@ -52,6 +53,7 @@ export declare const StateDefinitionSchema: z.ZodObject<{
52
53
  task?: string | undefined;
53
54
  skills?: string[] | undefined;
54
55
  include_workflows?: boolean | undefined;
56
+ digest_on_repeat?: boolean | undefined;
55
57
  command?: string | undefined;
56
58
  cwd?: string | undefined;
57
59
  timeout?: number | undefined;
@@ -86,6 +88,7 @@ export declare const StateDefinitionSchema: z.ZodObject<{
86
88
  task?: string | undefined;
87
89
  skills?: string[] | undefined;
88
90
  include_workflows?: boolean | undefined;
91
+ digest_on_repeat?: boolean | undefined;
89
92
  command?: string | undefined;
90
93
  cwd?: string | undefined;
91
94
  timeout?: number | undefined;
@@ -126,6 +129,7 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
126
129
  task: z.ZodOptional<z.ZodString>;
127
130
  skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
128
131
  include_workflows: z.ZodOptional<z.ZodBoolean>;
132
+ digest_on_repeat: z.ZodOptional<z.ZodBoolean>;
129
133
  type: z.ZodOptional<z.ZodEnum<["prompt", "exec", "fetch"]>>;
130
134
  command: z.ZodOptional<z.ZodString>;
131
135
  cwd: z.ZodOptional<z.ZodString>;
@@ -167,6 +171,7 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
167
171
  task?: string | undefined;
168
172
  skills?: string[] | undefined;
169
173
  include_workflows?: boolean | undefined;
174
+ digest_on_repeat?: boolean | undefined;
170
175
  command?: string | undefined;
171
176
  cwd?: string | undefined;
172
177
  timeout?: number | undefined;
@@ -201,6 +206,7 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
201
206
  task?: string | undefined;
202
207
  skills?: string[] | undefined;
203
208
  include_workflows?: boolean | undefined;
209
+ digest_on_repeat?: boolean | undefined;
204
210
  command?: string | undefined;
205
211
  cwd?: string | undefined;
206
212
  timeout?: number | undefined;
@@ -240,6 +246,7 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
240
246
  task?: string | undefined;
241
247
  skills?: string[] | undefined;
242
248
  include_workflows?: boolean | undefined;
249
+ digest_on_repeat?: boolean | undefined;
243
250
  command?: string | undefined;
244
251
  cwd?: string | undefined;
245
252
  timeout?: number | undefined;
@@ -279,6 +286,7 @@ export declare const WorkflowDefinitionSchema: z.ZodObject<{
279
286
  task?: string | undefined;
280
287
  skills?: string[] | undefined;
281
288
  include_workflows?: boolean | undefined;
289
+ digest_on_repeat?: boolean | undefined;
282
290
  command?: string | undefined;
283
291
  cwd?: string | undefined;
284
292
  timeout?: number | undefined;
@@ -430,6 +438,7 @@ export declare const WorkflowModifyInputSchema: z.ZodObject<{
430
438
  task: z.ZodOptional<z.ZodString>;
431
439
  skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
432
440
  include_workflows: z.ZodOptional<z.ZodBoolean>;
441
+ digest_on_repeat: z.ZodOptional<z.ZodBoolean>;
433
442
  type: z.ZodOptional<z.ZodEnum<["prompt", "exec", "fetch"]>>;
434
443
  command: z.ZodOptional<z.ZodString>;
435
444
  cwd: z.ZodOptional<z.ZodString>;
@@ -474,6 +483,7 @@ export declare const WorkflowModifyInputSchema: z.ZodObject<{
474
483
  task?: string | undefined;
475
484
  skills?: string[] | undefined;
476
485
  include_workflows?: boolean | undefined;
486
+ digest_on_repeat?: boolean | undefined;
477
487
  command?: string | undefined;
478
488
  cwd?: string | undefined;
479
489
  timeout?: number | undefined;
@@ -509,6 +519,7 @@ export declare const WorkflowModifyInputSchema: z.ZodObject<{
509
519
  task?: string | undefined;
510
520
  skills?: string[] | undefined;
511
521
  include_workflows?: boolean | undefined;
522
+ digest_on_repeat?: boolean | undefined;
512
523
  command?: string | undefined;
513
524
  cwd?: string | undefined;
514
525
  timeout?: number | undefined;
@@ -570,6 +581,7 @@ export declare const WorkflowModifyInputSchema: z.ZodObject<{
570
581
  task?: string | undefined;
571
582
  skills?: string[] | undefined;
572
583
  include_workflows?: boolean | undefined;
584
+ digest_on_repeat?: boolean | undefined;
573
585
  command?: string | undefined;
574
586
  cwd?: string | undefined;
575
587
  timeout?: number | undefined;
@@ -617,6 +629,7 @@ export declare const WorkflowModifyInputSchema: z.ZodObject<{
617
629
  task?: string | undefined;
618
630
  skills?: string[] | undefined;
619
631
  include_workflows?: boolean | undefined;
632
+ digest_on_repeat?: boolean | undefined;
620
633
  command?: string | undefined;
621
634
  cwd?: string | undefined;
622
635
  timeout?: number | undefined;
@@ -667,6 +680,7 @@ export declare const WorkflowCreateInputSchema: z.ZodObject<{
667
680
  task: z.ZodOptional<z.ZodString>;
668
681
  skills: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
669
682
  include_workflows: z.ZodOptional<z.ZodBoolean>;
683
+ digest_on_repeat: z.ZodOptional<z.ZodBoolean>;
670
684
  type: z.ZodOptional<z.ZodEnum<["prompt", "exec", "fetch"]>>;
671
685
  command: z.ZodOptional<z.ZodString>;
672
686
  cwd: z.ZodOptional<z.ZodString>;
@@ -708,6 +722,7 @@ export declare const WorkflowCreateInputSchema: z.ZodObject<{
708
722
  task?: string | undefined;
709
723
  skills?: string[] | undefined;
710
724
  include_workflows?: boolean | undefined;
725
+ digest_on_repeat?: boolean | undefined;
711
726
  command?: string | undefined;
712
727
  cwd?: string | undefined;
713
728
  timeout?: number | undefined;
@@ -742,6 +757,7 @@ export declare const WorkflowCreateInputSchema: z.ZodObject<{
742
757
  task?: string | undefined;
743
758
  skills?: string[] | undefined;
744
759
  include_workflows?: boolean | undefined;
760
+ digest_on_repeat?: boolean | undefined;
745
761
  command?: string | undefined;
746
762
  cwd?: string | undefined;
747
763
  timeout?: number | undefined;
@@ -779,6 +795,7 @@ export declare const WorkflowCreateInputSchema: z.ZodObject<{
779
795
  task?: string | undefined;
780
796
  skills?: string[] | undefined;
781
797
  include_workflows?: boolean | undefined;
798
+ digest_on_repeat?: boolean | undefined;
782
799
  command?: string | undefined;
783
800
  cwd?: string | undefined;
784
801
  timeout?: number | undefined;
@@ -818,6 +835,7 @@ export declare const WorkflowCreateInputSchema: z.ZodObject<{
818
835
  task?: string | undefined;
819
836
  skills?: string[] | undefined;
820
837
  include_workflows?: boolean | undefined;
838
+ digest_on_repeat?: boolean | undefined;
821
839
  command?: string | undefined;
822
840
  cwd?: string | undefined;
823
841
  timeout?: number | undefined;
@@ -860,6 +878,7 @@ export declare const WorkflowCreateInputSchema: z.ZodObject<{
860
878
  task?: string | undefined;
861
879
  skills?: string[] | undefined;
862
880
  include_workflows?: boolean | undefined;
881
+ digest_on_repeat?: boolean | undefined;
863
882
  command?: string | undefined;
864
883
  cwd?: string | undefined;
865
884
  timeout?: number | undefined;
@@ -902,6 +921,7 @@ export declare const WorkflowCreateInputSchema: z.ZodObject<{
902
921
  task?: string | undefined;
903
922
  skills?: string[] | undefined;
904
923
  include_workflows?: boolean | undefined;
924
+ digest_on_repeat?: boolean | undefined;
905
925
  command?: string | undefined;
906
926
  cwd?: string | undefined;
907
927
  timeout?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/build/types.js CHANGED
@@ -16,6 +16,10 @@ export const StateDefinitionSchema = z.object({
16
16
  skills: z.array(z.string()).optional(),
17
17
  // Include project-specific workflow list in prompt
18
18
  include_workflows: z.boolean().optional(),
19
+ // Deliver a short digest instead of the full prompt when this state's
20
+ // full prompt was already delivered once in this server process (the
21
+ // agent's context already holds it; status() always returns the full text)
22
+ digest_on_repeat: z.boolean().optional(),
19
23
  // Action state fields
20
24
  type: z.enum(["prompt", "exec", "fetch"]).optional(),
21
25
  // exec
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-mcp-workflow",
3
- "version": "0.1.9",
3
+ "version": "0.1.10",
4
4
  "description": "Structured workflow orchestration for AI agents via finite-state machines",
5
5
  "author": "AxGord <axgord@gmail.com> (https://github.com/AxGord)",
6
6
  "license": "MIT",
@@ -28,6 +28,7 @@
28
28
  "files": [
29
29
  "build/",
30
30
  "templates/",
31
+ "scripts/",
31
32
  "hooks/",
32
33
  "dashboard/",
33
34
  ".claude-plugin/",
@@ -0,0 +1,45 @@
1
+ #!/bin/sh
2
+ # Drift check: bundled templates/skills/* vs the live user skills
3
+ # (~/.claude/skills/ or $CLAUDE_SKILLS_DIR). The live copy is the actively
4
+ # enriched source of truth; the bundled copy is the shipped snapshot — a
5
+ # same-named pair that differs means the snapshot went stale (or an edit
6
+ # landed only bundled-side). Names listed in .skillsyncignore (one per
7
+ # line, # comments, trailing whitespace ignored) are intentionally
8
+ # divergent and skipped.
9
+ #
10
+ # Exit 0 = in sync; exit 1 = drift reported (used by the pre-commit hook).
11
+ # Skills existing on only one side are not drift (user-local skills are
12
+ # not all bundled; a machine without live copies checks nothing).
13
+
14
+ root="$(cd "$(dirname "$0")/.." && pwd)"
15
+ live="${CLAUDE_SKILLS_DIR:-$HOME/.claude/skills}"
16
+ ignore="$root/.skillsyncignore"
17
+
18
+ # Fail CLOSED on a broken checkout — a missing bundled dir is not "in sync".
19
+ [ -d "$root/templates/skills" ] || { echo "skill-sync: no bundled skills dir ($root/templates/skills)"; exit 1; }
20
+ [ -d "$live" ] || { echo "skill-sync: no live skills dir ($live) — nothing to check"; exit 0; }
21
+
22
+ fail=0
23
+ for dir in "$root/templates/skills"/*/; do
24
+ name=$(basename "$dir")
25
+ if [ -f "$ignore" ] && sed 's/[[:space:]]*$//' "$ignore" | grep -qxF -e "$name"; then continue; fi
26
+ [ -d "$live/$name" ] || continue
27
+ drift=$(diff -rq "$live/$name" "$dir" 2>&1) || {
28
+ echo "DRIFT: $name"
29
+ echo "$drift" | sed 's/^/ /'
30
+ fail=1
31
+ }
32
+ done
33
+
34
+ if [ $fail -ne 0 ]; then
35
+ echo ""
36
+ echo "Bundled skill snapshots drifted from the live copies. The LIVE copy is"
37
+ echo "the source of truth (it is what agents load at runtime); sync with:"
38
+ echo " rsync -a --delete \"$live/<name>/\" \"$root/templates/skills/<name>/\""
39
+ echo "WARNING: that overwrites the bundled side — if the edit was made on the"
40
+ echo "BUNDLED copy, merge it into the live copy FIRST, then rsync."
41
+ echo "Intentional divergence instead: add <name> to .skillsyncignore."
42
+ exit 1
43
+ fi
44
+ echo "skill-sync: OK"
45
+ exit 0
@@ -0,0 +1,44 @@
1
+ #!/bin/sh
2
+ # Mechanical review pass for one file or a coupled batch (run by the engine,
3
+ # file-review.yaml mechanical_pass exec state). Args: file paths — as separate
4
+ # argv entries or as ONE whitespace-separated list (the env: channel delivers
5
+ # the batch as a single value; paths with spaces are unsupported in batches).
6
+ # Self-gating: a non-.hx or missing path is reported as an observable
7
+ # "SKIP: ..." line while the remaining .hx files still lint; no .hx at all,
8
+ # or no hxq on PATH, prints SKIP and exits 0 — the exec state never blocks.
9
+ #
10
+ # Output: lint findings (all severities, grouped by file) + writer-canonical
11
+ # drift list, each section headed with the file list so a stale report is
12
+ # detectable.
13
+
14
+ [ $# -gt 0 ] || { echo "SKIP: no file path"; exit 0; }
15
+
16
+ set -f # a careless caller may pass globs; do not expand them
17
+ hx=""
18
+ for arg in "$@"; do
19
+ for f in $arg; do
20
+ case "$f" in
21
+ *.hx)
22
+ if [ -f "$f" ]; then
23
+ hx="$hx $f"
24
+ else
25
+ echo "SKIP: file not found: $f (cwd: $(pwd))"
26
+ fi
27
+ ;;
28
+ *) echo "SKIP: not a .hx file: $f";;
29
+ esac
30
+ done
31
+ done
32
+ # NOTE: set -f stays on — the unquoted $hx expansions below must never
33
+ # glob-resolve a path like foo[1].hx onto a different existing file.
34
+
35
+ [ -n "$hx" ] || { echo "SKIP: no .hx files to lint"; exit 0; }
36
+ command -v hxq >/dev/null 2>&1 || { echo "SKIP: hxq unavailable"; exit 0; }
37
+
38
+ # hxq exits 0 even with findings/drift; a non-zero exit means hxq itself
39
+ # broke — surface that as a SKIP so an empty report is never read as clean.
40
+ echo "=== hxq lint (all severities):$hx ==="
41
+ HXQ_QUIET=1 hxq lint $hx --all 2>&1 || echo "SKIP: hxq lint failed (exit $?)"
42
+ echo "=== fmt drift (empty = writer-canonical):$hx ==="
43
+ HXQ_QUIET=1 hxq fmt -l $hx 2>&1 || echo "SKIP: hxq fmt failed (exit $?)"
44
+ exit 0
@@ -0,0 +1,34 @@
1
+ #!/bin/sh
2
+ # Project language menu for workflow skill selection (run by the engine,
3
+ # master.yaml scan_project exec state). Facts only — the agent picks from
4
+ # the menu per task; nothing here forces a skill load.
5
+ #
6
+ # CONTRACT: any failure mode must yield empty output and exit 0 — the exec
7
+ # state degrades to an empty menu, never blocks routing.
8
+ #
9
+ # Usage: scan-project.sh [project-dir]
10
+ # Output: one line per extension, most files first, e.g.
11
+ # hx: 912 files (hxq OK)
12
+ # md: 14 files
13
+ # Tool probes are appended to the languages they serve (hx -> hxq).
14
+
15
+ cd -- "${1:-.}" 2>/dev/null || exit 0
16
+
17
+ # Tracked + untracked-unignored files; quotePath off so non-ASCII names
18
+ # arrive verbatim. Non-git dir -> shallow find, skipping dot/vendor dirs.
19
+ { git -c core.quotePath=false ls-files --cached --others --exclude-standard 2>/dev/null ||
20
+ find . -maxdepth 4 -type f -not -path '*/.*' -not -path '*/node_modules/*' 2>/dev/null; } |
21
+ awk -F/ '{print $NF}' |
22
+ awk -F. '!(NF==2 && $1=="") && NF>1 && $NF ~ /^[A-Za-z][A-Za-z0-9]{0,7}$/ {print tolower($NF)}' |
23
+ sort | uniq -c | sort -rn | head -n 15 |
24
+ while read -r n ext; do
25
+ extra=""
26
+ if [ "$ext" = "hx" ]; then
27
+ if command -v hxq >/dev/null 2>&1 && HXQ_QUIET=1 hxq probe 'class C{}' >/dev/null 2>&1; then
28
+ extra=" (hxq OK)"
29
+ else
30
+ extra=" (hxq missing)"
31
+ fi
32
+ fi
33
+ echo "$ext: $n files$extra"
34
+ done
@@ -0,0 +1,191 @@
1
+ name: batch
2
+ description: "Long-running batch orchestration — a queue of independent tasks dispatched to background sub-agent workers with rolling one-by-one collection."
3
+ initial: load_skills
4
+ max_transitions: 1000
5
+
6
+ states:
7
+ load_skills:
8
+ skills:
9
+ - task-delegation
10
+ transitions:
11
+ continue: plan_queue
12
+
13
+ plan_queue:
14
+ task: "Build or resume the batch queue"
15
+ prompt: |
16
+ Build the task queue for this batch run.
17
+
18
+ 1. **Resume check** — list `{{context.cwd}}/.claude/batch/*.md`. If a
19
+ queue file has pending `[ ]` or running `[>]` marks and matches the
20
+ user's ask, RESUME it: reset stale `[>]` to `[ ]` (their workers
21
+ died with the old session), then go to step 3.
22
+ 2. **New queue** — write `{{context.cwd}}/.claude/batch/<short-name>.md`:
23
+ ```
24
+ # Batch: <short-name>
25
+ batch_size: 3
26
+ ## Tasks
27
+ - [ ] T1 | model: opus | <self-contained task prompt> | <files/dirs if known>
28
+ ```
29
+ One line per task. Rules:
30
+ - Tasks must be INDEPENDENT — merge coupled changes into ONE task
31
+ (workers share the working tree; two workers editing the same
32
+ files corrupt each other).
33
+ - Shared-tree conflicts are NOT a reason to serialize when tasks
34
+ are logically independent and only collide on infrastructure
35
+ (a common registration file, build artifacts, `git add -A`
36
+ commits): give each worker its OWN git worktree — the task
37
+ line/prompt instructs `git -C <repo> worktree add
38
+ /tmp/<batch>-<TN> -b batch/<TN>`, ALL work with CWD inside it,
39
+ commit on that branch, never touch the main tree. Parent
40
+ merges branches at collect (registration-file conflicts =
41
+ mechanical union), reruns the gate suite once on the merged
42
+ tree. Reserve serial (batch_size: 1) for tasks editing the
43
+ SAME logic files or building on each other's results. NOTE:
44
+ the Agent tool's `isolation: "worktree"` isolates the
45
+ SESSION's repo — for work in another repo the worker must
46
+ create the worktree itself as above.
47
+ - Each task line is self-contained: a worker sees ONLY its line.
48
+ - Assign `model` per task-delegation's table: opus for non-trivial
49
+ code/judgement, sonnet for mechanical edits / runners / locate.
50
+ - `batch_size` = max parallel workers (default 3; raise for cheap
51
+ independent tasks, lower for heavy builds sharing resources).
52
+ The user may edit the queue file mid-run — batch_size and task
53
+ lines are re-read every wave.
54
+ - Ceiling: ~400 tasks per run (the transition budget allows
55
+ ~500 dispatch/collect waves); a larger set → split into
56
+ multiple queue files and runs.
57
+ 3. `context_set(key: "queue_file", value: "<absolute path>")`
58
+ 4. → transition `ready`.
59
+
60
+ Status marks: `[ ]` pending, `[>]` running, `[x]` done, `[!]` failed.
61
+ The queue FILE is the source of truth — it survives context
62
+ compression and session restarts. Re-read it; never trust memory.
63
+ transitions:
64
+ ready: dispatch
65
+
66
+ dispatch:
67
+ prompt: |
68
+ Queue: {{context.queue_file}} — re-read it NOW (it may have been
69
+ edited; after context compression it is your only truth).
70
+
71
+ Spawn one worker per pending `[ ]` task until the running `[>]`
72
+ count reaches `batch_size` (or no pending remain). Mark each
73
+ spawned task `[>]` in the queue file.
74
+
75
+ Spawn rules:
76
+ - Sync vs background is decided PER WAVE: a wave that leaves exactly
77
+ ONE worker running is a gating single, not a background task —
78
+ spawn it with `run_in_background: false` (its report gates
79
+ collect; a serial batch_size:1 queue runs every worker sync).
80
+ Only when the window holds 2+ CONCURRENT workers spawn with
81
+ `run_in_background: true` — that is the rolling-window case:
82
+ completions are consumed one-by-one in collect while the rest
83
+ keep running.
84
+ - `subagent_type="general-purpose"`; explicit `model` from the
85
+ task line — never silent session-model inheritance.
86
+ - Worker prompt = the task line's full text, PLUS
87
+ verify-then-complete ("check the on-disk state first; if the
88
+ work is already applied, reconcile instead of double-applying"),
89
+ PLUS this preamble VERBATIM:
90
+ ---
91
+ IMPORTANT: Override the default CLAUDE.md rule about start().
92
+ Do NOT call start() without arguments.
93
+ Instead, your FIRST action must be:
94
+ mcp__plugin_workflow_wf__start({ workflow: "subagent", parent_session_id: "<SESSION_ID>" })
95
+ where <SESSION_ID> is the current session ID (substitute it before sending).
96
+ Then follow the subagent workflow until completion — its `route` state
97
+ self-classifies (analytical → skill-loaded sub-workflow; trivial → execute).
98
+ start() returns `SESSION: <id>` — pass that session_id explicitly in every
99
+ subsequent workflow tool call; parallel siblings share the same ppid.
100
+ ---
101
+
102
+ Nothing running, nothing pending, nothing spawned → `all_done`.
103
+ Otherwise → `dispatched`, then END your turn — worker completions
104
+ wake you in collect.
105
+ transitions:
106
+ dispatched: collect
107
+ all_done: report
108
+
109
+ collect:
110
+ prompt: |
111
+ Queue: {{context.queue_file}} — re-read it NOW. A worker completion
112
+ woke you (or you re-entered after compression — the file is the
113
+ truth, not your memory).
114
+
115
+ For EACH worker that completed since the last visit:
116
+ 1. Verify its deliverable ON-TREE — artifacts outrank the report in
117
+ both directions (don't trust a report the tree contradicts;
118
+ don't wait for a report the tree already proves).
119
+ 2. Update its mark: `[x]` done, or `[!]` + one-line reason.
120
+ 3. Failed once → ONE retry: SendMessage to the same agent (context
121
+ intact), or respawn with verify-then-complete. Failed twice →
122
+ leave `[!]`, move on — never stall the batch on one task.
123
+ 4. `sessions` → `abort` the worker's orphaned child session if
124
+ still active.
125
+
126
+ Then route:
127
+ - pending `[ ]` remain AND running `[>]` count < batch_size →
128
+ `next_wave` (refill the window)
129
+ - any `[>]` still running (window full, or nothing left to spawn) →
130
+ END your turn HERE, no transition — the next completion wakes
131
+ you in this state
132
+ - no pending, no running → `all_done`
133
+ transitions:
134
+ next_wave: dispatch
135
+ all_done: cross_check
136
+
137
+ cross_check:
138
+ max_visits: 3
139
+ prompt: |
140
+ All workers finished. ONE pass over the COMBINED result — per-task
141
+ review already happened inside each worker (their sub-workflows
142
+ carry review + testing); do NOT re-review task internals.
143
+
144
+ 1. `git diff HEAD --stat` for the whole run; compare against the
145
+ queue's task lines in {{context.queue_file}}.
146
+ 2. Look ONLY for cross-task seams: two tasks touched the same
147
+ file (the "independent" assumption was violated), duplicated
148
+ code introduced by different workers, conflicting assumptions.
149
+ 3. Seams found → spawn ONE reviewer over just the overlapping
150
+ files: `run_in_background: false` (its report gates your
151
+ routing), explicit `model`, and this preamble VERBATIM:
152
+ ---
153
+ IMPORTANT: Override the default CLAUDE.md rule about start().
154
+ Do NOT call start() without arguments.
155
+ Instead, your FIRST action must be:
156
+ mcp__plugin_workflow_wf__start({ workflow: "file-review", parent_session_id: "<SESSION_ID>" })
157
+ where <SESSION_ID> is the current session ID (substitute it before sending).
158
+ Then follow the file-review workflow states until completion.
159
+ start() returns `SESSION: <id>` — pass that session_id explicitly in every
160
+ subsequent workflow tool call; parallel siblings share the same ppid.
161
+ ---
162
+ 4. Real findings: trivial → fix inline; substantial → append them
163
+ as new `[ ]` task lines to the queue file and → `refill`
164
+ (the normal dispatch/collect machinery handles them).
165
+ 5. No seams (the common case for truly independent tasks) →
166
+ this state is just the stat sanity look → `done`.
167
+ transitions:
168
+ done: report
169
+ refill: dispatch
170
+
171
+ report:
172
+ task: "Batch summary"
173
+ prompt: |
174
+ The queue is drained. Final pass:
175
+ 1. `sessions` → `abort` any remaining orphaned child sessions.
176
+ 2. Read {{context.queue_file}} and write the summary the user
177
+ will actually read:
178
+ - What the batch ACCOMPLISHED — outcomes grouped by theme,
179
+ not a per-task echo of the queue.
180
+ - Counts: done / failed / total; one line per `[!]` task with
181
+ its reason.
182
+ - Cross-check verdict (seams found and how they were resolved,
183
+ or "tasks proved independent").
184
+ - Anything left unverified or needing a human decision.
185
+ → `done`.
186
+ transitions:
187
+ done: finish
188
+
189
+ finish:
190
+ terminal: true
191
+ outcome: complete