Community编程与开发github.com

gutsofpratik/OpenClaude

在确认没有现有叶子工具能完成任务时,通过已验证的现有 OpenClaude 工具序列创建一个可复用的带类型工具。

OpenClaude 是什么?

该技能(OpenClaude)提供了一种结构化的方法来扩展 AI 代理(如 Claude Code)的功能,通过将已验证的工具调用序列组合成持久化的、可复用的自定义工具。它的核心规则是:在创建新工具之前,应先使用 `custom_tool_list` 发现并重用现有工具,仅当现有叶子工具无法满足一次性工作时,才考虑直接调用工具。创建过程使用 `custom_tool_create`,命名必须以 `user_` 为前缀,并明确定义工具的用途、输入参数(支持 string, number, boolean, object, array 等类型)及其是否必需。工作流中每个步骤由一个唯一 ID、一个现有叶子工具名及匹配其模式的参数组成,参数构建支持使用 `$input` 引用命名输入、使用 `$step` 读取前序步骤的 `data.result` 路径,或直接使用字面量 JSON。该技能适用于桌面端环境(要求终端可用),新创建的工具会立即可见且应用重启后仍然存在。执行时受原有注册表约束(包括权限、无记忆/隐身模式、版本限制、取消和运行时可用性),失败步骤会返回已完成步骤和错误信息。注意:网关、其他工作流和编排工具不能作为步骤;对于新的可执行逻辑,应先在工作区脚本中创建并测试合规的文件/终端工具,然后封装真实的终端调用。工具删除仅通过 `custom_tool_delete` 按请求执行。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gutsofpratik/OpenClaude/tree/HEAD/skills/built-in/tool-author

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

在添加新工具前先发现现有工具;对于一次性工作,优先直接调用工具。custom_tool_list 用于查找已保存的工作流。使用 custom_tool_create 创建命名的可复用序列。名称必须以 user_ 开头。请精确描述其用途,并用名称、类型、描述和必要标志定义带类型参数。支持的类型有 string、number、boolean、object 和 array。

每个步骤需要一个唯一 ID、一个现有的叶子工具名,以及与该工具模式匹配的参数。在参数中,{"$input":"表达式"} 用于替换命名输入。{"$step":"前序步骤","path":"结果"} 用于读取前序步骤的 data.result。其他 JSON 为字面量。引用必须指向之前的步骤;请先检查实际结果的结构。可选输入需要在任何需要它的步骤中提供固定的字面量,或者改为必要输入。

示例:参数 [{"name":"表达式","type":"string","description":"数值运算","required":true}],步骤 [{"id":"答案","tool":"计算","arguments":{"表达式":{"$input":"表达式"}}}]。先发现 计算 工具,然后创建并用无害输入进行测试。

新工具立即可见且应用重启后仍然存在。工作流通过现有注册表执行:权限、无记忆/隐身模式、版本限制、取消和运行时可用性仍然适用。失败步骤会停止执行,并返回已完成步骤和错误信息;重试前请检查副作用。切勿盲目重复已完成的外部操作。网关、其他工作流和编排工具不能作为步骤。对于新的可执行逻辑,请在工作区脚本中创建并测试允许的文件/终端工具,然后封装真实的终端调用;此功能仅限桌面端且需终端访问可用。不要声称一个技能或 JSON 定义能创建新的原生能力。仅在请求时使用 custom_tool_delete 删除过时的工具。

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

相关技能