【Vercel实用Skill】skill-creator 技能
创建有效技能的指南。当用户想要创建新技能(或更新现有技能)以扩展Claude的专业知识、工作流程或工具集成时,应使用此技能。技能概述skill-creator 技能是一个专门用于创建Agent Skill的技能。它提供了创建有效技能的完整指南,包括技能的结构、核心原则、创建过程和最佳实践。通过使用这个技能,开发者可以创建模块化、自包含的技能包,这些技能包可以扩展AI代理的能力,提供专业知识、工作流程和工具集成。下载地址:https://github.com/vercel-labs/json-render主要功能技能结构指导: 提供技能的标准结构和组成部分核心原则: 教授创建有效技能的核心原则创建流程: 提供完整的技能创建流程最佳实践: 分享创建技能的最佳实践和设计模式工具脚本: 提供初始化和打包技能的脚本参考文档: 提供工作流程和输出模式的参考文档触发条件在以下情况下应该调用此技能:用户想要创建新的技能用户想要更新现有技能用户需要了解如何创建有效的技能用户需要扩展AI代理的专业知识关于技能技能是模块化、自包含的包,通过提供专业知识、工作流程和工具来扩展Claude的能力。可以将它们视为特定领域或任务的入职指南——它们将Claude从通用代理转变为配备程序性知识的专业代理。技能提供的内容专业工作流程: 特定领域的多步骤程序工具集成: 使用特定文件格式或API的说明领域专业知识: 公司特定知识、模式、业务逻辑捆绑资源: 复杂和重复任务的脚本、参考和资产核心原则简洁是关键上下文窗口是公共资源。技能与Claude需要的其他所有内容共享上下文窗口:系统提示、对话历史、其他技能的元数据和实际用户请求。默认假设:Claude已经非常聪明。只添加Claude还没有的上下文。挑战每条信息:Claude真的需要这个解释吗?和这段话是否值得其token成本?优先使用简洁示例而不是冗长的解释。设置适当的自由度根据任务的脆弱性和可变性匹配特异性水平:高自由度(基于文本的说明): 当多种方法有效、决策取决于上下文或启发式指导方法时使用中等自由度(伪代码或带参数的脚本): 当存在首选模式、某些变化可接受或配置影响行为时使用低自由度(特定脚本、少量参数): 当操作脆弱且容易出错、一致性至关重要或必须遵循特定顺序时使用技能结构每个技能由必需的SKILL.md文件和可选的捆绑资源组成:skill-name/├── SKILL.md (必需)│ ├── YAML frontmatter元数据 (必需)│ │ ├── name: (必需)│ │ └── description: (必需)│ └── Markdown说明 (必需)└── 捆绑资源 (可选)├── scripts/ - 可执行代码(Python/Bash等)├── references/ - 旨在根据需要加载到上下文中的文档└── assets/ - 在输出中使用的文件(模板、图标、字体等)SKILL.md(必需)每个SKILL.md由以下部分组成:Frontmatter(YAML): 包含name和description字段。这些是Claude确定何时使用技能的唯一字段,因此在描述技能是什么以及何时应该使用时非常重要清晰和全面。正文(Markdown): 使用技能的说明和指导。仅在技能触发后加载(如果有的话)。捆绑资源(可选)Scripts (scripts/)需要确定性可靠性或重复重写的任务的可执行代码(Python/Bash等)。何时包含当相同的代码被重复重写或需要确定性可靠性时References (references/)旨在根据需要加载到上下文中以告知Claude过程和思考的文档和参考材料。何时包含用于Claude在工作时应该参考的文档Assets (assets/)不打算加载到上下文中,而是在Claude生成的输出中使用的文件。何时包含当技能需要在最终输出中使用的文件时技能创建过程步骤1: 通过具体示例理解技能跳过此步骤仅当技能的使用模式已经清楚理解时。即使在使用现有技能时,它仍然有价值。步骤2: 规划可重用的技能内容分析每个示例,识别哪些脚本、参考和资产在重复执行这些工作流程时会有帮助。步骤3: 初始化技能运行init_skill.py脚本:scripts/init_skill.py skill-name --path output-directory步骤4: 编辑技能实现资源并编写SKILL.md。记住技能是为另一个Claude实例创建的。步骤5: 打包技能运行package_skill.py脚本:scripts/package_skill.py path/to/skill-folder步骤6: 迭代根据实际使用情况改进技能。渐进式披露设计原则技能使用三级加载系统来高效管理上下文:元数据(name description): 始终在上下文中(~100字)SKILL.md正文: 当技能触发时(5k字)捆绑资源: 根据Claude的需要(无限制,因为脚本可以在不读入上下文窗口的情况下执行)关键导出文件/脚本用途SKILL.md技能的主要说明文件scripts/init_skill.py初始化新技能目录scripts/package_skill.py打包技能为.skill文件scripts/quick_validate.py快速验证技能结构references/workflows.md顺序工作流程和条件逻辑指南references/output-patterns.md模板和示例模式指南LICENSE.txt完整许可条款使用示例示例: 创建PDF处理技能# 1. 理解技能需求# 用户问题:# - PDF处理技能应该支持什么功能?编辑、旋转还是其他?# - 能否举例说明如何使用这个技能?# - 用户会说什么来触发这个技能?# 2. 规划资源# 分析显示:# - 旋转PDF每次都需要重写相同的代码# - scripts/rotate_pdf.py脚本会有帮助# - references/pdf_operations.md参考文档会有帮助# 3. 初始化技能scripts/init_skill.py pdf-editor --path ./skills# 4. 编辑技能# - 实现 scripts/rotate_pdf.py# - 编写 references/pdf_operations.md# - 编写 SKILL.md# 5. 打包技能scripts/package_skill.py ./skills/pdf-editor# 6. 迭代# 根据实际使用反馈改进技能最佳实践保持简洁: SKILL.md正文保持在500行以内,以最小化上下文膨胀清晰描述: 在description字段中清晰描述技能是什么以及何时使用避免重复: 信息应该存在于SKILL.md或参考文件中,不要两者都有渐进式披露: 将详细参考材料移到references/目录,保持SKILL.md精简测试脚本: 实际运行添加的脚本以确保没有错误删除示例文件: 删除不需要的示例文件和目录使用祈使语气: 在SKILL.md中始终使用祈使/不定式形式避免深层嵌套: 保持参考文件从SKILL.md一级深度链接