SKILL.md
SKILL.mdBrowse 12 files
2,309 tokens
9,777 bytes
Token encoding: o200k_base
Snapshot 24fd22b
1---2name: kanban-video-orchestrator3description: Plan and run multi-agent video production pipelines.4version: 1.0.05author: [SHL0MS, alt-glitch]6license: MIT7platforms: [linux, macos, windows]8metadata:9 hermes:10 tags: [video, kanban, multi-agent, orchestration, production-pipeline]11 related_skills: [ascii-video, manim-video, p5js, comfyui, pixel-art, ascii-art, songwriting-and-ai-music, heartmula, songsee, youtube-content, claude-design, excalidraw, architecture-diagram, concept-diagrams, baoyu-comic, baoyu-infographic, humanizer, gif-search, meme-generation]12 credits: |13 The single-project workspace layout, profile-config patching pattern,14 SOUL.md-per-profile model, TEAM.md task-graph convention, and15 `--workspace dir:/abs/path` discipline are adapted from alt-glitch's16 original multi-agent video pipeline at17 https://github.com/NousResearch/kanban-video-pipeline.18---19 20# Kanban Video Orchestrator21 22Wrap any video request — from a 15-second product teaser to a 5-minute narrative23short to a music video to an ASCII loop — in a Hermes Kanban pipeline that24decomposes the work to specialized agent profiles.25 26This skill does **not** render anything itself. It is a meta-pipeline that:27 281. **Scopes** the request through targeted discovery292. **Designs** an appropriate team (which roles, which tools per role) based on the style303. **Generates** a setup script that creates Hermes profiles, project workspace, and the initial kanban task314. **Hands off** to the director profile, which decomposes via the kanban325. **Monitors** execution, helps intervene when tasks stall or fail33 34The actual rendering happens inside the kanban once it's running, via whichever35existing skills + tools fit the scenes — `ascii-video`, `manim-video`, `p5js`,36`comfyui`, `touchdesigner-mcp`, `songwriting-and-ai-music`,37`heartmula`, external APIs, or plain Python with PIL + ffmpeg.38 39## When NOT to use this skill40 41- The video is one continuous procedural project that needs no specialists. Just write the code directly.42- The user wants a quick one-shot conversion (e.g. "convert this mp4 to a GIF") — use ffmpeg directly.43- The output is a static image, GIF, or audio-only artifact — use the matching specific skill (`ascii-art`, `gifs`, `meme-generation`, `songwriting-and-ai-music`).44- The work fits a single existing skill cleanly (e.g. a pure ASCII video — just use `ascii-video`).45 46## Workflow47 48```49DISCOVER → BRIEF → TEAM DESIGN → SETUP → EXECUTE → MONITOR50```51 52### Step 1 — Discover (ask the right questions)53 54The discovery process is **adaptive**: ask only what is actually needed. Always55start with three questions to identify the broad shape:56 57- **What is the video?** (one-sentence brief)58- **How long?** (5-30s teaser / 30-90s short / 90s-3min explainer / 3-10min film / longer)59- **What aspect ratio + target platform?** (1:1 / 9:16 / 16:9; X, IG, YouTube, internal, etc.)60 61From the answer, classify the style category. The style determines which62follow-up questions to ask. **Do not ask all questions at once.** Ask 2-4 at a63time, listen, then proceed. Make reasonable assumptions whenever the user64implies an answer.65 66For complete intake patterns and per-style question banks, see67**[references/intake.md](references/intake.md)**.68 69### Step 2 — Brief70 71Once enough is known, produce a structured `brief.md` using the template in72`assets/brief.md.tmpl`. Stages:73 741. **Concept** — the one-sentence pitch + emotional north star752. **Scope** — duration, aspect, platform, deadline763. **Style** — visual references, brand constraints, tone774. **Scenes** — beat-by-beat breakdown (durations, content, target tool)785. **Audio** — narration / music / SFX / silent (per scene if needed)796. **Deliverables** — file format, resolution, optional alternates (vertical cut, GIF, etc.)80 81Show the brief to the user for confirmation before designing the team. **The82brief is the contract** — every downstream task references it.83 84### Step 3 — Team design85 86Pick role archetypes from the library that fit this video. **Compose, don't87clone.** Most videos need 4-7 profiles. The director is always present; the88rest are picked by what the brief actually requires.89 90For the role library and per-style team compositions, see91**[references/role-archetypes.md](references/role-archetypes.md)**.92 93For mapping role → which Hermes skills + toolsets it loads, see94**[references/tool-matrix.md](references/tool-matrix.md)**.95 96### Step 4 — Setup97 98Generate a setup script (`setup.sh`) and run it. The script:99 1001. Creates the project workspace (`~/projects/video-pipeline/<slug>/`)1012. Copies any provided assets into `taste/`, `audio/`, `assets/`1023. Creates each Hermes profile via `hermes profile create --clone`1034. Writes per-profile `SOUL.md` (personality + role definition)1045. Configures profile YAML (toolsets, always_load skills, cwd)1056. Writes `brief.md`, `TEAM.md`, and `taste/` content1067. Fires the initial `hermes kanban create` task assigned to the director107 108Use `scripts/bootstrap_pipeline.py` to generate setup.sh from a brief +109team-design JSON. See **[references/kanban-setup.md](references/kanban-setup.md)**110for the setup script structure, profile config patterns, and the critical111"shared workspace" rule.112 113### Step 5 — Execute114 115Run `setup.sh`. Then provide the user with monitoring commands:116 117```bash118hermes kanban watch --tenant <project-tenant> # live events119hermes kanban list --tenant <project-tenant> # board snapshot120hermes dashboard # visual board UI121```122 123The director profile takes over from here, decomposing the work and routing124tasks to specialist profiles via the kanban toolset.125 126### Step 6 — Monitor and intervene127 128Stay engaged — the kanban runs autonomously but a stuck task or bad output129needs human (or AI) judgment.130 131Monitoring patterns: poll `kanban list` periodically, inspect any RUNNING task132that exceeds its expected duration with `kanban show <id>`, and check133heartbeats. When a worker's output fails review, the standard interventions are:134 1351. Comment on the worker's task with specific feedback (`kanban_comment`)1362. Create a re-run task with the original as parent1373. Adjust the brief's scope and let the director re-decompose138 139For diagnostic patterns, intervention recipes, and the "task is stuck"140playbook, see **[references/monitoring.md](references/monitoring.md)**.141 142## Reference: worked examples143 144Six concrete pipelines covering very different video styles — narrative film,145product/marketing, music video, math/algorithm explainer, ASCII video, real-time146installation — showing how the same workflow yields very different teams and147task graphs. See **[references/examples.md](references/examples.md)**.148 149## Critical rules150 1511. **Discovery before action.** Never start generating a brief or team without152 asking at least the three baseline questions. A bad brief cascades through153 the entire pipeline.154 1552. **Match the team to the video.** Don't reuse the same 4-profile setup for156 every job. A music video that doesn't have a beat-analysis profile will157 misfire. A narrative film that doesn't have a writer profile will produce158 incoherent scenes. See `references/role-archetypes.md`.159 1603. **One workspace per project.** All profiles for a given video share the same161 `dir:` workspace. Tasks pass artifacts via shared filesystem and structured162 handoffs. **Every** `kanban_create` call passes163 `workspace_kind="dir"` + `workspace_path="<absolute project path>"`.164 1654. **Tenant every project.** Use a project-specific tenant166 (`--tenant <project-slug>`). Keeps the dashboard scoped and prevents167 cross-pollination with other ongoing kanbans.168 1695. **Respect existing skills.** When a scene fits an existing skill, the170 relevant renderer should load that skill via `--skill <name>` on its task171 or `always_load` in its profile. Do not re-derive what a skill already172 provides.173 1746. **The director never executes.** Even with the full `kanban + terminal +175 file` toolset, the director's `SOUL.md` rules forbid it from executing176 work itself. It decomposes and routes only — every concrete task becomes177 a `hermes kanban create` call to a specialist profile. The kanban178 orchestration guidance auto-injected into every kanban worker's system179 prompt spells this out further.180 1817. **Don't over-decompose.** A 30-second product video does NOT need 20 tasks.182 Aim for the smallest task graph that still parallelizes well and exposes the183 right human-review gates.184 1858. **Verify API keys BEFORE firing.** External APIs (TTS, image-gen,186 image-to-video) need keys in `${HERMES_HOME:-~/.hermes}/.env` or the user's secret store.187 A worker that hits a missing-key error wastes a task slot. The setup188 script's `check_key` helper aborts cleanly if a required key is missing.189 190## File map191 192```193SKILL.md ← this file (workflow + rules)194references/195 intake.md ← discovery question banks per style196 role-archetypes.md ← role library (writer, designer, animator, …)197 tool-matrix.md ← skill + toolset mapping per role198 kanban-setup.md ← setup script structure & profile config199 monitoring.md ← watch + intervene patterns200 examples.md ← six worked pipelines201assets/202 brief.md.tmpl ← brief skeleton203 setup.sh.tmpl ← setup script skeleton204 soul.md.tmpl ← profile personality skeleton205scripts/206 bootstrap_pipeline.py ← generate setup.sh from brief + team JSON207 monitor.py ← polling + intervention helpers208```209 Discovery context
Discovered by repository scan. No exact path reference found in the snapshot’s root AGENTS.md.