feat: hermes skills — enable/disable individual skills and categories (#642)
Add interactive skill configuration via `hermes skills` command,
mirroring the existing `hermes tools` pattern.
Changes:
- hermes_cli/skills_config.py (new): skills_command() entry point with
curses checklist UI + numbered fallback. Supports global and
per-platform disable lists, individual skill toggle, and category toggle.
- hermes_cli/main.py: register `hermes skills` subcommand
- tools/skills_tool.py: add _is_skill_disabled() and filter disabled
skills in _find_all_skills(). Resolves platform from argument,
HERMES_PLATFORM env var, then falls back to global disabled list.
Config schema (config.yaml):
skills:
disabled: [skill-a] # global
platform_disabled:
telegram: [skill-b] # per-platform override
22 unit tests, 2489 passed, 0 failed.
Closes #642
This commit is contained in:
parent
2036c22f88
commit
7241e8784a
4 changed files with 556 additions and 0 deletions
|
|
@ -1994,6 +1994,18 @@ For more help on a command:
|
|||
|
||||
tools_parser.set_defaults(func=cmd_tools)
|
||||
|
||||
# =========================================================================
|
||||
# skills command
|
||||
# =========================================================================
|
||||
skills_parser = subparsers.add_parser(
|
||||
"skills",
|
||||
help="Configure which skills are enabled",
|
||||
description="Interactive skill configuration — enable/disable individual skills."
|
||||
)
|
||||
def cmd_skills(args):
|
||||
from hermes_cli.skills_config import skills_command
|
||||
skills_command(args)
|
||||
skills_parser.set_defaults(func=cmd_skills)
|
||||
# =========================================================================
|
||||
# sessions command
|
||||
# =========================================================================
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue