从零创建 skill:Skill Creator 项目全解析

引言

随着大语言模型的普及,如何让 AI 助手更智能、更专业成为了开发者关注的焦点。Anthropic 推出的 Skill 系统 就是一个很好的解决方案,它允许开发者创建模块化的技能包,让 AI 助手在特定领域表现得更专业。

本文将深入解析 Skill Creator 项目,这是一个专门用于创建和管理 AI 技能的工具包,帮助你快速上手技能开发。

一、Skill 是什么?

Skills 是模块化、自包含的包,用于扩展 AI 助手的能力。简单来说:

  • 它们是特定领域的"入职培训指南"
  • 能将 AI 从通用代理转变为专业代理
  • 提供程序性知识,弥补模型的知识缺口

技能能提供什么?

  1. 专业化工作流 - 针对特定领域的多步骤程序
  2. 工具集成 - 处理特定文件格式或 API 的指令
  3. 领域专业知识 - 公司特定知识、数据模式、业务逻辑
  4. 打包资源 - 脚本、参考资料和资产

二、Skill Creator 项目结构

项目采用清晰的目录结构,便于管理和扩展:

skill-creator-0.1.0/
├── SKILL.md                 # 核心技能定义文档
├── _meta.json               # 技能元数据
├── LICENSE.txt              # Apache 2.0 许可证
├── scripts/                 # 工具脚本目录
│   ├── init_skill.py        # 技能初始化脚本
│   ├── quick_validate.py    # 快速验证脚本
│   └── package_skill.py     # 技能打包脚本
└── references/              # 参考文档目录
    ├── output-patterns.md   # 输出模式参考
    └── workflows.md        # 工作流模式参考

三、核心工具脚本详解

1. init_skill.py - 技能初始化器

功能 :一键生成技能骨架,包含完整的目录结构和模板文件。

使用方法 :

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

生成的结构 :

skill-name/
├── SKILL.md          # 主文件(带提示模板)
├── scripts/          # 示例脚本
├── references/       # 示例参考文档
└── assets/           # 示例资产文件

特点 :

  • 自动生成带 [TODO] 提示的 SKILL.md
  • 创建标准化的资源目录
  • 提供可自定义的示例文件

2. quick_validate.py - 格式验证器

功能 :检查技能格式是否符合规范,确保打包顺利。

验证项 :

  • SKILL.md 文件存在
  • YAML frontmatter 格式正确
  • 必需字段(name、description)
  • 命名规范(小写字母、数字、连字符)
  • 长度限制(name 64字符,description 1024字符)
  • 不允许的字符(description 中的 < >)

3. package_skill.py - 技能打包器

功能 :将技能目录打包为可分发的 .skill 文件。

打包流程 :

  1. 自动运行验证
  2. 验证通过后创建 .skill 文件(实际是 zip 格式)
  3. 保持正确的目录结构 使用方法 :
python scripts/package_skill.py <path/to/skill-folder> [output-directory]

四、技能创建的 6 步流程

1. 理解需求

通过具体示例理解技能的使用场景:

  • 技能应该支持什么功能?
  • 用户会怎么使用它?
  • 什么请求会触发这个技能?

2. 规划资源

分析需要的文件:

  • scripts/ :重复使用的代码
  • references/ :需要参考的文档
  • assets/ :输出中使用的模板

3. 初始化技能

使用 init_skill.py 生成骨架。

4. 编辑技能

  • 实现脚本文件(并测试)
  • 编写参考文档
  • 更新 SKILL.md(注意:简洁性是关键)

5. 打包技能

运行 package_skill.py 生成 .skill 文件。

6. 测试和迭代

在实际使用中发现问题,不断改进。

五、核心设计原则

1. 简洁性是关键

  • 上下文窗口是宝贵资源
  • 只添加 AI 真正需要的信息
  • 用简洁示例代替冗长解释

2. 适当的自由度

  • 高自由度 :文本指令(灵活任务)
  • 中自由度 :伪代码或参数化脚本
  • 低自由度 :特定脚本(精确任务)

3. 渐进式披露

  • 元数据 :始终在上下文(~100词)
  • SKILL.md :技能触发时加载(<5k词)
  • 打包资源 :按需加载(无限)

六、实战示例:创建 TXT 转 PDF 技能

1. 初始化技能

python scripts/init_skill.py txt-to-pdf --path skills/

2. 实现核心脚本

# scripts/txt_to_pdf.py
#!/usr/bin/env python3
"""Convert txt file to PDF"""
from fpdf import FPDF
import sys

def convert_txt_to_pdf(txt_path, pdf_path):
    pdf = FPDF()
    pdf.add_page()
    pdf.set_font("Arial", size=12)
    
    with open(txt_path, 'r', encoding='utf-8'as f:
        for line in f:
            pdf.cell(20010, txt=line.strip(), ln=1, align='L')
    
    pdf.output(pdf_path)
    return pdf_path

if __name__ == "__main__":
    if len(sys.argv) != 3:
        print("Usage: python txt_to_pdf.py input.txt output.pdf")
        sys.exit(1)
    convert_txt_to_pdf(sys.argv[1], sys.argv[2])

3. 编写 SKILL.md

---
name: txt-to-pdf
description: Convert text files (.txt) to PDF documents. Use when users want 
to convert text content into PDF format.
---

4. 打包技能

python scripts/package_skill.py skills/txt-to-pdf

七、最佳实践

  1. 描述清晰 :在 description 中明确技能的功能和触发条件
  2. 结构合理 :保持 SKILL.md 简洁,复杂内容放到 references 中
  3. 脚本测试 :所有脚本都要实际运行测试
  4. 避免冗余 :不要创建 README 等多余文件
  5. 按需加载 :使用渐进式披露模式

八、总结

Skill Creator 项目为创建 AI 助手技能提供了完整的工具链和最佳实践:

  • 从初始化到打包的全流程支持
  • 标准化的目录结构和验证机制
  • 强调简洁性和模块化设计
  • 提供实用的工作流和输出模式参考 通过这个项目,开发者可以更高效地创建高质量的 AI 技能,让 AI 助手在特定领域表现得更加专业。无论是企业内部工具还是面向公众的技能,Skill Creator 都能帮助你快速实现。

写在最后

AI 技能的发展为我们提供了一种全新的方式来扩展 AI 助手的能力。通过合理设计和实现,我们可以让 AI 在特定领域发挥出更大的价值。希望本文能帮助你快速上手技能开发,创造出更多实用的 AI 技能!

本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:alixiixcom@163.com