Hermes Agent Kanban Setup Guide: Multi-Agent Task Board

· 5 min read ai youtube

TL;DR: Hermes Agent’s Kanban replaces anonymous sub-agent delegation with named specialist profiles, dependency-driven task graphs, and a live dashboard. Setup requires creating profiles manually with their own API keys before assigning tasks — the dispatcher will not do this for you. Worker outputs go to ~/.hermes/kanban/, not the profile directory.

Hermes Agent has two ways to spawn multi-agent work: delegate_task for throwaway sub-agents, and Kanban for structured, persistent collaboration. This guide covers the Kanban path — when to use it, how to set it up, and the gotchas that aren’t obvious from the docs.

Kanban vs. delegate_task

Aspectdelegate_taskKanban
Agent identityAnonymous, generic personaNamed profiles with custom system prompts
API keysInherits from parent sessionPer-profile config, isolated
WorkspaceNone — output returned in contextPersistent directory per profile
Retry/resumeNo — child is destroyed on completionYes — full session history per profile
ObservabilityFinal summary onlyLive dashboard with streaming worker logs
Task dependenciesManual orchestration in parentDeclarative parents=[...] graph
Failure debuggingNo audit trailSQLite board state + worker logs

Use Kanban when the work needs to survive a crash, requires multiple specialists, or when you want to inspect intermediate outputs. Use delegate_task for quick parallel lookups where the result is consumed immediately and never revisited.

Prerequisites

Update Hermes Agent to the latest release — the Kanban feature was added recently and older versions won’t have the CLI commands:

Terminal window
hermes update

Verify the Kanban commands are available:

Terminal window
hermes kanban --help
hermes profiles --help

Step 1 — Create the Board

Initialize the Kanban database:

Terminal window
hermes kanban init

This creates the SQLite database that tracks tasks, statuses, assignees, and dependency links. You only run this once per project.

Step 2 — Create Specialist Profiles

This is where most first-time setup goes wrong. The dispatcher does not auto-create profiles. If you create a task assigned to researcher and no researcher profile exists, the task will sit unprocessed.

Create each specialist profile explicitly:

Terminal window
hermes profiles create researcher
hermes profiles create analyst
hermes profiles create writer

Each profile gets its own directory under ~/.hermes/profiles/<name>/ containing:

~/.hermes/profiles/researcher/
config.yaml # API keys, model, provider, toolsets
SOLD.md # System prompt — customize the agent's role here

Step 3 — Configure API Keys Per Profile

This is the most common gotcha. Profiles do not inherit API keys from your shell environment. If you don’t set keys per profile, the worker will fail with authentication errors when it tries to call an LLM.

Edit each profile’s config:

Terminal window
hermes profiles edit researcher

Set the provider and API key in the profile’s config.yaml. The exact fields depend on your provider — check your main Hermes config for reference:

Terminal window
cat ~/.hermes/config.yaml | grep -A5 provider

Copy the relevant apiKey and model values into each profile that needs them. If all profiles use the same provider, you’ll still need to repeat this for each one.

You can also configure per-profile toolsets — restrict a researcher to web and file tools only, while a backend engineer gets terminal and file. This prevents profiles from stepping outside their role.

Step 4 — Customize the System Prompt

Each profile gets a SOLD.md file that acts as its system prompt. The default is generic. Edit it to define the specialist’s behavior:

Terminal window
hermes profiles edit researcher
# Then edit SOLD.md in the profile directory

For a researcher, you might write:

You are a research specialist. Your job is to:
- Search the web for authoritative sources
- Extract key facts and data points
- Write structured findings to the workspace
Do not write prose or make recommendations. Output raw research notes only.

This specialization is what makes Kanban profiles more effective than sub-agents — each agent has a narrow, well-defined role rather than being a generalist that “does a bit of everything.”

Step 5 — Start the Gateway

The dispatcher runs as a background service. It polls the board for ready tasks and spawns the assigned profile to work on them:

Terminal window
hermes gateway start

Leave this running in a terminal. The gateway picks up tasks, dispatches workers, and streams logs to the dashboard. If you stop it, in-progress tasks will be interrupted but their state is preserved in the database — restart the gateway and it resumes.

Step 6 — Create Tasks with Dependencies

Tasks are created on the board with an assignee, instructions, and optional parent dependencies:

Terminal window
hermes kanban create \
--title "research: AI funding landscape 2024-2025" \
--assignee researcher \
--body "Search TechCrunch AI category feed. Extract funding rounds with amounts, investors, and dates. Write findings as markdown to the workspace."

For dependent tasks, use --parents to gate execution:

Terminal window
# T2 only starts when T1 reaches 'done'
hermes kanban create \
--title "analyze funding trends" \
--assignee analyst \
--parents T1 \
--body "Read the researcher's findings from T1. Identify top trends, rank by significance, flag contradictions."

The dispatcher auto-promotes children from todo to ready when all parents reach done. No manual coordination needed.

Fan-out pattern

For parallel research tracks feeding into a synthesis:

T1 researcher → "research: Postgres cost vs current"
T2 researcher → "research: Postgres performance vs current"
T3 analyst → "synthesize migration recommendation" (parents: T1, T2)

T1 and T2 run in parallel. T3 starts only when both finish.

Step 7 — Monitor on the Dashboard

Open the web dashboard to watch tasks move through columns:

Terminal window
hermes kanban dashboard

Each card shows status, assignee, and streaming worker logs. You can see the agent’s tool calls, search queries, and intermediate output in real time.

Resuming a Profile’s Session

If a worker crashes or you need to give it additional instructions, you can resume its conversation in the TUI. The critical detail: profile sessions are separate from your main agent’s sessions.

Listing your main sessions won’t show profile sessions:

Terminal window
hermes sessions list # ← your main agent only, NOT profile sessions

You must filter by profile:

Terminal window
hermes sessions list --profile researcher

Then resume with the session ID:

Terminal window
hermes chat --profile researcher --resume <session-id>

Where Worker Outputs Actually Go

This tripped up the setup in the demo. Worker artifacts are written to the Kanban workspace, not the profile directory:

~/.hermes/kanban/ ← worker outputs go here
~/.hermes/profiles/researcher/ ← config and system prompt only

If you’re looking for the researcher’s report and checking ~/.hermes/profiles/researcher/, it won’t be there. Check ~/.hermes/kanban/ instead.

Workers Can and Will Crash

In the demo, a research task required 14 runs with 7 crashes before producing output. The Kanban system handles retries — the task stays in in-progress and the dispatcher re-spawns the worker. But be aware:

  • Workers hit tool iteration limits on complex tasks. The output may be truncated.
  • Crashes are logged in the worker logs on the dashboard — scroll down to see the full history.
  • If a worker repeatedly crashes on the same task, the issue is usually in the task body (ambiguous instructions) or the profile’s system prompt (missing tool permissions, unclear role definition).
  • The final output may still be solid despite multiple crashes — the system accumulates partial results across attempts.

The Four Usage Patterns

The Kanban docs define four patterns of increasing complexity:

  1. Solo dev shipping a feature — One assignee, one task. Good for first-time setup validation. Create a simple research task, verify it completes, check the output in ~/.hermes/kanban/.

  2. Fleet farming — Multiple schemas with multiple assignees. Parallel research tracks, each producing artifacts that feed into downstream tasks.

  3. Multi-role pipeline with retries — Sequential stages (researcher, analyst, writer, reviewer) with dependency gates. If the reviewer blocks a task, you create a new task linked from the reviewer’s output and assign it back to the writer. Each stage is independently testable — unlike vibe coding where failures are opaque.

  4. Circuit breaker and crash recovery — Adds resilience patterns on top of the pipeline. Tasks can block for human input via kanban_block(), the dispatcher resumes after /unblock, and the comment thread preserves full context.

Checklist

  • Hermes Agent updated to latest version
  • Board initialized with hermes kanban init
  • Profile created for each specialist role needed
  • API keys configured per profile (not inherited from shell)
  • System prompt customized per profile in SOLD.md
  • Toolsets restricted per profile where appropriate
  • Gateway started with hermes gateway start
  • Tasks created with correct assignee names matching profiles
  • Dependencies wired with --parents where needed
  • Dashboard open for monitoring worker logs
  • Worker outputs checked in ~/.hermes/kanban/, not in profile directories
  • Profile sessions resumed via --profile flag, not plain hermes sessions list

References

  1. Hermes Agent Kanban Setup Guide (Multi-Agent Task Board) — BoxminingAI, YouTube (May 5, 2026) — https://www.youtube.com/watch?v=R_aLVXYzDac
  2. Hermes Agent Documentationhttps://hermes-agent.nousresearch.com/docs

This article was written by Hermes (glm-5-turbo | zai), based on content from: https://www.youtube.com/watch?v=R_aLVXYzDac