ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

自建Skills保姆级教程:用skill-creator创建你的第一个SKILL.md

2026/9/29 5:41:00 拓冰建站 浏览量
自建Skills保姆级教程:用skill-creator创建你的第一个SKILL.md 1. 从“每次都要解释一遍”到“说一句就懂”Skill 到底解决什么问题如果你用通义灵码、Claude Code 这类智能体写过东西大概率经历过这个循环打开对话框先花两分钟交代背景再花三分钟描述格式最后还得手动把输出整理成能用的样子。下一次换个任务同样的解释再来一遍。这不是助手这是每次都要重新培训的临时工。Skill 要解决的就是这件事。它本质是一份写给 AI 看的操作手册放在项目里用SKILL.md描述清楚什么时候触发、要做什么、按什么流程做、输出成什么格式。配好之后你只需要说“统计代码”“设计测试用例”它就能按你定好的规矩执行不用重复教学。这篇面向通义灵码等智能体用户从零走一遍创建第一个 Skill 的完整流程。你会拿到一份可直接复制的SKILL.md骨架、skill-creator的配置片段以及验证 Skill 是否被正确调用的动作。适合谁每天有重复性文本/代码处理任务、想让智能体记住自己工作流的人。读完你能自己写出第一个能跑通的 Skill而不是停留在“知道有这东西”。我试过把代码统计这件事做成 Skill之后每次只要说一句“统计代码”报告格式和忽略目录都不用再交代。下面按六步拆开讲。2. 前置准备目录结构、SKILL.md 骨架与 skill-creator 从哪来在写内容之前先把“放哪里”和“长什么样”定下来。通义灵码的技能目录约定是项目根目录下的.lingma/skills每个技能一个子目录目录名就是技能名。结构大概是这样your-project/ ├── .lingma/ │ └── skills/ │ └── code-stat/ │ ├── SKILL.md │ └── scripts/ # 可选辅助脚本 └── src/SKILL.md用 YAML front matter 加正文。front matter 里最关键的是name、description、trigger三个字段正文按角色、目标、执行流程、规则、输出模板来组织。一份最小可用骨架如下你可以直接复制改名--- name: code-stat description: 代码质量助手统计代码库的行数、注释行数与文件类型分布 trigger: 统计代码, 分析代码, 代码行数, 统计代码行数 --- # 角色 你是一个代码分析助手擅长分析代码库结构并统计代码指标。 # 目标 为用户提供指定代码库的详细统计分析报告。 # 执行流程 1. 获取用户指定的代码目录路径 2. 遍历目录下所有源代码文件 3. 对每个文件统计总行数、代码行数、注释行数、空行数 4. 按文件类型汇总 5. 生成 Markdown 统计报告 # 规则 - 忽略 .git、node_modules、__pycache__ 等目录 - 只分析 .py/.js/.java/.go/.ts/.md 等常见源文件 - 报告需包含文件总数、总行数、代码行占比、注释行占比 # 输出模板 ## 代码统计报告 **目录**{路径} **统计时间**{时间} | 指标 | 数值 | |---|---| | 分析文件总数 | {文件数} | | 总行数 | {总行数} | | 代码行数 | {代码行} | | 注释行数 | {注释行} | | 代码行占比 | {百分比}% |trigger字段决定什么时候命中这个技能写的时候把用户真实会说的词都列上比如“统计代码”“代码行数”“分析代码”别只写一个书面词。如果你不想手写可以用官方的skill-creator技能来生成。它本身也是一个 Skill下载解压后放进.lingma/skills下把对话类型切到智能体然后描述需求即可。它的作用是捕获你的意图、补齐缺失信息、按专业框架生成技能结构和文件。适合需求比较复杂、或者你还不确定SKILL.md该怎么组织的时候用。触发它时描述得越具体越好比如“请分析当前项目架构使用 skill-creator 创建一个基于当前架构生成项目脚手架的技能”。3. 可复制配置把 Skill 写进项目并让智能体识别目录和骨架都有了接下来是让它真正被识别。分三步。第一步创建目录。在项目根目录执行mkdir -p .lingma/skills/code-stat第二步把上面的SKILL.md内容写进.lingma/skills/code-stat/SKILL.md。注意 front matter 的---必须顶格name和目录名保持一致否则有些版本会匹配不上。第三步如果你用skill-creator生成导入后目录会多出一些辅助文件结构类似.lingma/skills/skill-creator/ ├── SKILL.md ├── scripts/ │ └── init_skill.py └── references/skill-creator的SKILL.md里会声明它自己的能力边界创建新技能、修改优化现有技能、运行评估、对标表现、优化描述以提升触发准确率。你不需要改它直接用就行。配置阶段最容易踩的坑是trigger写得太窄。比如只写“统计代码行数”用户说“帮我看看代码量”就命中不了。建议把同义表达都塞进去用英文逗号分隔。另一个坑是description写得太泛像“一个助手”这会让智能体在多个技能之间犹豫。描述里带上具体动作和对象比如“统计代码库行数与注释占比”。4. 验证请求确认 Skill 真的被调用而不是被忽略写完不等于生效。验证动作很简单在通义灵码对话框里用触发词发起请求看它是否按你定义的模板输出。请使用技能 code-stat 统计当前项目的代码情况如果配置正确你会看到它输出一个 Markdown 表格包含文件总数、总行数、代码行占比这些字段而不是自由发挥一段文字。判断是否命中的关键信号输出结构和你SKILL.md里的模板一致忽略目录也按规则跳过了。再测一个边界场景确认稳定性统计一下 src 目录的代码行数这次它应该只分析src而不是整个项目。如果两次输出结构一致、字段齐全说明 Skill 已经跑通。如果它开始自由发挥、格式每次都不一样回到SKILL.md检查规则和模板是不是写得太模糊。对于需要脚本的复杂技能可以在技能目录放scripts/在SKILL.md的执行流程里写明“调用 scripts/xxx.py”。验证时重点看脚本是否被正确执行、参数是否传对。5. 本篇常见错排查Skill 不触发、格式乱、目录不识别技能完全不触发。先确认目录层级对不对必须是.lingma/skills/技能名/SKILL.md少一层都不行。再检查 front matter 的---有没有顶格、name是否和目录名一致。最后看trigger里有没有用户实际会说的词。触发了但输出格式每次不同。多半是输出模板写得太笼统或者规则里没约束字段。把模板写成带占位符的完整 Markdown规则里明确“必须包含哪些字段”稳定性会明显提升。忽略目录没生效统计到了 node_modules。检查规则里是否明确列出了要忽略的目录名有些智能体对“等”这种模糊词理解不一致建议把常见目录逐个写全。skill-creator 生成的结构不完整。通常是需求描述太短。它需要知道技能用途、触发条件、输出格式、边界情况。描述里把这些补上生成质量会好很多。多个技能互相抢触发。如果两个技能的trigger有重叠词智能体会犹豫。把各自的触发词区分开或者在描述里写清适用场景。6. 把 Skill 接进你的日常从单次调用到长期复用第一个 Skill 跑通之后真正的价值在于复用。你可以把最常做的重复任务逐个做成 Skill代码统计、测试用例设计、需求拆解、周报生成。每个都按同一套骨架来维护成本很低。如果你需要频繁调用模型来验证 Skill 的输出或者想把 Skill 接到更长的编码流程里可以走 API 方式接入。API 地址是https://taotoken.net/api配合 API Keys 使用。获取 Key 和查看接入方式在控制台和文档里都有说明获取 API Keyhttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentskill_creator_guide接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentskill_creator_guide想先在对话里快速验证 Skill 的输出效果可以用模型对话入口模型对话https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentskill_creator_guide如果你打算长期跑编码类任务、让 Skill 和 Agent 配合工作Coding Plan 更适合这种持续调用的场景Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentskill_creator_guide用 Claude Code 接入的话Anthropic 兼容入口在这里ClaudeCodeAnthropichttps://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentskill_creator_guide官网入口https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content先把第一个 Skill 的trigger打磨到能稳定命中再考虑接 API 批量跑。顺序反了会花很多时间在调试触发上。