用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/aibot88/sec_skill_store --skill forge-review命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Guides the creation of agile user stories and Gherkin feature files. Use when the user wants to create a user story, write acceptance criteria, define Gherkin scenarios, or author BDD feature files. This should trigger for requests such as Create a user story; Write a user story; I need to write a user story. Part of cursor-rules-java project
Guía técnica completa para integrar 250+ servicios externos con agentes IA usando Composio. Cubre instalación, autenticación OAuth, gestión de herramientas, triggers y flujos multi-servicio.
Facilitates conversational discovery to create Architectural Decision Records (ADRs) for non-functional requirements using the ISO/IEC 25010:2023 quality model. Use when the user wants to document quality attributes, NFR decisions, security/performance/scalability architecture, or design systems with measurable quality criteria. This should trigger for requests such as Create ADR for Non-functional requirements; Document Non-functional requirements; Capture Non-functional requirements; Generate Non-functional requirements in an ADR. Part of cursor-rules-java project
基于 SOC 职业分类
正在显示 SKILL.md
| name | forge-review |
| description | 上线前 PR 审查。分析当前分支与基础分支的 diff,检查 SQL 安全、竞态条件、 LLM 信任边界、枚举完整性等测试捕获不到的结构性问题。发现问题直接修复。 |
| allowed-tools | ["Bash","Read","Edit","Write","Grep","Glob","AskUserQuestion"] |
_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
echo "当前分支: $_BRANCH"
每次提问结构:
推荐:选择[X],因为[一句话原因],标注完整度A) B) C) + 工作量估算按顺序判断此 PR 合并到哪个分支:
# 1. 检查是否已有 PR
gh pr view --json baseRefName -q .baseRefName 2>/dev/null
# 2. 没有 PR 则获取仓库默认分支
gh repo view --json defaultBranchRef -q .defaultBranchRef.name 2>/dev/null
# 3. 都失败则回退到 main
打印出基础分支名称,后续所有 git diff、git fetch、git merge 等命令中用实际分支名替换"基础分支"。
git branch --show-current
git fetch origin <基础分支> --quiet && git diff origin/<基础分支> --stat
如果在基础分支上,或没有 diff,输出:"没有可审查的内容——你在基础分支上或没有变更。" 并停止。
git fetch origin <基础分支> --quiet
git diff origin/<基础分支>
在评论之前先读完完整 diff。 不要标记 diff 中已经修复的问题。
逐项检查以下类别,对每个 diff 文件详细分析:
检查:
WHERE 条件?(全表操作风险)报告格式:[严重] 文件:行号 — 问题描述 → 修复建议
检查:
特别注意:状态转换(如 draft → published)必须用数据库级约束,不能只依赖应用层检查。
检查:
检查:
重要:枚举完整性必须读取 diff 以外的代码。当 diff 新增了枚举值,用 Grep 找出所有引用了同级值的文件,Read 这些文件检查新值是否被处理。
检查:
if 语句的所有分支中都正确处理?检查:
100、1000)是否有注释说明含义?检查:
检查:
检查:
dangerouslySetInnerHTML 或 v-html 使用了未清洗的数据?每个发现都要有行动——不只是报告。
输出摘要头:上线前审查:N 个问题(X 严重,Y 信息性)
机械性、无争议的修复直接应用。每个输出:
[已自动修复] 文件:行号 — 问题 → 修复内容
适合自动修复的典型问题:
outline: none / !important需要判断或有真实权衡的问题,批量放入一次 AskUserQuestion(≤3个时可单独提问):
我已自动修复了 5 个问题。2 个需要你的判断:
1. [严重] app/models/order.rb:42 — 状态转换竞态条件
修复:在 UPDATE 中添加 WHERE status = 'pending'
→ A) 按建议修复 B) 跳过
2. [信息性] app/services/ai_writer.rb:88 — AI 输出未经类型验证就写入数据库
修复:添加 JSON Schema 验证
→ A) 按建议修复 B) 跳过
推荐:两个都修——#1是真实竞态,#2防止静默数据损坏。
读取仓库根目录的 TODOS.md(如果存在):
对比 diff 与根目录下的文档文件(README.md、ARCHITECTURE.md、CLAUDE.md 等):
/forge-ship 后更新文档。"/forge-ship 的工作。