Routing
/skillet <task> reads your kit, picks the one skill that fits the task, and loads it. You describe the work instead of naming the skill, and only the picked skill enters the context.How the pick works
- 1
You type the task
/skillet review this diff before merge, in the agent you already use. No flags and no skill name.
- 2
Skillet reads your kit manifest
Every skill you own, each with the one line that says when to use it. That line is what the task is matched against.
- 3
One skill loads and runs
Skillet states which skill it picked and why, then that skill drives the task. Nothing else is loaded.
The pick loads one skill, not the catalog, so a kit that grows does not make every task more expensive.
Routing against someone else’s kit
Put a handle first: /skillet @handle write my changelog. Skillet fetches that person’s public kit from the registry and routes against it. Nothing is installed, nothing syncs, and no account is required.
The leading @ is optional. /skillet mattpocock review my PR resolves the same way. Summon a kit
When nothing fits
A pick is a judgment, not a lookup, so Skillet declines rather than forcing a weak match. What happens next depends on where the gap is.
| Case | What Skillet does |
|---|---|
| Nothing in your kit fits | Asks once before searching the library, showing the keywords it would send |
| You pick a search result | Installs that skill and runs it, in one step |
| The named handle has nothing that fits | Searches every author, then names who wrote the best match and asks first |
| Nothing fits anywhere | Says so and does the task directly |
Good to know
What routing records
| Recorded | Never recorded |
|---|---|
| The skill that ran | Your prompt |
| The runtime it fired on | Your task text |
| A timestamp and a few fixed tags | The agent’s reasoning |
- Why it stays small:
- Every recorded value is a short slug, so no free text can be attached to a route
- The one exception:
- When no skill fits and you agree to a library search, the short keywords shown in the ask are sent. The task text is not
- Your copy:
skillet usagereads the local dashboard.skillet activity exportandskillet activity clearshow or delete everything recorded about you
You choose at install whether usage is uploaded or stays on the machine. What /skillet records
Limits
Routing picks from your kit. An empty kit has nothing to route to, so the first run offers a search instead of returning a match.
Descriptions drive the match. A skill with a vague description is hard to route to. The line that says when to use it matters more than the instructions underneath it.
The library search needs a network path. With no registry reach, routing falls back to the local kit and says so.
Next steps
- Summon a kit: routing against a handle you name
- Privacy: every value a route records
- skill.md reference: writing a description that routes well
- Finding skills worth running: the next page of the tour