# NousResearch/hermes-agent · Skill visibility filtering and config parsing fixes

## Open now

- 1 issue, 1 PR open on GitHub.
- #127829: \[Bug\]: skill_view and the config UIs disagree with the skill index on skills.disabled (essential skill refused, bare name is a substring match, JSON-list string misread)
- PR #127835: feat(skills): skills.enabled allowlists and external_dirs filters on one shared visibility check

These items address bugs and features related to how skills are enabled, disabled, and filtered—covering disagreements between config and skill index, allowlist/blocklist logic, and reading external skill directory include/exclude settings.

## TL;DR

- 3 member(s): 1 open issue(s), 0 closed issue(s), 1 open PR(s), 0 merged PR(s), 1 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.67`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #127829: \[Bug\]: skill_view and the config UIs disagree with the skill index on skills.disabled (essential skill refused, bare name is a substring match, JSON-list string misread)

## Prior & competing PRs

- **#114088: feat(skills): read external_include/external_exclude for the external skill index**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#127835`, `#100254`, `#127829`
- **#127835: feat(skills): skills.enabled allowlists and external_dirs filters on one shared visibility check**. open
  - maintainer direction: category `merged_via`; implication `superseded`
  - files: `agent/curator.py`, `agent/prompt_builder.py`, `agent/skill_bundles.py`, `agent/skill_commands.py`, `agent/skill_utils.py`, `apps/desktop/src/plugins/hermes-bots/profile-config.tsx`, `cli-config.yaml.example`, `gateway/run.py`, `gateway/run_inbound.py`, `hermes_cli/commands_platforms.py`, `hermes_cli/config.py`, `hermes_cli/config_defaults.py`, `hermes_cli/managed_scope.py`, `hermes_cli/skills_config.py`, `hermes_cli/skills_hub.py`, `hermes_cli/web_routers/skills.py`, `tests/agent/test_org_skill_namespace.py`, `tests/agent/test_prompt_builder.py`, `tests/agent/test_skill_app_snapshot.py`, `tests/agent/test_skill_commands.py` (+17 more)

## Fix status

- No merged fix on record.
- Subsystem: `skills`
