Topic: Skills

topic

Topic: Skills

emerging (7 sources, but only one of them is about skills - S5 "Don't Ship Skills

About this note

Status: emerging (7 sources, but only one of them is about skills - S5 "Don't Ship Skills Without Evals", Philipp Schmid / Google DeepMind, AI Engineer WF 2026; plus S7, S9, S11 and S13, each contributing a single peripheral observation, S19 memory poisoning, which supplies this note's first security material by treating skill synthesis as a memory write channel with no validation step and an amplification vulnerability attached, and S26 "LLM Knowledge Bases", 2026-08-15, which supplies the first skill here that maintains a corpus rather than performing a task - and with it an idempotence contract, a mutable reference registry, and the first instance of the three-layer shape seen outside the vendor that documented it).

The count-versus-evidence trap this note exists to warn about still applies, and S19 is the honest test of it. The source count moves 5 to 6 and S19 is not about skills either - it is about memory poisoning, and skills enter as one of its four write channels. It earns its place because it says something about skills nothing else here does (they are written with no inspection, and a self-improving loop optimises a poisoned one), and it does not corroborate a single one of S5's claims. Still one source on skills. Basis: S5 remains the only source that studies skills. It is unusually well-evidenced for a seed -> emerging promotion because its central numbers come from SkillsBench, a public third-party benchmark, rather than from the speaker's assertions. Note the independence limit: a benchmark quoted inside the talk is still the talk's leg, not a second ingested source. established still needs a genuinely separate source that studies skills, and none of S7, S9 or S11 does: S7 supplies the category name (procedural memory), S9 files skills in one box of one diagram, and S11 calls its business-context documents "like skills" in passing. Three corroborations of the family, none of S5's claims.

(Status line corrected 2026-08-02: it read "1 source" while three were listed below and INDEX.md said three - stale since S7 was added. The count is fixed; the emerging judgement is unchanged, and the sentence above now says explicitly why a rising count is not rising evidence.)

Living, cross-source synthesis on agent skills. Many sources feed this note; merge and de-duplicate as they arrive (architect persona). Every claim cited.

On this pageWhat this coversSynthesisA skill is a cost ladder, not a documentThe reliability bar is set by your user's distance from the mechanismTwo kinds of skill, opposite lifespansS26: a skill that maintains a corpus, and the first outside instance of the three-layer shapeThey measurably work, and badly-made ones measurably hurtWriting one: the description is the whole ball gameEvaluating oneRetirement: the idea worth keepingThe topic's first security material: a skill is a write channelKey claimsKey visualsOpen questions / conflictsSources feeding this topic

What this covers#

Agent skills: what a skill is and how it loads, how it is triggered, how to write one that fires when it should and not when it should not, how to evaluate one, and when to delete it. Also where skills sit against tools, scripts and MCP.

Synthesis#

A skill is a cost ladder, not a document#

A skill is a folder with a SKILL.md plus assets, loaded by progressive disclosure in three layers with three different prices [S5 &t=159s, &t=176s, slide frame_500]:

Layer Loaded Cost
Frontmatter (name + description) Every single turn 100-200 tokens on every model call, used or not
SKILL.md body On trigger Paid whenever the skill fires
References + scripts On demand Zero until the agent explicitly reads them

That ladder is the whole design constraint. It is also a measured instance of context-engineering.md's claim 22 (limiting context beats filling it) at a much finer granularity than any prior source in this brain [S5 &t=471s, &t=489s].

The reliability bar is set by your user's distance from the mechanism#

The framing that makes the rest follow [S5 &t=126s, slide frame_110]:

The further the user is from the skill system, the higher the reliability bar - and the more the checking has to be automated [S5 &t=126s].

This generalises past skills, and is the reason "it works for me in my editor" is not evidence about a product: the author is the most forgiving possible user, silently repairing failures without counting them.

Two kinds of skill, opposite lifespans#

Capability skill Preference skill
Teaches What the model cannot do consistently yet Your team's workflow, conventions, style
Lifespan Temporary - retire as models improve Durable - must track team process
Evals are for Telling you when to retire it Protecting against workflow regressions

[S5 &t=194s, &t=213s, slide frame_200]

The clean case for a capability skill is a knowledge gap the training cut-off created: the Gemini Interactions API shipped after training, and a skill with 117 test cases took valid-code generation from 39.2% to 91.6% on Gemini 3.1 Pro [S5 &t=767s, &t=805s, slide frame_800]. Vendor measuring its own product - treat the shape as instructive and the magnitude as unreplicated.

S26: a skill that maintains a corpus, and the first outside instance of the three-layer shape#

Every skill this note has seen until now helps a model do a task. S26 shows a different job: enrich-note is a maintenance operation that runs over a knowledge base, adding tags, source attribution and backlinks to notes, invoked by a human or by a nightly scheduler [S26 n4, visuals/frame_404.jpg]. It is worth recording as a shape rather than an anecdote, because two of its properties are things this note has only ever seen asserted by the source that invented the format.

The three-layer cost ladder appears in the wild, built by someone with no stake in it. The skill is .agents/skills/enrich-note/SKILL.md with frontmatter carrying a name and a trigger description, a body of instructions, and references/tags.md as a separately-loaded reference file the body tells the agent to read first [n6]. That is claim 6's three layers exactly - frontmatter, body, references - instantiated by a practitioner at a different company for a non-coding task. It does not corroborate the prices (nothing here measures tokens), and it is a genuine independent instance of the structure, which is more than this note previously had.

And the reference file is doing something the ladder's framing does not anticipate. In S5 the third layer is described as reference material that is free until read - documentation, examples, schemas. Here it is a mutable registry the skill writes back to: the agent must read tags.md before tagging, must prefer existing entries, and must append any new tag with a one-line definition so the next invocation can reuse it [n6]. The third layer is not a static appendix, it is the skill's memory between invocations, and it exists because each call sees one note and a taxonomy is a corpus-wide object. Any per-item skill that must stay globally consistent needs something in that slot.

The other property worth naming is an idempotence contract in the skill body itself - "if the frontmatter already has enrichedAt, the note is done, skip it", with the stamp written on completion [n5]. That is what makes the skill safe to run repeatedly over a whole corpus and therefore safe to put on a timer. Unmeasured, like everything in S26 (n16), and structurally clear.

They measurably work, and badly-made ones measurably hurt#

From SkillsBench 1.1, across open and closed models and multiple harnesses [S5 &t=266s, slides frame_265, frame_310]:

The length curve appears only on the slide; the speaker says only "keep it below 500 lines". "As short as possible" is the wrong reading - the peak is 200-500, and shorter than 200 is slightly worse.

Writing one: the description is the whole ball game#

The description is the trigger mechanism, and the trigger causes 50%+ of all skill failures [S5 &t=1036s, slide frame_425]. Rewriting the description alone fixed 5 of 7 failures in their suite [S5 slide frame_425, visual-only].

And the boundary case: if the workflow is fully determined, write a script, not a skill [S5 &t=558s]. This converges with agents.md's claim 17 from a different discipline - determinism is cheaper than inference, so spend inference only where the path is genuinely unknown.

Evaluating one#

Retirement: the idea worth keeping#

Ablation is the retirement test - run the eval with and without the skill loaded [S5 &t=713s, &t=1268s, slide frame_720]:

Verdict With skill Without Action
Active 94% pass 32% pass Keep loaded
Redundant 96% pass 95% pass Retire - the base model absorbed it

Keep the eval after you retire the skill. It becomes a regression detector on the bare model, and tells you when to reintroduce the skill [S5 &t=1181s, &t=1199s].

This instruments agents.md's claim 31 (every harness component encodes an expiring assumption about what the model cannot do). A skill is a harness component. S4 named the expiry and offered only "remove one component at a time"; S5 supplies the measurement - and adds what S4 does not have: keep the meter after you remove the part.

The topic's first security material: a skill is a write channel#

This note has never held anything on security, and S19 supplies it by treating skill synthesis as a path into persistent memory (S19 n2, claim 158).

S7 gave this topic its category name - a skill is procedural memory. S19 works out what follows when that store is adversarial. Its channel C4, experience-to-procedure write, fires when an agent decides a completed interaction constitutes a reusable skill and synthesises it into procedural memory. The trigger is the shape of the execution trace - a novel workflow, an error recovery, a successful completion - and the write authority is the agent's own judgement that this was worth keeping. No human wrote the skill and no instruction requested it.

Two vulnerabilities attach to that channel and neither has an equivalent for factual memory. V-S4, no validation for skill creation: the content is committed to procedural memory with no inspection before the skill file is written. And V-S5, self-improvement as amplification, which is the one worth carrying (claim 162):

A poisoned skill is not static. Each execution produces an observation, the loop treats every step that ran without error as validated, and later revisions are built around the existing procedure including any adversarially introduced step. Over time "the skill evolves into a well optimized adversarial procedure."

Read that against claim 31 and the two point in opposite directions. Claim 31 frames scaffolding as an expiring bet, with ablation as the test for whether it has expired - a skill earns its place by measurably helping, and you delete it when it stops. Ablation tests whether a skill still helps. It does not test what the skill does when it is wrong on purpose, and V-S5 describes a skill that gets better at helping while carrying a hostile step, which is precisely the case an evals-based retirement policy would keep.

The uncomfortable pairing is with claim 26. This note holds that AI-written skills are a negative intervention (-8 to -11 points, SkillsBench), measured on quality. S19 supplies a second, unrelated reason to be wary of a skill nobody wrote: there is no inspection step on the path, and the self-improvement loop that refines it treats absence of error as evidence of correctness. Neither source knows about the other, and they converge on "be suspicious of skills the system wrote itself" from quality and from security respectively.

Full synthesis in agent-security.md. Gated needs-check: V-S5 is a mechanism argument with no measurement - S19's benchmark measures skill-procedure insertion (58.33% attack success on HERMES), not amplification across successive refinements.

Key claims#

Claim Sources (cited) Confidence
A skill loads in three layers with three prices - frontmatter every turn, body on trigger, references free until read. S5 &t=159s, &t=471s (slide frame_500 + narration) emerging
The reliability bar rises with the user's distance from the skill system; agents you ship need automated evals because the human fallback is gone. S5 &t=126s (slide frame_110 + narration) emerging
Capability skills are temporary and retire as models improve; preference skills are durable and protect workflow. S5 &t=194s, &t=213s (slide frame_200 + narration) emerging
Curated skills lift task resolution 33.9% -> 50.5% (+16.6 pts) on SkillsBench 1.1. S5 &t=266s (slide frame_265 + narration) emerging (third-party benchmark)
Self-generated skills cost 8.1-11.5 accuracy points; human-written skills perform best. S5 &t=299s (slide frame_310 + narration) emerging (third-party benchmark)
Skill length is an inverted-U: 200-500 lines is the peak (+21.5%); above 1000 lines is a no-op (+0.7%). S5 &t=315s (slide frame_310; the curve is visual-only) emerging
The description is the trigger and causes 50%+ of all skill failures. S5 &t=1036s (slide frame_425 + narration) emerging
Declare negative cases or a broad description hijacks the trigger on unrelated work. S5 &t=594s (slide + narration) emerging
If the workflow is fully determined, write a script rather than a skill. S5 &t=558s (slide frame_560 + narration) - converges with claim 17 emerging
Ablation (eval with and without the skill) is the retirement test. S5 &t=713s (slide frame_720 + narration) emerging
Keep the eval after retiring the skill - it becomes a regression detector on the base model. S5 &t=1181s needs-check (single-leg)
Gate skill diffs on evals in CI: no merge without proof of lift. S5 &t=1002s (slide frame_950 + narration) emerging (self-reported practice)
Grade outcomes, not paths; isolate runs (agents cheat); run multiple trials; test across harnesses. S5 &t=1091s, &t=1109s, &t=1146s, &t=1163s mixed - first two corroborated, last two single-leg
A skill that runs repeatedly over a corpus needs an idempotence contract in its own body - check a per-item completion marker before working, write it after - which is what makes the skill safe to schedule rather than only safe to invoke. S26 (n5, visuals/frame_404.jpg) corroborated internally, unmeasured
A per-item skill that must stay globally consistent needs a mutable registry in its reference layer, not a static appendix: read it first, prefer what exists, append new entries with a definition. Without it each call optimises locally and the vocabulary degenerates to one term per item. S26 (n6, visuals/frame_425.jpg) corroborated internally, unmeasured. The failure argument is this brain's reading; the source states the behavioural version
The three-layer skill shape occurs outside its originating vendor - frontmatter, body, and a separately-loaded references/ file - built by a practitioner at another company for a non-coding task. Structure only: nothing here measures the layer prices. S26 (n4, n6) as an independent instance of claim 6 emerging - one independent instance of the shape, no evidence about the cost ladder

Key visuals#

Agents we use vs agents we build
Agents we use vs agents we build

The reliability gap: an engineer repairs a mis-trigger in seconds; a customer just leaves. The further the user is from the mechanism, the more the checking must be automated. S5 &t=110s.

Skill length vs performance lift
Skill length vs performance lift

The inverted-U the narration never states: peak at 200-500 lines, and a >1000-line skill is statistically a no-op. Also: self-generated skills cost 8-11 points. S5 &t=310s.

Retire skills when base models catch up
Retire skills when base models catch up

Ablation as the retirement test: 94% vs 32% means keep; 96% vs 95% means the base model absorbed the knowledge. S5 &t=720s.

Open questions / conflicts#

Sources feeding this topic#