--- name: 插件开发协作反馈 description: 在此 marketplace 项目中开发插件时需遵守的协作规范和经验教训 type: feedback last_updated: 2026-05-01 commit: 0c46ed0 --- # 插件开发协作规范 ## 新增插件时必须同步更新四个位置 **规范**:新增插件必须同步修改:① `plugins//` 目录 ② `plugins//.claude-plugin/plugin.json` ③ `.claude-plugin/marketplace.json` 的 plugins 数组 ④ `CLAUDE.md` 的已发布插件表格。 **Why**:marketplace.json 是 Claude Code 的安装入口,CLAUDE.md 是新会话的参考文档,两者不更新会导致插件不可被发现。 **How to apply**:每次创建插件后用 checklist 验证四处都已修改。 --- ## cp -r 复制目录时注意目标路径存在与否 **规范**:用 `cp -r source/ dest/` 复制 skill 目录时,若 `dest/` 目录不存在,source 内容会直接成为 `dest/`(而非 `dest/source/`)。 **Why**:本次将 huanxi-shared 复制到 skills/ 目录时,因为 skills/ 不存在,SKILL.md 直接落在了 skills/ 下而非 skills/huanxi-shared/ 下,需要手动修复。 **How to apply**:多目录批量复制时,先 `mkdir -p` 目标目录,再逐个 `cp -r`;或改用第一个 `cp -r` 后检查结构。 --- ## 引入 Skill 相对路径时需考虑运行时路径解析 **规范**:SKILL.md 中引用其他 skill 文件时使用 `../sibling-skill/SKILL.md` 的相对路径(如 huanxi-* 系列引用 huanxi-shared),这种模式在 Claude Code 插件的 skill 目录结构下是可行的,但依赖 Claude 正确解析路径。 **Why**:validator 审查时指出相对路径存在解析风险,但由于 huanxi-* 系列已在用户本地以相同目录结构正常工作,打包后一致性可保持。 **How to apply**:若未来发现 Read 相对路径失败,改为在每个 skill 内联关键共享规则(工具签名表、缓存 TTL),降低对 Read 成功的依赖。 --- ## SKILL.md description 使用用户口语,不用内部视角 **规范**:frontmatter 的 `description` 字段应描述用户会说的话("我有哪些模块"、"帮我写日报"),不要写内部触发条件("当需要解析模块名/人员名为 ID 时触发")。 **Why**:description 是 Claude Code 判断何时触发该技能的依据,也是展示给用户的摘要。内部视角语言对用户无意义,且不能有效触发。 **How to apply**:新建 skill 时,先想"用户实际会怎么说这个需求",用这些词写 description。 --- ## plugin-validator 和 skill-reviewer 审查之后要对照实际代码修正工具签名 **规范**:Plugin 审查发现工具名称错误时(如 report_submit vs report_submit_item),必须回到源代码(`huanxi_mcp/tools/*.py`)确认实际函数签名,以代码为准修正 skill 描述。 **Why**:本次发现 huanxi-shared 工具索引中 report_submit/withdraw 用了旧名,leader_report_submit/withdraw 缺必填参数,weekly_report_save 参数名用 week 而非 week_number,这些都是 MCP 升级后 skill 未同步导致的。 **How to apply**:每次 MCP server 工具链升级后,运行 plugin-validator 对照检查 skill 中的工具调用。