Skip to content

HIVE-382: Copilot skills render as hive-<name>, so a repository skill of the same name no longer hides them - #191

Merged
yunidbauza merged 1 commit into
mainfrom
feat/hive-382-copilot-skill-names
Nov 3, 2026
Merged

yunidbauza merged 1 commit into
mainfrom
feat/hive-382-copilot-skill-names

Conversation

@yunidbauza

Copy link
Copy Markdown

What

In Copilot 1.0.105, a repository skill in .github/skills, .agents/skills or .claude/skills hides HiveTTY's plugin skill of the same bare name: it isn't listed, and /hive:<name> has nothing to load. A repo that defines its own work-on, ship or done would have broken the ticket workflow in Copilot sessions.

  • The Copilot rendering names each skill hive-<name> in its frontmatter (CAPABILITIES.copilot.skills.namePrefix, applied in renderSkillText). Copilot keys skills on that name, so no bare name is left to collide.
  • Skills are typed and cross-referenced as /hive:hive-<name> (typedPrefix, refPrefix). Claude Code and Codex are unchanged.
  • typedSkill gives that prefix only to hive: skills. Another plugin's workstream:work-on now types /workstream:work-on (it typed the broken /hive:workstream:work-on before), and a bare skill types /graphify.

Deviation from the approved design

The design first approved was name: hive:<name>, typed /hive:<name>. The live suite showed that it fails: when anything follows the command (/hive:work-on HIVE-1), Copilot's TUI answers Unknown command for a skill whose own name holds a colon, and resolves only <plugin>:<name>. The person chose hive-<name> from the probe results.

Probe results (recorded as FINDINGS P10)

Other skill of the same name HiveTTY's copy
repo .github/skills, .agents/skills, .claude/skills hidden
personal ~/.agents/skills renamed hive:<name>
Frontmatter name Typed form Result
hive:x /hive:x loads
hive:x /hive:x now Unknown command
hive-x /hive-x now Unknown command
hive-x /hive:hive-x now loads

Verified

  • pnpm lint, pnpm type-check: clean.
  • Unit suite: 7,312 + 6,908 passed (run in two halves; one full run gets killed for memory on this machine).
  • pnpm test:session:copilot against a real copilot 1.0.105: 12/12 passed. The new case stages zz-repo in all three repository roots and types two probes with an argument. The ticket session's /hive:hive-work-on HIVE-1 reaches hive-jira_get, and /hive:hive-done closes the session.
  • Mutation: with namePrefix set back to '', the collision case fails (expected … to contain 'damson').

Follow-up: HIVE-384 probes the same collision for Codex.

… of the same name no longer hides them

Copilot keys a skill on its frontmatter name, and a repository skill in
.github/skills, .agents/skills or .claude/skills hides a plugin skill of
the same bare name outright. The Copilot rendering now names each skill
hive-<name> (CAPABILITIES.copilot.skills.namePrefix) and types it
/hive:hive-<name>: with an argument after it, Copilot's TUI resolves only
<plugin>:<name>, so a name holding a colon (hive:<name>) breaks
/hive:work-on HIVE-1.

typedSkill gives the prefix only to hive: skills; another plugin's
workstream:work-on types /workstream:work-on and a bare skill /graphify.

The live suite stages zz-repo in all three repository roots and types two
probes with an argument (FINDINGS P10).
@yunidbauza
yunidbauza marked this pull request as ready for review November 3, 2026 17:53
@yunidbauza
yunidbauza merged commit dee1d25 into main Nov 3, 2026
@yunidbauza
yunidbauza deleted the feat/hive-382-copilot-skill-names branch November 3, 2026 17:54
yunidbauza added a commit that referenced this pull request Nov 3, 2026
HiveTTY's Codex skills are named hive-<name>, so a repository skill of the same name cannot shadow them. Codex counterpart of #191.
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.

1 participant