一句话调起复用提示词:claude-code-from-scratch技能系统(Skills)实战教程

发布时间:2026/10/1 8:31:39

一句话调起复用提示词:claude-code-from-scratch技能系统(Skills)实战教程 一句话调起复用提示词claude-code-from-scratch技能系统Skills实战教程【免费下载链接】claude-code-from-scratchBuild your own Claude Code from scratch. Claude Code 开源了 50 万行代码读不动用 ~5000 行 TypeScript / Python 从零复现核心架构11 章分步教程带你理解 coding agent 精髓项目地址: https://gitcode.com/gh_mirrors/cl/claude-code-from-scratchclaude-code-from-scratch用约 5000 行 TypeScript / Python 从零复现了 Claude Code 的核心架构其中的**技能系统Skills**是本期主角把一段反复使用的提示词比如读 diff 并写 commit message打包成一个 Markdown 文件之后只需输入/commit一句话就能把整套提示词调起来执行。本文将带你理解 Skills 的设计思路并手把手创建自己的第一个技能。为什么需要 Skills 技能系统日常使用 AI 编程助手时你经常会重复输入类似的话读一下 git diff帮我写一个规范的 commit message审查这个文件检查安全漏洞用 conventional commits 格式提交代码每次手打一遍既繁琐又容易前后不一致。Skills 技能系统的解法是把这些提示词存成文件像 shell 脚本一样即装即用。 官方教程称之为AI Shell 脚本——把 AI 工作流模板化一次定义反复复用。详见 docs/09-skills.md。快速上手三步创建第一个技能无需写任何代码一个技能就是一个文件。三步走第 1 步创建技能目录在项目中创建.claude/skills/commit/目录用户级可放在~/.claude/skills/。第 2 步写入 SKILL.md目录里放一个SKILL.md文件前半部分是元信息后半部分就是提示词本身。项目里自带了两个示例技能可直接参考示例一test/skills/commit/SKILL.md示例二test/skills/greet/SKILL.md第 3 步一句话调起启动 CLI 后输入/commit技能立刻生效$ mini-claude /commit feat: add the new thing运行演示不需要 API keynode steps/run.mjs 9这条命令对应仓库里的可执行场景 steps/scenarios/invoke-skill.json。SKILL.md 文件格式详解SKILL.md 由两部分组成frontmatter 元信息提示词正文。--- name: commit description: Create a git commit with a descriptive message when_to_use: When the user asks to commit changes or says commit allowed-tools: run_shell, read_file user-invocable: true --- Look at the current git diff and staged changes. Write a clear, concise commit message following conventional commits format. The users request: $ARGUMENTS各字段的作用一目了然字段作用name技能名即/name调起时的关键字description技能描述展示在系统提示词中when_to_use给模型看的触发条件模型据此判断是否自动调用allowed-tools安全边界限制该技能可用的工具白名单user-invocable设为false时用户不能手动输入只能由模型自动触发contextinline默认或fork决定执行模式解析逻辑集中在 src/skills.tsPython 版对应 python/mini_claude/skills.pyparseSkillFile负责把文件拆成元信息与模板容错处理了逗号分隔和 JSON 数组两种allowed-tools写法。两种调用方式手动 /name 与模型自动触发Skills 支持双路径调用两条路最终汇合到同一个解析函数resolveSkillPrompt()路径一用户手动调用输入以/开头的内容CLI 就会去技能目录里找同名文件。逻辑见 src/cli.ts/commit fix types → 加载 commit 技能参数 fix types 替换进模板路径二模型自动调用你只需自然地说帮我提交代码。此时系统提示词中已经列出了所有可用技能及when_to_use触发条件由 src/prompt.ts 中的buildSkillDescriptions()注入模型判断匹配后会调用内置的skill工具工具返回的是展开后的提示词文本——本质是一个元工具返回值不是数据而是指令。 双路径设计的原因手动调用保证你精确控制触发时机自动调用则让模型在你忘记技能存在时也能主动用上。模板变量让技能接收参数提示词正文中支持两个内置变量$ARGUMENTS替换为你调起技能时传入的参数。比如/commit 修复登录 bug修复登录 bug 就会被注入到模板中${CLAUDE_SKILL_DIR}替换为技能所在目录路径。这样技能可以在目录里附带模板、配置等文件提示词中引用即可替换逻辑只有几行见 src/skills.ts 的resolveSkillPrompt函数L116-L123。inline 与 fork两种执行模式模式行为适用场景inline默认提示词直接拼进当前对话简单、单轮的轻量任务fork提示词交给一个干净的子 Agent 独立执行只把结果带回主对话需要多轮工具调用的重任务如代码审查要读很多文件选 fork 的核心好处保持主对话上下文干净。子 Agent 的工具还受allowed-tools白名单约束且默认排除agent工具防止递归。实现位于 src/agent.ts 的executeSkillTool方法。技能加载优先级项目级覆盖用户级技能从两个来源加载同名时项目级优先~/.claude/skills/—— 用户级低优先级个人所有项目通用.claude/skills/—— 项目级高优先级当前项目专用会覆盖同名用户技能加载顺序写死在 python/mini_claude/skills.py 的discover_skillsL33-L49中先加载 user再加载 project用 Map 去重自然实现后者覆盖前者。解析结果还会缓存避免重复读盘。想更深入核心源码与文档清单资源路径技能系统章节教程docs/09-skills.mdTypeScript 技能实现src/skills.tsPython 技能实现python/mini_claude/skills.pyCLI 中 /name 调起逻辑src/cli.ts技能列表注入系统提示词src/prompt.ts技能示例commit / greettest/skills/fork 模式子 Agent 执行src/agent.ts常见问题 FAQQ1技能必须用代码写吗不需要。技能本体就是自然语言 Markdown会写提示词就会写技能。Q2为什么用 Markdown 而不用 JSON/YAML 存提示词因为技能的本体是大段自然语言。Markdown 正文直接就是提示词JSON 存储反而要转义换行符和引号可读性差。Q3如何验证技能被正确加载在 CLI 中输入/skills会列出所有已发现的技能及其描述输入No skills found则说明目录或文件命名有问题必须是技能名/SKILL.md的目录结构。Q4本地怎么跑起来试试git clone https://gitcode.com/gh_mirrors/cl/claude-code-from-scratch cd claude-code-from-scratch npm install npm run build node steps/run.mjs 9小结Skills 技能系统用一个 Markdown 文件解决了提示词复用问题✅ 一句话/name手动调起或让模型按when_to_use自动触发✅$ARGUMENTS参数化同一技能适配不同输入✅allowed-toolsuser-invocable提供安全与权限边界✅ inline / fork 双模式兼顾轻量任务与重型任务的上下文隔离对照真实 Claude Codemini-claude 还简化了技能来源2 个而非 6 个和 token 预算控制但核心架构完全一致——理解了这几百行源码你就掌握了 Skills 的精髓。下一章可以继续 docs/10-plan-mode.md看看先想清楚再动手的 Plan Mode。【免费下载链接】claude-code-from-scratchBuild your own Claude Code from scratch. Claude Code 开源了 50 万行代码读不动用 ~5000 行 TypeScript / Python 从零复现核心架构11 章分步教程带你理解 coding agent 精髓项目地址: https://gitcode.com/gh_mirrors/cl/claude-code-from-scratch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/1 8:31:39

TensorRT Plugin开发实战:从Unsupported Layer到自定义算子

第一次被 TensorRT 逼着去读 Plugin(自定义插件)源码,是在部署一个带自定义注意力模块的检测模型时。模型在 PyTorch 里跑得好好的,精度也满足要求,但转成 ONNX 再进 TensorRT,build engine 的时候直接给我…

2026/10/1 8:26:39

QNX开发之ECAT专用网卡驱动ecpkt · 05-接收

QNX开发之ECAT专用网卡驱动ecpkt 05-接收上一章结束时驱动的发送路径已经闭环:50 条测试报文全部被 PC 端收到,write() 一路畅通。但驱动还一帧报文都收不到——接收路径还是空的。这一篇我们来实现接收路径,把报文从网线一路送到应用程序的…

2026/10/1 10:16:44

SSM+微信小程序私教预约系统实战指南

简介:本资源是一套面向计算机专业本科生的高分毕业设计实战项目,基于SSM框架与微信小程序构建健身房私教预约系统,解决中小型健身场馆线上预约、教练排班、会员管理等核心业务需求,亦适合作为Java Web开发与小程序全栈课程设计参考…

2026/10/1 10:16:44

PUBG‑Ally:具备对话能力的具身游戏AI队友智能体

PUBG‑Ally:具备对话能力的具身游戏AI队友智能体 arXiv编号:arXiv:2609.29837v1 摘要 本文介绍PUBG‑Ally(简称Ally),部署在《绝地求生》中的语音交互具身智能体,它可以自主推理、执行游戏动作,作为AI队友和真人玩家并肩作战。开发该AI队友需要同时攻克两大难点:严格延…

2026/10/1 10:16:44

Python手写BP与CNN作业骨架:可调试、可验证、可批改

简介:这是一套面向高校与自学AI初学者的Python作业辅助工具源码,聚焦深度学习、智能优化算法与搜索算法等核心AI方向,帮助学生高效完成课程实验、课程设计及项目实践。资源共56个文件,含10个Python源码(如BP、CNN、PSO…

2026/10/1 10:11:44

TIA Portal工程方法论:从博图安装到PROFINET通讯全解析

1. 这不是一款“装上就能用”的软件,而是一套工业自动化工程方法论的数字载体西门子博图软件——准确说是TIA Portal(Totally Integrated Automation Portal),它根本不是传统意义上“点开就编程”的PLC开发工具。我带过几十个从电…

2026/10/1 5:21:14

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/29 21:48:03

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/29 7:00:49

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑