Skip to main content
How-To8 min read

Claude Code skills: how we package repeatable work, and the ones worth building first

The thing that turns Claude Code from a clever chat box into a tool that does your work, your way, every time, is skills. A skill is a reusable capability you teach the assistant once and then trigger by name, or let it trigger itself when the moment fits. Instead of re-explaining your deploy steps or your content format on every session, you write them down as a skill and they are simply available. Here is how skills actually work, how I structure mine, and the ones I would build first.

What a skill actually is

A skill is a folder with one required file, usually called SKILL.md, that describes what the skill does and how to carry it out. Alongside it you can bundle reference documents the assistant reads only when needed, and scripts it runs rather than rewrites. That is the whole shape. The power is not in the format, it is in the loading model behind it.

Progressive disclosure is the whole trick

Skills work because they are loaded in layers, and only the layer you need is paid for in context. A one-line description of every skill is always visible, so the assistant knows the skill exists and when to use it. The full instructions load only when the skill is actually triggered. And the deep reference material, the long API notes or the edge-case checklist, loads only when the task reaches for it. This is what lets you have dozens of skills available without drowning every session in instructions it does not need. A skill that dumps everything into context the moment it loads defeats its own purpose. Keep the top layer short and push the detail down.

The trigger description is everything

A skill that never fires is worthless, and the most common reason a skill fails is a vague description. The description is how the assistant decides whether this skill is relevant to what you just asked, so write it in the words you would actually type. List the trigger phrases. Name the situations. "Use when deploying to production, shipping a release, or pushing a migration" will fire reliably. "Deployment helper" will sit there unused while the assistant improvises the steps from scratch. I have fixed more broken skills by rewriting the description than by touching the instructions.

Bundle scripts, do not regenerate them

When part of a task is deterministic, a build command, a data transform, a fixed sequence of steps, do not ask the model to reconstruct it from memory each time. Write the script once, test it, and have the skill run it. The model is for judgment: deciding what to do, handling the messy parts, reading the output and reacting. It is not for re-deriving the same shell command on every run, where it can quietly drift. Code answers the deterministic parts, the model answers the judgment parts, and a good skill draws that line clearly.

How skills fit with commands and agents

Skills are one piece of a small system. Commands are named entry points you invoke deliberately for a repeated workflow. Subagents are workers with their own isolated context that you hand a scoped job. Skills are the capabilities both of them lean on. A command can kick off an agent, and that agent can invoke a skill to do the specialized part. You do not need all three for everything, but knowing which one fits keeps the setup from turning into a pile of overlapping shortcuts.

The skills worth building first

You do not need many. A handful of skills that match the work you actually repeat will earn their keep almost immediately. These are the categories I would set up first for any real business:

  • A deploy or release skill. The exact, tested sequence your project ships with: the checks, the migration step, the command, the smoke test afterward. This is the highest-value skill most teams are missing, because the deploy is where a confident wrong move does the most damage.
  • A research skill. One that fans out several searches, fetches the sources, checks the claims against each other, and returns a synthesized answer with citations rather than one shallow lookup. It changes research from a guess into something you can trust.
  • An SEO or site-audit skill. A repeatable pass over a page or a whole site that checks the same things every time, structure, schema, performance, and reports findings in a consistent shape you can act on.
  • A content authoring skill. One that knows your format, your voice, and your house rules, so a new article comes out matching the last fifty instead of reading like generic filler. This very article was written through a skill that knows the format it has to land in.
  • A project bootstrap skill. The ordered playbook for standing up a new project the way you always do it: the stack, the repo settings, the deploy wiring, the conventions. It turns a day of fiddly setup into a guided run.

The anti-patterns

Skills go wrong in predictable ways. Too many overlapping skills, so the assistant cannot tell which one to fire. Descriptions so generic that none of them fire at all. A bloated SKILL.md that loads a wall of text for a task that needed two lines. And skills that quietly fall out of date because the underlying steps changed and nobody updated the file. Like any part of the setup, skills are a living thing that needs occasional pruning, not a write-once archive.

The bottom line

Skills are how you stop re-explaining your own work to your AI assistant. Keep the trigger description specific enough to actually fire, keep the always-visible layer short and push detail down through progressive disclosure, bundle tested scripts for the deterministic parts, and build only the few skills that match work you genuinely repeat. Done well, the assistant stops improvising your process and starts running it the way you would. It pairs naturally with the rules and guardrails of the base setup and with subagents that run skills in parallel.

If you want your own repeatable processes packaged into an AI assistant that runs them consistently, from deploys to content to research, send a briefand I'll scope it with you.

More questions?

Easier on a call than in a blog post.

Replying within 4 hours during working hours