Skip to content

feat(skill): add kanban-video-orchestrator optional creative skill#19281

Merged
teknium1 merged 2 commits into
NousResearch:mainfrom
SHL0MS:feat/optional-skill-video-orchestrator
May 3, 2026
Merged

feat(skill): add kanban-video-orchestrator optional creative skill#19281
teknium1 merged 2 commits into
NousResearch:mainfrom
SHL0MS:feat/optional-skill-video-orchestrator

Conversation

@SHL0MS

@SHL0MS SHL0MS commented May 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds optional-skills/creative/kanban-video-orchestrator/ — a meta-pipeline skill that wraps any video request in a Hermes Kanban pipeline by scoping the brief, designing an appropriate team for the requested style, generating the setup script, and helping monitor execution.

The kanban- prefix puts the skill in the same namespace as kanban-orchestrator and kanban-worker (both in skills/devops/), signaling that this skill drives the kanban plugin rather than being a generic video tool.

Routes scenes to whichever existing Hermes skill fits each beat: ascii-video, manim-video, p5js, comfyui, touchdesigner-mcp, blender-mcp, pixel-art, baoyu-comic, claude-design, excalidraw, songsee, heartmula, etc. — plus external APIs for TTS, image-gen, and image-to-video as needed. Kanban orchestration uses kanban-orchestrator (director) and kanban-worker (everyone else).

Why an optional skill

Each video project that uses this is a 10-30 turn discovery + setup + monitoring workflow. The skill is large by skill standards (~2.6k LOC across SKILL.md + 6 reference files + 3 templates + 2 scripts), and only relevant to users actually producing videos. It belongs in optional-skills/, not the default tree.

Credit

The single-project workspace layout, profile-config patching approach, SOUL.md-per-profile convention, TEAM.md task-graph format, and --workspace dir:<path> discipline are adapted from @alt-glitch's original multi-agent video pipeline: https://github.com/NousResearch/kanban-video-pipeline. This skill generalizes those patterns across video styles. Co-authored on the commit.

What's in the package

optional-skills/creative/kanban-video-orchestrator/
├── SKILL.md                          # workflow + critical rules
├── references/
│   ├── intake.md                     # adaptive discovery question banks per style
│   ├── role-archetypes.md            # composable role library (writer/designer/animator/...)
│   ├── tool-matrix.md                # public-skill + toolset mapping per role
│   ├── kanban-setup.md               # setup-script structure & profile-config patterns
│   ├── monitoring.md                 # watch + intervene playbook
│   └── examples.md                   # six worked pipelines
├── assets/
│   ├── brief.md.tmpl
│   ├── setup.sh.tmpl
│   └── soul.md.tmpl
└── scripts/
    ├── bootstrap_pipeline.py         # plan.json → setup.sh + brief.md + TEAM.md
    └── monitor.py                    # poll kanban CLI + surface stuck/flapping/overtime tasks

Six worked examples cover: narrative film (text-to-image → image-to-video), product / marketing teaser, music video synced to BPM, math/algorithm explainer (Manim), pure ASCII, real-time installation art (TouchDesigner).

Notable improvements over the original kanban-video-pipeline

The bootstrap and config-patching approach was rewritten with safety in mind:

  • Profile-config patcher uses PyYAML, not regex string replacement. The original re.sub/str.replace patterns drifted out of sync with the current default config schema. In particular, c.replace(' mode: manual', ' mode: auto') matched approvals.mode: manual (the user-confirmation gate for tool calls) and silently flipped it to auto, auto-approving every worker tool call. The PyYAML patcher in this skill explicitly touches only toolsets and skills.always_load, with a comment forbidding mutation of approvals.mode. Verified end-to-end against a real default config — approvals.mode stays manual after patching.
  • Validation post-patch. The configure_profile function re-reads the file and aborts non-zero if the patch didn't take effect.
  • Profile name validation in bootstrap matches Hermes's actual regex ([a-z0-9][a-z0-9_-]{0,63}) and catches duplicates before generating the script.
  • Real CLI commands only. The monitoring playbook was scrubbed against hermes kanban --help — no fictional subcommands. kanban link for dependencies, kanban watch / tail / show for inspection, kanban block + archive to stop a worker, etc.

Style coverage and adaptability

The skill is designed to support any video style — not a fixed roster. The intake process classifies the request into a style archetype, picks role archetypes from the library that fit, and composes a team. Most videos need 4-7 profiles. The director is always present; everything else is conditional on the brief.

Testing

  • bash -n setup.sh syntax-checks clean for 3 different generated plans (narrative, music video, math explainer).
  • Sandbox test: PyYAML patcher applied to a fresh-style default config preserves approvals.mode: manual, sets toolsets and skills.always_load correctly.
  • bootstrap_pipeline.py validates plans and rejects bad profile names + duplicates.
  • monitor.py parses CLI args + falls back to text parsing if kanban list --json isn't available on older Hermes.
  • All 30 referenced public skills resolve to actual paths in skills/ or optional-skills/.

Dependencies

  • Hermes Agent kanban (built-in)
  • PyYAML (standard with most Hermes installs; pip install pyyaml if missing)
  • ffmpeg / ffprobe (for the editor / masterer / captioner profiles to call from terminal)
  • Optional external APIs depending on team composition (ElevenLabs, FAL/Replicate, Runway/Kling/Luma, etc.) — setup.sh validates required keys before firing the kanban

Meta-pipeline that wraps any video request — narrative film, product /
marketing, music video, explainer, ASCII, generative, comic, 3D,
real-time/installation — in a Hermes Kanban pipeline. Performs adaptive
discovery, designs an appropriate team for the requested style, generates
the setup script that creates Hermes profiles + initial kanban task, and
helps monitor execution.

Routes scenes to whichever existing Hermes skill fits each beat
(`ascii-video`, `manim-video`, `p5js`, `comfyui`, `touchdesigner-mcp`,
`blender-mcp`, `pixel-art`, `baoyu-comic`, `claude-design`, `excalidraw`,
`songsee`, `heartmula`, …) plus external APIs for TTS, image-gen, and
image-to-video. Kanban orchestration uses the `kanban-orchestrator` and
`kanban-worker` skills.

The single-project workspace layout, profile-config patching pattern,
SOUL.md-per-profile model, and `--workspace dir:<path>` discipline are
adapted from alt-glitch's original kanban-video-pipeline at
https://github.com/NousResearch/kanban-video-pipeline. This skill
generalizes those patterns across video styles and replaces the original
string-replacement config patcher with a PyYAML-based one that touches
only `toolsets` and `skills.always_load` (preserving security-sensitive
fields like `approvals.mode`).

Includes:
- SKILL.md — workflow + critical rules
- references/ — intake, role archetypes, tool matrix, kanban setup,
  monitoring, six worked examples
- assets/ — brief / setup.sh / soul.md templates
- scripts/ — bootstrap_pipeline.py (plan.json -> setup.sh) and
  monitor.py (poll + issue detection)

Co-authored-by: alt-glitch <balyan.sid@gmail.com>
@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have comp/plugins Plugin system and bundled plugins tool/skills Skills system (list, view, manage) labels May 3, 2026
The kanban prefix makes the skill discoverable alongside `kanban-orchestrator`
and `kanban-worker`, and signals up front that this skill drives the kanban
plugin rather than being a generic video tool.

Updated:
- directory rename
- SKILL.md frontmatter `name:` and H1
- setup.sh.tmpl header
@SHL0MS SHL0MS changed the title feat(skill): add video-orchestrator optional creative skill feat(skill): add kanban-video-orchestrator optional creative skill May 3, 2026
@SHL0MS SHL0MS closed this May 3, 2026
@SHL0MS SHL0MS reopened this May 3, 2026
@teknium1 teknium1 merged commit 0dd8e3f into NousResearch:main May 3, 2026
10 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/plugins Plugin system and bundled plugins P3 Low — cosmetic, nice to have tool/skills Skills system (list, view, manage) type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants