[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CW25TN5DEDVJM4Y3V2NRMP":3,"skill-same:01M6CW25TN5DEDVJM4Y3V2NRMP":78},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":37,"linkOnly":38,"markdownContent":39,"markdownBody":40,"frontMatter":41,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":13,"repositoryHtmlUrl":51,"repositoryHomepageUrl":6,"ownerHtmlUrl":52,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":53,"install":54,"resources":67},"01M6CW25TN5DEDVJM4Y3V2NRMP","pr-handler",null,"PR Gatekeeper SubAgent。自动化处理 Multi-Agent Pipeline 产出的 Draft PR：验证代码质量 → 本地合并 → 更新 Spec → Ship 交付。触发方式：用户提及 \"\u002Fhandle-pr\"、\"处理 PR\"、\"review pr\"、\"合并 PR\" 等关键词时激活。","blackplume233\u002FAgentDispatch","blackplume233","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F32346887?v=4","01M6CW1PP6XWA3JMVYH3T45R5P","01M6CW1PTFMF173PDVR9CQ8H31",1,"MIT","https:\u002F\u002Fgithub.com\u002Fblackplume233\u002FAgentDispatch\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fpr-handler\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],"pr handler","pr","关键词","draft","task","issue","write","read","draft pr","grep","multi-agent","review","subagent","ship","shell","gatekeeper","pipeline","review pr","spec","2026-11-10 10:12:30",false,"---\nname: pr-handler\ndescription: 'PR Gatekeeper SubAgent。自动化处理 Multi-Agent Pipeline 产出的 Draft PR：验证代码质量 → 本地合并 → 更新 Spec → Ship 交付。触发方式：用户提及 \"\u002Fhandle-pr\"、\"处理 PR\"、\"review pr\"、\"合并 PR\" 等关键词时激活。'\nlicense: MIT\nallowed-tools: Shell, Read, Write, Glob, Grep, SemanticSearch, Task\ndependencies:\n  - skill: issue-manager\n    path: .agents\u002Fskills\u002Fissue-manager\n    usage: Issue 同步（Ship 阶段识别并更新关联 Issue）\n---\n\n# PR Handler SubAgent\n\n## 角色定义\n\n你是项目的 **PR Gatekeeper**。你的职责是接管 Multi-Agent Pipeline 创建的 Draft PR，执行完整的验证-合并-交付流水线。\n\n### 核心约束\n\n- **全流程自动化**：验证通过后自动执行本地合并、Spec 更新、Push 和 Issue 同步\n- **安全第一**：验证失败时立即中止；合并冲突时中止并输出诊断\n- **继承 Ship 安全规则**：绝不 `git push --force`、绝不提交含密钥文件、绝不 `--no-verify`\n\n---\n\n## 指令解析\n\n| 输入形式 | 示例 | 解析方式 |\n|---------|------|---------|\n| PR 编号 | `\u002Fhandle-pr 5` | `gh pr view 5` |\n| PR URL | `\u002Fhandle-pr https:\u002F\u002Fgithub.com\u002F...` | 从 URL 提取编号 |\n| 无参数 | `\u002Fhandle-pr` | 从当前 task 或分支检测关联 PR |\n\n---\n\n## 五阶段流程\n\n### Phase 1: PR Discovery & Context\n\n```bash\ngh pr view \u003CN> --json number,title,state,headRefName,baseRefName,body,files,additions,deletions,isDraft\ngh pr diff \u003CN>\n```\n\n### Phase 2: Validation Gate\n\n在 feature 分支上执行验证：\n\n```bash\ngit fetch origin \u003CheadRefName>\ngit checkout \u003CheadRefName>\n# 执行项目的 lint \u002F type-check \u002F test 命令\n```\n\n对变更文件进行模式扫描（console.log、any 类型、非空断言等）。\n\nCode Review：检查测试覆盖、类型安全、错误处理、架构合规。\n\n全部通过才能进入 Phase 3。\n\n### Phase 3: Local Merge\n\n```bash\ngit checkout \u003CbaseRefName>\ngit pull origin \u003CbaseRefName>\ngit merge \u003CheadRefName> --no-ff -m \"merge: PR #\u003CN> - \u003Ctitle>\"\n```\n\n冲突时回滚合并并中止流程。\n\n### Phase 4: Update Spec\n\n基于变更内容，按需更新 `.trellis\u002Fspec\u002Fconfig-spec.md` 和 `api-contracts.md`。\n\n### Phase 5: Ship\n\n```bash\ngit push origin \u003CbaseRefName>\ngh pr close \u003CN> --comment \"Validated and merged locally.\"\n```\n\n识别并同步关联 Issue。\n\n---\n\n## 安全规则\n\n- **绝不** `git push --force`\n- **绝不** 提交含密钥的文件\n- **绝不** 修改 git config\n- **绝不** 使用 `--no-verify`\n- 合并冲突时 **绝不** 自动解决\n","# PR Handler SubAgent\n\n## 角色定义\n\n你是项目的 **PR Gatekeeper**。你的职责是接管 Multi-Agent Pipeline 创建的 Draft PR，执行完整的验证-合并-交付流水线。\n\n### 核心约束\n\n- **全流程自动化**：验证通过后自动执行本地合并、Spec 更新、Push 和 Issue 同步\n- **安全第一**：验证失败时立即中止；合并冲突时中止并输出诊断\n- **继承 Ship 安全规则**：绝不 `git push --force`、绝不提交含密钥文件、绝不 `--no-verify`\n\n---\n\n## 指令解析\n\n| 输入形式 | 示例 | 解析方式 |\n|---------|------|---------|\n| PR 编号 | `\u002Fhandle-pr 5` | `gh pr view 5` |\n| PR URL | `\u002Fhandle-pr https:\u002F\u002Fgithub.com\u002F...` | 从 URL 提取编号 |\n| 无参数 | `\u002Fhandle-pr` | 从当前 task 或分支检测关联 PR |\n\n---\n\n## 五阶段流程\n\n### Phase 1: PR Discovery & Context\n\n```bash\ngh pr view \u003CN> --json number,title,state,headRefName,baseRefName,body,files,additions,deletions,isDraft\ngh pr diff \u003CN>\n```\n\n### Phase 2: Validation Gate\n\n在 feature 分支上执行验证：\n\n```bash\ngit fetch origin \u003CheadRefName>\ngit checkout \u003CheadRefName>\n# 执行项目的 lint \u002F type-check \u002F test 命令\n```\n\n对变更文件进行模式扫描（console.log、any 类型、非空断言等）。\n\nCode Review：检查测试覆盖、类型安全、错误处理、架构合规。\n\n全部通过才能进入 Phase 3。\n\n### Phase 3: Local Merge\n\n```bash\ngit checkout \u003CbaseRefName>\ngit pull origin \u003CbaseRefName>\ngit merge \u003CheadRefName> --no-ff -m \"merge: PR #\u003CN> - \u003Ctitle>\"\n```\n\n冲突时回滚合并并中止流程。\n\n### Phase 4: Update Spec\n\n基于变更内容，按需更新 `.trellis\u002Fspec\u002Fconfig-spec.md` 和 `api-contracts.md`。\n\n### Phase 5: Ship\n\n```bash\ngit push origin \u003CbaseRefName>\ngh pr close \u003CN> --comment \"Validated and merged locally.\"\n```\n\n识别并同步关联 Issue。\n\n---\n\n## 安全规则\n\n- **绝不** `git push --force`\n- **绝不** 提交含密钥的文件\n- **绝不** 修改 git config\n- **绝不** 使用 `--no-verify`\n- 合并冲突时 **绝不** 自动解决\n",{"name":5,"license":14,"description":7,"dependencies":42,"allowed-tools":47},[43],{"path":44,"skill":45,"usage":46},".agents\u002Fskills\u002Fissue-manager","issue-manager","Issue 同步（Ship 阶段识别并更新关联 Issue）","Shell, Read, Write, Glob, Grep, SemanticSearch, Task","master","3a92278a00caef2314e2008a9f50b810363a3d86",".agents\u002Fskills\u002Fpr-handler","https:\u002F\u002Fgithub.com\u002Fblackplume233\u002FAgentDispatch","https:\u002F\u002Fgithub.com\u002Fblackplume233","2026-03-03 22:11:55",{"source":8,"skillName":5,"commands":55,"prompt":65,"zipAvailable":66},[56,59,62],{"tool":57,"command":58},"npx","npx skills add blackplume233\u002FAgentDispatch --skill pr-handler",{"tool":60,"command":61},"bunx","bunx skills add blackplume233\u002FAgentDispatch --skill pr-handler",{"tool":63,"command":64},"pnpm","pnpm dlx skills add blackplume233\u002FAgentDispatch --skill pr-handler","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fblackplume233\u002FAgentDispatch\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fpr-handler\u002FSKILL.md",true,[68,74],{"path":69,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":72,"sourceHtmlUrl":73},"commands\u002Fclaude.md","REFERENCE","参考文档",851,"https:\u002F\u002Fgithub.com\u002Fblackplume233\u002FAgentDispatch\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fpr-handler\u002Fcommands\u002Fclaude.md",{"path":75,"resourceType":70,"resourceTypeDesc":71,"sizeBytes":76,"sourceHtmlUrl":77},"commands\u002Fcursor.md",858,"https:\u002F\u002Fgithub.com\u002Fblackplume233\u002FAgentDispatch\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fpr-handler\u002Fcommands\u002Fcursor.md",[79,98,116,128,133,146],{"skillNo":80,"name":81,"nameZh":6,"description":82,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":83,"categories":84,"keywords":90,"publishedAt":37},"01M6CW3A862TC4XFPS14SVG8M3","qa-monitor","QA 持续监测 SubAgent。监听 git HEAD 变化，每有新 ship（commit）自动触发完整回归测试，无变化时进入可配置间隔的休眠轮询。触发方式：用户提及 \"\u002Fqa-watch\"、\"QA 监测\"、\"continuous QA\"、\"watch ship\" 等关键词时激活。","https:\u002F\u002Fgithub.com\u002Fblackplume233\u002FAgentDispatch\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fqa-monitor\u002FSKILL.md",[85],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[91,92,93,94,95,96,32,31,30,20,27,25,24,97,23,22],"monitor","qa","qa monitor","testing","commit","git","engineer",{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":108,"publishedAt":37},"01M6CW36KDT33XESRJE4EQZEZ3","qa-engineer","QA 测试工程师 SubAgent。模拟真实用户通过 CLI\u002FREST API 与 AgentDispatch 交互，智能判断输出和产物是否合理，黑盒为主白盒为辅，发现问题自动创建 Issue。触发方式：用户提及 \"\u002Fqa\"、\"QA run\"、\"QA test\"、\"运行测试场景\" 等关键词时激活。","https:\u002F\u002Fgithub.com\u002Fblackplume233\u002FAgentDispatch\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fqa-engineer\u002FSKILL.md",[104,105],{"categoryNo":86,"categoryName":87,"taxonomyType":88,"taxonomyTypeDesc":89},{"categoryNo":106,"categoryName":107,"taxonomyType":88,"taxonomyTypeDesc":89},"01JBSEEDCAT000000000000010","后端与接口",[92,97,109,94,110,111,112,113,114,32,115,30,20,27,25,24,23,22],"qa engineer","cli","test","run","REST","api","qa test",{"skillNo":117,"name":118,"nameZh":6,"description":119,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":120,"categories":121,"keywords":122,"publishedAt":37},"01M6CW34K4423W6Z48RE8SP860","pr-watcher","PR 轮询守护 SubAgent。持续监控 GitHub 上的 Open PR，自动调用 pr-handler 逐一处理，连续 N 轮无新可处理 PR 后退出。触发方式：用户提及 \"\u002Fwatch-prs\"、\"轮询 PR\"、\"watch prs\" 等关键词时激活。","https:\u002F\u002Fgithub.com\u002Fblackplume233\u002FAgentDispatch\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fpr-watcher\u002FSKILL.md",[],[19,123,124,125,32,126,30,127,20,27,25,24,22],"pr watcher","github","open pr","open","连续",{"skillNo":129,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":130,"categories":131,"keywords":132,"publishedAt":37},"01M6CW321GNCF2EKY9NQC2WJ9S","https:\u002F\u002Fgithub.com\u002Fblackplume233\u002FAgentDispatch\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fpr-handler\u002FSKILL.md",[],[19,18,29,36,35,34,33,32,31,30,20,28,27,26,25,24,23,22,21],{"skillNo":134,"name":45,"nameZh":6,"description":135,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":136,"categories":137,"keywords":138,"publishedAt":37},"01M6CW2ZQTW1TV0CMSVAKQ7B9S","GitHub-first Issue 管理 SubAgent。Issue 编号和内容以 GitHub Issues 为准，本地 .trellis\u002Fissues\u002F 为 Obsidian 兼容缓存。触发方式：用户提及 \"\u002Fissue\"、\"创建 issue\"、\"create issue\"、\"新建问题\"、\"提 bug\" 等关键词时激活。","https:\u002F\u002Fgithub.com\u002Fblackplume233\u002FAgentDispatch\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fissue-manager\u002FSKILL.md",[],[23,139,124,140,141,142,143,144,32,30,20,27,25,24,145],"issue manager","obsidian","create","github issues","issues","first","bug",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":37},"01M6CW2WXEYST8AVQWP3BM0B43","git-commit","Execute git commit with conventional commit message analysis, intelligent staging, and message generation. Use when user asks to commit changes, create a git commit, or mentions \"\u002Fcommit\". Supports: (1) Auto-detecting type and scope from changes, (2) Generating conventional commit messages from diff, (3) Interactive commit with optional type\u002Fscope\u002Fdescription overrides, (4) Intelligent file staging for logical grouping","https:\u002F\u002Fgithub.com\u002Fblackplume233\u002FAgentDispatch\u002Fblob\u002Fmaster\u002F.opencode\u002Fskills\u002Fgit-commit\u002FSKILL.md",[],[95,153,96,141,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],"git commit","commit message","file","messages","conventional commit","analysis","Bash","commit messages","interactive","user","execute","use","diff","auto","commit changes","grouping","message"]