Skip to content

fix(skills): avoid mislabeling local skills as builtin in skills list#862

Open
arceus77-7 wants to merge 1 commit intoNousResearch:mainfrom
arceus77-7:fix/skills-list-source-provenance
Open

fix(skills): avoid mislabeling local skills as builtin in skills list#862
arceus77-7 wants to merge 1 commit intoNousResearch:mainfrom
arceus77-7:fix/skills-list-source-provenance

Conversation

@arceus77-7
Copy link

@arceus77-7 arceus77-7 commented Mar 10, 2026

What does this PR do?

Fixes incorrect source labeling in hermes skills list.

Previously, every non-hub-installed skill was shown as builtin. This misclassified user-managed skills (for example skills synced in from external managers) as built-in Hermes skills.

This PR classifies installed skills into:

  • hub (present in Hub lockfile)
  • builtin (present in bundled skills manifest)
  • local (everything else under ~/.hermes/skills/)

It also adds a --source local filter.

Related Issue

Fixes #861

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✅ Tests (adding or improving test coverage)

Changes Made

  • Updated source classification in hermes_cli/skills_hub.py (do_list):
    • Reads bundled skill names from tools.skills_sync._read_manifest().
    • Distinguishes hub, builtin, and local skills.
    • Updates summary counts to include local skills.
  • Updated /skills help text to document --source hub|builtin|local.
  • Updated CLI argument choices in hermes_cli/main.py to include local.
  • Added tests in tests/hermes_cli/test_skills_hub.py:
    • test_do_list_distinguishes_hub_builtin_and_local
    • test_do_list_local_filter

How to Test

  1. Run tests:
    • ./venv/bin/pytest tests/hermes_cli/test_skills_hub.py -q
  2. Add or ensure a non-bundled local skill exists under ~/.hermes/skills/.
  3. Run:
    • hermes skills list
    • hermes skills list --source local
  4. Verify local skill shows Source=local and no longer appears as builtin.

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)
  • I've added tests for my changes (required for bug fixes, strongly encouraged for features)
  • I've tested on my platform: macOS

Documentation & Housekeeping

  • N/A for this scoped bugfix: README/docs/config/AGENTS/tool-schema updates
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide

Screenshots / Logs

  • ./venv/bin/pytest tests/hermes_cli/test_skills_hub.py -q -> 3 passed
  • Note: full pytest tests/ -q was not run for this focused fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

skills list mislabels local skills as builtin

1 participant