Cate 扩展开发技能
构建、测试并在 Cate 无限画布上发布扩展面板。
技能文档明确描述了基于作用域的默认拒绝安全模型、用户同意要求、服务器必须绑定127.0.0.1且验证令牌、发布时进行安全审查等。同时提供了清晰的回滚和恢复路径(如重启、重新发布)。发布者身份未经验证,但文档本身未隐瞒风险。扣分原因:权限最小化、确认和回滚机制虽已描述,但缺乏实际执行证据或具体实现细节,且发布者未验证。
技能文档自洽,提供了清晰的构建、测试和发布流程,以及明确的错误处理方式(如'无法继续'的说明)。但静态审查无法验证实际运行情况,且未提供可复现的测试用例或错误处理示例。扣分原因:愉快路径可行但测试和边界情况处理证据不足。
技能目标场景明确(创建Cate扩展),提供了清晰的边界(如无终端作用域)和触发条件(使用manifest、cateApi等)。但环境适配性不足:核心功能可能依赖GitHub上的外部服务,在中国大陆访问可能受限。扣分原因:未明确说明非目标范围,且对网络环境需求未做充分披露。
文档结构清晰,有分层递进的信息(从简介到详细API),包含安装指南、示例和FAQ(通过参考资料),并声明了已知限制。但缺少版本历史、完整的变更日志和维护责任声明。扣分原因:缺少版本控制信息和维护路径说明,发布者身份未验证。
技能声称能完成创建、测试、发布扩展的任务,提供了具体的步骤和验证方法(如./build.sh)。但静态审查无法验证实际输出质量,且未提供代表性输出样例。边际价值高于手动操作,但证据有限。扣分原因:核心任务完成可能性高但输出完整性和直接可用性证据不足。
文档提供了构建和测试的命令,但静态审查无法复现执行。虽有CI工作流文件(ci.yml)显示在多个平台构建和测试,但未覆盖技能关键路径的独立可复现结果。扣分原因:无执行证据,主要依赖作者描述和静态文件。
- 该技能的核心功能可能依赖GitHub上的服务(如cate-extensions仓库),在中国大陆网络环境下可能无法访问,需考虑替代方案。
- 发布者身份未经验证,尽管文档描述了安全机制,但实际执行中的安全性需在真实环境中验证。
- 静态审查无法验证运行行为,建议在真实环境中测试技能的关键路径。
这个 Skill 能做什么,适合哪些场景?
本技能指导用户在 Cate 的无限画布上创建扩展:包括纯前端面板,以及带本地服务器的后端扩展。它详细说明了清单(manifest.json)、作用域(cateApi)和 window.cate 宿主 API,并解释了如何将扩展发布到官方目录。它区分了前端的纯静态扩展和需要服务的扩展,并概述了本地开发循环以及提交到目录仓库的流程。
根据用户的请求,创建一个新的 Cate 扩展项目结构,包括 manifest.json、README.md,以及可选的包配置和源代码目录。它指导用户编写清单字段,如 id、version、category、panels、server 和 cateApi 作用域。它解释了 window.cate API 的每一个方法及其对应的作用域,用于访问主题、存储、编辑器、工作区、画布、代理、浏览器、文件拖放和 UI 通知。它提供了在本地运行扩展的说明:侧载文件夹或使用本地目录。最后,它解释了如何将扩展发布到 cate-extensions 目录仓库,包括同步 UI 套件、运行 build.sh 验证以及通过 PR 合并自动发布。
- Cate 用户想要创建一个小型私有工作区面板,例如 JSON 格式化工具或笔记视图,可以通过就地搭建得到。
- 希望构建一个面向公众的扩展,并使用共享 UI 套件以及标准发布流程的开发者,会克隆 cate-extensions 仓库并搭建目录。
- 希望为其内部工具添加文件系统、网络或进程访问权限的开发者,可以选择带服务器的后端扩展,使用 Node 服务器。
- 希望为现有扩展添加新的面板,或修改清单以请求新作用域的开发者。
- 希望将扩展提交到官方目录,并需要理解 PR 审查流程和发布机制的开发者。
这个 Skill 有哪些优点和局限?
- 提供清晰的分步指导,涵盖从搭建到发布全过程。
- 包含完整的 window.cate API 参考,并附有作用域表。
- 明确了纯前端和带服务器后端扩展的区别。
- 强调了安全工作(HOST 绑定、作用域限制)。
- 包含预提交检查清单。
- 仅适用于 Cate 特定扩展,不适用于其他软件。
- 外部服务(如目录仓库)不在本技能范围内,但已经有仓库 URL。
- 未提供实际示例代码,需要参考已发布的扩展。
- 测试要求未详细说明,仅提到使用 vitest 约定。
如何安装这个 Skill?
该技能本身不需要安装,因为它作为技能仓库提供。要使用它,请确保你的代理可以访问此技能文件(SKILL.md)。要设置 Cate,请从 GitHub 发布页下载最新版本。
如何使用这个 Skill?
启动技能并请求如“为我的项目创建一个 Cate 扩展”之类的操作。然后按照指南操作:决定是纯前端还是带服务器后端,选择是在目录仓库中搭建还是就地搭建。编辑 manifest.json,声明所需的作用域(cateApi),并参照 window.cate API 文档实现前端。在本地通过侧载文件夹测试。最后,按照发布部分提交 PR 到 cate-extensions 仓库。