Summary
When the kanban dispatcher claims a task and spawns a worker for an assigned profile, it does not check whether the profile has the toolsets needed to actually do the work. If a task requires web browsing or terminal access but the assigned profile only has hermes-cli, the worker starts, discovers it cannot access the tools it needs, and either crashes or produces degraded output.
This is the second half of the skills-vs-toolsets confusion: even when skills are correctly specified, the dispatcher makes no effort to verify that the assigned profile has the toolsets those skills depend on.
Steps to Reproduce
- Create a profile
researcher with only toolsets: [hermes-cli]
- Create a kanban task assigned to
researcher with skill kanban-worker
- The worker starts but has no
web, browser, terminal, or file toolsets
- Worker cannot search the web, browse pages, or write files — task fails or produces trivial output
Expected Behavior
The dispatcher should check the assigned profile's toolsets before claiming and spawning. If the profile lacks toolsets that the task's skills require, the dispatcher should either:
- Warn and skip — log a warning and leave the task in
ready for a better-equipped worker
- Auto-upgrade — temporarily add the missing toolsets to the spawn command (opt-in behavior)
- Block with context — move the task to
blocked with a clear reason like "Profile researcher lacks toolsets: web, browser — add them to ~/.hermes/profiles/researcher/config.yaml"
Suggested Fix
Add a toolset-presence check in the dispatcher's claim logic, between selecting a task and spawning the worker process. Read the profile's config.yaml, extract toolsets:, and compare against a minimum set required by the task's skills. The skill manifest could declare required_toolsets: [web, browser] to make this check explicit.
Environment
- Hermes Agent v2.x
- Affects all kanban workloads where profiles are created ad-hoc
- The kanban-orchestrator skill now documents this as a pitfall: "Profile toolsets must be pre-configured"
Summary
When the kanban dispatcher claims a task and spawns a worker for an assigned profile, it does not check whether the profile has the toolsets needed to actually do the work. If a task requires web browsing or terminal access but the assigned profile only has
hermes-cli, the worker starts, discovers it cannot access the tools it needs, and either crashes or produces degraded output.This is the second half of the skills-vs-toolsets confusion: even when skills are correctly specified, the dispatcher makes no effort to verify that the assigned profile has the toolsets those skills depend on.
Steps to Reproduce
researcherwith onlytoolsets: [hermes-cli]researcherwith skillkanban-workerweb,browser,terminal, orfiletoolsetsExpected Behavior
The dispatcher should check the assigned profile's toolsets before claiming and spawning. If the profile lacks toolsets that the task's skills require, the dispatcher should either:
readyfor a better-equipped workerblockedwith a clear reason like "Profile researcher lacks toolsets: web, browser — add them to ~/.hermes/profiles/researcher/config.yaml"Suggested Fix
Add a toolset-presence check in the dispatcher's claim logic, between selecting a task and spawning the worker process. Read the profile's
config.yaml, extracttoolsets:, and compare against a minimum set required by the task's skills. The skill manifest could declarerequired_toolsets: [web, browser]to make this check explicit.Environment