diff --git a/hermes_cli/kanban.py b/hermes_cli/kanban.py index a0300daaa7d..fa198a7dd2d 100644 --- a/hermes_cli/kanban.py +++ b/hermes_cli/kanban.py @@ -24,6 +24,7 @@ from pathlib import Path from typing import Any, Optional from hermes_cli import kanban_db as kb +from hermes_cli.profiles import get_active_profile_name, get_profile_dir, seed_profile_skills # --------------------------------------------------------------------------- @@ -1027,6 +1028,22 @@ def _parse_duration(val) -> Optional[int]: def _cmd_init(args: argparse.Namespace) -> int: path = kb.init_db() print(f"Kanban DB initialized at {path}") + + # Seed bundled skills (e.g. kanban-worker) into the active profile so + # the kanban dispatcher can use them without a separate `hermes profile + # create` step. This is best-effort — a missing or broken profile is + # not fatal to `kanban init`. + try: + profile_name = get_active_profile_name() or "default" + profile_dir = get_profile_dir(profile_name) + result = seed_profile_skills(profile_dir, quiet=True) + if result: + copied = result.get("copied", []) + if copied: + print(f"Seeded skill(s) into profile {profile_name}: {', '.join(copied)}") + except Exception: + pass # best-effort + print() # Enumerate profiles on disk so the user knows what assignees are # already addressable. Multica does this auto-detection on its