一键导入
scope-check
分支受控检查:分析当前分支所有变更,自动识别开发的 Agent,逐文件分类为 owned/shared/foreign, 检测越界修改和 append-only 违规。用于提交前或交接时的边界审计。 触发词: "/scope-check", "边界检查", "检查边界", "受控检查"
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
分支受控检查:分析当前分支所有变更,自动识别开发的 Agent,逐文件分类为 owned/shared/foreign, 检测越界修改和 append-only 违规。用于提交前或交接时的边界审计。 触发词: "/scope-check", "边界检查", "检查边界", "受控检查"
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
识别每日验收、PR 验收、commit 验收、未发布分支验收、缺陷复测、视觉回归和发布前验收等场景,并为 create-visual-test-to-kb 生成测试范围、指差法步骤、预期结果、证据链、截图回读和报告结构。Use when the user asks to optimize or run visual acceptance across different scenarios, asks whether yesterday's changes, a PR, a commit range, or an unpublished branch were really accepted, or needs PR/commit results to map to screenshots and MAP knowledge base reports.
Convert PRs, commits, yesterday's changes, or release scope into a test-minded acceptance design before visual execution. Use when the user asks for daily acceptance, visual acceptance, PR/commit acceptance, proof that code changes really affected product behavior, coverage planning, fusion testing, evidence strength, or when screenshots/reports looked related but failed to prove the assigned task.
工业级功能验收/视觉测试全流水线(MAP 验收标准 v2)——模拟人类的浏览器取证 + 标准化验收报告 + 归档进 CDS 验收中心并出直达深链。职责分离:验收报告永远按项目归 CDS(平台自带、证据链内置),MAP 等系统通过知识库开放协议从 CDS 拉取展示,技能不再分流到 MAP 知识库。一个技能内含三段:标准/模板、模拟人类浏览器取证(点击导航进入、禁地址栏直达、双主题截图、ZZ 照做风画框标序号 stepClick/stepShot)、报告归档(命名结构固定,**每次归档强制输出可达地址**:CDS 直达深链 /reports,匿名对外用 /r/token)。默认报告走 **ZZ 照做风**(全大标题 + 一句话一步 + 逐步配图 `{{IMG:}}` + 文字在上图在下 + 变化处画框 + 分支顺序讲,同岗位照做必复现)。归档前有**强制准入校验**:目标/档位/Verdict/截图数/证据完整性/报告结构不达标直接拒收(入口准则,杜绝"什么都能进")。项目无关,改 acceptance.config.json 即可跨仓库复用;无 CDS/离线退化为本地 md+截图。触发词:"视觉验收"、"验收"、"视觉测试"、"验收归档"、"归档验收报告"、"create visual test"、"/视觉验收"、"/验收"。
CDS (Cloud Dev Space) core skill — hosts the canonical cdscli Python CLI, handles authentication (static AI_ACCESS_KEY / dynamic pairing / project key), manages env vars and project keys, owns CDS service self-update, defines the preview-URL slug formula, and acts as dispatcher when the user's intent is ambiguous between cold-path scanning and hot-path debugging. Activates when the user mentions CDS generically without specifying scan-or-deploy, configures CDS credentials, manages env / keys, updates the CDS service code itself, or asks about preview URL conventions. Does NOT directly perform project scanning (delegates to cds-project-scan, the cold path) or deployment debugging (delegates to cds-deploy-pipeline, the hot path). Trigger phrases include "cds 认证", "AI_ACCESS_KEY", "项目 key", "cds 自更新", "cds self-update", "预览地址公式", "配 cds 环境变量", "/cds", "/cds-auth", and the bare word "cds" when the user has not yet picked a direction.
Generates weekly project reports from git history. Collects commits, PRs, and contributor data, analyzes and categorizes changes, then produces a structured Chinese-language weekly report (overview, completed items, next-week priorities) saved to doc/report.YYYY-WXX.md. Trigger words: "生成周报", "写周报", "weekly report", "本周总结".
从 git 历史生成「今日大事早知道」开发日报,并发布到知识库(文档空间)。按「新增功能多讲 → 优化/修复次之 → 计划/遗留垫底」的固定权重分层叙事。自动 find-or-create「日报知识库」并出分享链。触发词:"生成日报"、"写日报"、"今日大事"、"日报"、"daily report"、"/daily"、"今天干了啥"。
| name | scope-check |
| description | 分支受控检查:分析当前分支所有变更,自动识别开发的 Agent,逐文件分类为 owned/shared/foreign, 检测越界修改和 append-only 违规。用于提交前或交接时的边界审计。 触发词: "/scope-check", "边界检查", "检查边界", "受控检查" |
| allowed-tools | Read Bash Glob Grep |
版本:v1.0.0 | 状态:已落地 | 触发:
/scope-check、"边界检查"、"检查边界"、"受控检查"
开发时自由创作,完成时安全检查。不限制过程,只审计结果。
本技能的工作:
# 获取当前分支相对于 main 的所有变更文件
git diff --name-only main...HEAD
# 获取详细 diff(用于 append-only 检查)
git diff main...HEAD --stat
如果 main...HEAD 无差异,尝试 git diff --name-only HEAD~5(取最近 5 个 commit)并告知用户。
从变更文件中推断正在开发的 Agent,匹配优先级:
prd-admin/src/pages/{agent-name}/ → 提取 {agent-name}Controllers/Api/{AgentName}Controller.cs → 转换为 kebab-casestores/{agentName}Store.ts → 转换为 kebab-caseservices/real/{agentName}.ts → 转换为 kebab-casedoc/*.{agent-name}.* → 提取 {agent-name}取出现频次最高的 agent-name 作为推断结果。
如果无法推断(变更文件没有明显的 agent 模式):
以推断出的 {agent-name} 为基准(示例用 review-agent,PascalCase 为 ReviewAgent,camelCase 为 reviewAgent):
prd-api/src/PrdAgent.Api/Controllers/Api/ReviewAgent*.cs
prd-api/src/PrdAgent.Api/Services/ReviewAgent/**
prd-api/src/PrdAgent.Core/Models/ReviewAgent*.cs
prd-api/src/PrdAgent.Core/Models/*Review*.cs(含 agent 名称的 Model)
prd-api/src/PrdAgent.Core/Interfaces/IReviewAgent*.cs
prd-api/src/PrdAgent.Infrastructure/Services/ReviewAgent*.cs
prd-admin/src/pages/review-agent/**
prd-admin/src/stores/reviewAgentStore.ts
prd-admin/src/services/contracts/reviewAgent.ts
prd-admin/src/services/real/reviewAgent.ts
doc/*review-agent*
changelogs/*
.agent-workspace/review-agent/**
判定规则:文件路径中包含 {agent-name}(kebab)或 {AgentName}(Pascal)或 {agentName}(camel)。
这些文件被所有 Agent 共享。新 Agent 通常只在末尾追加自己的注册条目,禁止删改已有内容。
后端注册文件:
prd-api/src/PrdAgent.Core/Security/AdminPermissionCatalog.cs
prd-api/src/PrdAgent.Core/Security/AdminMenuCatalog.cs
prd-api/src/PrdAgent.Core/Security/AdminControllerAttribute.cs
prd-api/src/PrdAgent.Core/Models/AppCallerRegistry.cs
prd-api/src/PrdAgent.Core/Models/CapsuleTypeRegistry.cs
prd-api/src/PrdAgent.Core/Attributes/AppOwnershipAttribute.cs # AppNames 常量也在此文件
prd-api/src/PrdAgent.Infrastructure/Database/MongoDbContext.cs # 注意:是 Database/ 不是 Data/
prd-api/src/PrdAgent.Api/Services/CapsuleExecutor.cs # CLI Agent 执行器分发表
前端注册文件:
prd-admin/src/services/api.ts # API 端点路由表
prd-admin/src/app/App.tsx # React 路由表
prd-admin/src/stores/toolboxStore.ts # 百宝箱 BUILTIN_TOOLS(导航铁律入口)
prd-admin/src/lib/authzMenuMapping.ts # 左侧导航权限映射
prd-admin/src/lib/marketplaceTypes.tsx # 海鲜市场 CONFIG_TYPE_REGISTRY
prd-admin/src/lib/fileTypeRegistry.ts # 文件类型 FILE_TYPE_REGISTRY
prd-admin/src/pages/MobileHomePage.tsx # QUICK_AGENTS_BASE(移动端首页快捷)
prd-admin/src/pages/home/sections/AgentGrid.tsx # VISUAL_META(PC 端首页 /home 的 Agent 网格)
项目级配置文件:
CLAUDE.md
doc/index.yml
doc/guide.list.directory.md
.gitignore
changelogs/ # 碎片目录,新增碎片 = owned,禁止删改他人碎片
注意:changelogs/ 下的文件属于"每 PR 一个碎片"模式——你只能新增自己的碎片文件,禁止删改他人 PR 留下的碎片(除非你跑了 bash scripts/assemble-changelog.sh 合并发版)。
不属于以上两类的文件,均为越界。
对每个 shared 文件执行:
git diff main...HEAD -- {文件路径}
分析 diff 输出:
+ 行(新增)→ append 合规- 行(删除或修改已有内容)→ append 违规,需人工审核(警告)特别关注:
后端注册:
AdminPermissionCatalog.cs:是否只新增了 const 和 All 列表条目?AdminMenuCatalog.cs:是否只新增了菜单项?是否在末尾追加而非插入中间?AdminControllerAttribute.cs:通常不应被修改(它是 attribute 定义本身)AppCallerRegistry.cs:是否只新增了 AppCallerCode const?AppOwnershipAttribute.cs:是否只在 AppNames 静态类末尾新增了 XxxAgent / XxxAgentDisplay 常量?CapsuleTypeRegistry.cs:是否只新增了胶囊类型,没改已有类型 schema?CapsuleExecutor.cs:是否只新增了一个 ExecuteCliAgent_XxxAsync 方法 + 在 switch 表中追加一个 case?删改已有 case = 越界MongoDbContext.cs:是否只新增了 IMongoCollection<> 属性?前端注册:
App.tsx:是否只新增了 Route?是否删除或修改了已有路由?api.ts:是否只新增了 API 路由定义?toolboxStore.ts:是否只在 BUILTIN_TOOLS 数组末尾追加了新条目?关键:见步骤 4.5 的 wip: true 检查authzMenuMapping.ts:是否只在 menuList / allPermissions 末尾追加?marketplaceTypes.tsx:是否只在 CONFIG_TYPE_REGISTRY 末尾新增了 key?MobileHomePage.tsx:是否只在 QUICK_AGENTS_BASE 末尾追加了 quick agent 项?pages/home/sections/AgentGrid.tsx:是否只在 VISUAL_META Record 末尾追加了新 key?删改已有 key(visual / literary / prd / video / defect / report / arena / workflow / shortcuts / review / transcript / code-review / translator / summarizer / data-analyst)= 越界如果 prd-admin/src/stores/toolboxStore.ts 在变更列表中:
git diff main...HEAD -- prd-admin/src/stores/toolboxStore.ts
检查 1:是否在 BUILTIN_TOOLS 数组中追加了新条目
寻找 diff 中以 + 开头的连续块,包含 id: 'builtin-{agent-name}' 模式。如果找到,说明这是一个新 Agent 注册。
检查 2:新条目是否带 wip: true
对每个新追加的 BUILTIN_TOOLS 条目,扫描其内部是否包含 wip: true:
git diff main...HEAD -- prd-admin/src/stores/toolboxStore.ts \
| grep -E "^\+" | grep -E "id:\s*'builtin-|wip:\s*true"
判定规则:
id: 'builtin-xxx' 块内都有 wip: truewip: true → 违反 .claude/rules/navigation-registry.md 铁律 #1检查 3:是否同时改了左侧导航 / 首页快捷
如果 AdminMenuCatalog.cs / authzMenuMapping.ts / MobileHomePage.tsx / pages/home/sections/AgentGrid.tsx 任一被改动,说明用户在做"升级到左侧/首页"的操作。此时:
toolboxStore.ts 中不应该还带 wip: true(已经转正了)routePath 必须一致(如 toolboxStore 的 /review-agent 和 menu catalog 的 /review-agent)输出:在报告的"导航注册检查"小节明确写出:
builtin-review-agent)wip: true详细规则见
.claude/rules/navigation-registry.md。
# 分支受控检查报告
**分支**: {branch-name}
**推断 Agent**: {agent-name}
**变更文件数**: {total} 个
**检查时间**: {YYYY-MM-DD HH:MM}
## 文件分类
### owned ({count} 个)
| 文件 | 变更类型 |
|------|---------|
| prd-admin/src/pages/review-agent/ReviewAgentPage.tsx | 新增 |
| prd-admin/src/stores/reviewAgentStore.ts | 新增 |
| ... | ... |
### shared ({count} 个)
| 文件 | append-only 检查 | 详情 |
|------|-----------------|------|
| AdminPermissionCatalog.cs | 仅新增 | +2 行 |
| toolboxStore.ts | 仅新增 | +14 行(新增 BUILTIN_TOOLS 条目)|
| App.tsx | 有删改(警告) | 删除了 1 行原有路由 |
| ... | ... | ... |
### foreign ({count} 个)
| 文件 | 风险说明 |
|------|---------|
| prd-admin/src/components/GlassCard.tsx | 共享 UI 组件,可能影响其他页面 |
| prd-api/src/.../LlmGateway.cs | 核心基础设施,影响所有 Agent |
| ... | ... |
## 导航注册检查(仅当 toolboxStore.ts 改动时输出)
| 检查项 | 结果 | 详情 |
|--------|------|------|
| 新增 BUILTIN_TOOLS 条目 | 1 个 / 无 | `id: 'builtin-review-agent'` |
| `wip: true` 标记 | 已带 / 缺失 | 见 `.claude/rules/navigation-registry.md` 铁律 #1 |
| 多处注册 routePath 一致 | 一致 / 不一致 / 仅百宝箱 | toolboxStore=`/review-agent`, menuCatalog=`/review-agent` |
## 结论
{根据以下规则输出}
| 条件 | 结论 |
|---|---|
| foreign = 0 且 append 违规 = 0 且导航注册合规 | 边界合规,可安全提交 |
| foreign = 0 且 append 违规 > 0 | 需人工审核:shared 文件有非追加修改 |
新 BUILTIN_TOOLS 条目缺 wip: true(且未同时改 menu/QUICK_AGENTS) | 导航铁律违规:新 Agent 必须默认 wip: true,验收通过后才转正 |
| 多处注册 routePath 不一致 | 路由分叉:toolboxStore / menu / QUICK_AGENTS 之间的 routePath 必须完全一致 |
| foreign > 0 且均为文档/配置 | 轻度越界:涉及非 Agent 文件,建议确认必要性 |
| foreign > 0 且包含核心代码 | 越界警告:修改了核心基础设施或其他 Agent 代码 |
自动标注风险级别:
| 文件路径模式 | 风险 | 说明 |
|---|---|---|
*/Controllers/Api/*Agent*.cs(其他 Agent) | 高 | 修改了其他 Agent 的 Controller |
*/Services/*Agent*(其他 Agent) | 高 | 修改了其他 Agent 的服务 |
*/pages/*-agent/*(其他 Agent) | 高 | 修改了其他 Agent 的前端页面 |
*/LlmGateway*, */ModelResolver* | 高 | 核心 AI 网关 |
*/Security/AdminAuth*, */Middleware/* | 高 | 认证/权限中间件 |
*/components/* (共享组件) | 中 | 可能影响其他页面 |
*/lib/*, */utils/* | 中 | 共享工具库 |
doc/*(非本 Agent) | 低 | 文档修改 |
scripts/* | 低 | 构建脚本 |
如果用户表示自己不是受限开发者(如"我是负责人"、"这是我自己的项目"):
如果变更涉及多个 Agent(如 review-agent 和 defect-agent 的文件都有改动):
如果变更全是文档或配置文件,没有代码文件: