从到的木马免杀之旅(过卡巴)
开发个什么Skill呢通过 Skill我们可以将某些能力进行模块化封装从而实现特定的工作流编排、专家领域知识沉淀以及各类工具的集成。这里我打算来一次“套娃式”的实践创建一个用于自动生成 Skill 的 Skill一是用来展示如何创建Skill二是通过这种方式再深入理解下Skill的设计理念。在实际使用时用户只需要输入该 Skill 的功能描述、使用场景以及示例用法系统便可以自动生成对应的 Skill 说明文档、描述信息等配套内容。把这个自动生成Skill的Skill命名成skill-creator。下面我们按照步骤向skill-creator的SKILL.md文件中写入以下内容一、定义skill-creator的描述信息---name: skill-creatordescription: 生成有效技能的指南。当用户想要创建新技能或更新现有技能时应该使用此技能该技能可以通过专业知识、工作流或工具集成来扩展Claude的能力。---二、解释下Skill和关于Skill技能是模块化的、自包含的软件包通过提供专业知识、工作流程和工具来扩展 Claude 的能力。可以把它们想象成特定领域或任务的入职指南——它们将 Claude 从通用型智能体转变为专业型智能体使其具备任何模型都无法完全拥有的程序性知识。Skills能提供什么专业工作流 - 特定领域的多步骤操作流程工具集成 - 使用特定文件格式或 API 的指导说明领域专长 - 企业特有知识、数据架构、业务规则资源包 - 处理复杂和重复任务所需的脚本、参考文档和相关资源核心理念简洁至上上下文窗口是一种公共资源。技能与 Claude 所需的其他所有内容共享上下文窗口系统提示词、对话历史、其他技能的元数据以及实际的用户请求。基本前提Claude 本身已经很聪明。 只需添加 Claude 还不知道的内容。对每条信息都要提出质疑Claude 真的需要这个说明吗 和 这段内容的 token 成本值得吗优先使用简洁的示例而非冗长的解释。给予恰当的自由度根据任务的脆弱性和可变性来匹配具体程度高自由度基于文本的指令当存在多种有效方法、决策取决于上下文或通过启发式方法指导时使用。中等自由度带参数的伪代码或脚本当存在首选模式、可接受一定程度的变化或配置会影响行为时使用。低自由度特定脚本、少量参数当操作容易出错且脆弱、一致性至关重要或必须遵循特定顺序时使用。可以把 Claude 想象成在探索一条路径悬崖边的狭窄桥梁需要具体的护栏低自由度而开阔的田野则允许多条路线高自由度。三、生成的Skill有哪些组成部分每个技能都包含一个必需的 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每个SKILL.md包含头部元数据YAML 格式包含 name名称和 description描述字段。这些是 Claude 判断何时使用技能的唯一依据因此清晰、全面地描述技能的功能和使用场景非常重要。主体内容Markdown 格式关于如何使用该技能的说明和指引。只有在技能被触发后才会加载如果被触发的话。可选的捆绑资源脚本 (scripts/)可执行代码Python/Bash 等适用于需要确保可靠性或经常重复编写的任务。何时使用当同一段代码需要反复编写或需要确定性的可靠执行时举例scripts/rotate_pdf.py 用于 PDF 旋转操作优点节省 token、结果确定、可能直接执行而无需加载到上下文说明Claude 仍可能需要读取脚本以进行修改或适配特定环境参考资料 (references/)文档和参考材料按需加载到上下文中用于指导 Claude 的工作流程和思考方式。何时使用当 Claude 工作时需要查阅的文档资料举例财务架构文档 references/finance.md、公司保密协议模板 references/mnda.md、公司制度 references/policies.md、API 规范 references/api_docs.md适用场景数据库模式、API 文档、专业领域知识、企业政策、详细操作指南优点让 SKILL.md 保持简洁只在 Claude 需要时才加载最佳实践如果文件很大超过 1 万字在 SKILL.md 中添加 grep 搜索模式避免重复信息应该只放在 SKILL.md 或参考文件的其中一处不要两边都有。详细信息优先放在参考文件中除非真的是技能核心——这样既能保持 SKILL.md 简洁又能让信息易于查找而不会占满上下文窗口。SKILL.md 只保留关键的操作说明和流程指引详细的参考资料、架构图和示例都移到参考文件里。资源文件 (assets/)无需加载到上下文的文件主要用于 Claude 产生的最终输出内容中。何时使用技能需要在最终成果中用到的文件举例品牌素材 assets/logo.png、PowerPoint 模板 assets/slides.pptx、HTML/React 脚手架 assets/frontend-template/、字体文件 assets/font.ttf适用场景模板文件、图像、图标、样板代码、字体、需要复制或修改的样例文档优点把输出用的资源和说明文档分开让 Claude 可以使用这些文件而不占用上下文空间技能中不应包含的内容技能应仅包含直接支持其功能的核心文件。不要创建无关的文档或辅助文件例如README.mdINSTALLATION_GUIDE.md安装指南QUICK_REFERENCE.md快速参考CHANGELOG.md变更日志等等技能只应包含 AI 智能体执行任务所需的信息。不应包含创建过程的附加说明、安装测试步骤、用户使用文档等辅助内容。添加额外的文档文件只会造成混乱和干扰。四、渐进式展开设计原则技能使用三级加载系统来高效管理上下文元数据名称 描述 - 始终在上下文中约100字SKILL.md 正文 - 当技能触发时五千字捆绑资源 - 根据 Claude 需要无限制因为脚本可以在不读入上下文窗口的情况下执行渐进式展示模式保持 SKILL.md 主体内容精简控制在 500 行以内避免上下文过度膨胀。接近这个限制时应将内容拆分成独立文件。拆分内容时务必在 SKILL.md 中引用这些文件并明确说明何时查阅确保技能使用者知道这些文件的存在及其使用时机。核心原则 当技能支持多种变体、框架或选项时SKILL.md 中只保留核心工作流和选择指引。将各变体的具体细节模式、示例、配置移至独立的参考文件。五、Skill创建流程技能创建包括以下步骤通过具体示例理解技能规划可重用的技能内容脚本、参考资料、资源文件初始化技能运行 init_skill.py编辑技能实现资源并编写 SKILL.md打包技能运行 package_skill.py基于实际使用进行迭代按顺序遵循这些步骤除非有明确理由说明某步骤不适用才可跳过。步骤 1通过具体示例理解技能仅当技能的使用模式已经非常清楚时才跳过此步骤。即使在处理现有技能时这一步骤仍然很有价值。要创建有效的技能需要清楚理解该技能将如何被使用的具体示例。这种理解可以来自用户直接提供的示例或经过用户反馈验证的生成示例。例如在构建图像编辑器技能时相关问题包括图像编辑器技能应该支持什么功能编辑、旋转还有其他吗你能给出一些这个技能如何使用的示例吗我可以想象用户会提出去除这张图片的红眼或旋转这张图片之类的请求。你还能想到这个技能的其他使用方式吗用户会说什么来触发这个技能为避免让用户不知所措避免在单条消息中提出太多问题。从最重要的问题开始根据需要跟进以提高效率。当对技能应支持的功能有了清晰认识时即可结束此步骤。步骤 2规划可重用的技能内容要将具体示例转化为有效的技能需要通过以下方式分析每个示例考虑如何从零开始执行该示例识别在重复执行这些工作流程时哪些脚本、参考资料和资源文件会有帮助示例在构建 pdf-editor 技能来处理帮我旋转这个 PDF之类的查询时分析显示旋转 PDF 每次都需要重写相同的代码将 scripts/rotate_pdf.py 脚本存储在技能中会很有帮助示例在设计 frontend-webapp-builder 技能来处理给我做个待办事项应用或做个仪表板追踪我的步数之类的查询时分析显示编写前端网页应用每次都需要相同的样板 HTML/React 代码将包含样板 HTML/React 项目文件的 assets/hello-world/ 模板存储在技能中会很有帮助示例在构建 big-query 技能来处理今天有多少用户登录了之类的查询时分析显示查询 BigQuery 每次都需要重新发现表结构和关系将记录表结构的 references/schema.md 文件存储在技能中会很有帮助要确定技能的内容需要分析每个具体示例创建要包含的可重用资源清单脚本、参考资料和资源文件。步骤 3初始化技能到这一步就该真正创建技能了。仅当正在开发的技能已经存在需要进行迭代或打包时才跳过此步骤。在这种情况下继续下一步。从零开始创建新技能时始终运行 init_skill.py 脚本。该脚本会方便地生成一个新的技能目录模板自动包含技能所需的一切使技能创建过程更加高效和可靠。用法scripts/init_skill.py 技能名称 --path 输出目录该脚本会在指定路径创建技能目录生成带有正确前言信息和待办事项占位符的 SKILL.md 模板创建示例资源目录scripts/、references/ 和 assets/在每个目录中添加可以自定义或删除的示例文件初始化后根据需要自定义或删除生成的 SKILL.md 和示例文件。步骤 4编辑技能在编辑新生成或现有的技能时请记住该技能是为另一个Claude实例使用而创建的。包含对Claude有益且不明显的信息。考虑哪些程序性知识、领域特定细节或可重用资源能帮助另一个Claude实例更有效地执行这些任务。4.1 学习经过验证的设计模式根据技能需求查阅以下有用的指南多步骤流程参见 references/workflows.md 了解顺序工作流程和条件逻辑特定输出格式或质量标准参见 references/output-patterns.md 了解模板和示例模式这些文件包含了有效技能设计的成熟最佳实践。4.2 从可重用的技能内容开始要开始实现从上面识别的可重用资源开始scripts/、references/ 和 assets/ 文件。请注意此步骤可能需要用户输入。例如在实现 brand-guidelines 技能时用户可能需要提供品牌资源或模板存储在 assets/ 中或提供文档存储在 references/ 中。添加的脚本必须通过实际运行来测试以确保没有错误且输出符合预期。如果有许多类似的脚本只需测试代表性样本即可确保它们都能工作同时平衡完成时间。不需要用于该技能的任何示例文件和目录都应删除。初始化脚本会在 scripts/、references/ 和 assets/ 中创建示例文件来演示结构但大多数技能不需要所有这些文件。4.3 生成 SKILL.md文件编写准则 始终使用祈使句/不定式形式。前言信息编写包含 name 和 description 的 YAML 前言name技能名称description这是技能的主要触发机制帮助 Claude 理解何时使用该技能。包含技能的功能和使用时机的具体触发条件/上下文。将所有何时使用的信息都包含在这里 - 不要放在正文中。正文只在触发后才加载因此正文中的何时使用此技能部分对 Claude 没有帮助。docx 技能的描述示例全面的文档创建、编辑和分析功能支持修订追踪、评论、格式保留和文本提取。当 Claude 需要处理专业文档.docx 文件时使用包括(1) 创建新文档(2) 修改或编辑内容(3) 处理修订追踪(4) 添加评论或任何其他文档任务。不要在 YAML 前言中包含任何其他字段。正文羌诵伦号
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2491869.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!