Ship agent skills like packages: discovery index, digests, and install sources Evil Martians, a software development agency, published a how-to guide for shipping AI agent skills as packages, reporting that coding agents read its site more than twice as often as humans over two months (268,000 agent requests vs. 107,000 human pageviews). The guide details a discovery index at /.well-known/agent-skills/index.json with sha256 digests, and notes that Anthropic introduced the skill format for Claude in October 2025, releasing it as an open standard in December 2025, now supported by Cursor, Codex, GitHub Copilot, and Gemini CLI. Ship agent skills like packages: discovery index, digests, and install sources Two posts ago, an AI startup found us because Claude, which recommended Evil Martians / when they asked for a senior dev agency. One post ago, we measured the traffic behind that. Over two months, coding agents read evilmartians.com / more than twice as often as people did : 268,000 agent requests against 107,000 human pageviews. Both pointed to the same idea: site audiences are increasingly machines, so build for them. This post takes the next step. We stopped waiting for agents to read our pages and started handing them something to install: our own engineering practice, packaged as agent skills, published at /agent-skills /agent-skills , and discoverable through a .well-known index any agent can find. Here’s how to publish yours. Other parts: 1. Making your site visible to LLMs: 6 techniques that work, 8 that don't /chronicles/how-to-make-your-website-visible-to-llms 2. Which AI actually reads your site? Two months of LLM traffic, measured /chronicles/which-ai-actually-reads-your-site-two-months-of-llm-traffic-measured 3. Ship agent skills like packages: discovery index, digests, and install sources An agent skill https://agentskills.io/ is a folder of instructions that teaches an AI coding agent a repeatable practice: the conventions and checks for doing a specific job well, packaged so any agent can follow them. Someone authors a practice once, then everyone else’s agents install it. This post is a full how-to for publishing your own skills and making them discoverable, using our catalog as the worked example. Irina Nazarova CEO at Evil Martians TL;DR: An agent skill is a SKILL.md file plus optional extra files that teaches a coding agent a repeatable practice. To make yours discoverable, publish a .well-known/agent-skills/index.json at your domain: a short list of name , description , type , url , and sha256: digest per skill. The npx skills installer https://github.com/vercel-labs/skills reads it. Author each skill in a GitHub repo installers and Claude’s plugin marketplace resolve straight from the repo , but re-host the bytes on your own domain so the digest is computed over what you serve. Skills come in three shapes: single-file, multi-file, and bundle, each handled differently. Offer more than one install command, because your readers live in different tools. None of this is new machinery: it’s what npm and RubyGems have always done, pointed at a folder with a SKILL.md in it. The playbook below is also packaged as a skill, the same way we did for part one /chronicles/how-to-make-your-website-visible-to-llms . Install it and your agent can publish your catalog for you, discovery index and digests included. Read on for what it does, and why each piece works the way it does. What’s an agent skill, and why open-source ours? An agent skill is the smallest useful unit of “how we do this.” Anthropic introduced the format https://claude.com/blog/skills for Claude in October 2025 and released it as an open standard https://agentskills.io/ that December. Cursor https://cursor.com/ , Codex https://openai.com/codex/ , GitHub Copilot https://github.com/features/copilot , and Gemini CLI https://geminicli.com/ read the same file now, each from a skills directory it scans on startup. A skill is a SKILL.md file: YAML front matter with a name and a description that tells the agent when to reach for it, then Markdown instructions for the how . Some skills ship extra files alongside: a script, a reference doc, a template. That’s the entire format; so, no runtime, API, or server. An agent loads the file when the description matches the task, and follows it. We use a lot of these internally, so we published the ones useful beyond our own projects at /agent-skills /agent-skills . Here’s a few of them: - good-readme — writes a README the way we’d review it, with the sections that actually get read. - layered-rails — our conventions for structuring a Rails app in layers, so the code stays legible as it grows. - secure-npm-package — the checks we run before publishing an npm package, so a supply-chain mistake gets caught before it ships. - storybook-workbench — eleven skills for building and auditing a Storybook https://storybook.js.org/ , published as one bundle. - inertia-rails-skills — another eleven, covering Inertia.js https://inertiajs.com/ on Rails across React, Vue 3, and Svelte, published from the Inertia Rails https://github.com/inertia-rails/skills project’s own repo. - llms-visibility — makes a site readable to LLMs and the coding agents that fetch URLs: Markdown routes, Accept content negotiation, and llms.txt , plus the AI SEO anti-patterns to refuse. It’s part one /chronicles/how-to-make-your-website-visible-to-llms of this series, packaged as a skill. Why give them away? The same reason we open-source everything else When a client’s coding agent installs layered-rails , it structures their Rails app the way our engineers would, on a Tuesday afternoon, with no Martian in the room. Sharing a skill is the most compact form of distribution we’ve found for an opinion: it travels into codebases we’ll never touch and does the work there. It’s the same approach that turned PostCSS https://postcss.org/ and imgproxy https://imgproxy.net from things we built for ourselves into tools other teams now run in production. That said, this only works if agents can find the skills. Which brings us to the actual subject of this post. The discovery index: one JSON file agents already look for Here’s the mechanism. The npx skills https://github.com/vercel-labs/skills installer an open source tool from Vercel Labs, distributed on npm as skills and backed by the skills.sh https://skills.sh registry can install a skill straight from a hosted site, not only from a Git repo. Just point it at our skills page: npx skills add https://evilmartians.com/agent-skills Behind that command, it reads the discovery index we serve at https://evilmartians.com/.well-known/agent-skills/index.json and lists every skill we publish for you to pick from in an interactive prompt. This is the same idea as llms.txt from part one, robots.txt , or a sitemap: a well-known path where machines look for a machine-readable summary of what you offer. To skip the prompt, name what you want up front: --skill