hermes-bsd/hermes_cli/subcommands
xxxigm 085fc5d001 feat(skills): find & diff user-modified bundled skills
`hermes update` keeps (won't overwrite) bundled skills the user edited
locally, but only printed a count — "~ N user-modified (kept)" — with no way
to learn which skills, or see what changed. Reverting already existed
(`hermes skills reset <name> [--restore]`); discovery and inspection did not.

Add two CLI commands (zero model-tool footprint), reusing the manifest
origin-hash that sync already maintains:

- `hermes skills list-modified [--json]` — list the bundled skills whose
  on-disk copy diverges from the last-synced origin hash (the exact test the
  sync loop uses to decide what to skip).
- `hermes skills diff <name>` — unified diff between the user's copy and the
  current bundled (stock) version, so the user can confirm what changed
  before reverting.

Both are mirrored as `/skills list-modified` and `/skills diff`. The
`hermes update` notice now points at `hermes skills list-modified`. Core
helpers `list_user_modified_bundled_skills()` and `diff_bundled_skill()` live
in tools/skills_sync.py alongside the existing reset logic.
2026-06-18 12:26:20 +05:30
..
__init__.py
_shared.py
acp.py
auth.py
backup.py
claw.py
config.py
cron.py
dashboard.py
debug.py
doctor.py
dump.py
gateway.py feat(relay): connector⇄gateway channel auth + signed-HTTP inbound receiver + enroll CLI (#48147) 2026-06-18 12:01:54 +10:00
gui.py
hooks.py
import_cmd.py
insights.py
login.py
logout.py
logs.py
mcp.py
memory.py
model.py
pairing.py
plugins.py
postinstall.py
profile.py
prompt_size.py
security.py
setup.py
skills.py feat(skills): find & diff user-modified bundled skills 2026-06-18 12:26:20 +05:30
slack.py
status.py
tools.py
uninstall.py
update.py
version.py
webhook.py
whatsapp.py