-
Notifications
You must be signed in to change notification settings - Fork 0
feat: 5観点コードレビューとレビュールール配布を既存コマンドに統合 #655
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -620,6 +620,43 @@ PR 作成前のチェック項目を検証: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - ✅ すべてのチェック項目が設定済み | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - ⚠️ 不足している項目あり(詳細をリスト) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ### 3.3.1 Code Review Rules Check | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| コードレビュー基準の設定状況を確認: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 実行内容: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - `.claude/rules/code-review-standards.md` の存在確認 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - `.claude/rules/development-standards.md` の存在確認 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - `.claude/rules/git-conventions.md` の存在確認 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - config リポジトリのルールファイルとの差分確認(config リポジトリ自身は除く) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+623
to
+633
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ルール検証対象と同期対象の不一致でドリフトが残ります。 このセクションでは 🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 結果: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - ✅ すべてのレビュールールが設定済み | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - ⚠️ 不足しているルールあり(詳細をリスト) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - 🔄 config リポジトリとの差分あり(更新推奨ファイルをリスト) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| MODE が `full` の場合: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - 不足ルールを config リポジトリからコピー | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - 差分があるファイルについて更新を提案 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+642
to
+643
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
This section says Useful? React with 👍 / 👎. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ```bash | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # config リポジトリのパスを取得(このリポジトリ自身なら SKIP) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CONFIG_REPO="$(git -C /path/to/config rev-parse --show-toplevel 2>/dev/null)" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # ルールファイルの存在確認 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| RULES_DIR=".claude/rules" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| REQUIRED_RULES=("code-review-standards.md" "development-standards.md" "git-conventions.md") | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| for rule in "${REQUIRED_RULES[@]}"; do | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if [ ! -f "${RULES_DIR}/${rule}" ]; then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo "⚠️ Missing: ${RULES_DIR}/${rule}" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| done | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ``` | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+645
to
+658
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. サンプルスクリプトが実行不能・仕様不足です。 Line 647 の 🔧 提案差分(実行可能な最小版)-# config リポジトリのパスを取得(このリポジトリ自身なら SKIP)
-CONFIG_REPO="$(git -C /path/to/config rev-parse --show-toplevel 2>/dev/null)"
+# config リポジトリのパスを探索(このリポジトリ自身は SKIP)
+CONFIG_REPO=""
+for p in "$HOME/develop/github.com/keito4/config" "$HOME/ghq/github.com/keito4/config" "$HOME/src/github.com/keito4/config"; do
+ [ -d "$p/.claude/rules" ] && CONFIG_REPO="$p" && break
+done
+
+REPO_NAME=$(gh repo view --json nameWithOwner --jq '.nameWithOwner' 2>/dev/null || echo "")
+if [ "$REPO_NAME" = "keito4/config" ]; then
+ echo "⏭️ Skip rules diff check on config repository itself"
+else
+ for rule in "${REQUIRED_RULES[@]}"; do
+ if [ -f "${RULES_DIR}/${rule}" ] && [ -f "${CONFIG_REPO}/.claude/rules/${rule}" ]; then
+ diff -q "${CONFIG_REPO}/.claude/rules/${rule}" "${RULES_DIR}/${rule}" >/dev/null 2>&1 || \
+ echo "🔄 Diff detected: ${RULES_DIR}/${rule}"
+ fi
+ done
+fi📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ### 3.4 CLAUDE.md Symlink Check | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| CLAUDE.md が AGENTS.md へのシンボリックリンクであることを確認: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
@@ -2716,6 +2753,7 @@ fi | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ├── .editorconfig: ✅ Configured (or 🔧 Generated) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ├── scripts: ✅ All standard scripts defined (or ⚠️ Missing: test, lint) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ├── Pre-PR Checklist: ✅ CI workflow exists | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ├── Code Review Rules: ✅ All rules configured (or ⚠️ Missing rules) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ├── CLAUDE.md: ✅ Symlink to AGENTS.md | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ├── AGENTS.md: ✅ Auto-generated sections up to date (or 🔧 Updated) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ├── CI/CD: ✅ Standard level configured | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,156 @@ | ||
| このコードを10個の改善案を出してください。 | ||
| --- | ||
| description: 5観点コードレビュー(Security / Performance / Quality / Accessibility / AI Residuals) | ||
| allowed-tools: Read, Grep, Glob, Bash(git:*), Bash(grep:*), Bash(wc:*) | ||
| argument-hint: '[--scope FILE_OR_DIR] [--base-ref REF]' | ||
| --- | ||
|
|
||
| # Code Review Command | ||
|
|
||
| 変更差分を5観点でレビューし、severity ベースの verdict(APPROVE / REQUEST_CHANGES)を返す。 | ||
|
|
||
| ## Step 1: レビュー対象の特定 | ||
|
|
||
| 引数に応じてレビュー対象を決定する。 | ||
|
|
||
| ```bash | ||
| # --base-ref が指定されている場合 | ||
| git diff --name-only --diff-filter=ACMR ${BASE_REF} | ||
|
|
||
| # --scope が指定されている場合 | ||
| # 指定されたファイル/ディレクトリのみ対象 | ||
|
|
||
| # どちらもない場合: ステージング差分 → 直近コミット差分 → main との差分 | ||
| git diff --cached --name-only --diff-filter=ACMR | ||
| # ステージングが空なら | ||
| git diff --name-only --diff-filter=ACMR HEAD~1 | ||
| # それも空なら | ||
| git diff --name-only --diff-filter=ACMR main...HEAD | ||
| ``` | ||
|
|
||
| 差分がない場合はレビュー不要としてメッセージを表示して終了する。 | ||
|
|
||
| ## Step 2: 差分の収集 | ||
|
|
||
| ```bash | ||
| git diff --stat ${BASE_REF:-HEAD~1} | ||
| git diff ${BASE_REF:-HEAD~1} -- ${CHANGED_FILES} | ||
| ``` | ||
|
|
||
| ## Step 3: AI Residuals の静的走査 | ||
|
|
||
| 変更ファイルに対して以下のパターンを検索する。 | ||
|
|
||
| ### Major(出荷リスク) | ||
|
|
||
| ``` | ||
| localhost|127\.0\.0\.1|0\.0\.0\.0 # ローカルアドレス | ||
| it\.skip|describe\.skip|test\.skip # スキップされたテスト | ||
| PRIVATE_KEY|SECRET_KEY|PASSWORD= # ハードコードされた秘密情報候補 | ||
| staging\.|dev\.|sandbox\. # 環境固定 URL | ||
| ``` | ||
|
Comment on lines
+45
to
+50
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fenced code blocks need language tags (MD040). Line 45, Line 54, and Line 61 use unlabeled fences. Add a language token (e.g. 🔧 Proposed fix-```
+```text
localhost|127\.0\.0\.1|0\.0\.0\.0 # ローカルアドレス
it\.skip|describe\.skip|test\.skip # スキップされたテスト
PRIVATE_KEY|SECRET_KEY|PASSWORD= # ハードコードされた秘密情報候補
staging\.|dev\.|sandbox\. # 環境固定 URL@@ Verify each finding against the current code and only fix it if needed. In @.claude/commands/security-review.md around lines 45 - 50, Update the three |
||
|
|
||
| ### Minor(残骸候補) | ||
|
|
||
| ``` | ||
| mockData|dummyData|fakeData|testData # テストデータ残骸 | ||
| TODO|FIXME|HACK|XXX # 未対応マーカー | ||
| ``` | ||
|
|
||
| ### Recommendation(仮実装) | ||
|
|
||
| ``` | ||
| temporary|placeholder|replace.later|workaround # 仮実装コメント | ||
| ``` | ||
|
|
||
| 各ヒットのファイル名・行番号・該当行を記録する。 | ||
|
|
||
| ## Step 4: 5観点レビュー | ||
|
|
||
| 変更差分を以下の5観点で評価する。 | ||
|
|
||
| ### 4.1 Security | ||
|
|
||
| - SQL インジェクション(文字列結合によるクエリ構築) | ||
| - XSS(未サニタイズの出力) | ||
| - 機密情報露出(API キー、トークン、パスワードのハードコード) | ||
| - 入力バリデーション不足(外部入力の未検証使用) | ||
| - 認証・認可の欠落(エンドポイントの保護漏れ) | ||
|
|
||
| ### 4.2 Performance | ||
|
|
||
| - N+1 クエリ(ループ内の DB アクセス) | ||
| - 不要な再レンダリング(依存配列の誤り、メモ化の欠落) | ||
| - メモリリーク(イベントリスナーの未解除、タイマーの未クリア) | ||
| - 非効率なアルゴリズム(O(n²) 以上の計算量) | ||
| - 大きなバンドル影響(不要な import、tree-shaking 阻害) | ||
|
|
||
| ### 4.3 Quality | ||
|
|
||
| - 命名の明瞭さ(意図が伝わる命名か) | ||
| - 単一責任の遵守(1関数/1クラスが1つの責務か) | ||
| - テストカバレッジ(変更コードに対するテストの存在) | ||
| - エラーハンドリング(例外の適切な捕捉と処理) | ||
| - コードの重複(DRY 違反) | ||
|
|
||
| ### 4.4 Accessibility | ||
|
|
||
| - ARIA 属性(インタラクティブ要素の適切なラベル付け) | ||
| - キーボードナビゲーション(フォーカス管理、Tab 順序) | ||
| - カラーコントラスト(WCAG AA 基準) | ||
| - セマンティック HTML(div/span の乱用) | ||
| - フォーム要素のラベル(`<label>` の紐付け) | ||
|
|
||
| ### 4.5 AI Residuals | ||
|
|
||
| Step 3 で検出したパターンに加え、文脈を考慮して判定する。 | ||
|
|
||
| - テストファイル内の `mockData` は正当な使用(minor にしない) | ||
| - `.env.example` 内の `localhost` は正当な使用(major にしない) | ||
| - コメント内の `TODO: #123` は Issue 紐付きなら recommendation に留める | ||
|
|
||
| ## Step 5: Verdict 判定 | ||
|
|
||
| 以下の基準で verdict を決定する。 | ||
|
|
||
| | 条件 | Verdict | | ||
| | --------------------------- | ------------------- | | ||
| | critical が 1件以上 | **REQUEST_CHANGES** | | ||
| | major が 1件以上 | **REQUEST_CHANGES** | | ||
| | minor / recommendation のみ | **APPROVE** | | ||
|
|
||
| ## Step 6: レビュー結果の出力 | ||
|
|
||
| 以下のフォーマットでレビュー結果を出力する。 | ||
|
|
||
| ``` | ||
| ## Code Review Result | ||
|
|
||
| **Verdict**: APPROVE / REQUEST_CHANGES | ||
|
|
||
| ### Summary | ||
| - Files reviewed: {N} | ||
| - Issues found: {critical}C / {major}M / {minor}m / {recommendation}R | ||
|
|
||
| ### Critical Issues | ||
| (critical があれば severity 順に表示) | ||
|
|
||
| ### Major Issues | ||
| (major があれば表示) | ||
|
|
||
| ### Observations | ||
| (minor / recommendation を表示) | ||
|
|
||
| | Severity | Category | Location | Issue | Suggestion | | ||
| |----------|----------|----------|-------|------------| | ||
| | minor | Quality | src/foo.ts:42 | ... | ... | | ||
|
|
||
| ### AI Residuals Summary | ||
| (Step 3 の検出結果サマリ) | ||
| ``` | ||
|
Comment on lines
+54
to
+149
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fenced code block に言語指定を付けてください。 Line 28 のコードフェンスは markdownlint (MD040) 的に 🔧 Proposed fix-```
+```text
## [観点名]
- [severity] [指摘内容] (ファイル名:行番号)🧰 Tools🪛 markdownlint-cli2 (0.22.0)[warning] 28-28: Fenced code blocks should have a language specified (MD040, fenced-code-language) 🤖 Prompt for AI Agents
Comment on lines
+125
to
+149
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Output template block should declare a fence language. Line 125 should specify a language ( 🔧 Proposed fix-```
+```markdown
## Code Review Result
**Verdict**: APPROVE / REQUEST_CHANGES
@@
### AI Residuals Summary
(Step 3 の検出結果サマリ)🧰 Tools🪛 markdownlint-cli2 (0.22.0)[warning] 125-125: Fenced code blocks should have a language specified (MD040, fenced-code-language) 🤖 Prompt for AI Agents |
||
|
|
||
| ## 注意事項 | ||
|
|
||
| - minor / recommendation だけで REQUEST_CHANGES にしない | ||
| - 証拠のない懸念は major にしない(推測ではなく根拠を示す) | ||
| - テストファイル内のモックデータは正当な使用として除外する | ||
| - 設定ファイル(`.env.example` 等)のローカルアドレスは除外する | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,39 @@ | ||
| --- | ||
| paths: | ||
| - '**/*' | ||
| --- | ||
|
|
||
| # Code Review Standards | ||
|
|
||
| ## 5観点レビュー | ||
|
|
||
| コードレビュー時は以下の5観点で評価する。 | ||
|
|
||
| | 観点 | チェック内容 | | ||
| | ----------------- | -------------------------------------------------------------- | | ||
| | **Security** | SQLインジェクション, XSS, 機密情報露出, 入力バリデーション不足 | | ||
| | **Performance** | N+1クエリ, 不要な再レンダリング, メモリリーク, 不要な再計算 | | ||
| | **Quality** | 命名, 単一責任, テストカバレッジ, エラーハンドリング | | ||
| | **Accessibility** | ARIA属性, キーボードナビゲーション, カラーコントラスト | | ||
| | **AI Residuals** | モック残骸, ハードコード値, スキップされたテスト, 仮実装 | | ||
|
|
||
| ## Severity 判定基準 | ||
|
|
||
| 各指摘を以下の severity に分類し、verdict を決定する。 | ||
|
|
||
| | Severity | 定義 | Verdict への影響 | | ||
| | ------------------ | ------------------------------------------------------ | ----------------------- | | ||
| | **critical** | セキュリティ脆弱性、データ損失リスク、本番障害の可能性 | 1件でも REQUEST_CHANGES | | ||
| | **major** | 既存機能の破壊、仕様との矛盾、テスト不通過 | 1件でも REQUEST_CHANGES | | ||
| | **minor** | 命名改善、コメント不足、スタイル不統一 | verdict に影響しない | | ||
| | **recommendation** | ベストプラクティス提案、将来の改善案 | verdict に影響しない | | ||
|
|
||
| minor / recommendation のみの場合は APPROVE を返す。「あったほうが良い改善」は REQUEST_CHANGES の理由にならない。 | ||
|
|
||
| ## AI Residuals 検出パターン | ||
|
|
||
| | Severity | パターン | | ||
| | ------------------ | ------------------------------------------------------------------------------------------------------------------------------- | | ||
| | **major** | `localhost` / `127.0.0.1` の接続先, `it.skip` / `describe.skip` / `test.skip`, ハードコードされた秘密情報, dev/staging 固定 URL | | ||
| | **minor** | `mockData`, `dummy`, `fakeData`, `TODO`, `FIXME` | | ||
| | **recommendation** | `temporary implementation`, `replace later`, `placeholder` などの仮実装コメント | |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -82,7 +82,7 @@ Development infrastructure template repository providing DevContainer images, CI | |
| | `/pre-pr-checklist` | (no description) | | ||
| | `/repo-maintenance` | Comprehensive repository maintenance - run all health checks and updates | | ||
| | `/security-credential-scan` | (no description) | | ||
| | `/security-review` | (no description) | | ||
| | `/security-review` | 5観点コードレビュー(Security / Performance / Quality / Accessibility / AI Residuals) | | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The command table now advertises Useful? React with 👍 / 👎. |
||
| | `/setup-ci` | Setup comprehensive CI/CD workflows for your repository | | ||
| | `/setup-doppler` | Setup Doppler secret management with dev/dev_personal configuration | | ||
| | `/setup-husky` | (no description) | | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
仕様記述と実装が乖離しています(5観点レビュー未実装)。
Line 24-35 と Line 71-78 では
/pre-pr-checklistが5観点レビューを実行・表示する前提ですが、script/pre-pr-checklist.sh:45-122には該当処理がなく、現状は Quality Checks / PR Analysis / Branch Status のみです。ユーザーに誤った期待を与えるため、(1) スクリプト実装を追加するか、実装完了まで (2) 本ドキュメントを「手動レビュー項目」表現に落とす必要があります。Also applies to: 71-78
🧰 Tools
🪛 LanguageTool
[grammar] ~34-~34: Ensure spelling is correct
Context: ...ritical / major の指摘があれば REQUEST_CHANGES 相当として扱い、PR作成前に修正必須とする。 minor / recommendation のみなら APPROVE 相当として通過。 ...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 Prompt for AI Agents