Use Skill
Reserved core skill for skill discovery, resolution, and invocation.
Skill Resolution
Invocation Syntax
code
use-skill/{name}
Resolution Order
- •Repo resolution — resolve repo root via env vars (
$MY_SKILLS_REPOor$SKILLS_GROUP_DIR/{repo-name}) - •Sub-skill check — if
{name}matches a use-skill sub-skill (list,find,update,create-repo), route there - •Skill search — search
skills/for a directory matching{name}:- •Exact match:
skills/{name}/→ use directly - •Partial match:
skills/*{name}*/→ use if single result - •Multiple matches: present options to user
- •No match: fail with available suggestions
- •Exact match:
Examples
| Input | Resolves To |
|---|---|
use-skill/list | Sub-skill: use-skill/list/ |
use-skill/find | Sub-skill: use-skill/find/ |
use-skill/update | Sub-skill: use-skill/update/ |
use-skill/create-repo | Sub-skill: use-skill/create-repo/ |
use-skill/hello-world | examples/hello-world/ (exact) |
use-skill/memory-bank | skills/configure-memory-bank/ (partial match) |
Routing Priority
Order matters. First match wins:, create-repo
- •Sub-skill —
list,find,update(reserved names under use-skill) - •Exact skill match —
skills/{name}/skill.jsonexists - •Partial skill match — single
skills/*{name}*/skill.json - •Ambiguous — multiple matches → ask user to clarify
- •Not found — fail, suggest
use-skill/listoruse-skill/find
Invocation Protocol
Once a skill is resolved:
- •Read
skill.json→ understand goal, acceptance criteria, features - •Execute required features (
optional: falseor omitted) - •Check optional features → apply if user referenced or contextually relevant
- •If
ext.script→ execute the script - •If
ext.skill_md_ref→ consult that section in skill.md - •Validate against
expected_result