Natural-language skill search returned a short, arbitrary list and never surfaced NVIDIA (or OpenAI/Anthropic/HuggingFace) skills. Two causes: 1. The runtime index collapses every GitHub tap into source="github", so there was no way to find or filter by provider at the CLI — the per-tap identity only existed in the docs-site catalog. 2. HermesIndexSource.search matched only name/description/tags (not the identifier or provider) and broke at the first `limit` hits in raw index order, burying the most relevant skills. `search` also defaulted to --limit 10 against an 86k-entry catalog. Changes: - GitHubSource stamps a per-tap provider label (extra.provider) on each skill via github_provider_for(); source stays "github" so dedup/floor/ index-skip logic is untouched. Flows into the built index. - HermesIndexSource.search now matches identifier + provider too, and collect-then-ranks (exact > prefix > whole-word > substring) instead of break-at-limit. - --source nvidia|openai|anthropic|huggingface|voltagent|gstack|minimax provider filters for browse/search (narrows merged results by provider). - search --limit default 10 -> 25; table Source column shows the provider label for github skills. Tested: 181 unit tests pass; E2E against the live runtime index confirms 'nvidia'/'cuda' searches now surface NVIDIA-provider skills and --source nvidia narrows to exactly the NVIDIA catalog. |
||
|---|---|---|
| .. | ||
| __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 | ||
| 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 | ||
| slack.py | ||
| status.py | ||
| tools.py | ||
| uninstall.py | ||
| update.py | ||
| version.py | ||
| webhook.py | ||
| whatsapp.py | ||