Skip to content

fix(cli): get_disabled_skills handles null and scalar skills config (#13026) - #61797

Merged
teknium1 merged 1 commit into
mainfrom
fix/13026-disabled-skills-normalization
Jul 10, 2026
Merged

fix(cli): get_disabled_skills handles null and scalar skills config (#13026)#61797
teknium1 merged 1 commit into
mainfrom
fix/13026-disabled-skills-normalization

Conversation

@teknium1

Copy link
Copy Markdown
Contributor

Summary

get_disabled_skills() in hermes_cli/skills_config.py now normalizes malformed config values instead of crashing or misbehaving: skills: null no longer raises AttributeError, and a bare scalar disabled: my-skill is treated as one skill name instead of being split into a set of its characters.

Closes #13026 (both reported defects reproduced live on current main before the fix).

Changes

  • hermes_cli/skills_config.py: new _normalize_skill_names() mirroring agent.skill_utils._normalize_string_set (null → empty, scalar → single-item, list → stripped names); non-dict skills sections ignored; applied to both the global and platform-disabled paths
  • tests/hermes_cli/test_skills_config.py: 5 new tests (null section, null key, scalar split, scalar platform list, non-dict section)

Validation

input Before After
{"skills": None} AttributeError set()
disabled: my-skill {'m','y','-','s','k','i','l'} {'my-skill'}
platform_disabled.telegram: tg-skill character split {'tg-skill'} union global
test_skills_config.py green

The agent-side reader (agent/skill_utils.py) already normalized correctly; this brings the CLI/web-server read path (hermes skills, dashboard skill toggles) into agreement.

Infographic

skills-config-normalization

skills: null crashed with AttributeError, and a bare scalar
disabled: my-skill was split into a set of characters. Both now
normalize the same way agent.skill_utils._normalize_string_set does:
null -> empty set, scalar -> single-item set. Non-dict skills
sections are ignored.

Closes #13026.
@alt-glitch alt-glitch added type/bug Something isn't working comp/cli CLI entry point, hermes_cli/, setup wizard tool/skills Skills system (list, view, manage) area/config Config system, migrations, profiles P2 Medium — degraded but workaround exists labels Jul 10, 2026
@teknium1
teknium1 merged commit 4c03032 into main Jul 10, 2026
31 checks passed
@teknium1
teknium1 deleted the fix/13026-disabled-skills-normalization branch July 10, 2026 02:57
santhreal pushed a commit to santhreal/hermes-agent that referenced this pull request Jul 13, 2026
…ousResearch#61797)

skills: null crashed with AttributeError, and a bare scalar
disabled: my-skill was split into a set of characters. Both now
normalize the same way agent.skill_utils._normalize_string_set does:
null -> empty set, scalar -> single-item set. Non-dict skills
sections are ignored.

Closes NousResearch#13026.
justemu pushed a commit to justemu/hermes-agent that referenced this pull request Jul 18, 2026
…ousResearch#61797)

skills: null crashed with AttributeError, and a bare scalar
disabled: my-skill was split into a set of characters. Both now
normalize the same way agent.skill_utils._normalize_string_set does:
null -> empty set, scalar -> single-item set. Non-dict skills
sections are ignored.

Closes NousResearch#13026.
Gravezzz pushed a commit to Gravezzz/hermes-agent that referenced this pull request Jul 21, 2026
…ousResearch#61797)

skills: null crashed with AttributeError, and a bare scalar
disabled: my-skill was split into a set of characters. Both now
normalize the same way agent.skill_utils._normalize_string_set does:
null -> empty set, scalar -> single-item set. Non-dict skills
sections are ignored.

Closes NousResearch#13026.
leewenjie pushed a commit to leewenjie/hermes-agent that referenced this pull request Aug 7, 2026
…ousResearch#61797)

skills: null crashed with AttributeError, and a bare scalar
disabled: my-skill was split into a set of characters. Both now
normalize the same way agent.skill_utils._normalize_string_set does:
null -> empty set, scalar -> single-item set. Non-dict skills
sections are ignored.

Closes NousResearch#13026.
randlee pushed a commit to randlee/hermes-agent that referenced this pull request Aug 11, 2026
…ousResearch#61797)

skills: null crashed with AttributeError, and a bare scalar
disabled: my-skill was split into a set of characters. Both now
normalize the same way agent.skill_utils._normalize_string_set does:
null -> empty set, scalar -> single-item set. Non-dict skills
sections are ignored.

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

Labels

area/config Config system, migrations, profiles comp/cli CLI entry point, hermes_cli/, setup wizard P2 Medium — degraded but workaround exists tool/skills Skills system (list, view, manage) type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: get_disabled_skills crashes on skills: null and splits scalar names into characters

2 participants