PR Checklist
【免费下载链接】cherry-studio🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端项目地址: https://gitcode.com/CherryHQ/cherry-studio
- Tests added for new functionality
- No console.log statements
- Error handling includes user-facing messages
- API changes are backwards compatible
- Database migrations are reversible
要点:`context: fork` 让审查在隔离子代理中运行;`` !`gh pr diff` `` 动态注入真实 diff。`allowed-tools` 语义上要求具备执行能力,配合清单可输出逐项 ✅/❌ 的审查结论。 ### 8.6 发布说明生成器(Git 历史聚合) 从 Git 历史生成发布说明: **SKILL.md:** ```yaml --- name: release-notes description: Generate release notes from commits since last tag disable-model-invocation: true --- ## Recent Changes - Commits since last tag: !`git log $(git describe --tags --abbrev=0)..HEAD --oneline` - Last tag: !`git describe --tags --abbrev=0` Generate release notes: 1. Group commits by type (feat, fix, docs, etc.) 2. Write user-friendly descriptions 3. Highlight breaking changes 4. Format as markdown要点:完全依赖动态上下文注入获取提交历史,无需任何参考文件,是一个"纯指令型" Skill 的典型。
8.7 项目约定(Claude 专属背景知识)
Claude 自动套用的背景知识:
SKILL.md:
--- name: project-conventions description: Code style and patterns for this project. Apply when writing or reviewing code. user-invocable: false --- ## Naming Conventions - React components: PascalCase - Utilities: camelCase - Constants: UPPER_SNAKE_CASE - Files: kebab-case ## Patterns - Use `Result<T, E>` for fallible operations, not exceptions - Prefer composition over inheritance - All API responses use `{ data, error, meta }` shape ## Forbidden - No `any` types - No `console.log` in production code - No synchronous file I/O要点:user-invocable: false使 Claude 在写代码/审查时自动应用这些约定,用户无需手动调用。这与 Cherry Studio 内置 cherry-assistant-guide/SKILL.md 的定位一致——后者作为后台知识约束助手"不凭记忆回答产品问题,必须先读当前安装包清单"。
8.8 环境搭建(前置脚本)
用脚本引导新开发者完成环境配置:
.claude/skills/setup-dev/ ├── SKILL.md └── scripts/ └── check-prerequisites.shSKILL.md:
--- name: setup-dev description: Set up development environment for new contributors disable-model-invocation: true --- Set up development environment: 1. Check prerequisites: `bash scripts/check-prerequisites.sh` 2. Install dependencies: `npm install` 3. Copy environment template: `cp .env.example .env` 4. Set up database: `npm run db:setup` 5. Verify setup: `npm test` Report any issues encountered.要点:把 onboarding 文档固化为可执行步骤序列,新成员一条命令触发、逐步完成配置并反馈问题。
九、Cherry Studio 中的 Skills 生态:从内置 Skill 到市场安装
9.1 内置 Skills 的加载与镜像
Cherry Studio 将内置 Agent 的 Skills 直接打包在仓库的resources/builtin-agents/cherry-assistant/.claude/skills/下,运行时由SkillService统一扫描管理。从源码看(SkillService.ts),用户级 Skills 位于<userData>/Data/Agents/.claude/skills,内置项则作为应用持有的镜像出现;系统还会执行完整性检查(presence + authored-skill change detection),并清理已消失的非内置条目(SkillService.ts)。
9.2 内置 Skill 实战:skills-manager 的安装工作流
skills-manager/SKILL.md 展示了 Cherry Studio 中安装与创建 Skill 的完整降级链路:
- 搜索:优先调用
find-skills,不可用时降级为 CLI——npx skills find [query](备选$CHERRY_STUDIO_BUN_PATH x skills,都没有则提示安装 Node.js); - 安装:
npx skills add <owner/repo@skill> -y,位置为项目级.claude/skills/或用户级~/.claude/skills/; - 创建:优先调用内置
skill-creator走完整的需求澄清、初始化、编辑、验证、迭代流程;不可用时降级npx skills init <skill-name>,并保持SKILL.md精简、按需补充scripts/、references/、assets/; - 验证底线:创建后至少验证 frontmatter、触发描述和一个真实用例,验证失败则修正后重跑。
9.3 内置 Skill 实战:Skill 市场(Marketplace)
cherry-skill-marketplace/SKILL.md 定义了市场搜索与安装的 MCP 协议式操作:
- 搜索:
mcp__skills__search_skills,参数{ "query": "1-3 个聚焦关键词" }; - 安装:
mcp__skills__install_skill,参数{ "install_source": "<搜索结果的原值>" },其中install_source是不透明值,必须逐字使用搜索结果返回的原值,不得自行构造; - 安全边界:安装前说明 Skill 是第三方代码、会继承当前工具权限,须取得用户明确同意;删除/卸载需先通过产品清单导航到 Skills UI 并再次确认名称。
9.4 内置 Skill 实战:Claude 自动化推荐器(本文档的宿主)
claude-automation-recommender是仓库内随附的推荐型 Skill,其 SKILL.md 定义了跨 Hooks / Subagents / Skills / Plugins / MCP 五类的代码库自动化推荐流程,并包含 Cherry Studio 特有的Phase 0 扫描确认门(上游未含):扫描前必须公布读取计划与 token 预算(典型中型仓库约 20–40K tokens),获得用户明确确认后才进入分析;用户拒绝时可提供缩小范围、仅口头咨询或延后处理三种替代方案(见 NOTICE.md)。它在 Phase 2 的 Skills 推荐中直接引用本文档所在的 skills-reference.md,并给出"代码库信号 → 要创建的 Skill → 调用方式"对照表:
| 代码库信号 | 要创建的 Skill | 调用方式 |
|---|---|---|
| API 路由 | api-doc(含 OpenAPI 模板) | 用户 + Claude |
| 数据库项目 | create-migration(含校验脚本) | 仅用户 |
| 测试套件 | gen-test(含示例测试) | 仅用户 |
| 组件库 | new-component(含模板) | 仅用户 |
| PR 工作流 | pr-check(含清单) | 仅用户 |
| 发布 | release-notes(含 git 上下文) | 仅用户 |
| 代码风格 | project-conventions | 仅 Claude |
| 新人 onboarding | setup-dev(含前置脚本) | 仅用户 |
9.5 决策框架:何时推荐哪种自动化
Skill 并非万能,应在合适场景推荐:
推荐 Skills 的场景:频繁重复的提示词或工作流;带参数的项目专属任务;需要把模板或脚本应用到任务上(Skill 可捆绑辅助文件);通过/skill-name快速触发的动作;需要在隔离环境运行的工作流(context: fork)。
推荐 Hooks 的场景:重复性的编辑后动作(格式化、lint);保护性规则(阻止敏感文件被编辑);校验检查(测试、类型检查)。对应参考见 hooks-patterns.md。
推荐 Subagents 的场景:需要专业能力(安全、性能);并行审查工作流;后台质量检查。
推荐 Plugins 的场景:需要多个相关 Skill;想要开箱即用的自动化捆绑包;团队级标准化。
推荐 MCP Servers 的场景:需要外部服务集成(数据库、API);库/SDK 文档查询;浏览器自动化或测试;团队工具集成(GitHub、Linear、Slack);云基础设施管理。
十、从参考文档到生产实践:推荐输出格式
当推荐器产出结论时,遵循"每类仅给 1–2 个最优推荐"的输出纪律(用户指定类型时给 3–5 个),并采用结构化报告格式:
## Claude Code Automation Recommendations ### Codebase Profile - **Type**: [detected language/runtime] - **Framework**: [detected framework] - **Key Libraries**: [relevant libraries detected] ### 🎯 Skills #### [skill name] **Why**: [specific reason] **Create**: `.claude/skills/[name]/SKILL.md` **Invocation**: User-only / Both / Claude-only **Also available in**: [plugin-name] plugin (if applicable)【免费下载链接】cherry-studio🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端项目地址: https://gitcode.com/CherryHQ/cherry-studio
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考