mindforge-cc 11.5.0 → 11.6.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/.agent/mindforge/skill-tdd.md +53 -0
- package/.agent/mindforge/skills-index.md +118 -0
- package/.agent/mindforge/systematic-debug.md +60 -0
- package/.agent/skills/1password-skill/SKILL.md +156 -0
- package/.agent/skills/1password-skill/references/cli-examples.md +31 -0
- package/.agent/skills/1password-skill/references/get-started.md +21 -0
- package/.agent/skills/article-illustrator/SKILL.md +199 -0
- package/.agent/skills/article-illustrator/references/prompt-construction.md +426 -0
- package/.agent/skills/article-illustrator/references/style-presets.md +80 -0
- package/.agent/skills/article-illustrator/references/styles.md +224 -0
- package/.agent/skills/article-illustrator/references/usage.md +50 -0
- package/.agent/skills/article-illustrator/references/workflow.md +332 -0
- package/.agent/skills/arxiv/SKILL.md +275 -0
- package/.agent/skills/blogwatcher/SKILL.md +130 -0
- package/.agent/skills/code-wiki/SKILL.md +438 -0
- package/.agent/skills/code-wiki/templates/README.md +31 -0
- package/.agent/skills/code-wiki/templates/architecture.md +30 -0
- package/.agent/skills/code-wiki/templates/getting-started.md +47 -0
- package/.agent/skills/code-wiki/templates/module.md +38 -0
- package/.agent/skills/codebase-inspection/SKILL.md +109 -0
- package/.agent/skills/comic-creator/SKILL.md +240 -0
- package/.agent/skills/comic-creator/references/analysis-framework.md +176 -0
- package/.agent/skills/comic-creator/references/auto-selection.md +71 -0
- package/.agent/skills/comic-creator/references/base-prompt.md +98 -0
- package/.agent/skills/comic-creator/references/character-template.md +180 -0
- package/.agent/skills/comic-creator/references/ohmsha-guide.md +85 -0
- package/.agent/skills/comic-creator/references/partial-workflows.md +106 -0
- package/.agent/skills/comic-creator/references/storyboard-template.md +143 -0
- package/.agent/skills/comic-creator/references/workflow.md +401 -0
- package/.agent/skills/concept-diagrams/SKILL.md +355 -0
- package/.agent/skills/concept-diagrams/references/dashboard-patterns.md +43 -0
- package/.agent/skills/concept-diagrams/references/infrastructure-patterns.md +144 -0
- package/.agent/skills/concept-diagrams/references/physical-shape-cookbook.md +42 -0
- package/.agent/skills/creative-ideation/SKILL.md +144 -0
- package/.agent/skills/creative-ideation/references/full-prompt-library.md +110 -0
- package/.agent/skills/devops-cli/SKILL.md +149 -0
- package/.agent/skills/devops-cli/references/app-discovery.md +112 -0
- package/.agent/skills/devops-cli/references/authentication.md +59 -0
- package/.agent/skills/devops-cli/references/cli-reference.md +104 -0
- package/.agent/skills/devops-cli/references/running-apps.md +171 -0
- package/.agent/skills/devops-watchers/SKILL.md +103 -0
- package/.agent/skills/docker-management/SKILL.md +273 -0
- package/.agent/skills/domain-intel/SKILL.md +96 -0
- package/.agent/skills/duckduckgo-search/SKILL.md +230 -0
- package/.agent/skills/github-auth/SKILL.md +240 -0
- package/.agent/skills/github-code-review/SKILL.md +474 -0
- package/.agent/skills/github-code-review/references/review-output-template.md +74 -0
- package/.agent/skills/github-issues/SKILL.md +363 -0
- package/.agent/skills/github-issues/templates/bug-report.md +35 -0
- package/.agent/skills/github-issues/templates/feature-request.md +31 -0
- package/.agent/skills/github-pr-workflow/SKILL.md +360 -0
- package/.agent/skills/github-pr-workflow/references/ci-troubleshooting.md +183 -0
- package/.agent/skills/github-pr-workflow/references/conventional-commits.md +71 -0
- package/.agent/skills/github-pr-workflow/templates/pr-body-bugfix.md +35 -0
- package/.agent/skills/github-pr-workflow/templates/pr-body-feature.md +33 -0
- package/.agent/skills/github-repo-management/SKILL.md +509 -0
- package/.agent/skills/github-repo-management/references/github-api-cheatsheet.md +161 -0
- package/.agent/skills/godmode/SKILL.md +396 -0
- package/.agent/skills/godmode/references/jailbreak-templates.md +128 -0
- package/.agent/skills/godmode/references/refusal-detection.md +142 -0
- package/.agent/skills/hyperframes/SKILL.md +182 -0
- package/.agent/skills/hyperframes/references/cli.md +185 -0
- package/.agent/skills/hyperframes/references/composition.md +129 -0
- package/.agent/skills/hyperframes/references/features.md +289 -0
- package/.agent/skills/hyperframes/references/gsap.md +136 -0
- package/.agent/skills/hyperframes/references/troubleshooting.md +137 -0
- package/.agent/skills/hyperframes/references/website-to-video.md +145 -0
- package/.agent/skills/jupyter-live-kernel/SKILL.md +160 -0
- package/.agent/skills/kanban-orchestrator/SKILL.md +209 -0
- package/.agent/skills/kanban-worker/SKILL.md +188 -0
- package/.agent/skills/llm-wiki/SKILL.md +499 -0
- package/.agent/skills/meme-generation/SKILL.md +122 -0
- package/.agent/skills/node-inspect-debugger/SKILL.md +312 -0
- package/.agent/skills/obsidian/SKILL.md +60 -0
- package/.agent/skills/osint-investigation/SKILL.md +269 -0
- package/.agent/skills/osint-investigation/templates/source-template.md +59 -0
- package/.agent/skills/oss-forensics/SKILL.md +422 -0
- package/.agent/skills/oss-forensics/references/evidence-types.md +89 -0
- package/.agent/skills/oss-forensics/references/github-archive-guide.md +184 -0
- package/.agent/skills/oss-forensics/references/investigation-templates.md +131 -0
- package/.agent/skills/oss-forensics/references/recovery-techniques.md +164 -0
- package/.agent/skills/oss-forensics/templates/forensic-report.md +151 -0
- package/.agent/skills/oss-forensics/templates/malicious-package-report.md +43 -0
- package/.agent/skills/parallel-cli/SKILL.md +384 -0
- package/.agent/skills/pinggy-tunnel/SKILL.md +302 -0
- package/.agent/skills/pixel-art/SKILL.md +209 -0
- package/.agent/skills/pixel-art/references/palettes.md +49 -0
- package/.agent/skills/plan/SKILL.md +331 -0
- package/.agent/skills/polymarket/SKILL.md +75 -0
- package/.agent/skills/polymarket/references/api-endpoints.md +220 -0
- package/.agent/skills/python-debugpy/SKILL.md +368 -0
- package/.agent/skills/requesting-code-review/SKILL.md +273 -0
- package/.agent/skills/research-paper-writing/SKILL.md +2367 -0
- package/.agent/skills/research-paper-writing/references/autoreason-methodology.md +394 -0
- package/.agent/skills/research-paper-writing/references/checklists.md +434 -0
- package/.agent/skills/research-paper-writing/references/citation-workflow.md +563 -0
- package/.agent/skills/research-paper-writing/references/experiment-patterns.md +728 -0
- package/.agent/skills/research-paper-writing/references/human-evaluation.md +476 -0
- package/.agent/skills/research-paper-writing/references/paper-types.md +481 -0
- package/.agent/skills/research-paper-writing/references/reviewer-guidelines.md +433 -0
- package/.agent/skills/research-paper-writing/references/sources.md +191 -0
- package/.agent/skills/research-paper-writing/references/writing-guide.md +474 -0
- package/.agent/skills/research-paper-writing/templates/README.md +251 -0
- package/.agent/skills/rest-graphql-debug/SKILL.md +507 -0
- package/.agent/skills/s6-container-supervision/SKILL.md +171 -0
- package/.agent/skills/scrapling/SKILL.md +328 -0
- package/.agent/skills/sherlock/SKILL.md +186 -0
- package/.agent/skills/simplify-code/SKILL.md +168 -0
- package/.agent/skills/skill-authoring/SKILL.md +158 -0
- package/.agent/skills/spike/SKILL.md +190 -0
- package/.agent/skills/subagent-driven-development/SKILL.md +345 -0
- package/.agent/skills/subagent-driven-development/references/context-budget-discipline.md +53 -0
- package/.agent/skills/subagent-driven-development/references/gates-taxonomy.md +93 -0
- package/.agent/skills/systematic-debugging/SKILL.md +360 -0
- package/.agent/skills/test-driven-development/SKILL.md +336 -0
- package/.agent/skills/video-orchestrator/SKILL.md +194 -0
- package/.agent/skills/video-orchestrator/references/examples.md +227 -0
- package/.agent/skills/video-orchestrator/references/intake.md +166 -0
- package/.agent/skills/video-orchestrator/references/kanban-setup.md +278 -0
- package/.agent/skills/video-orchestrator/references/monitoring.md +180 -0
- package/.agent/skills/video-orchestrator/references/role-archetypes.md +298 -0
- package/.agent/skills/video-orchestrator/references/tool-matrix.md +317 -0
- package/.agent/skills/web-pentest/SKILL.md +332 -0
- package/.agent/skills/web-pentest/references/bypass-techniques.md +133 -0
- package/.agent/skills/web-pentest/references/exploitation-techniques.md +204 -0
- package/.agent/skills/web-pentest/references/scope-enforcement.md +110 -0
- package/.agent/skills/web-pentest/references/vuln-taxonomy.md +81 -0
- package/.agent/skills/web-pentest/templates/authorization.md +69 -0
- package/.agent/skills/web-pentest/templates/pentest-report.md +178 -0
- package/.claude/commands/mindforge/skill-tdd.md +53 -0
- package/.claude/commands/mindforge/skills-index.md +118 -0
- package/.claude/commands/mindforge/systematic-debug.md +60 -0
- package/.mindforge/config.json +2 -2
- package/.mindforge/memory/sync-manifest.json +1 -1
- package/.mindforge/skills/arxiv/SKILL.md +294 -0
- package/.mindforge/skills/blogwatcher/SKILL.md +147 -0
- package/.mindforge/skills/code-wiki/SKILL.md +457 -0
- package/.mindforge/skills/codebase-inspection/SKILL.md +126 -0
- package/.mindforge/skills/concept-diagrams/SKILL.md +373 -0
- package/.mindforge/skills/creative-ideation/SKILL.md +162 -0
- package/.mindforge/skills/domain-intel/SKILL.md +116 -0
- package/.mindforge/skills/duckduckgo-search/SKILL.md +249 -0
- package/.mindforge/skills/github-code-review/SKILL.md +493 -0
- package/.mindforge/skills/github-issues/SKILL.md +382 -0
- package/.mindforge/skills/github-pr-workflow/SKILL.md +379 -0
- package/.mindforge/skills/jupyter-live-kernel/SKILL.md +179 -0
- package/.mindforge/skills/kanban-orchestrator/SKILL.md +227 -0
- package/.mindforge/skills/kanban-worker/SKILL.md +206 -0
- package/.mindforge/skills/meme-generation/SKILL.md +141 -0
- package/.mindforge/skills/obsidian/SKILL.md +80 -0
- package/.mindforge/skills/osint-investigation/SKILL.md +288 -0
- package/.mindforge/skills/oss-forensics/SKILL.md +421 -0
- package/.mindforge/skills/pixel-art/SKILL.md +228 -0
- package/.mindforge/skills/plan/SKILL.md +350 -0
- package/.mindforge/skills/requesting-code-review/SKILL.md +292 -0
- package/.mindforge/skills/research-paper-writing/SKILL.md +2384 -0
- package/.mindforge/skills/scrapling/SKILL.md +345 -0
- package/.mindforge/skills/sherlock/SKILL.md +203 -0
- package/.mindforge/skills/simplify-code/SKILL.md +187 -0
- package/.mindforge/skills/spike/SKILL.md +209 -0
- package/.mindforge/skills/subagent-driven-development/SKILL.md +364 -0
- package/.mindforge/skills/systematic-debugging/SKILL.md +379 -0
- package/.mindforge/skills/test-driven-development/SKILL.md +355 -0
- package/.mindforge/skills/web-pentest/SKILL.md +327 -0
- package/CHANGELOG.md +88 -0
- package/MINDFORGE.md +3 -3
- package/README.md +38 -3
- package/RELEASENOTES.md +100 -0
- package/bin/dashboard/api-router.js +10 -1
- package/bin/governance/approve.js +5 -1
- package/bin/memory/federated-sync.js +11 -2
- package/bin/memory/knowledge-capture.js +10 -1
- package/bin/memory/pillar-health-tracker.js +9 -1
- package/bin/review/ads-engine.js +2 -2
- package/bin/security/trust-boundaries.js +5 -0
- package/docs/getting-started.md +42 -5
- package/package.json +1 -1
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Monitoring — Watch the Pipeline + Intervene
|
|
2
|
+
|
|
3
|
+
After `setup.sh` fires the kanban, the work runs autonomously. The role of
|
|
4
|
+
this skill in the execution phase is to help the user (and the AI overseeing
|
|
5
|
+
the session) detect problems early and intervene effectively.
|
|
6
|
+
|
|
7
|
+
## Live monitoring commands
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# Live event stream — task spawns, status changes, heartbeats, completions
|
|
11
|
+
hermes kanban watch --tenant <project-slug>
|
|
12
|
+
|
|
13
|
+
# Snapshot of the board
|
|
14
|
+
hermes kanban list --tenant <project-slug>
|
|
15
|
+
hermes kanban list --tenant <project-slug> --json # machine-readable
|
|
16
|
+
|
|
17
|
+
# Per-status counts + oldest-ready age
|
|
18
|
+
hermes kanban stats --tenant <project-slug>
|
|
19
|
+
|
|
20
|
+
# Visual dashboard (browser)
|
|
21
|
+
hermes dashboard
|
|
22
|
+
|
|
23
|
+
# Inspect a specific task (includes comments + events)
|
|
24
|
+
hermes kanban show <task-id>
|
|
25
|
+
|
|
26
|
+
# Follow a single task's event stream
|
|
27
|
+
hermes kanban tail <task-id>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Verify available subcommands with `hermes kanban --help` — the kanban CLI
|
|
31
|
+
ships with `init / create / list / show / assign / link / unlink / claim /
|
|
32
|
+
comment / complete / block / unblock / archive / tail / dispatch / watch /
|
|
33
|
+
stats / heartbeat / log / runs / context / gc`.
|
|
34
|
+
|
|
35
|
+
The companion `scripts/monitor.py` polls the kanban via the CLI and surfaces
|
|
36
|
+
common issues (stuck tasks, missing heartbeats, repeated retries, dependency
|
|
37
|
+
deadlocks).
|
|
38
|
+
|
|
39
|
+
## What to watch for
|
|
40
|
+
|
|
41
|
+
### Healthy pipeline indicators
|
|
42
|
+
|
|
43
|
+
- Tasks transition `READY → RUNNING → DONE` in roughly the expected order
|
|
44
|
+
- Renderers emit periodic `kanban_heartbeat` events with progress (e.g. "frame
|
|
45
|
+
240/720")
|
|
46
|
+
- Each task's runtime is well under its `max_runtime_seconds` cap
|
|
47
|
+
- No task accumulates more than 1 retry
|
|
48
|
+
- Dependency arrows resolve (children unblock as parents complete)
|
|
49
|
+
|
|
50
|
+
### Warning signs
|
|
51
|
+
|
|
52
|
+
| Symptom | Likely cause | Action |
|
|
53
|
+
|---------|--------------|--------|
|
|
54
|
+
| Task RUNNING but no heartbeat in 2+ min | Worker stuck, infinite loop, blocked on input | `hermes kanban show <id>` — read the worker's last events. The dispatcher SIGTERMs tasks that exceed their `max-runtime`; if you need to stop one earlier, `hermes kanban block <id>` then `hermes kanban archive <id>`, and create a re-run task. |
|
|
55
|
+
| Same task retried 2+ times | Reproducible failure (missing key, bad spec, broken tool) | `hermes kanban show <id>` to read failure events. Fix root cause before re-running. |
|
|
56
|
+
| RUNNING longer than max_runtime | Task is slow but progressing OR genuinely stuck | Check heartbeats with `hermes kanban tail <id>`. If progressing, the dispatcher will SIGTERM eventually anyway — raise `max-runtime` on a re-created task. |
|
|
57
|
+
| Child task READY but parents still RUNNING for >2× expected | Cascade slow, dependency miswired | Check the dependency graph. Inspect the parent: sometimes it completed but its handoff fields (summary, metadata) were empty so the child has nothing to consume. |
|
|
58
|
+
| New tasks not appearing | Director is hung in decomposition | Inspect director task with `kanban show`. Often a malformed `kanban_create` call. |
|
|
59
|
+
| Specialist tasks completing instantly | Decomposition created tasks without bodies | Director didn't pass enough context. Re-create with explicit body content. |
|
|
60
|
+
| Tasks created but never picked up | Profile not running, or tenant mismatch, or dispatcher not running | Check `hermes profile list` (profile exists?), `hermes status` (gateway/dispatcher up?), and verify tenant. |
|
|
61
|
+
| Specific renderer task fails → review note → renderer redoes → fails again | Brief is asking for the impossible | Pivot the brief, not the renderer. |
|
|
62
|
+
|
|
63
|
+
## Intervention recipes
|
|
64
|
+
|
|
65
|
+
### Rejecting bad output
|
|
66
|
+
|
|
67
|
+
When a renderer ships a clip that doesn't pass review:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# 1. Comment on the renderer's task with specific feedback
|
|
71
|
+
hermes kanban comment <renderer-task-id> "Scene 3 looks too sparse \
|
|
72
|
+
— increase visual density. Tighten color palette to brand spec."
|
|
73
|
+
|
|
74
|
+
# 2. Create a re-render task with the original as parent
|
|
75
|
+
hermes kanban create "Scene 3 — re-render with feedback" \
|
|
76
|
+
--assignee renderer-ascii \
|
|
77
|
+
--parent <renderer-task-id> \
|
|
78
|
+
--workspace dir:"$HOME/projects/video-pipeline/<slug>" \
|
|
79
|
+
--tenant <slug> \
|
|
80
|
+
--skill ascii-video \
|
|
81
|
+
--max-runtime 30m
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Adding a new dependency mid-flight
|
|
85
|
+
|
|
86
|
+
When the editor needs an asset that wasn't originally planned (e.g., a captions
|
|
87
|
+
file):
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# 1. Create the new task and capture its id
|
|
91
|
+
NEW_TASK_ID=$(hermes kanban create "Generate SRT captions from voiceover" \
|
|
92
|
+
--assignee captioner \
|
|
93
|
+
--workspace dir:"$HOME/projects/video-pipeline/<slug>" \
|
|
94
|
+
--tenant <slug> \
|
|
95
|
+
--json | python3 -c "import json,sys;print(json.load(sys.stdin)['id'])")
|
|
96
|
+
|
|
97
|
+
# 2. Wire it as a parent of the editor's task with `kanban link`
|
|
98
|
+
hermes kanban link "$NEW_TASK_ID" <editor-task-id>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
`kanban link` takes `parent_id child_id` (parent first). Use `kanban unlink`
|
|
102
|
+
to remove a dependency.
|
|
103
|
+
|
|
104
|
+
### Stopping a worker that's stuck
|
|
105
|
+
|
|
106
|
+
The kanban dispatcher will SIGTERM (then SIGKILL) any task that exceeds its
|
|
107
|
+
`--max-runtime` automatically. To stop one sooner:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# Mark blocked so the dispatcher leaves it alone, then archive
|
|
111
|
+
hermes kanban block <task-id>
|
|
112
|
+
hermes kanban archive <task-id>
|
|
113
|
+
|
|
114
|
+
# Diagnose what happened
|
|
115
|
+
hermes kanban show <task-id> # task body, comments, recent events
|
|
116
|
+
hermes kanban tail <task-id> # follow the live event stream
|
|
117
|
+
hermes kanban log <task-id> # worker process log
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
After stopping, decide: fix root cause + re-create the task, or skip and
|
|
121
|
+
adjust dependent tasks.
|
|
122
|
+
|
|
123
|
+
### Pivoting the brief
|
|
124
|
+
|
|
125
|
+
If during execution the user wants something fundamentally different:
|
|
126
|
+
|
|
127
|
+
1. Cancel the active director task and all RUNNING children
|
|
128
|
+
2. Edit `brief.md` and `TEAM.md`
|
|
129
|
+
3. Re-fire the initial `hermes kanban create` for the director
|
|
130
|
+
|
|
131
|
+
Don't try to "edit while running" — the kanban's audit trail makes a clean
|
|
132
|
+
pivot more legible than mid-stream changes.
|
|
133
|
+
|
|
134
|
+
## Periodic check-in script
|
|
135
|
+
|
|
136
|
+
A simple polling pattern for hands-off monitoring:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
while true; do
|
|
140
|
+
clear
|
|
141
|
+
hermes kanban list --tenant <slug>
|
|
142
|
+
echo "---"
|
|
143
|
+
hermes kanban stats --tenant <slug>
|
|
144
|
+
sleep 30
|
|
145
|
+
done
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
For a live event feed, run `hermes kanban watch --tenant <slug>` in a
|
|
149
|
+
separate terminal — it streams task lifecycle events as they happen.
|
|
150
|
+
|
|
151
|
+
For automated intervention (auto-restart stuck tasks, auto-create re-render on
|
|
152
|
+
review failure), see the `scripts/monitor.py` patterns.
|
|
153
|
+
|
|
154
|
+
## When to call it done
|
|
155
|
+
|
|
156
|
+
The pipeline is finished when:
|
|
157
|
+
|
|
158
|
+
1. All RENDER tasks complete and pass review
|
|
159
|
+
2. The editor's `output/final.mp4` exists and `ffprobe` confirms expected
|
|
160
|
+
duration + streams
|
|
161
|
+
3. The reviewer (if present) has approved
|
|
162
|
+
4. Optional masterer variants exist
|
|
163
|
+
|
|
164
|
+
At this point, present the final.mp4 path to the user along with any review
|
|
165
|
+
notes. Do NOT delete the workspace — the user may want to iterate on a single
|
|
166
|
+
scene without re-running the whole pipeline.
|
|
167
|
+
|
|
168
|
+
## Common gotchas
|
|
169
|
+
|
|
170
|
+
- **Tenant mismatches.** A task created with the wrong tenant won't appear in
|
|
171
|
+
monitoring. Always pass `--tenant <slug>` consistently.
|
|
172
|
+
- **Profile process not running.** Tasks queue indefinitely in READY if no
|
|
173
|
+
worker for that profile is online. Check `hermes profile list` and start
|
|
174
|
+
any missing profiles.
|
|
175
|
+
- **Workspace permissions.** All profiles need read+write to the workspace
|
|
176
|
+
directory. `chmod -R u+rw <workspace>` if any worker reports permission
|
|
177
|
+
errors.
|
|
178
|
+
- **Audio/visual sync.** The editor's clip stitching must match the
|
|
179
|
+
renderer's actual output durations. Don't hardcode scene durations in
|
|
180
|
+
the editor — read from the renderer's handoff metadata.
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
# Role Archetypes
|
|
2
|
+
|
|
3
|
+
The library of role archetypes for video production. **Compose a team from this
|
|
4
|
+
list, don't clone a fixed roster.** Most videos need 4-7 profiles. The director
|
|
5
|
+
is always present; everything else is conditional on the brief.
|
|
6
|
+
|
|
7
|
+
Each role's profile name is by convention `kebab-case` (e.g. `creative-director`,
|
|
8
|
+
`image-generator`). Multiple instances of the same role get descriptive suffixes
|
|
9
|
+
when they need different focus (e.g., `renderer-ascii`, `renderer-3d`).
|
|
10
|
+
|
|
11
|
+
For toolset + skill mapping per role, see [tool-matrix.md](tool-matrix.md).
|
|
12
|
+
|
|
13
|
+
## Always present
|
|
14
|
+
|
|
15
|
+
### director
|
|
16
|
+
|
|
17
|
+
The vision-holder. Reads the brief and brand guide, decomposes into a task
|
|
18
|
+
graph, comments to steer creative direction, approves the final cut.
|
|
19
|
+
|
|
20
|
+
- **Toolsets:** kanban, terminal, file
|
|
21
|
+
- **Skills:** `kanban-orchestrator`. The kanban plugin auto-injects baseline
|
|
22
|
+
orchestration guidance for free; `kanban-orchestrator` is the deeper
|
|
23
|
+
decomposition playbook. Add `creative-ideation` if the brief is wide-open
|
|
24
|
+
and needs framing help.
|
|
25
|
+
- **Personality:** Tied to the brand voice — see `assets/soul.md.tmpl`
|
|
26
|
+
|
|
27
|
+
The director has the same toolset as everyone else, but its `SOUL.md` rules
|
|
28
|
+
**forbid** execution. The "decompose, don't execute" discipline is enforced
|
|
29
|
+
by personality + the kanban-orchestrator skill, not by missing tools.
|
|
30
|
+
|
|
31
|
+
## Pre-production roles
|
|
32
|
+
|
|
33
|
+
Pick based on what the brief needs.
|
|
34
|
+
|
|
35
|
+
### writer / screenwriter
|
|
36
|
+
|
|
37
|
+
Writes scripts, dialogue, voiceover copy, narration. Use for any video with
|
|
38
|
+
spoken or written words beyond a tagline.
|
|
39
|
+
|
|
40
|
+
- **Toolsets:** kanban, file
|
|
41
|
+
- **Skills:** `kanban-worker`, `humanizer` (post-process to strip AI-tells)
|
|
42
|
+
- **Outputs:** `script.md`, `narration.md`, `dialogue/scene-NN.md`
|
|
43
|
+
|
|
44
|
+
### copywriter
|
|
45
|
+
|
|
46
|
+
Like `writer` but specifically for marketing copy: taglines, CTAs, voiceover
|
|
47
|
+
scripts for product videos.
|
|
48
|
+
|
|
49
|
+
- **Toolsets:** kanban, file
|
|
50
|
+
- **Skills:** `kanban-worker`, `humanizer`
|
|
51
|
+
- **Outputs:** `copy.md`
|
|
52
|
+
|
|
53
|
+
### concept-artist / visual-designer
|
|
54
|
+
|
|
55
|
+
Develops the visual identity: mood board, style frames, color palette
|
|
56
|
+
rationale, typography choices. Produces a `visual-spec.md` that all generators
|
|
57
|
+
follow. Often produces still reference frames using image-generation APIs or
|
|
58
|
+
local skills.
|
|
59
|
+
|
|
60
|
+
- **Toolsets:** kanban, terminal, file
|
|
61
|
+
- **Skills:** `kanban-worker` plus any project-specific design skill —
|
|
62
|
+
`claude-design` (UI/web), `sketch` (quick mockup variants),
|
|
63
|
+
`popular-web-designs` (matching known web aesthetic), `pixel-art` (retro),
|
|
64
|
+
`ascii-art` (terminal/retro), `excalidraw` (hand-drawn frames),
|
|
65
|
+
`design-md` (text-based design docs)
|
|
66
|
+
- **Outputs:** `visual-spec.md`, `taste/style-frames/*.png`
|
|
67
|
+
|
|
68
|
+
### storyboarder
|
|
69
|
+
|
|
70
|
+
Maps the brief to a beat-by-beat shot list with timing. Critical for narrative
|
|
71
|
+
film and music video. Often pairs with a diagramming tool.
|
|
72
|
+
|
|
73
|
+
- **Toolsets:** kanban, file
|
|
74
|
+
- **Skills:** `kanban-worker` plus a diagram skill — `excalidraw` (sketch),
|
|
75
|
+
`architecture-diagram` (technical/system), `concept-diagrams` (educational/
|
|
76
|
+
scientific)
|
|
77
|
+
- **Outputs:** `storyboard.md` with one row per scene/shot, optional
|
|
78
|
+
storyboard sketches
|
|
79
|
+
|
|
80
|
+
### cinematographer / dp
|
|
81
|
+
|
|
82
|
+
Designs the visual language: framing, color, motion, transitions. Reviews
|
|
83
|
+
generator output for visual consistency. Hands off per-scene `VISUAL_SPEC.md`.
|
|
84
|
+
|
|
85
|
+
- **Toolsets:** kanban, terminal, file, video, vision
|
|
86
|
+
- **Skills:** `kanban-worker` plus the visual skill that matches the project
|
|
87
|
+
(e.g., `ascii-video` for ASCII work, `manim-video` for explainers,
|
|
88
|
+
`touchdesigner-mcp` for real-time visuals, etc.)
|
|
89
|
+
- **Outputs:** `scenes/scene-NN/VISUAL_SPEC.md`, review comments on renderer
|
|
90
|
+
tasks
|
|
91
|
+
- **Reviews via:** `video_analyze` (sends full clip to multimodal LLM for
|
|
92
|
+
native review), `vision_analyze` for spot-checking frames, ffprobe summaries
|
|
93
|
+
|
|
94
|
+
## Production roles
|
|
95
|
+
|
|
96
|
+
### renderer (generic)
|
|
97
|
+
|
|
98
|
+
A worker that produces visual content for one or more scenes. Loaded with
|
|
99
|
+
whichever creative skill fits the scene's style. Multiple renderers can run in
|
|
100
|
+
parallel, each pinned to a different skill via `always_load` in their profile
|
|
101
|
+
or `--skill` on the task.
|
|
102
|
+
|
|
103
|
+
- **Toolsets:** kanban, terminal, file
|
|
104
|
+
- **Skills:** one creative skill (see specialized variants below)
|
|
105
|
+
- **Outputs:** `scenes/scene-NN/clip.mp4`
|
|
106
|
+
|
|
107
|
+
### Specialized renderer variants
|
|
108
|
+
|
|
109
|
+
When scenes need very different tools, create specialized renderer profiles
|
|
110
|
+
instead of overloading one. Each loads a different creative skill.
|
|
111
|
+
|
|
112
|
+
| Variant | Skill | Best for |
|
|
113
|
+
|---------|-------|----------|
|
|
114
|
+
| `renderer-ascii` | `ascii-video` | Terminal aesthetic, retro pixel, audio-reactive grid, video-to-ASCII conversion |
|
|
115
|
+
| `renderer-manim` | `manim-video` | Math, algorithms, 3Blue1Brown-style explainers, equation derivations |
|
|
116
|
+
| `renderer-p5js` | `p5js` | Generative art, particles, shaders, organic motion, web-canvas content |
|
|
117
|
+
| `renderer-comfyui` | `comfyui` | AI-generated stills + video using local ComfyUI workflows (img-to-img, img-to-video, etc.) |
|
|
118
|
+
| `renderer-touchdesigner` | `touchdesigner-mcp` | Real-time, audio-reactive, installation art, VJ-style content |
|
|
119
|
+
| `renderer-3d` | `blender-mcp` *(optional)* | 3D modeling, animation, photoreal environments, character animation |
|
|
120
|
+
| `renderer-pixel` | `pixel-art` | Retro game aesthetic with era-correct palettes |
|
|
121
|
+
| `renderer-comic` | `baoyu-comic` | Knowledge-comic style narrative scenes |
|
|
122
|
+
| `renderer-meme` | `meme-generation` *(optional)* | Meme-style stills for satirical/social content |
|
|
123
|
+
| `renderer-procedural` | (none — Python with PIL + ffmpeg directly) | Custom procedural content where no skill fits |
|
|
124
|
+
| `renderer-video` | (external image-to-video API: Runway / Kling / Luma) | Animating still images in narrative film |
|
|
125
|
+
| `renderer-motion-graphics` | (external — Remotion CLI) | Motion graphics, kinetic typography, UI animations |
|
|
126
|
+
|
|
127
|
+
For external-API renderers, the profile holds the API client logic; only
|
|
128
|
+
`kanban-worker` is loaded, plus the terminal toolset and the API key.
|
|
129
|
+
|
|
130
|
+
### image-generator
|
|
131
|
+
|
|
132
|
+
Specifically for text-to-image generation. Often produces stills that go to
|
|
133
|
+
`renderer-video` for animation.
|
|
134
|
+
|
|
135
|
+
- **Toolsets:** kanban, terminal, file
|
|
136
|
+
- **Skills:** `kanban-worker`, optionally `comfyui` (drives a local
|
|
137
|
+
ComfyUI install for image generation)
|
|
138
|
+
- **External APIs (alternative to local ComfyUI):** FAL, Replicate, OpenAI
|
|
139
|
+
Images, Midjourney
|
|
140
|
+
- **Outputs:** `scenes/scene-NN/stills/*.png`
|
|
141
|
+
|
|
142
|
+
### image-to-video-generator
|
|
143
|
+
|
|
144
|
+
Takes still images and animates them via Runway/Kling/Luma APIs, or via
|
|
145
|
+
ComfyUI's image-to-video workflows locally. Almost always follows
|
|
146
|
+
`image-generator` in narrative film pipelines.
|
|
147
|
+
|
|
148
|
+
- **Toolsets:** kanban, terminal, file
|
|
149
|
+
- **Skills:** `kanban-worker`, optionally `comfyui` (for local image-to-video
|
|
150
|
+
workflows like AnimateDiff or WAN)
|
|
151
|
+
- **External APIs:** Runway, Kling, Luma, Pika
|
|
152
|
+
- **Outputs:** `scenes/scene-NN/clip.mp4`
|
|
153
|
+
|
|
154
|
+
### music-supervisor
|
|
155
|
+
|
|
156
|
+
Sources, analyzes, and prepares the music track. For music videos, also
|
|
157
|
+
produces a beat/BPM map and key-moment timestamps. Uses `songsee` for
|
|
158
|
+
spectrograms when the editor or renderer needs a visual reference of the
|
|
159
|
+
audio's energy.
|
|
160
|
+
|
|
161
|
+
- **Toolsets:** kanban, terminal, file
|
|
162
|
+
- **Skills:** `kanban-worker`, `songsee` (audio visualization), plus one of:
|
|
163
|
+
- `songwriting-and-ai-music` — when commissioning lyrics + Suno prompts
|
|
164
|
+
- `heartmula` — when generating music with the open-source local model
|
|
165
|
+
- `spotify` — when sourcing existing tracks
|
|
166
|
+
- **Outputs:** `audio/track.mp3`, `audio/beats.json`, optional
|
|
167
|
+
`audio/track-spectrogram.png`
|
|
168
|
+
|
|
169
|
+
### voice-talent / narrator
|
|
170
|
+
|
|
171
|
+
Generates voiceover audio. Calls a TTS API directly; no specialized skill required
|
|
172
|
+
beyond `kanban-worker`. The user can also supply pre-recorded VO instead of
|
|
173
|
+
generation.
|
|
174
|
+
|
|
175
|
+
- **Toolsets:** kanban, terminal, file
|
|
176
|
+
- **Skills:** `kanban-worker`
|
|
177
|
+
- **External APIs:** ElevenLabs, OpenAI TTS, etc.
|
|
178
|
+
- **Outputs:** `audio/voiceover/line-NN.mp3`, `audio/voiceover/timeline.mp3`
|
|
179
|
+
|
|
180
|
+
### foley / sfx-designer
|
|
181
|
+
|
|
182
|
+
Sound effects and ambient design. Often optional unless the brief calls for
|
|
183
|
+
sound design specifically.
|
|
184
|
+
|
|
185
|
+
- **Toolsets:** kanban, terminal, file
|
|
186
|
+
- **Skills:** `kanban-worker`, `songsee` for audio-feature visualization when
|
|
187
|
+
designing to a track
|
|
188
|
+
- **Outputs:** `audio/sfx/*.mp3`
|
|
189
|
+
|
|
190
|
+
## Post-production roles
|
|
191
|
+
|
|
192
|
+
### editor
|
|
193
|
+
|
|
194
|
+
Assembles the final cut from clips. Uses ffmpeg for stitching, fades,
|
|
195
|
+
transitions. Reviews each clip for pacing and quality before assembly.
|
|
196
|
+
|
|
197
|
+
- **Toolsets:** kanban, terminal, file
|
|
198
|
+
- **Skills:** `kanban-worker`
|
|
199
|
+
- **External tools:** ffmpeg, ffprobe
|
|
200
|
+
- **Outputs:** `output/final.mp4`, `output/final-noaudio.mp4`
|
|
201
|
+
|
|
202
|
+
### colorist
|
|
203
|
+
|
|
204
|
+
Color grading. Usually optional — if the renderers already produce
|
|
205
|
+
brand-consistent output and the editor just stitches, the colorist is overkill.
|
|
206
|
+
Worth including for narrative film with hero shots.
|
|
207
|
+
|
|
208
|
+
- **Toolsets:** kanban, terminal, file
|
|
209
|
+
- **Skills:** `kanban-worker`
|
|
210
|
+
- **Outputs:** `output/final-graded.mp4`
|
|
211
|
+
|
|
212
|
+
### audio-mixer
|
|
213
|
+
|
|
214
|
+
Mixes voiceover + music + SFX into a final audio track. Sets levels, ducks
|
|
215
|
+
music under VO, normalizes loudness (LUFS).
|
|
216
|
+
|
|
217
|
+
- **Toolsets:** kanban, terminal, file
|
|
218
|
+
- **Skills:** `kanban-worker`
|
|
219
|
+
- **External tools:** ffmpeg with `loudnorm` filter, optional `sox`
|
|
220
|
+
- **Outputs:** `audio/final-mix.mp3`
|
|
221
|
+
|
|
222
|
+
### captioner
|
|
223
|
+
|
|
224
|
+
Burns subtitles into the video, generates SRT, handles accessibility. Can also
|
|
225
|
+
generate captions from audio via Whisper.
|
|
226
|
+
|
|
227
|
+
- **Toolsets:** kanban, terminal, file
|
|
228
|
+
- **Skills:** `kanban-worker`
|
|
229
|
+
- **External tools:** Whisper (CLI or API), ffmpeg subtitle filters
|
|
230
|
+
- **Outputs:** `output/captions.srt`, `output/final-captioned.mp4`
|
|
231
|
+
|
|
232
|
+
### masterer
|
|
233
|
+
|
|
234
|
+
Final encode + format variants. Produces deliverables for each platform target
|
|
235
|
+
(square for IG, vertical for TikTok, full HD for YouTube, etc.).
|
|
236
|
+
|
|
237
|
+
- **Toolsets:** kanban, terminal, file
|
|
238
|
+
- **Skills:** `kanban-worker`
|
|
239
|
+
- **Outputs:** `output/final-1080.mp4`, `output/final-9x16.mp4`, etc.
|
|
240
|
+
|
|
241
|
+
## QA roles
|
|
242
|
+
|
|
243
|
+
### reviewer
|
|
244
|
+
|
|
245
|
+
A neutral quality gate. Reads the brief, watches the cut, comments
|
|
246
|
+
specifically on what's off (pacing, sync, brand alignment, technical
|
|
247
|
+
quality). Distinct from the cinematographer (who reviews visuals during
|
|
248
|
+
production) and the editor (who reviews for assembly).
|
|
249
|
+
|
|
250
|
+
- **Toolsets:** kanban, terminal, file, video, vision
|
|
251
|
+
- **Skills:** `kanban-worker`
|
|
252
|
+
- **Review tools:** `video_analyze` (native clip review via multimodal LLM),
|
|
253
|
+
`vision_analyze` (frame/thumbnail review), ffprobe
|
|
254
|
+
- **Outputs:** `review-notes.md`, comments on tasks
|
|
255
|
+
|
|
256
|
+
### brand-cop
|
|
257
|
+
|
|
258
|
+
Reviews specifically for brand compliance — colors, typography, voice. Use
|
|
259
|
+
when the brand guidelines are detailed and a generic reviewer might miss
|
|
260
|
+
violations.
|
|
261
|
+
|
|
262
|
+
- **Toolsets:** kanban, file
|
|
263
|
+
- **Skills:** `kanban-worker`
|
|
264
|
+
- **Outputs:** comments + `brand-review.md`
|
|
265
|
+
|
|
266
|
+
## Composing teams — heuristics
|
|
267
|
+
|
|
268
|
+
- **Always:** director + at least one renderer + editor.
|
|
269
|
+
- **Add writer** if scripted dialogue / narration / on-screen text exceeds a
|
|
270
|
+
tagline.
|
|
271
|
+
- **Add storyboarder** if the brief has more than 5 distinct beats and the
|
|
272
|
+
director hasn't already laid out a beat list.
|
|
273
|
+
- **Add cinematographer** if multiple renderer instances need consistent
|
|
274
|
+
visual language. (For a single-tool video, the renderer's own skill spec
|
|
275
|
+
is enough.)
|
|
276
|
+
- **Add image-generator + image-to-video-generator pair** for narrative film
|
|
277
|
+
with photorealistic visuals.
|
|
278
|
+
- **Add music-supervisor** when music is provided and rhythm matters
|
|
279
|
+
(music videos always; explainers sometimes).
|
|
280
|
+
- **Add voice-talent** for any voiceover / narrative dialogue.
|
|
281
|
+
- **Add audio-mixer** when there are 2+ audio sources (VO + music, music + SFX).
|
|
282
|
+
- **Add captioner** for accessibility-priority projects (explainer, tutorial,
|
|
283
|
+
any platform that defaults to muted playback).
|
|
284
|
+
- **Add reviewer** for high-stakes projects. Skip for quick experimental loops.
|
|
285
|
+
- **Add masterer** when multiple platform deliverables are needed.
|
|
286
|
+
|
|
287
|
+
## Anti-patterns
|
|
288
|
+
|
|
289
|
+
- **One renderer doing everything.** If scenes use very different tools
|
|
290
|
+
(ASCII + 3D + motion graphics), use specialized renderer variants. The
|
|
291
|
+
renderer loads ONE creative skill at a time; mixing styles in a single
|
|
292
|
+
renderer causes thrashing.
|
|
293
|
+
- **A separate profile per scene.** No. Profiles are per-role, not per-scene.
|
|
294
|
+
Eight scenes use one or two renderer profiles, not eight.
|
|
295
|
+
- **A "general" profile that does everything.** Worse than no specialization.
|
|
296
|
+
The kanban routing breaks down if every task fits every profile.
|
|
297
|
+
- **No reviewer for important deliverables.** Saves an hour of pipeline time
|
|
298
|
+
but ships flaws.
|