Skip to content

Rename load_skill to skills_load (CL-6455) - #603

Merged
TheGreatAxios merged 1 commit into
mainfrom
cl-6455-load_skill-naminggrant-mismatch-models-call-skills_load-get
Sep 4, 2026
Merged

TheGreatAxios merged 1 commit into
mainfrom
cl-6455-load_skill-naminggrant-mismatch-models-call-skills_load-get

Conversation

@TheGreatAxios

@TheGreatAxios TheGreatAxios commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

CL-6455: models calling skills_load got a grant-denial (tool:.../skills_load/invoke) and retried instead of getting an unknown-tool result or a successful load — the tool was named load_skill, breaking the skills_list / skills_search / skills_* naming pattern models were following.

The first pass at this fixed it by aliasing skills_load to load_skill: a fourth tool definition on the same bundle, and therefore a second invoke grant for one capability. That shape was rejected — one tool should mean one grant, not two names sharing a capability.

This rework is a straight rename instead: the tool is skills_load, consistent with skills_list / skills_search. load_skill no longer exists — no alias, no fallback, per this repo's "no fallbacks" rule. A model still calling the old name now gets the bundle's unknown-tool error result, not a grant denial.

Changed:

  • packages/tools-skills: LOAD_SKILL_TOOL → SKILLS_LOAD_TOOL, definition/description/run-switch updated, alias definition and alias test removed.
  • packages/skills/src/prompt.ts: the <available_skills> system-prompt stanza now tells models to call skills_load.
  • packages/agent-directory, apps/hub/src/skills-mount.ts: comments referencing the old tool name updated.
  • packages/tool-registry-publish/src/describe.test.ts: asserts only @corbits/tools-skills/skills:skills_load is minted, and load_skill is not.
  • packages/mocks: the hallucinated-tool-name fixture flips — skills_load is now real, so the plausible-but-nonexistent name a model might still guess is load_skill.

Fixes CL-6455

@TheGreatAxios

Copy link
Copy Markdown
Contributor Author

Fixes CL-6455

@TheGreatAxios

Copy link
Copy Markdown
Contributor Author

Self-review

Verdict: the alias is implemented correctly end-to-end (tool definition, run() dispatch, grant minting via describeCorbitsToolPackages, version bump, and tests) — no defects found, nothing to fix.

  • CONFIRMED-OPEN: none.
  • DISMISSED: grant-minting path checked directly in describe.ts — each bundle definitions entry (including skills_load) gets its own qualifiedId, so describeCorbitsToolPackages mints a matching tool:.../skills_load grant automatically; the new describe.test.ts case confirms both qualifiedIds are present. No exactOptionalPropertyTypes, bare-catch, as T, or fallback-path issues in the diff.
  • DISMISSED: version bump (0.0.1 -> 0.0.2) and its two pin-literal call sites are consistent; check:tool-package-pins and check:tool-package-freshness both pass.

Targeted tests run (all pass):

  • packages/tools-skills: bun test src/tool.test.ts (11 pass)
  • packages/tool-registry-publish: bun test src/describe.test.ts (5 pass)
  • packages/mocks: bun test src/ollama/scenarios.test.ts (10 pass)
  • packages/agent-directory: bun test test/routes.test.ts -t "indexes its pinned skills" (1 pass)
  • bun run typecheck (repo root): clean

@linear-code

linear-code Bot commented Sep 4, 2026

Copy link
Copy Markdown

CL-6455

The tools-skills bundle previously aliased skills_load to load_skill,
minting two tool definitions -- and therefore two invoke grants -- for
one capability. Rework as a straight rename instead: the tool is now
skills_load, consistent with skills_list / skills_search, and
load_skill no longer exists. One tool, one grant, no fallback.

Updates the system prompt that tells models which tool to call
(@corbits/skills), the tool-registry-publish grant expectations, and
the mocks hallucinated-tool-name fixture -- skills_load is now real,
so the plausible-but-nonexistent name a model might still guess is
load_skill.
@TheGreatAxios
TheGreatAxios force-pushed the cl-6455-load_skill-naminggrant-mismatch-models-call-skills_load-get branch from a7aac14 to acd781f Compare September 4, 2026 17:53
@TheGreatAxios TheGreatAxios changed the title Alias skills_load to load_skill (CL-6455) Rename load_skill to skills_load (CL-6455) Sep 4, 2026
@TheGreatAxios
TheGreatAxios merged commit 6b0948f into main Sep 4, 2026
7 checks passed
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