Kanban Video Orchestrator: Multi-Agent Video Production Pipelines
Plan and run multi-agent video production pipelines.
Written by Neura Market from the official Hermes Agent documentation for Kanban Video Orchestrator. Commands, paths, and version numbers are reproduced from the source unchanged.
Read the official documentationThe Kanban Video Orchestrator is a meta-pipeline for planning and running multi-agent video production. It does not render video itself; instead, it decomposes a video request into specialized agent profiles that work together through a Hermes Kanban board. Reach for it when a video project needs multiple distinct roles, tools, and review gates, and you want an autonomous yet supervised workflow.
What it does
This skill wraps any video request, from a 15-second product teaser to a 5-minute narrative short to a music video to an ASCII loop, into a Hermes Kanban pipeline. It scopes the request through targeted discovery, designs an appropriate team of agent profiles based on the style, generates a setup script that creates Hermes profiles and a project workspace, hands off to a director profile that decomposes the work via the kanban, and monitors execution to help intervene when tasks stall or fail.
The actual rendering happens inside the kanban once it is running, using whichever existing skills and tools fit the scenes: ascii-video, manim-video, p5js, comfyui, touchdesigner-mcp, songwriting-and-ai-music, heartmula, external APIs, or plain Python with PIL and ffmpeg.
Before you start
This is an optional skill, installed on demand. It is available on Linux, macOS, and Windows. You need Hermes Agent with the kanban toolset and the ability to create profiles via hermes profile create --clone. External APIs (TTS, image-gen, image-to-video) require API keys in ${HERMES_HOME:-~/.hermes}/.env or the user's secret store. The setup script's check_key helper aborts cleanly if a required key is missing.
Workflow overview
The workflow follows a clear sequence:
DISCOVER → BRIEF → TEAM DESIGN → SETUP → EXECUTE → MONITOR
Each stage builds on the previous one. Skipping discovery or the brief leads to a bad contract that cascades through the entire pipeline.
Step 1: Discover (ask the right questions)
The discovery process is adaptive: ask only what is actually needed. Always start with three questions to identify the broad shape:
- What is the video? (one-sentence brief)
- How long? (5-30s teaser / 30-90s short / 90s-3min explainer / 3-10min film / longer)
- What aspect ratio + target platform? (1:1 / 9:16 / 16:9; X, IG, YouTube, internal, etc.)
From the answer, classify the style category. The style determines which follow-up questions to ask. Do not ask all questions at once. Ask 2-4 at a time, listen, then proceed. Make reasonable assumptions whenever the user implies an answer.
For complete intake patterns and per-style question banks, see references/intake.md.
Step 2: Brief
Once enough is known, produce a structured brief.md using the template in assets/brief.md.tmpl. Stages:
- Concept, the one-sentence pitch + emotional north star
- Scope, duration, aspect, platform, deadline
- Style, visual references, brand constraints, tone
- Scenes, beat-by-beat breakdown (durations, content, target tool)
- Audio, narration / music / SFX / silent (per scene if needed)
- Deliverables, file format, resolution, optional alternates (vertical cut, GIF, etc.)
Show the brief to the user for confirmation before designing the team. The brief is the contract, every downstream task references it.
Step 3: Team design
Pick role archetypes from the library that fit this video. Compose, don't clone. Most videos need 4-7 profiles. The director is always present; the rest are picked by what the brief actually requires.
For the role library and per-style team compositions, see references/role-archetypes.md.
For mapping role → which Hermes skills + toolsets it loads, see references/tool-matrix.md.
Step 4: Setup
Generate a setup script (setup.sh) and run it. The script:
- Creates the project workspace (
~/projects/video-pipeline//) - Copies any provided assets into
taste/,audio/,assets/ - Creates each Hermes profile via
hermes profile create --clone - Writes per-profile
SOUL.md(personality + role definition) - Configures profile YAML (toolsets, always_load skills, cwd)
- Writes
brief.md,TEAM.md, andtaste/content - Fires the initial
hermes kanban createtask assigned to the director
Use scripts/bootstrap_pipeline.py to generate setup.sh from a brief + team-design JSON. See references/kanban-setup.md for the setup script structure, profile config patterns, and the critical "shared workspace" rule.
Step 5: Execute
Run setup.sh. Then provide the user with monitoring commands:
hermes kanban watch --tenant <project-tenant> # live events
hermes kanban list --tenant <project-tenant> # board snapshot
hermes dashboard # visual board UI
The director profile takes over from here, decomposing the work and routing tasks to specialist profiles via the kanban toolset.
Step 6: Monitor and intervene
Stay engaged, the kanban runs autonomously but a stuck task or bad output needs human (or AI) judgment.
Monitoring patterns: poll kanban list periodically, inspect any RUNNING task that exceeds its expected duration with kanban show , and check heartbeats. When a worker's output fails review, the standard interventions are:
- Comment on the worker's task with specific feedback (
kanban_comment) - Create a re-run task with the original as parent
- Adjust the brief's scope and let the director re-decompose
For diagnostic patterns, intervention recipes, and the "task is stuck" playbook, see references/monitoring.md.
Reference: worked examples
Six concrete pipelines covering very different video styles, narrative film, product/marketing, music video, math/algorithm explainer, ASCII video, real-time installation, showing how the same workflow yields very different teams and task graphs. See references/examples.md.
Critical rules
- Discovery before action. Never start generating a brief or team without asking at least the three baseline questions. A bad brief cascades through the entire pipeline.
- Match the team to the video. Don't reuse the same 4-profile setup for every job. A music video that doesn't have a beat-analysis profile will misfire. A narrative film that doesn't have a writer profile will produce incoherent scenes. See
references/role-archetypes.md. - One workspace per project. All profiles for a given video share the same
dir:workspace. Tasks pass artifacts via shared filesystem and structured handoffs. Everykanban_createcall passesworkspace_kind="dir"+workspace_path="". - Tenant every project. Use a project-specific tenant (
--tenant). Keeps the dashboard scoped and prevents cross-pollination with other ongoing kanbans. - Respect existing skills. When a scene fits an existing skill, the relevant renderer should load that skill via
--skillon its task oralways_loadin its profile. Do not re-derive what a skill already provides. - The director never executes. Even with the full
kanban + terminal + filetoolset, the director'sSOUL.mdrules forbid it from executing work itself. It decomposes and routes only, every concrete task becomes ahermes kanban createcall to a specialist profile. The kanban orchestration guidance auto-injected into every kanban worker's system prompt spells this out further. - Don't over-decompose. A 30-second product video does NOT need 20 tasks. Aim for the smallest task graph that still parallelizes well and exposes the right human-review gates.
- Verify API keys BEFORE firing. External APIs (TTS, image-gen, image-to-video) need keys in
${HERMES_HOME:-~/.hermes}/.envor the user's secret store. A worker that hits a missing-key error wastes a task slot. The setup script'scheck_keyhelper aborts cleanly if a required key is missing.
File map
SKILL.md ← this file (workflow + rules)
references/
intake.md ← discovery question banks per style
role-archetypes.md ← role library (writer, designer, animator, …)
tool-matrix.md ← skill + toolset mapping per role
kanban-setup.md ← setup script structure & profile config
monitoring.md ← watch + intervene patterns
examples.md ← six worked pipelines
assets/
brief.md.tmpl ← brief skeleton
setup.sh.tmpl ← setup script skeleton
soul.md.tmpl ← profile personality skeleton
scripts/
bootstrap_pipeline.py ← generate setup.sh from brief + team JSON
monitor.py ← polling + intervention helpers
When not to use it
This skill is not for every video task. Skip it when:
- The video is one continuous procedural project that needs no specialists. Just write the code directly.
- The user wants a quick one-shot conversion (e.g. "convert this mp4 to a GIF"), use ffmpeg directly.
- 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). - The work fits a single existing skill cleanly (e.g. a pure ASCII video, just use
ascii-video).
Limits and gotchas
The main limitations are the ones the critical rules spell out. Discovery is mandatory; skipping it produces a bad brief that wastes downstream effort. The team must match the video style, not a one-size-fits-all template. All profiles share one workspace, and every kanban task must pass workspace_kind="dir" and workspace_path="". Use a project-specific tenant to keep the dashboard clean. The director never executes work, so every concrete task must be routed to a specialist. Avoid over-decomposing: a short video does not need dozens of tasks. Finally, verify API keys before firing the pipeline, because a missing key wastes a task slot.
What pairs with this
This skill works alongside a set of related creative skills that handle the actual rendering. The source lists ascii-video, manim-video, p5js, comfyui, touchdesigner-mcp, 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, and meme-generation. Use them as the specialist tools inside your kanban tasks.