@skills protocol (atskills)
A delivery layer for agent skills that removes installation, proposed and
implemented by SylphAI and published with attention-is-all-you-have on 2026-08-12.
It leaves SKILL.md untouched — this is not a competitor to agentskills-spec but a layer
underneath it, answering how does a skill reach the agent rather than what is a skill.
The one-line version
A path is the identity, and reading it is using it. @skills:<path> resolves a skill, a
subtree, or a whole collection at the point of use, and nothing is stored or made resident. Two
optional suffixes are orthogonal:
| Form | What it does | Resident cost |
|---|---|---|
@skills:<path> |
read at the point of use, gone with the session | 0 |
@skills:<path>:save |
vendor a copy at the ID's own path into .atskills/, git-tracked |
0 |
@skills:<path>:install |
add one line to .autotrigger, so it fires unasked |
frontmatter only, ~50–100 tok |
Because :save and :install are independent, the single install switch becomes two questions —
do I want my own copy and should it fire without being asked — and all four combinations are
reachable. Installation as it exists today sells only the top-right cell, and sells it as the only
way to get the content at all.
Four sources, one grammar
A bare path is the project's own and never touches the network; gh:acme/skills/deploy reads
straight from GitHub; hub: reads from the paired hub, public or private. Both cloud forms resolve
local-first, because a saved copy sits at its ID's own path and therefore answers its own
address — vendoring, in Go's sense, which is what makes a team's adaptation the meaning of that
address inside the project.
A path with no SKILL.md is a menu, not an error: it lists one line per skill beneath it, each
line itself a valid path. So browsing and using are the same gesture, and a collection can be taken
subtree by subtree — granularity belongs to the reader rather than to whoever packaged the bundle.
What it deletes
The design is subtractive, which is the unusual part. No manifest, no lockfile, no registration, no
version pinning, no update command, no per-agent directory, and no packaging layer above the skill.
The management model is the file tree itself. Four artifacts exist: the reference command, the
project folder .atskills/, a .gitignore-syntax trigger file .autotrigger, and a two-line
.source provenance stamp that is written once and never consulted during resolution.
Ownership admits two states and eliminates the ambiguous third (installed-but-stale, enabled-but-of-
unknown-origin). A skill is theirs when one @ line follows the provider's copy, appropriate
precisely because the provider keeps changing the service it documents; it becomes yours the
moment :save copies it and detaches it, after which it is an ordinary file of the project rather
than a subscription. Hence no update lifecycle: "frozen text against a moving service offers only
the appearance of safety." Saving again replaces an unedited copy and refuses an edited one.
Caching is browser-shaped: one machine-wide validating cache (~/.cache/atskills) that asks the
source for a revision probe on every use, serves stale when offline, and is always safe to delete.
Composition is the capability install cannot reach
Several references load in one message, each injected at its own point of use, and they chain across
a workflow's steps. Co-firing N skills is deterministic; under installation it is a lottery where N
descriptions must each win a probabilistic match at once, with the odds compounding against exactly
the multi-skill workflows real work is made of. Sources mix freely in one message, so a workflow is
no longer confined to what a single publisher shipped together. The paper notes the nearest
non-installing tool in the ecosystem — Vercel's skills.sh CLI, which has a use verb — resolves
exactly one skill per invocation and refuses an ambiguous reference, so composition has to be a
property of the address rather than of the fetch.
Adoption cost, and why that is the whole bet
SKILLS.md, one instruction file, turns any agent that can read files, run shell commands and fetch
URLs into a full client. Agents that prefer to shell out call the reference CLI (atskills get / save / triggers / prompt) and inherit the behaviour. Native @ integration reuses the @ context
gesture a dozen coding agents already ship, and the host splices in one computed string. Nothing is
asked of any vendor, and existing installs and plugin directories keep working.
The authors are explicit about why this matters more than the design: AGENTS.md won by being trivial to deliver, not by being well designed, so anything meant to succeed it must be at least as simple to use. That is a falsifiable prediction about adoption, and it is the one to watch.
One surface no agent currently ships
/skills renders the two files as a checkbox tree, with [x] for a skill's own line, [#] for one
covered by a directory line above it, and [~] for a saved copy edited since it was taken. It also
has a view-prompt mode showing the exact resident text the model will receive, verbatim, with its
token count. That is the piece worth stealing regardless of whether the protocol spreads: it turns a
probabilistic trigger budget into a number a team can read and review as a diff.
Where this sits in the spoke
agentskills-spec made the skill portable across vendors and left delivery to each one, which is
how 75 agents ended up with 54 project-level skill directories. This protocol attacks that layer by
removing storage rather than standardizing it. Against claude-md and AGENTS.md — always
loaded, no trigger lottery — it is the argument that the resident prompt should hold almost nothing.
Against the marketplace/plugin layer (anthropic-skills, the plugin bundles whose install is
all-or-nothing), it is the argument that the bundle should never have been the unit.
Status: implemented and shipped as npm i atskills, in production in the authors' own AdaL agent, with
a normative PROTOCOL.md. Adoption outside SylphAI on 2026-08-23: none recorded here. Treat the
design as real and the standard as proposed.
Related
attention-is-all-you-have · agentskills-spec · agent-skills · sylphai · agents-md · claude-md · anthropic-skills · model-context-protocol · context-rot