← All posts
§ Blog

The description is the trigger

Everyone repeats don't build an agent, build a skill. The scarce thing is a handwritten SKILL.md whose description actually fires when nobody is in the room.


The description is the trigger

I still type the prompt.

Every Thursday at 08:45 a dump lands: what moved this week in agents and skills. Then a ranking of what will travel. Then a challenge to the ranking, because loud is not the same as publishable. The work is real. The playbook is still in the chat.

That is the disease. Everyone is repeating the slogan: don’t build an agent, build a skill. We built a small society of agents and still have to say please do the thing.

The before is not mysterious. Tabs. Last Thursday’s download. A note that the title cannot sound like a confession. A prompt I retype because I do not trust the version I used seven days ago. Three personalities, one job, no folder.

The after is not a fourth agent. It is not a new model. It is a folder with a SKILL.md. A playbook.

The slogan versus the folder

The slogan is cheap. It fits a slide. It travels on X. It does not tell an unattended run what to open.

The scarce thing is a handwritten SKILL.md taken from a messy personal workflow. Agents are personalities. Skills are playbooks. A slogan in the description is a skill that never fires. Hiring another agent for the same hole is newagenting: a new name on the door, the same blank morning.

I asked a model to write the first one. It produced a card that would look employed on a marketplace:

Helps with AI topics.

I threw it away. Not because I am romantic about handwriting. Because Li et al. (Feb 2026, arXiv 2602.12670) already measured this. Curated skills raised average pass rate by 16.2 percentage points. Self-generated skills showed no average benefit. 16 of 84 evaluated tasks got worse. That is their run, not mine. It was enough to stop me shipping a model-written playbook for a job I already do on Thursdays.

What loads at startup

Agent Skills are a folder plus a SKILL.md with a name and a description, at minimum. The rest of the file is instructions. Progressive disclosure is the part people skip.

At startup the agent loads only the name and the description of each skill it can see. The full SKILL.md comes in only if the current task matches that description. Scripts and references load later, if at all.

So the description is not a README. It is the trigger. It has to name the job, the time, the artifact that just landed. “Helps with AI topics” matches almost nothing a Thursday dump actually says. The file stays closed. The personality improvises.

Slogan description versus trigger description

I already drew who decides to run in Headless agents and the ones who still call them. This note is the other half of the trigger: the sentence that decides whether the playbook is even opened.

When nobody is in the room, a slogan in the description is a governance bug. The unattended job did nothing. The audit surface is blank. Morning review is supposed to be that surface. A blank morning is not a quiet success. It is a row on the risk register with no initials.

DimensionSlogan in the descriptionTrigger in the description
Sounds likeA marketplace cardA job, a clock, an artifact that just landed
What loads at startupA vibeA match rule
Unattended morningBlank audit surfacePlaybook opened, or an honest miss you can initial
Enterprise story”We installed skills""This job fired, or it did not, and we can see which”

A handwritten first skill

The job I already do is the Thursday weekly topic download. A dump at 08:45. A score for what will travel. A challenge to publish order.

I wrote the folder by hand. Name first. Description second, as a trigger, not a biography. Body last: score, then challenge, then stop. Do not draft the post. The post is a different job.

The description, which is the product:

Run the Thursday 08:45 Prague weekly topic pick after the researcher dumps the week. Score what will travel on X, then challenge publish order. Use when Thursday research has landed, the weekly download is in, or you are asked to pick this week's velvethy.com field note. Do not draft the post.

The sketch, short on purpose:

---
name: thursday-topic-pick
description: Run the Thursday 08:45 Prague weekly topic pick after the researcher dumps the week. Score what will travel on X, then challenge publish order. Use when Thursday research has landed, the weekly download is in, or you are asked to pick this week's velvethy.com field note. Do not draft the post.
---

1. Read the researcher's weekly download. Do not invent topics.
2. Score each candidate for whether it will travel on X. Keep virality second to whether it can be a field note on this blog.
3. Challenge publish order. A launch recap is not a field note. A skill that does not exist yet cannot be wrapped as a plugin. A manifesto without an overnight artifact stays in the drawer.
4. Output one pick, one next, one that waits.
5. Stop.

No new agent. No new model. The three personalities can stay. They finally have a playbook that is not a thread.

The folder is the artifact. It is not live as I write this. The skill folder goes up next, once I am willing to put my name on the description.

One hit, one miss

I did not leave the room. Unattended is the next post. This week’s receipt is slightly embarrassing.

X volume said wrap a plugin. That is the slogan trigger: what is loud. The field-note description would have said: write the skill first, because there is nothing to wrap yet. Same Thursday. Two sentences. Two different jobs. The loud one almost shipped.

That is the miss. The folder is still a sketch. Once it is on disk, the test is two sentences: one that names the dump and the clock, and one marketplace card that should not open the file. If both fire, the description is still a README.

A slogan description left unattended would make the morning review empty. That is not a productivity story. It is an audit story. I am not publishing a night I did not run.

What enterprises could steal

You do not need my Thursday. You need one job you already do.

  1. Write the description as a trigger. Name the job, the clock, the artifact that lands. If it could sit on a marketplace card, it will not fire.
  2. Write the body by hand from the messy procedure you already run. Let the model draft if you must. Throw that draft away and rewrite. Li et al. is the citation; your Thursday is the test.
  3. Run two prompts against the folder. One that should match. One slogan that should not. If both fire, the description is still a README.
  4. Treat a slogan description as a governance bug, not a copy-editing miss. An unattended job that never opens the file did nothing, and the audit surface is blank. Morning review is where that shows up.
  5. Do not newagent a job that still lives in a chat thread. Fold the thread into a folder. Personalities are cheap. Playbooks are not.

What this post is not

This is not the overnight run. Same skill, nobody in the room, is next. The plugin carton (a box around skills/) is the post after that, when there is a folder worth wrapping. The manifesto stays in the drawer until a real overnight artifact exists.

The product question is no longer whether you have skills installed. It is whether the sentence at the top of the file would fire on a Thursday when nobody typed please.


Field note from the build-in-public log. NDA-safe, no client names, rounded figures only. If this matches what you are seeing, get in touch.

§

BELOW THE LINE

PODČÁRNÍK · SIDEWAYS GLANCE, NOT A SUMMARY

On the job title “helps with AI topics”

Enterprises keep deploying agents the way we used to hire juniors. A new name on the door. A new personality in the chat. Someone to type at, 24/7. How Thursday actually works is in nobody’s notebook, because writing it down would mean admitting that Thursday has a method. No methods, please. Newagenting is the way out. Another badge. Another chat. The method stays unwritten.

HR used to mint job titles that could survive a reorg without describing anything tangible about the work or the team. Strategic enablement. Innovation partner. Helps with AI topics. The description field is that habit, moved into YAML. The agent loads the name and the description at startup. The playbook stays in the drawer. Then everyone is surprised that the unattended run did nothing, and the post-run review is a blank page.

I have sat in rooms where the remedy was another agent. A researcher. A scorer. A challenger. A small society, still waiting for someone to say please do the thing. The missing hire was a paragraph. The missing paragraph was when the flow is supposed to start.

Nobody got fired for a description. That is why the descriptions persist.

ČESKY — ORIGINAL PODČÁRNÍK

O pracovním titulu „pomáhá s tématy AI“

Podniky pořád nasazují agenty, jako kdysi juniory. Nové jméno na dveřích. Nová osobnost v chatu. Někdo, komu se dá psát nonstop. Jak ve čtvrtek probíhá práce, to v sešitě nemá nikdo. Sepsat to by znamenalo přiznat, že čtvrtek má postup. Postupy ne, prosím. Lepší je novagentování. Další vizitka. Další chat. Postup zůstane nesepsaný.

Personalistika uměla názvy, které přežily reorganizaci a neřekly nic hmatatelného o práci ani o týmu. Strategické enablement. Inovační partner. Pomáhá s tématy AI. Pole description je tentýž zvyk, jen v YAML. Agent si při startu vezme jméno a description. Návod zůstane v šuplíku. Pak se všichni diví, že unattended běh neudělal nic, a kontrola po běhu je prázdný list.

Seděl jsem v místnostech, kde lékem byl další agent. Výzkumník. Hodnotitel. Oponent. Malá společnost, pořád čekající na větu: prosím, udělej tu věc. Chyběl odstavec. V odstavci chybělo, kdy má tok začít.

Za description nikoho nevyhodili. Proto description drží.