One skill, every agent

Blog · 5 min read

Nobody uses exactly one AI agent anymore. You write code with one tool, review it with another, and you're probably one bad afternoon away from trying a third because someone on your team swears by it. That's fine — it's a healthy market. What's not fine is what it does to the instructions you've carefully written for any of them.

Say you've written a genuinely good skill: a code review checklist, an incident runbook, a house style guide for how your team wants commit messages written. If that skill lives as a pasted block of text in one tool's settings, it is, for practical purposes, that tool's skill now. Using it somewhere else means retyping it, and retyping it means it will drift — a fix made in one copy, a tweak made in another, until "the skill" is actually three slightly different skills that happen to share an origin story.

The instruction shouldn't care what's reading it

This is a solved problem in every other layer of software. A well-written function doesn't care which caller invokes it. A well-written API doesn't care whether the client is a browser or a script. The instructions you give an AI agent are, functionally, an API for behavior — there's no reason they should be more tightly coupled to Claude, or ChatGPT, or Codex, than a REST endpoint is coupled to one browser.

What makes this tractable now is that the clients themselves converged on a shared way to fetch tools and context: MCP. Any client that speaks it can ask a server "what skills do you have" and "give me this one," without the server needing to know or care which specific agent is asking. That's the seam a portable skill lives on — not a plugin built for one tool, but content served over a protocol several tools already speak.

What changes when the skill is the source of truth

Store the skill in one place, and every client becomes a reader instead of a copy. Fix a bug in the review checklist once, and the next agent that loads it — regardless of which one — gets the fix. Nobody has to remember which of three pasted copies is the current one, because there's only one copy.

Portability isn't a nice-to-have for skills. It's the difference between an instruction you maintain and one you keep re-writing.

This is the whole idea behind Skilnu: skills live in a registry, served over MCP, so Claude, ChatGPT, Codex, or whatever you're using next year can all load the same one — today's version, not the version someone remembered to update.

Try it

If you want the mechanics rather than the argument, the tutorial Use one skill in Claude, ChatGPT, and Codex walks through connecting a single skill to all three in a few minutes.

Stop maintaining three copies of the same instructions.

Sign up free Read the tutorial