Skip to content

Agent skills

Here is the part most tool layers miss. You do not have to write your capabilities.

In late 2025 Anthropic shipped Agent Skills — a skill is just a folder with a SKILL.md inside: a name, a description, and Markdown instructions, optionally bundling scripts and reference files. It caught on fast, and the SKILL.md format became an open standard now read by Claude Code, OpenAI’s Codex CLI, Gemini CLI, GitHub Copilot, Cursor, Cline, Windsurf, and opencode. There is a growing public library of them — and counting the ones teams keep in their own repos, the world already has tens of thousands of agent skills written down.

toolnexus reads that exact same SKILL.md format — and hands those skills to any LLM you point it at, not just Claude. Every skill the community has authored for Claude Code or opencode drops straight into a DeepSeek, GPT, Gemini, or local-model agent with no translation. That is the whole idea: your model inherits the ecosystem’s accumulated know-how, on day one, for free.

  • Most capability is instructions, not functions. How you handle a refund, your house style for a report, a runbook with its reference PDF — that is knowledge, and knowledge wants to live as Markdown you can read and edit, not as glue code you compile.
  • It scales to a hundred thousand skills for almost nothing. The model sees only a short catalog (each skill’s name + description). It loads a skill’s full body and files only when it decides to use oneprogressive disclosure. A thousand skills in the folder cost a few dozen tokens until one is actually needed.
  • The community writes them once; every model uses them. One open standard means the work compounds across the whole ecosystem instead of being locked to one vendor’s agent.

Point the toolkit at one or more folders of **/SKILL.md. They join the system prompt as a short catalog; the single skill tool loads a skill’s body + sampled resources on demand.

const tk = await createToolkit({ skillsDir: "./skills" }) // one or more skill roots
// the model calls skill({ name: "..." }) to load one on demand
const res = await tk.execute("skill", { name: "hello-world" })
console.log(res.output)

A skill is a folder with a SKILL.md — the open standard, verbatim:

---
name: pdf-forms
description: Fill and flatten PDF forms from structured data.
---
# Fill a PDF form
1. Read `reference/field-map.md` for this form's field names.
2. Run `scripts/fill.py` with the user's data.
3. Return the path to the filled PDF.

The catalog advertises name + description; the body and a sampled file list arrive only when the model calls skill. Drop in a folder of community skills and your agent can do everything they describe — on whatever model you are running.

See Agent skills for allowlists, data-sourced skills (serve skills from a database instead of disk), and the byte-exact output format.

Next: Native tools — your own functions.