P1-10: pm-risk skill — 三维度风险扫描 需求层: 停滞/草稿滞留/开发无提交/测试超期/批准未开发 代码层: 未合并分支/频繁修复文件/提交频率下降 流程层: 跳过评审/PR 无 review/测试门禁跳过/直接推 main 三级风险: 🔴 严重 / 🟡 警告 / 🔵 提示 P1-12: req-prd 需求粒度 AI 判断 创建前启发式检查:标题过宽建议拆分、过窄建议合并或改 task 粒度参考表 + 已有需求扩展决策表 + 前后端拆分规则 P1-13: dev-commit issue 集成规范 分支名 -iN 后缀传递 issue 编号 commit message 自动追加 closes #N P1-14: hooks/validate-prd.sh — PRD 章节校验 PostToolUse hook 自动检查 10 个必需章节 缺失时给出明确提示 marketplace: 48 → 49 plugins (新增 pm-risk-plugin)
Claude Code Hooks
本目录包含 ai-proj-helper 体系的 Claude Code 钩子脚本。
REQ-20260416-0017 P0 批 — 源自 devflow-claude 借鉴
脚本清单
| 脚本 | 事件 | 作用 |
|---|---|---|
session-context.sh |
SessionStart | 从分支名解析 REQ-ID,注入需求上下文到会话 |
pre-tool-confirm.sh |
PreToolUse (Bash) | 拦截生产发布、force push、docker 生产容器、reset --hard 等危险操作 |
安装(用户级,一次即可)
方式 1:编辑 ~/.claude/settings.json
{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "/Users/donglinlai/coding/qiudl/ai-proj-helper/hooks/session-context.sh",
"timeout": 10
}
]
}
],
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "/Users/donglinlai/coding/qiudl/ai-proj-helper/hooks/pre-tool-confirm.sh",
"timeout": 30
}
]
}
]
}
}
方式 2:一键安装脚本
bash /Users/donglinlai/coding/qiudl/ai-proj-helper/hooks/install.sh
验证
SessionStart hook
- 切到一个带 REQ-ID 的分支:
git checkout feat/REQ-20260416-0017-xxx - 打开新的 Claude Code 会话
- 会话开头应看到
# 需求上下文(SessionStart Hook)块
PreToolUse hook
让 AI 尝试执行这些命令中的任一条,应弹出原生确认对话框:
git push origin maingit push --forcetea pr merge --base maindocker rm ai_postgres_prodgit reset --hard
依赖
bash(macOS / Linux 默认)jq(PreToolUse hook 需要,brew install jq)python3(SessionStart hook 解析 JSON)curl(SessionStart hook 调 MCP API)
自定义
修改 MCP API 地址
在项目根目录创建 .ai-proj-env:
export AI_PROJ_API_BASE="https://api.ai-proj.example.com"
export AI_PROJ_MCP_KEY="your-mcp-api-key"
或设置全局环境变量。
拦截更多命令
编辑 pre-tool-confirm.sh,在 REASON 赋值的 elif 链中增加规则。
设计原则
- 快速失败退出:不处理的命令立即
exit 0,不影响性能 - 非侵入性:网络/依赖缺失时静默退出,不阻塞正常工作流
- 可复现:hook 脚本跟随仓库分发,方便团队一致部署