Agents Are Learning to Write Their Own SKILL.md Files

Agents Are Learning to Write Their Own SKILL.md Files

智能体正在学会编写自己的 SKILL.md 文件

The Agent Skills open standard today, and the 2026 research on agents that write their own skills. TL;DR: In late 2025, “Agent Skills” became a thing — a dead-simple way to teach an AI agent a task: a folder with a SKILL.md file (some instructions in Markdown). It’s already an open standard. The wild part is what’s coming next: agents that write their own skills. I built a demo where an agent solves a task the hard way once, saves a real SKILL.md, and then reuses it — cutting its total effort almost in half. ~130 lines, no API key.

关于 Agent Skills(智能体技能)开放标准,以及 2026 年关于智能体自主编写技能的研究。简而言之:2025 年底,“Agent Skills” 成为了一种主流——这是一种教 AI 智能体执行任务的极简方式:即创建一个包含 SKILL.md 文件(Markdown 格式的指令)的文件夹。这已经成为一个开放标准。最令人兴奋的是接下来的发展:智能体开始能够编写自己的技能了。我构建了一个演示,智能体在第一次通过“硬核”方式解决任务后,会保存一个真实的 SKILL.md 文件,并在后续任务中复用它——这使其总工作量减少了近一半。代码约 130 行,无需 API 密钥。

First, what’s a “skill”? If you’ve used Claude Code or similar tools lately, you’ve probably seen SKILL.md files. The idea is refreshingly low-tech. A “skill” is just a folder with a Markdown file that says how to do something:

首先,什么是“技能”?如果你最近使用过 Claude Code 或类似工具,你可能已经见过 SKILL.md 文件了。这个概念非常简洁且低技术门槛。“技能”就是一个包含 Markdown 文件的文件夹,里面说明了如何完成某项任务:

---
name: csv-to-markdown
description: Turn comma-separated text into a Markdown table. Use when the input looks like CSV and the user wants a table.
---
# CSV to Markdown
## Instructions
Split the text into rows on newlines and columns on commas. Make the first row the header, add a `---` divider row, then format every row as `| a | b | c |`.

That’s it. No SDK, no config. Anthropic introduced this in October 2025 and then published it as an open standard (agentskills.io) in December 2025, so the same skill folder now works across ~30+ different agent tools (Claude Code, Cursor, Copilot, and more).

就是这样。没有 SDK,无需配置。Anthropic 在 2025 年 10 月引入了这一概念,并于 2025 年 12 月将其发布为开放标准 (agentskills.io),因此同一个技能文件夹现在可以在 30 多种不同的智能体工具(如 Claude Code、Cursor、Copilot 等)中通用。

The full rules are short (agentskills.io/specification): the only required fields are name (1–64 chars, lowercase-with-hyphens, and it must match the folder name) and description (≤1024 chars, saying what it does and when to use it). Everything else — license, metadata, compatibility, allowed-tools — is optional. That’s the whole spec. The SKILL.md files my demo writes follow it to the letter, so they’d load unmodified in any compatible CLI.

完整的规则非常简短 (agentskills.io/specification):唯一必需的字段是 name(1-64 个字符,小写加连字符,且必须与文件夹名称匹配)和 description(≤1024 个字符,说明其功能及使用场景)。其他所有内容——如许可证、元数据、兼容性、允许使用的工具——都是可选的。这就是全部规范。我的演示所编写的 SKILL.md 文件完全遵循这些规则,因此它们可以在任何兼容的 CLI 中直接加载,无需修改。

The clever trick: progressive disclosure

巧妙的技巧:渐进式披露

Here’s the smart part. If you just dumped 50 skills’ worth of instructions into the agent’s context, you’d fill it up and leave no room for actual work. So skills load in stages:

  1. Always loaded: just the name and one-line description of every skill (tiny).
  2. Loaded only when it matches: the full instructions, once a task actually needs them.
  3. Loaded only if referenced: extra files or scripts the skill bundles.

最聪明的地方在于:如果你直接把 50 个技能的指令全部塞进智能体的上下文,内存很快就会耗尽,导致无法进行实际工作。因此,技能是分阶段加载的:

  1. 始终加载:每个技能的名称和一行描述(非常小)。
  2. 匹配时加载:只有当任务真正需要时,才会加载完整的指令。
  3. 引用时加载:仅在被引用时加载技能捆绑的额外文件或脚本。

So the agent can have hundreds of skills installed and barely pay for it — it only reads the short descriptions until one matches, then pulls in the details. My demo shows the math: to use 1 skill out of 3 installed, loading everything costs ~1500 “tokens”; the SKILL.md way costs ~560. That gap gets huge as your library grows. This is also why people say skills and MCP are teammates, not rivals: MCP is how an agent connects to tools; a skill is how an agent knows the procedure for using them.

因此,智能体可以安装数百个技能而几乎不占用资源——它只读取简短的描述,直到匹配成功,才会调取详细信息。我的演示展示了数据:在安装了 3 个技能的情况下使用其中 1 个,全部加载需要约 1500 个“token”;而使用 SKILL.md 方式仅需约 560 个。随着技能库的增长,这种差距会变得巨大。这也是为什么人们说技能(Skills)和 MCP 是队友而非竞争对手:MCP 是智能体连接工具的方式,而技能是智能体了解如何使用这些工具的流程。

The frontier: agents that write their own skills

前沿:能够编写自身技能的智能体

Today, humans write SKILL.md files. The 2026 research is about agents that write their own — and get better over time as their skill library grows. This goes back to Voyager (2023), an agent that played Minecraft and saved working code as reusable skills, getting dramatically faster at the game.

目前,SKILL.md 文件由人类编写。2026 年的研究重点在于让智能体能够自主编写技能,并随着技能库的增长而不断进化。这可以追溯到 2023 年的 Voyager,它是一个玩《我的世界》的智能体,能将有效的代码保存为可复用的技能,从而显著提升游戏效率。

The new wave makes it general: MUSE-Autoskill (2026) treats a skill as a living asset with a full lifecycle — create it, give it its own memory file, manage it, test it, and refine it. Each skill even keeps a .memory.md of notes about itself. Memento-Skills (2026) stores skills as Markdown files that double as the agent’s evolving memory, and turns task failures into new skills automatically. Skill-Pro (2026) defines a skill as “when to use it + how to do it + when to stop,” and only keeps a new skill if it passes a quality gate — so the library improves instead of filling up with junk.

新一波研究使其具备了通用性:MUSE-Autoskill (2026) 将技能视为具有完整生命周期的动态资产——创建它、为其分配内存文件、管理、测试并优化它。每个技能甚至保留一份关于自身的 .memory.md 笔记。Memento-Skills (2026) 将技能存储为 Markdown 文件,这些文件同时充当智能体不断进化的记忆,并能自动将任务失败转化为新技能。Skill-Pro (2026) 将技能定义为“何时使用 + 如何执行 + 何时停止”,并且只有通过质量门控的新技能才会被保留——从而确保技能库不断优化,而不是充斥着垃圾信息。

The common thread: solve it once, save the recipe, reuse it forever — and let the collection get smarter on its own.

共同点在于:解决一次,保存配方,永久复用——并让这个集合自动变得更聪明。

You can do this today in the Claude Code CLI

你现在就可以在 Claude Code CLI 中实现这一点

This isn’t theoretical — the exact pattern from my demo already ships in coding CLIs. In Claude Code, a skill is just a folder under .claude/skills/ in your repo:

这并非理论——我演示中的模式已经内置于编码 CLI 中。在 Claude Code 中,技能只是你仓库中 .claude/skills/ 下的一个文件夹:

# Anywhere in your project — drop a skill in and the CLI auto-discovers it
mkdir -p .claude/skills/csv-to-markdown
$EDITOR .claude/skills/csv-to-markdown/SKILL.md

Now the agent loads only that skill’s one-line description until a task matches — then pulls in the full instructions (that’s progressive disclosure doing its job). Type /skills inside the CLI to see what’s loaded. The best part: because it’s an open standard, the same folder works unmodified across tools. You’re not locked in: Claude Code, opencode, Goose, plus Cursor, GitHub Copilot, and 30+ others. Write the skill once, use it everywhere.

现在,智能体只加载该技能的一行描述,直到任务匹配——然后才会调取完整指令(这就是渐进式披露的作用)。在 CLI 中输入 /skills 即可查看已加载的内容。最棒的是:由于这是一个开放标准,同一个文件夹可以在不同工具间直接使用,无需修改。你不会被锁定在某个平台:Claude Code、opencode、Goose,以及 Cursor、GitHub Copilot 等 30 多种工具均支持。一次编写,随处使用。

The future bit my demo points at: instead of you hand-writing that file, the agent writes it for itself after solving the task the first time — and from then on, your repo quietly accumulates a library of skills your agent earned.

我的演示所指向的未来是:不再需要你手动编写文件,智能体在第一次解决任务后会自动为你编写——从那时起,你的仓库将悄悄积累起一套智能体通过实践获得的技能库。