harness-review
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseReview Skills
Review技能
コードレビュー、計画レビュー、スコープ分析を担当するスキル群です。
コンテキストからレビュータイプを自動判定します。
这是负责代码审核、计划审核、范围分析的技能集合。
将根据上下文自动判定审核类型。
レビュータイプ(Context-Aware)
审核类型(上下文感知)
レビュータイプはコンテキストから自動判定されます:
| Recent Activity | Review Type | 4 Experts |
|---|---|---|
| Plan Review | Clarity, Feasibility, Dependencies, Acceptance |
| Code Review | Security, Performance, Quality, Accessibility |
| タスク追加後 | Scope Review | Scope-creep, Priority, Feasibility, Impact |
审核类型将根据上下文自动判定:
| 近期操作 | 审核类型 | 4位专家方向 |
|---|---|---|
执行 | 计划审核(Plan Review) | 清晰度、可行性、依赖关系、可接受性 |
执行 | 代码审核(Code Review) | 安全性、性能、质量、可访问性 |
| 任务添加后 | 范围审核(Scope Review) | 范围蔓延、优先级、可行性、影响范围 |
手動指定
手动指定
bash
/harness-review # 自動判定
/harness-review code # コードレビュー強制
/harness-review plan # 計画レビュー強制
/harness-review scope # スコープ分析強制bash
/harness-review # 自动判定
/harness-review code # 强制代码审核
/harness-review plan # 强制计划审核
/harness-review scope # 强制范围分析機能詳細(Code Review)
功能详情(Code Review)
| 機能 | 詳細 |
|---|---|
| 変更レビュー | See references/changes-review.md |
| 品質チェック | See references/quality-review.md |
| セキュリティ | See references/security-review.md |
| パフォーマンス | See references/performance-review.md |
| アクセシビリティ | See references/accessibility-review.md |
| SEO/OGP | See references/seo-review.md |
| Codex 統合 | See references/codex-integration.md |
| コミット判定 | See references/commit-judgment-logic.md |
| 功能 | 详情 |
|---|---|
| 变更审核 | 参见 references/changes-review.md |
| 质量检查 | 参见 references/quality-review.md |
| 安全 | 参见 references/security-review.md |
| 性能 | 参见 references/performance-review.md |
| 可访问性 | 参见 references/accessibility-review.md |
| SEO/OGP | 参见 references/seo-review.md |
| Codex 集成 | 参见 references/codex-integration.md |
| 提交判定 | 参见 references/commit-judgment-logic.md |
機能詳細(Plan/Scope Review)
功能详情(Plan/Scope Review)
Plan Review と Scope Review は Codex エキスパートを使用します:
| レビュータイプ | エキスパート | 参照 |
|---|---|---|
| Plan Review | Clarity, Feasibility, Dependencies, Acceptance | |
| Scope Review | Scope-creep, Priority, Feasibility, Impact | |
詳細: ../codex-review/references/codex-parallel-review.md
计划审核与范围审核将使用Codex专家:
| 审核类型 | 专家方向 | 参考 |
|---|---|---|
| 计划审核 | 清晰度、可行性、依赖关系、可接受性 | |
| 范围审核 | 范围蔓延、优先级、可行性、影响范围 | |
详情: ../codex-review/references/codex-parallel-review.md
実行手順
执行步骤
- 品質判定ゲート(Step 0)
- 残コンテキスト確認(Codex モード時)(Step 1)
- ユーザーのリクエストを分類
- (Claude-mem 有効時)過去のレビュー指摘を検索
- 並列実行の判定(下記参照)
- 上記の「機能詳細」から適切な参照ファイルを読む、または並列サブエージェント起動
- 結果を統合してレビュー完了
- 质量判定网关(Step 0)
- 剩余上下文确认(Codex模式时)(Step 1)
- 分类用户的请求
- (Claude-mem启用时)搜索过往审核意见
- 判定是否并行执行(详见下文)
- 从上述「功能详情」中读取合适的参考文件,或启动并行子Agent
- 整合结果完成审核
入力の優先順位
输入优先级
- が渡されている場合は そのファイルのみ を対象にレビューする
files - が渡されていない場合は
filesから変更箇所を推定するgit_diff - が渡されている場合は その内容を優先 してレビューする
context_from: code_content
- 若传入参数,则仅以该文件为审核对象
files - 若未传入参数,则从
files中推定变更位置git_diff - 若传入参数,则优先以该内容进行审核
context_from: code_content
Step 0: 品質判定ゲート(レビュー重点領域の特定)
Step 0: 质量判定网关(确定审核重点领域)
レビュー開始前に変更内容を分析し、重点領域を特定:
変更ファイル分析
↓
┌─────────────────────────────────────────┐
│ 品質判定ゲート │
├─────────────────────────────────────────┤
│ 判定項目: │
│ ├── カバレッジ不足?(テストなし) │
│ ├── セキュリティ注意?(auth/api/) │
│ ├── a11y 注意?(UI コンポーネント) │
│ └── パフォーマンス注意?(DB/ループ) │
└─────────────────────────────────────────┘
↓
重点レビュー領域を決定审核开始前将分析变更内容,确定重点领域:
变更文件分析
↓
┌─────────────────────────────────────────┐
│ 质量判定网关 │
├─────────────────────────────────────────┤
│ 判定项: │
│ ├── 覆盖率不足?(无测试) │
│ ├── 需注意安全?(auth/api/目录) │
│ ├── 需注意可访问性?(UI组件) │
│ └── 需注意性能?(DB/循环) │
└─────────────────────────────────────────┘
↓
确定重点审核领域カバレッジ判定
覆盖率判定
| 状況 | 指摘内容 |
|---|---|
| 新規ファイルにテストなし | 「テストが不足しています」 |
| 変更ファイルのテストが古い | 「テストの更新を検討してください」 |
| カバレッジ < 60% | 「カバレッジ向上を推奨」 |
| 情况 | 意见内容 |
|---|---|
| 新文件无测试 | 「测试不足」 |
| 变更文件的测试已过时 | 「建议更新测试」 |
| 覆盖率 < 60% | 「建议提升覆盖率」 |
セキュリティ重点レビュー
安全重点审核
| パス | 追加チェック項目 |
|---|---|
| auth/, api/ | OWASP Top 10 チェックリスト |
| 入力処理 | サニタイズ、バリデーション |
| DB クエリ | パラメータ化確認 |
| 路径 | 额外检查项 |
|---|---|
| auth/, api/ | OWASP Top 10 检查清单 |
| 输入处理 | 转义、验证 |
| DB查询 | 参数化确认 |
a11y 重点レビュー
可访问性重点审核
| パス | チェック項目 |
|---|---|
| src/components/ | alt, aria, キーボード操作 |
| src/pages/ | 見出し構造, フォーカス管理 |
| 路径 | 检查项 |
|---|---|
| src/components/ | alt属性、aria属性、键盘操作 |
| src/pages/ | 标题结构、焦点管理 |
パフォーマンス重点レビュー
性能重点审核
| パターン | 警告内容 |
|---|---|
| ループ内 DB クエリ | N+1 クエリの可能性 |
| 大規模データ処理 | ページネーション検討 |
| useEffect 乱用 | レンダリング最適化 |
| 模式 | 警告内容 |
|---|---|
| 循环内执行DB查询 | 存在N+1查询风险 |
| 大规模数据处理 | 建议考虑分页 |
| 滥用useEffect | 建议优化渲染 |
SEO/OGP 重点レビュー
SEO/OGP重点审核
| パス | チェック項目 |
|---|---|
| src/pages/, app/ | title, description, canonical |
| public/ | robots.txt, sitemap.xml, OGP 画像 |
| layout.tsx, _document.tsx | viewport, OGP タグ, Twitter Card |
| 路径 | 检查项 |
|---|---|
| src/pages/, app/ | title、description、canonical标签 |
| public/ | robots.txt、sitemap.xml、OGP图片 |
| layout.tsx, _document.tsx | viewport、OGP标签、Twitter Card |
クロスプラットフォーム重点レビュー
跨平台重点审核
| パス | チェック項目 |
|---|---|
| src/components/, app/ | レスポンシブ(固定幅チェック) |
| *.css, *.scss, tailwind | 100vw 使用、overflow 設定 |
| public/ | favicon, apple-touch-icon |
| 路径 | 检查项 |
|---|---|
| src/components/, app/ | 响应式布局(检查固定宽度) |
| *.css, *.scss, tailwind | 是否使用100vw、overflow设置 |
| public/ | favicon、apple-touch-icon |
重点レビュー統合出力
重点审核整合输出
markdown
📊 品質判定結果 → 重点レビュー領域
| 判定 | 該当 | 対象ファイル |
|------|------|-------------|
| セキュリティ | ⚠️ | src/api/auth.ts |
| カバレッジ | ⚠️ | src/utils/helpers.ts (テストなし) |
| a11y | ✅ | - |
| パフォーマンス | ✅ | - |
| SEO/OGP | ⚠️ | app/layout.tsx (OGP 未設定) |
| クロスプラットフォーム | ✅ | - |
→ セキュリティ・カバレッジ・SEO を重点的にレビューmarkdown
📊 质量判定结果 → 重点审核领域
| 判定 | 符合 | 目标文件 |
|------|------|-------------|
| 安全 | ⚠️ | src/api/auth.ts |
| 覆盖率 | ⚠️ | src/utils/helpers.ts(无测试) |
| 可访问性 | ✅ | - |
| 性能 | ✅ | - |
| SEO/OGP | ⚠️ | app/layout.tsx(未设置OGP) |
| 跨平台 | ✅ | - |
→ 重点审核安全、覆盖率、SEO领域LSP ベースの影響分析(推奨)
基于LSP的影响分析(推荐)
変更レビュー時に LSP ツールで影響範囲を確認:
| 変更タイプ | LSP 操作 | 確認内容 |
|---|---|---|
| 関数シグネチャ変更 | findReferences | 全呼び出し元が対応済みか |
| 型定義変更 | findReferences | 使用箇所での型互換性 |
| API 変更 | incomingCalls | 影響を受けるエンドポイント |
レビューフロー:
- 変更ファイルを特定
- で影響範囲を列挙
LSP.findReferences - 影響を受けるファイルも含めてレビュー
使用例:
undefined变更审核时使用LSP工具确认影响范围:
| 变更类型 | LSP操作 | 确认内容 |
|---|---|---|
| 函数签名变更 | findReferences | 所有调用方是否已适配 |
| 类型定义变更 | findReferences | 使用位置的类型兼容性 |
| API变更 | incomingCalls | 受影响的端点 |
审核流程:
- 确定变更文件
- 使用列举影响范围
LSP.findReferences - 包含受影响文件一并审核
使用示例:
undefined1. 変更された関数の参照箇所を確認
1. 确认变更函数的引用位置
LSP operation=findReferences filePath="src/api/user.ts" line=42 character=15
LSP operation=findReferences filePath="src/api/user.ts" line=42 character=15
2. 関数の呼び出し階層を確認
2. 确认函数的调用层级
LSP operation=incomingCalls filePath="src/api/user.ts" line=42 character=15
LSP operation=incomingCalls filePath="src/api/user.ts" line=42 character=15
3. 型定義の使用箇所を確認
3. 确认类型定义的使用位置
LSP operation=findReferences filePath="src/types/api.ts" line=10 character=12
**出力例**:
```markdown
🔍 LSP 影響分析結果
変更: updateUserProfile() のシグネチャ変更
影響を受ける箇所:
├── src/pages/profile.tsx:89 ⚠️ 引数更新必要
├── src/pages/settings.tsx:145 ⚠️ 引数更新必要
├── tests/user.test.ts:67 ✅ 更新済み
└── src/api/admin.ts:23 ⚠️ 引数更新必要
→ 3箇所で引数の更新が必要注: LSP サーバーが設定されている言語でのみ動作します。
LSP operation=findReferences filePath="src/types/api.ts" line=10 character=12
**输出示例**:
```markdown
🔍 LSP影响分析结果
变更: updateUserProfile() 签名变更
受影响位置:
├── src/pages/profile.tsx:89 ⚠️ 需要更新参数
├── src/pages/settings.tsx:145 ⚠️ 需要更新参数
├── tests/user.test.ts:67 ✅ 已更新
└── src/api/admin.ts:23 ⚠️ 需要更新参数
→ 3处需更新参数注: 仅在LSP服务器已配置的语言中生效。
Step 1: 残コンテキスト確認(Codex モード時)
Step 1: 剩余上下文确认(Codex模式时)
Codex モード()の場合は、残コンテキストが 30%以下なら /compact を先に実行してください。
review.mode: codex注意: /compact 後も余裕が少ない場合は縮退せず続行します。
若为Codex模式(),剩余上下文小于等于30%时请先执行/compact。
review.mode: codex注意: 执行/compact后若剩余上下文仍不足,无需降级直接继续。
Git log 拡張フラグの活用(CC 2.1.49+)
Git日志扩展标记的使用(CC 2.1.49+)
レビュー時のコミット分析で構造化されたログを活用します。
审核时的提交分析将使用结构化日志。
変更履歴の構造化分析
变更历史的结构化分析
bash
undefinedbash
undefined構造化フォーマットでコミット履歴取得
以结构化格式获取提交历史
git log --format="%h|%s|%an|%ad" --date=short -10
git log --format="%h|%s|%an|%ad" --date=short -10
マージコミットを除外してレビュー
排除合并提交进行审核
git log --cherry-pick --no-merges main..HEAD
git log --cherry-pick --no-merges main..HEAD
変更ファイル一覧付き
附带变更文件列表
git log --raw -5
undefinedgit log --raw -5
undefined主な活用場面
主要使用场景
| 用途 | フラグ | 効果 |
|---|---|---|
| コミット一覧取得 | `--format="%h | %s"` |
| レビュー対象の明確化 | | マージコミット除外 |
| 変更影響分析 | | ファイル変更の詳細表示 |
| 時系列での原因追跡 | | トポロジカルソート |
| 用途 | 标记 | 效果 |
|---|---|---|
| 获取提交列表 | `--format="%h | %s"` |
| 明确审核对象 | | 排除合并提交 |
| 变更影响分析 | | 显示文件变更详情 |
| 时序原因追踪 | | 拓扑排序 |
出力例
输出示例
markdown
📊 コミット履歴分析(構造化)
| Hash | Subject | Author | Date |
|------|---------|--------|------|
| a1b2c3d | feat: add auth | Alice | 2026-02-04 |
| e4f5g6h | fix: cors error | Bob | 2026-02-03 |
変更ファイル(--raw):
├── src/auth.ts (Modified)
├── src/api/middleware.ts (Added)
└── tests/auth.test.ts (Modified)
→ 認証周りの変更を重点的にレビューmarkdown
📊 提交历史分析(结构化)
| Hash | 主题 | 作者 | 日期 |
|------|---------|--------|------|
| a1b2c3d | feat: add auth | Alice | 2026-02-04 |
| e4f5g6h | fix: cors error | Bob | 2026-02-03 |
变更文件(--raw):
├── src/auth.ts (已修改)
├── src/api/middleware.ts (已新增)
└── tests/auth.test.ts (已修改)
→ 重点审核认证相关变更Step 2: 過去のレビュー指摘検索(Memory-Enhanced)
Step 2: 搜索过往审核意见(增强记忆)
Claude-mem が有効な場合、レビュー開始前に過去の類似指摘を検索:
undefined若Claude-mem已启用,审核开始前将搜索过往类似意见:
undefinedmem-search で過去のレビュー指摘を検索
使用mem-search搜索过往审核意见
mem-search: type:review "{変更ファイルのパターン}"
mem-search: concepts:security "{セキュリティ関連のキーワード}"
mem-search: concepts:gotcha "{変更箇所に関連するキーワード}"
**表示例**:
```markdown
📚 過去のレビュー指摘(関連あり)
| 日付 | 指摘内容 | ファイル |
|------|---------|---------|
| 2024-01-15 | XSS脆弱性: innerHTML 使用禁止 | src/components/*.tsx |
| 2024-01-20 | N+1クエリ: prefetch 必須 | src/api/*.ts |
💡 今回のレビューで上記パターンを重点チェック注: Claude-mem が未設定の場合、このステップはスキップされます。
mem-search: type:review "{变更文件模式}"
mem-search: concepts:security "{安全相关关键词}"
mem-search: concepts:gotcha "{变更位置相关关键词}"
**显示示例**:
```markdown
📚 过往相关审核意见
| 日期 | 意见内容 | 文件 |
|------|---------|---------|
| 2024-01-15 | XSS漏洞: 禁止使用innerHTML | src/components/*.tsx |
| 2024-01-20 | N+1查询: 必须预取 | src/api/*.ts |
💡 本次审核将重点检查上述模式注: 若未配置Claude-mem,将跳过此步骤。
レビューモードの選択
审核模式选择
レビュースキルは 2 つのモードで動作します:
設定確認: .claude-code-harness.config.yaml
↓
├── review.mode: default → Claude 単体レビュー
└── review.mode: codex → Codex 並列レビュー(レビュータイプごとに4エキスパート)审核技能支持两种运行模式:
检查配置: .claude-code-harness.config.yaml
↓
├── review.mode: default → 单独使用Claude审核
└── review.mode: codex → Codex并行审核(每种审核类型对应4位专家)Default モード(Claude 単体)
Default模式(单独Claude)
Claude が直接レビューを実行。小〜中規模の変更に最適。
由Claude直接执行审核,最适合中小型变更。
Codex モード(並列エキスパート)
Codex模式(并行专家)
Codex CLI () 経由でレビュータイプに応じた4つのエキスパートを 個別に並列呼び出し:
codex exec| Review Type | エキスパート |
|---|---|
| Code Review | Security, Performance, Quality, Accessibility |
| Plan Review | Clarity, Feasibility, Dependencies, Acceptance |
| Scope Review | Scope-creep, Priority, Feasibility, Impact |
通过Codex CLI () 针对每种审核类型单独并行调用4位专家:
codex exec| 审核类型 | 专家方向 |
|---|---|
| 代码审核 | 安全、性能、质量、可访问性 |
| 计划审核 | 清晰度、可行性、依赖关系、可接受性 |
| 范围审核 | 范围蔓延、优先级、可行性、影响范围 |
⚠️ Codex モード実行時の必須ルール
⚠️ Codex模式执行的强制规则
絶対に1回の 呼び出しで複数エキスパートをまとめないこと。
codex exec✅ 正しい: 4回の `codex exec` 呼び出しを1つのレスポンス内で並列実行
❌ 間違い: 1回の呼び出しで「全観点をレビューして」と依頼(まとめ依頼)実行手順:
- 呼び出すエキスパートを判定(全部ではなく必要なもののみ):
- 設定で → 除外
enabled: false - CLI/バックエンド → Accessibility, SEO 除外
- ドキュメントのみ変更 → Quality, Architect, Plan Reviewer, Scope Analyst を優先(Security, Performance は除外可)
- 設定で
- 有効なエキスパートの からプロンプトを 個別に読み込む
experts/*.md - 有効なエキスパートのみ を Bash バックグラウンドプロセスで並列実行
codex exec - 各結果を統合して判定
詳細: codex-review/references/codex-parallel-review.md
Codex モード有効化:
bash
/codex-mode on詳細: references/codex-integration.md
绝对禁止在单次调用中同时请求多位专家。
codex exec✅ 正确: 在一个响应内并行执行4次`codex exec`调用
❌ 错误: 单次调用中请求「从所有维度进行审核」(批量请求)执行步骤:
- 确定需调用的专家(仅调用必要专家,而非全部):
- 配置中的专家 → 排除
enabled: false - CLI/后端项目 → 排除可访问性、SEO专家
- 仅变更文档 → 优先使用质量、架构、计划审核、范围分析专家(可排除安全、性能专家)
- 配置中
- 从有效专家的文件中单独读取提示词
experts/*.md - 仅对有效专家通过Bash后台进程并行执行
codex exec - 整合各专家结果进行判定
详情: codex-review/references/codex-parallel-review.md
启用Codex模式:
bash
/codex-mode on详情: references/codex-integration.md
並列サブエージェント起動(Default モード)
并行子Agent启动(Default模式)
変更ファイル数・レビュー観点の算出(必須)
变更文件数・审核维度的计算(必须)
files_count は merge-base 基準で算出すること(staged/unstaged も含める):
bash
base=$(git merge-base HEAD origin/main 2>/dev/null \
|| git merge-base HEAD main 2>/dev/null \
|| git merge-base HEAD master 2>/dev/null \
|| git rev-parse HEAD~1 2>/dev/null \
|| git hash-object -t tree /dev/null)
committed=$(git diff --name-only --diff-filter=ACMRTUXB $base...HEAD)
staged=$(git diff --name-only --cached)
unstaged=$(git diff --name-only)
files=$(echo -e "$committed\n$staged\n$unstaged" | sort -u | grep -v '^$')
files_count=$(echo "$files" | wc -l)review_aspects はパスベースで検出:
javascript
function countReviewAspects(files) {
let aspects = 0;
if (files.some(f => /\/(auth|api|middleware|security)\//.test(f))) aspects++;
if (files.some(f => /\/(db|sql|repository|cache)\//.test(f))) aspects++;
if (files.some(f => /\/(components|pages|app)\/.*\.tsx$/.test(f))) aspects++;
if (files.some(f => /\/(pages|app)\/.*\.(metadata|head|seo)/.test(f))) aspects++;
return Math.max(aspects, 1);
}以下の条件を両方満たす場合、Task tool で code-reviewer を並列起動:
- レビュー観点 >= 2(例: セキュリティ + パフォーマンス)
- 変更ファイル >= 5
起動パターン(1つのレスポンス内で複数の Task tool を同時呼び出し):
Task tool 並列呼び出し:
#1: subagent_type="code-reviewer"
prompt="セキュリティ観点でレビュー: {files}"
#2: subagent_type="code-reviewer"
prompt="パフォーマンス観点でレビュー: {files}"
#3: subagent_type="code-reviewer"
prompt="コード品質観点でレビュー: {files}"小規模な場合(条件を満たさない):
- 子スキル(doc.md)を順次読み込んで直列実行
files_count需基于merge-base计算(包括暂存/未暂存文件):
bash
base=$(git merge-base HEAD origin/main 2>/dev/null \
|| git merge-base HEAD main 2>/dev/null \
|| git merge-base HEAD master 2>/dev/null \
|| git rev-parse HEAD~1 2>/dev/null \
|| git hash-object -t tree /dev/null)
committed=$(git diff --name-only --diff-filter=ACMRTUXB $base...HEAD)
staged=$(git diff --name-only --cached)
unstaged=$(git diff --name-only)
files=$(echo -e "$committed\n$staged\n$unstaged" | sort -u | grep -v '^$')
files_count=$(echo "$files" | wc -l)review_aspects基于路径检测:
javascript
function countReviewAspects(files) {
let aspects = 0;
if (files.some(f => /\/(auth|api|middleware|security)\//.test(f))) aspects++;
if (files.some(f => /\/(db|sql|repository|cache)\//.test(f))) aspects++;
if (files.some(f => /\/(components|pages|app)\/.*\.tsx$/.test(f))) aspects++;
if (files.some(f => /\/(pages|app)\/.*\.(metadata|head|seo)/.test(f))) aspects++;
return Math.max(aspects, 1);
}需同时满足以下两个条件时,通过Task工具并行启动code-reviewer:
- 审核维度 >= 2(例如:安全 + 性能)
- 变更文件 >= 5
启动模式(在一个响应内同时调用多个Task工具):
并行调用Task工具:
#1: subagent_type="code-reviewer"
prompt="从安全维度审核: {files}"
#2: subagent_type="code-reviewer"
prompt="从性能维度审核: {files}"
#3: subagent_type="code-reviewer"
prompt="从代码质量维度审核: {files}"小规模场景(不满足条件时):
- 依次读取子技能(doc.md)并串行执行
🔧 MCP Code Intelligence ツールの活用
🔧 MCP Code Intelligence工具的使用
レビューでは MCP ツール(AST-Grep, LSP)を活用して精度を向上します。
重要:で MCP サーバーが設定されている場合、標準ツール(Grep, Read)ではなく MCP ツールを優先使用してください。MCP ツールは構造的な検索が可能で、より正確な結果を得られます。/dev-tools-setup
审核中将使用MCP工具(AST-Grep、LSP)提升精度。
重要: 若通过配置了MCP服务器,请优先使用MCP工具而非标准工具(Grep、Read)。MCP工具支持结构化搜索,可获得更准确的结果。/dev-tools-setup
AST-Grep MCP ツール(harness_ast_search)
AST-Grep MCP工具(harness_ast_search)
構造的なコードパターン検索に使用します。正規表現ベースの Grep より精度が高く、コードスメル検出に最適です。
| 検出パターン | AST-Grep パターン | 用途 |
|---|---|---|
| Debug logs | | リリース前の残留ログ検出 |
| Empty catch | | エラー握りつぶし検出 |
| Unused async | | await なし async 検出 |
| Magic numbers | 数値リテラル検索 | ハードコード定数検出 |
使用例:
harness_ast_search pattern="console.log($$$)" language="typescript" path="src/"
harness_ast_search pattern="catch ($ERR) { }" language="typescript" path="src/"出力例:
markdown
🔍 AST-Grep Code Smell Scan
Patterns checked:
- console.log($$$) → Debug logs
- catch ($ERR) { } → Empty catch blocks
Results:
├── 3x console.log found (src/api/*.ts)
├── 1x empty catch block (src/utils/error.ts:45)
└── 0x unused async注:が利用できない場合は、harness_ast_searchコマンド(Bash)または Grep にフォールバックします。sg
用于结构化代码模式搜索。比基于正则表达式的Grep精度更高,最适合检测代码异味。
| 检测模式 | AST-Grep模式 | 用途 |
|---|---|---|
| 调试日志 | | 检测发布前残留的日志 |
| 空catch块 | | 检测错误被静默处理的情况 |
| 未使用的async | | 检测无await的async函数 |
| 魔法数字 | 数值字面量搜索 | 检测硬编码常量 |
使用示例:
harness_ast_search pattern="console.log($$$)" language="typescript" path="src/"
harness_ast_search pattern="catch ($ERR) { }" language="typescript" path="src/"输出示例:
markdown
🔍 AST-Grep代码异味扫描
检测模式:
- console.log($$$) → 调试日志
- catch ($ERR) { } → 空catch块
结果:
├── 3处console.log(src/api/*.ts)
├── 1处空catch块(src/utils/error.ts:45)
└── 0处未使用的async注: 若无法使用,将回退使用harness_ast_search命令(Bash)或Grep。sg
🔧 LSP 機能の活用
🔧 LSP功能的使用
レビューでは LSP(Language Server Protocol)を活用して精度を向上します。
MCP 版優先:MCP ツールが利用可能な場合は、標準 LSP ツールより優先して使用してください。harness_lsp_*
审核中将使用LSP(Language Server Protocol)提升精度。
优先使用MCP版: 若MCP工具可用,请优先使用而非标准LSP工具。harness_lsp_*
LSP をレビューに統合
LSP与审核的集成
| レビュー観点 | LSP 活用方法 |
|---|---|
| 品質 | Diagnostics で型エラー・未使用変数を自動検出 |
| セキュリティ | Find-references で機密データの流れを追跡 |
| パフォーマンス | Go-to-definition で重い処理の実装を確認 |
| 审核维度 | LSP使用方式 |
|---|---|
| 质量 | 通过Diagnostics自动检测类型错误、未使用变量 |
| 安全 | 通过Find-references追踪敏感数据流向 |
| 性能 | 通过Go-to-definition确认重负载处理的实现 |
LSP Diagnostics の出力例
LSP Diagnostics输出示例
📊 LSP 診断結果
| ファイル | エラー | 警告 |
|---------|--------|------|
| src/components/Form.tsx | 0 | 2 |
| src/utils/api.ts | 1 | 0 |
⚠️ 1件のエラーを検出
→ レビューで指摘事項に追加📊 LSP诊断结果
| 文件 | 错误 | 警告 |
|---------|--------|------|
| src/components/Form.tsx | 0 | 2 |
| src/utils/api.ts | 1 | 0 |
⚠️ 检测到1处错误
→ 添加到审核意见中Find-references による影響分析
通过Find-references进行影响分析
🔍 変更影響分析
変更: validateInput()
参照箇所:
├── src/pages/signup.tsx:34
├── src/pages/settings.tsx:56
└── tests/validate.test.ts:12
→ テストでカバー済み ✅詳細: docs/LSP_INTEGRATION.md
🔍 变更影响分析
变更: validateInput()
引用位置:
├── src/pages/signup.tsx:34
├── src/pages/settings.tsx:56
└── tests/validate.test.ts:12
→ 已被测试覆盖 ✅详情: docs/LSP_INTEGRATION.md
🔧 PDF ページ範囲読み取り(Claude Code 2.1.49+)
🔧 PDF页面范围读取(Claude Code 2.1.49+)
ドキュメントレビュー時に大型 PDF を効率的に扱うための機能です。
这是文档审核时高效处理大型PDF的功能。
ページ範囲指定で読み取り
指定页面范围读取
javascript
// ページ範囲指定で読み取り
Read({ file_path: "docs/architecture.pdf", pages: "1-15" })
// 変更履歴セクションのみ
Read({ file_path: "docs/changelog.pdf", pages: "5-12" })
// セキュリティ要件のみ
Read({ file_path: "docs/requirements.pdf", pages: "45-60" })javascript
// 指定页面范围读取
Read({ file_path: "docs/architecture.pdf", pages: "1-15" })
// 仅读取变更历史章节
Read({ file_path: "docs/changelog.pdf", pages: "5-12" })
// 仅读取安全要求章节
Read({ file_path: "docs/requirements.pdf", pages: "45-60" })ドキュメントレビュー時の推奨アプローチ
文档审核的推荐方法
| レビュー対象 | 推奨読み取り方法 | 理由 |
|---|---|---|
| 大型仕様書 | 目次 + 変更箇所のみ | 関連セクションに集中 |
| API設計書 | エンドポイント一覧 + セキュリティ章 | 重要な観点を優先 |
| アーキテクチャ文書 | システム構成図 + 非機能要件 | レビュー対象を絞り込み |
| ユーザーマニュアル | 目次 + アクセシビリティ項 | 使いやすさを確認 |
| リリースノート | 最新バージョンの変更点のみ | 関連する変更を特定 |
| 审核对象 | 推荐读取方式 | 理由 |
|---|---|---|
| 大型规格书 | 目录 + 仅变更位置 | 聚焦相关章节 |
| API设计文档 | 端点列表 + 安全章节 | 优先关注重要维度 |
| 架构文档 | 系统结构图 + 非功能需求 | 缩小审核范围 |
| 用户手册 | 目录 + 可访问性章节 | 确认易用性 |
| 发布说明 | 仅最新版本的变更内容 | 定位相关变更 |
レビュー観点別の活用例
各审核维度的使用示例
セキュリティレビュー
安全审核
markdown
大型セキュリティ仕様書(200ページ)のレビュー:
1. **目次で構造を把握**(1-3ページ)
Read({ file_path: "security-spec.pdf", pages: "1-3" })
2. **認証・認可の章を精読**(25-45ページ)
Read({ file_path: "security-spec.pdf", pages: "25-45" })
3. **脆弱性対策の章を精読**(78-92ページ)
Read({ file_path: "security-spec.pdf", pages: "78-92" })
この方法で、セキュリティレビューに必要な部分だけを効率的に確認できます。markdown
大型安全规格书(200页)的审核:
1. **通过目录了解结构**(1-3页)
Read({ file_path: "security-spec.pdf", pages: "1-3" })
2. **精读认证与授权章节**(25-45页)
Read({ file_path: "security-spec.pdf", pages: "25-45" })
3. **精读漏洞防护章节**(78-92页)
Read({ file_path: "security-spec.pdf", pages: "78-92" })
通过此方法可高效确认安全审核所需的内容。パフォーマンスレビュー
性能审核
markdown
パフォーマンス要件書(150ページ)のレビュー:
1. **目次とサマリー**(1-5ページ)
Read({ file_path: "performance-spec.pdf", pages: "1-5" })
2. **レスポンスタイム要件**(34-50ページ)
Read({ file_path: "performance-spec.pdf", pages: "34-50" })
3. **負荷テスト結果**(120-135ページ)
Read({ file_path: "performance-spec.pdf", pages: "120-135" })markdown
性能需求文档(150页)的审核:
1. **目录与摘要**(1-5页)
Read({ file_path: "performance-spec.pdf", pages: "1-5" })
2. **响应时间需求**(34-50页)
Read({ file_path: "performance-spec.pdf", pages: "34-50" })
3. **负载测试结果**(120-135页)
Read({ file_path: "performance-spec.pdf", pages: "120-135" })レビューワークフロー統合
审核工作流集成
Step 0: 品質判定ゲート(ドキュメント分析)
Step 0: 质量判定网关(文档分析)
ドキュメントレビュー時に、まずページ範囲指定で概要を把握:
1. 目次を読んで構造を理解
Read({ file_path: "spec.pdf", pages: "1-3" })
2. 変更箇所を特定
目次から変更セクションのページ番号を取得
3. 関連セクションのみ精読
Read({ file_path: "spec.pdf", pages: "{変更範囲}" })文档审核时,先通过指定页面范围了解概要:
1. 读取目录了解结构
Read({ file_path: "spec.pdf", pages: "1-3" })
2. 确定变更位置
从目录中获取变更章节的页码
3. 仅精读相关章节
Read({ file_path: "spec.pdf", pages: "{变更范围}" })4視点レビューでの活用
4维度审核的使用
| 観点 | 読むべきページ範囲 | 例 |
|---|---|---|
| セキュリティ | 認証・認可、暗号化、脆弱性対策 | pages: "25-45,78-92" |
| パフォーマンス | 非機能要件、負荷テスト結果 | pages: "34-50,120-135" |
| 品質 | コーディング規約、テスト戦略 | pages: "60-75" |
| アクセシビリティ | UI/UX要件、WCAG準拠 | pages: "95-110" |
| 维度 | 应读取的页面范围 | 示例 |
|---|---|---|
| 安全 | 认证与授权、加密、漏洞防护 | pages: "25-45,78-92" |
| 性能 | 非功能需求、负载测试结果 | pages: "34-50,120-135" |
| 质量 | 编码规范、测试策略 | pages: "60-75" |
| 可访问性 | UI/UX需求、WCAG合规性 | pages: "95-110" |
ベストプラクティス
最佳实践
| 原則 | 説明 |
|---|---|
| 目次優先 | 常に目次で構造を把握してから詳細へ |
| 観点別ページ範囲 | レビュー観点ごとに必要なページを特定 |
| 変更差分に集中 | 既存ドキュメントは変更箇所のみレビュー |
| 重要度順 | Critical → Major → Minor の順に読む |
| 原则 | 说明 |
|---|---|
| 目录优先 | 始终先通过目录了解结构再查看详情 |
| 按维度指定页面范围 | 针对每个审核维度确定所需页面 |
| 聚焦变更差异 | 现有文档仅审核变更位置 |
| 按重要度排序 | 按Critical → Major → Minor顺序读取 |
トークン消費の比較
Token消耗对比
| レビュー方法 | ドキュメント規模 | トークン消費 | レビュー精度 |
|---|---|---|---|
| 全ページ読み込み | 200ページ | ~100,000 | 高 |
| ページ範囲指定 | 必要な30ページ | ~15,000 | 高 |
→ 85%のトークン削減とレビュー時間短縮が可能
| 审核方法 | 文档规模 | Token消耗 | 审核精度 |
|---|---|---|---|
| 全页读取 | 200页 | ~100,000 | 高 |
| 指定页面范围 | 所需30页 | ~15,000 | 高 |
→ 可减少85%的Token消耗并缩短审核时间
注意事項
注意事项
- ページ範囲は1-indexed(1ページ目は )
pages: "1" - 複数範囲は未サポート(将来の拡張で対応予定)
- 現時点では連続したページ範囲のみ指定可能
- 页面范围为1-indexed(第1页为)
pages: "1" - 暂不支持多个不连续范围(将在后续版本支持)
- 当前仅支持指定连续页面范围
VibeCoder 向け
面向VibeCoder用户
markdown
📝 コードチェックを依頼するときの言い方
1. **「チェックして」**
- 全体的に問題がないか見てもらう
2. **「セキュリティ大丈夫?」**
- 悪意ある攻撃に耐えられるかチェック
3. **「遅くない?」**
- 速度に問題がないかチェック
4. **「誰でも使える?」**
- 障害のある方でも使えるかチェック
💡 ヒント: 「全部チェックして」と言えば、
4つの観点すべてを自動で確認しますmarkdown
📝 请求代码检查的话术
1. **「帮我检查一下」**
- 检查整体是否存在问题
2. **「安全方面没问题吧?」**
- 检查是否能抵御恶意攻击
3. **「会不会有性能问题?」**
- 检查速度是否存在问题
4. **「所有人都能正常使用吗?」**
- 检查是否支持无障碍访问
💡 提示: 若说「帮我全面检查一下」,
将自动从上述4个维度进行检查