The skills capability moves back to the host plane as one singleton, layered with the ScopedLayers infrastructure the tools registry established: a registration files into its calling context's layer (repository plugins and host rows land global, a preset's skill-local lands in that preset's layer), and a read merges the global layer with the viewing scope's chain, the nearest layer winning duplicate names outright while rank keeps deciding duplicates within one layer. The web-app bundle re-enables the base skill registry row (skill-local and tool-skill stay preset-owned), the standard preset drops its isolate skills realm for bare rows over the host registry, tool-skill passes the calling agent as the view scope, and the gateway's skills domain reads the host registry in the presenter scope — a cold session now resolves its recorded preset's standing key instead of failing.
skill/ — skill capability family
English | 中文
This family discovers reusable agent instructions and exposes them to the model through a provider-neutral catalog and loader.
| Package | Role | ctx key |
|---|---|---|
skill/ |
Defines skill provider registration and lookup | ctx.skills |
skill-badge/ |
Contributes the optional bundled dsh badge skill | registers on ctx.skills |
skill-local/ |
Discovers skills from local filesystems | registers on ctx.skills |
tool-skill/ |
Publishes the skill catalog and model-facing loader | registers on ctx.tools |
This capability remains outside the core control spine and can use local, embedded, or remote providers without changing the model-facing contract.
The subsystem reference — discovery priority, catalog snapshots, the skill loader — is docs/subsystems/skills.md.