SuperAPI AI 工具集

forge

智能体与模型

查看项目

更新于 10-16 09:19

技能介绍

用途

Forge 是一个 Claude Code 技能(Skill)的创建与校验工具包。当需要创建新技能、校验技能结构,或打包技能用于分发时,该技能会被激活。它本质上是一份面向 Claude 的“技能创建指南”,帮助把 Claude 从通用智能体转变为具备特定领域流程知识的专用智能体。

主要能力

  • 提供技能创建的整体方法论与核心原则。
  • 说明技能的组成结构:必需的 SKILL.md 文件,以及可选的捆绑资源目录 scripts/、references/、assets/。
  • 阐述渐进式披露(Progressive Disclosure)设计原则与三种组织模式。
  • 给出从理解需求到迭代的六步技能创建流程。
  • 提供初始化脚本 init_skill.py 与打包脚本 package_skill.py 的使用方式。

技能的核心概念

技能是模块化、自包含的包,通过提供专门的知识、工作流和工具来扩展 Claude 的能力。技能可以提供:专门工作流(特定领域的多步骤流程)、工具集成(针对特定文件格式或 API 的说明)、领域专业知识(公司特定知识、模式、业务逻辑)、捆绑资源(用于复杂或重复任务的脚本、参考资料和资产)。

核心原则

简洁是关键:上下文窗口是公共资源,技能与系统提示、对话历史、其他技能元数据以及用户请求共享上下文窗口。默认假设 Claude 已经非常聪明,只添加 Claude 尚不具备的上下文。对每条信息都要质疑:“Claude 真的需要这个解释吗?”“这段文字值得它的 token 成本吗?”优先使用简洁示例而非冗长解释。

设置适当的自由度:根据任务的脆弱性和可变性匹配具体程度。高自由度(基于文本的指令)适用于多种方法都有效、决策依赖上下文或启发式引导的情况;中自由度(伪代码或带参数的脚本)适用于存在首选模式、允许一定变化或配置影响行为的情况;低自由度(特定脚本、少量参数)适用于操作脆弱易错、一致性至关重要或必须遵循特定顺序的情况。

技能的结构

每个技能由必需的 SKILL.md 文件和可选的捆绑资源组成:

skill-name/
├── SKILL.md (required)
│   ├── YAML frontmatter metadata (required)
│   │   ├── name: (required)
│   │   └── description: (required)
│   └── Markdown instructions (required)
└── Bundled Resources (optional)
    ├── scripts/          - Executable code (Python/Bash/etc.)
    ├── references/       - Documentation intended to be loaded into context as needed
    └── assets/           - Files used in output (templates, icons, fonts, etc.)

SKILL.md(必需):包含 YAML frontmatter(name 和 description 字段,决定 Claude 何时使用该技能)和 Markdown 正文(使用技能的指令和指导)。

Scripts(scripts/):可执行代码(Python/Bash 等),用于需要确定性可靠性或反复重写的任务。当同一代码被反复重写或需要确定性可靠性时包含。优点是 token 高效、确定性、可无需加载到上下文即可执行。注意脚本可能仍需被 Claude 读取以进行修补或环境特定调整。

References(references/):文档和参考资料,按需加载到上下文中以指导 Claude 的过程和思考。适用于数据库模式、API 文档、领域知识、公司政策、详细工作流指南。优点是保持 SKILL.md 精简,仅在 Claude 判断需要时加载。最佳实践:如果文件很大(超过 1 万词),在 SKILL.md 中包含 grep 搜索模式。避免重复:信息应只存在于 SKILL.md 或 references 文件之一,不要两者都有。

Assets(assets/):不打算加载到上下文,而是在 Claude 产生的输出中使用的文件。适用于模板、图像、图标、样板代码、字体、被复制或修改的示例文档。优点是分离输出资源与文档,使 Claude 无需加载即可使用文件。

不应包含的内容

技能应只包含直接支持其功能的必要文件。不要创建无关的文档或辅助文件,包括 README.md、INSTALLATION_GUIDE.md、QUICK_REFERENCE.md、CHANGELOG.md 等。技能应只包含 AI 智能体完成手头工作所需的信息,不应包含关于创建过程的辅助上下文、设置和测试程序、面向用户的文档等。

渐进式披露设计原则

技能使用三级加载系统来高效管理上下文:

  1. 元数据(name + description)——始终在上下文中(约 100 词)
  2. SKILL.md 正文——技能触发时加载(少于 5000 词)
  3. 捆绑资源——Claude 按需加载(无限,因为脚本可执行而无需读入上下文窗口)

渐进式披露模式:保持 SKILL.md 正文精简,控制在 500 行以内,以最小化上下文膨胀。接近此限制时将内容拆分到单独文件。拆分内容时,务必从 SKILL.md 引用它们并清楚描述何时阅读。

模式 1:带引用的高层指南。在 SKILL.md 中保留快速开始和高级功能链接,Claude 仅在需要时加载 FORMS.md、REFERENCE.md 或 EXAMPLES.md。

模式 2:领域特定组织。对于多领域技能,按领域组织内容以避免加载无关上下文,例如 bigquery-skill 下按 finance.md、sales.md、product.md、marketing.md 组织。对于支持多框架或变体的技能,按变体组织,例如 cloud-deploy 下按 aws.md、gcp.md、azure.md 组织。

模式 3:条件细节。展示基本内容,链接到高级内容,例如 DOCX 处理中简单编辑直接修改 XML,跟踪更改参见 REDLINING.md,OOXML 细节参见 OOXML.md。

重要指南:避免深层嵌套引用,保持引用距 SKILL.md 一层深度,所有引用文件应直接从 SKILL.md 链接。对于超过 100 行的较长引用文件,在顶部包含目录,以便 Claude 预览时看到完整范围。

技能创建流程

技能创建涉及以下步骤,按顺序执行,仅在明确不适用的原因时才跳过:

步骤 1:用具体示例理解技能。清晰理解技能将如何被使用的具体示例。例如构建图像编辑器技能时,询问应支持什么功能、使用示例、用户会说什么触发该技能。避免在单条消息中问太多问题,从最重要的问题开始。

步骤 2:规划可复用的技能内容。分析每个示例,考虑如何从头执行,识别反复执行这些工作流时哪些脚本、参考资料和资产会有帮助。例如 PDF 旋转需要每次重写相同代码,可存储 scripts/rotate_pdf.py;前端 webapp 需要相同样板,可存储 assets/hello-world/ 模板;BigQuery 查询需要每次重新发现表模式,可存储 references/schema.md。

步骤 3:初始化技能。从头创建新技能时,始终运行 init_skill.py 脚本。用法:

scripts/init_skill.py <skill-name> --path <output-directory>

该脚本在指定路径创建技能目录,生成带正确 frontmatter 和 TODO 占位符的 SKILL.md 模板,创建示例资源目录 scripts/、references/、assets/,并在每个目录中添加可自定义或删除的示例文件。

步骤 4:编辑技能。技能是为另一个 Claude 实例使用而创建的,应包含对 Claude 有益且非显而易见的信息。可参考 references/workflows.md(多步骤流程的顺序工作流和条件逻辑)和 references/output-patterns.md(特定输出格式或质量标准)。从可复用资源开始实现,添加的脚本必须实际运行测试。删除不需要的示例文件和目录。更新 SKILL.md 时始终使用祈使/不定式形式。Frontmatter 中 name 为技能名称,description 要具体说明技能做什么以及何时使用,包含关键术语和触发上下文,不要包含其他字段。

步骤 5:打包技能。开发完成后打包为可分发的 .skill 文件。用法:

scripts/package_skill.py <path/to/skill-folder>

可选指定输出目录:

scripts/package_skill.py <path/to/skill-folder> ./dist

打包脚本会自动校验:YAML frontmatter 格式和必需字段、技能命名约定和目录结构、描述完整性和质量、文件组织和资源引用。校验通过后创建以技能命名的 .skill 文件(如 my-skill.skill),包含所有文件并保持正确的目录结构。.skill 文件是扩展名为 .skill 的 zip 文件。校验失败则报告错误并退出,修复后重新运行。

步骤 6:迭代。测试技能后,用户可能请求改进,通常在使用技能后立即发生。迭代工作流:在真实任务中使用技能。

适用场景

适用于需要为 Claude Code 创建新技能、校验技能结构或打包技能用于分发的场景。

限制

资料未提供该技能的收费、价格、平台支持范围等具体信息。