
CursorとClaude Codeを組み合わせた個人的おすすめAI駆動開発の手順
こんちには。
データ事業本部 インテグレーション部 機械学習チームの中村( @nokomoro3 )です。
今回は、CursorとClaude Codeを組み合わせた個人的おすすめAI駆動開発の手順をご紹介します。
全体像
全体像は以下の通りとなります。
- 要求整理フロー
- issue作成(Claude Code / Sonnet 4.5 / カスタムコマンド)
- 初版作成フロー
- ブランチを作成(Claude Code / Sonnet 4.5 / カスタムコマンド)
- Planを作成(Cursor / Sonnet 4.5 / Planモード)
- Planを元にBuildを実行(Cursor / Composer 1 / Build)
- デプロイ・動作確認(手動)
- コミット作成(Claude Code / Sonnet 4.5 / カスタムコマンド)
- プルリクエスト作成(Claude Code / Sonnet 4.5 / カスタムコマンド)
- レビュー対応フロー
- プルリクエストのレビュー(Claude Code / Sonnet 4.5 / カスタムコマンド)
- レビュー対応のためのPlanを作成(Cursor / Sonnet 4.5 / Planモード)
- Planを元にBuildを実行(Cursor / Composer 1 / build)
- 再デプロイ・動作確認(手動)
- コミット作成(Claude Code / Sonnet 4.5 / カスタムコマンド)
- 再レビュー(Claude Code / Sonnet 4.5 / カスタムコマンド)
- (以降繰り返し)
要求整理フロー
要求整理フローは現状単純にissueを作成するだけとしています。
issue作成
カスタムコマンドを使うので、以下のように定義をしておきます。
ユーザから要求された「$ARGUMENTS」に対して以下の手順で課題を作成します。
- GitHub CLIでまずはissueを作成する
## 手順詳細
### GitHub CLIでまずはissueを作成する
issueの内容は日本語で書いてください。
## その他
想定外の作業が発生したり、エラーが見つかった場合はユーザに相談してください。
なおissueの内容にClaude Codeによるものであることがわかる署名は不要です。
例えば以下のようにして使います。
> /github:issue-from-request is running… "特定のURLが要約処理失敗になった場合に、結果に含まれないためステータスが処理中のままとなるバグの修正"
⏺ GitHub issueを作成します。まず、現在のリポジトリ情報を確認してから、適切なissueを作成します。
⏺ Bash(gh repo view --json nameWithOwner,name,owner -q '.nameWithOwner')
⎿ cm-nakamura-shogo/summarizer
⏺ Bash(gh issue create --title "特定のURLが要約処理失敗になった場合に、結果に含まれないためステータスが処理中のままとなるバグの修正" --body "## 問題の概要…)
⎿ https://github.com/cm-nakamura-shogo/summarizer/issues/56
⏺ GitHub issueを作成しました!
作成されたissue:
- URL: https://github.com/cm-nakamura-shogo/summarizer/issues/56
- タイトル: 特定のURLが要約処理失敗になった場合に、結果に含まれないためステータスが処理中のままとなるバグの修正
issue内容:
- 問題の概要と現在の動作を説明
- 期待される動作を明記
- 影響範囲を記載
- 2つの修正案を提示(complete-batch APIでの検出、Proxy側での失敗記録)
- 関連ファイルをリスト化
このissueは、バッチ処理で一部のURLが失敗した場合に、そのステータスがprocessingのまま残る問題に対処するためのものです。
これでGitHubにissueが作成されます。
初版作成フロー
ブランチ作成
実装をしようと思い立ったら、issue番号を指定してまず作業ブランチを作成します。
ブランチ作成にはカスタムコマンドを用います。
指定されたissue番号 $ARGUMENTS に対して以下を実施します
- 適切なブランチ名を作成
- checkout
- リモートにブランチをpush
## 手順詳細
### 適切なブランチ名を考える
ブランチ名については、以下のルールで行なってください。
- 機能追加の場合: feature/{issue番号}-{課題の内容を表す英語名}
- バグ修正の場合: fix/{issue番号}-{課題の内容を表す英語名}
## その他
想定外の作業が発生したり、エラーが見つかった場合はユーザに相談してください。
例えば以下のようにして使用します。
> /github:branch-create is running… 56
⏺ I'll help you create and set up a branch for issue #56. Let me first check what issue #56 is about.
⏺ Bash(gh issue view 56)
⎿ title: 特定のURLが要約処理失敗になった場合に、結果に含まれないためステータスが処理中のままとなるバグの修正
state: OPEN
author: cm-nakamura-shogo
… +69 lines (ctrl+o to expand)
⏺ This is a bug fix issue about handling failed URLs in batch processing. Based on the issue content, I'll create a fix branch.
⏺ Bash(git checkout -b fix/56-batch-processing-failed-url-status)
⎿ Switched to a new branch 'fix/56-batch-processing-failed-url-status'
⏺ Bash(git push -u origin fix/56-batch-processing-failed-url-status)
⎿ branch 'fix/56-batch-processing-failed-url-status' set up to track 'origin/fix/56-batch-processing-failed-url-status'.
remote:
remote: Create a pull request for 'fix/56-batch-processing-failed-url-status' on GitHub by visiting:
… +4 lines (ctrl+o to expand)
⏺ 完了しました。以下の作業を実施しました:
1. ブランチ名を作成: fix/56-batch-processing-failed-url-status
- issue #56がバッチ処理で失敗したURLのステータスが更新されない問題であるため、fix/プレフィックスを使用
2. ブランチを作成してチェックアウト: git checkout -bでローカルブランチを作成し、そのブランチに切り替え
3. リモートにプッシュ: git push -u originでリモートリポジトリにブランチをプッシュし、追跡設定も完了
現在、fix/56-batch-processing-failed-url-statusブランチで作業できる状態です。
Planを作成
次にissueを元にCursorのPlanモードで実装計画を立てます。この際モデルはSonnet 4.5を使用しています。

CursorのPlanモードでは、以下のように不明点があるとユーザにいくつか質問を返してくるので、回答をします。

不明点が解消されると、Planの作成が実行されます。

Planを元にBuildを実行
Planの作成が終わったら、Composer 1を用いてBuildを実行します。Composer 1はとても高速なので、コーディングはこちらに実施させています。

デプロイ・動作確認
実装後は手動で動作確認をします。また以下のようなコマンドは、基本的には手動で実行しています。
- インフラのデプロイ(例:
terraform apply) - DBのマイグレーション(例:
pnpm drizzle-kit generate) - コンテナイメージのビルド&プッシュ
変更された箇所に応じて、上記を実行して動作確認をします。
動作確認の結果、問題があればAgentモードでSonnet 4.5を使って修正をします。
コミット作成
コミットを作成するために、ステージをします。

そしてステージを元にcommitメッセージを作成する以下のカスタムコマンドを実行します。
今ステージングされている差分について、commitメッセージを考えてcommit作成までを行います。
commitメッセージは日本語を使います。
メッセージ形式は、Conventional Commitに基づいたものを使用してください。
リモートへのpushは行わない様にしてください。(ユーザ自身にpushさせるように促します)
なおコミットメッセージにClaude Codeによるものであることがわかる署名は不要です。
例えば以下のようにして使用します。
> /github:commit-single is running…
⏺ 現在のステージング状態を確認して、適切なコミットメッセージを作成します。
⏺ Bash(git status)
⎿ On branch fix/56-batch-processing-failed-url-status
Your branch is up to date with 'origin/fix/56-batch-processing-failed-url-status'.
… +14 lines (ctrl+o to expand)
⏺ Bash(git diff --cached)
⎿ diff --git a/job/batch_entrypoint.py b/job/batch_entrypoint.py
index 22c7eeb..8af232e 100644
--- a/job/batch_entrypoint.py
… +729 lines (ctrl+o to expand)
⏺ Bash(git log --oneline -10)
⎿ b55cf97 Merge pull request #55 from cm-nakamura-shogo/feature/52-async-job-execution-with-
polling
1c59501 fix: 記事ID生成をnanoidからUUIDv4に統一
… +10 lines (ctrl+o to expand)
⏺ 変更内容を確認しました。これはバッチ処理でのエラーハンドリング機能の実装で、Issue
#56に関連しているようです。以下の主要な変更が含まれています:
1. バッチ処理のエラー情報の収集と保存
2. エラー情報をGCSにアップロード(errors.jsonl)
3. Webアプリ側でのエラー表示機能の追加
4. 失敗したURLのステータス管理
Conversational Commit形式で日本語のコミットメッセージを作成します:
⏺ Bash(git commit -m "fix: バッチ処理での失敗URL処理とエラー表示機能の実装 (#56)…)
⎿ [fix/56-batch-processing-failed-url-status 9d2b93e] fix:
バッチ処理での失敗URL処理とエラー表示機能の実装 (#56)
12 files changed, 301 insertions(+), 40 deletions(-)
create mode 100644 web/drizzle/0002_curly_tomorrow_man.sql
⏺ コミットが正常に完成しました。
コミットメッセージには以下の内容を含めました:
- fix: 問題修正を示すプレフィックス
- Issue番号 (#56) の参照
- 解決する問題の背景説明
- 実装した主要な変更の詳細
- ユーザーにとっての価値
リモートへのpushが必要な場合は、以下のコマンドを実行してください:
git push origin fix/56-batch-processing-failed-url-status
リモートへのpushは手動で実施します。
プルリクエスト作成
プルリクエストの作成も以下のカスタムコマンドで実行します。
現在のブランチを $ARGMENTS ブランチにマージするためのPRを作成します。
ただし、現在のブランチに紐づくissueを確認して、未対応の部分や差分がある場合は、ユーザ側にどちらを正とするか判断を仰いで、以下に従ってください
- issueが正の場合、実装や変更すべき部分を対応します。
- コードが正の場合、issueを更新します。
上記を終えた後、PR作成をします。
PRの本文は日本語で作成してください。
## その他
想定外の作業が発生したり、エラーが見つかった場合はユーザに相談してください。
なおissueの内容にClaude Codeによるものであることがわかる署名は不要です。
例えば以下のようにして使用します。
> /github:pull-request-create is running… 13
⏺ 現在のブランチ fix/56-batch-processing-failed-url-status を元に、PR作成の準備を進めます。
まず、以下の情報を確認します:
1. 現在のブランチに紐づくissueの内容
2. 現在の実装内容との差分確認
3. マージ先のブランチ情報
⏺ Bash(gh issue view 56 --json title,body,state)
⎿ {
"body": "## 問題の概要\n\nバッチ処理において、特定のURLが要約処理に失敗した場合、GCS結果
にそのURLが含まれないため、対応する記事のステータスが`proc
essing`のまま更新されないという問題があります。\n\n## 現在の動作\n\n1.
ユーザーが複数のURLをバッチ処理に送信\n2. 一部のURLで要約処理が失敗\n3.
… +18 lines (ctrl+o to expand)
⏺ Bash(gh issue view 13 --json title,body,state)
⎿ {
"body": "## 概要\n既存のPythonバッチ処理システムからCloudflare
Workers/Pages/D1ベースのWebアプリケーションへの移行を行う。ハイ
ブリッドアーキテクチャ(Cloudflare + 外部Python
API)を採用し、段階的な実装を進める。\n\n## 全体スケジュール\n- **総見積もり**: 14-20日
… +16 lines (ctrl+o to expand)
⏺ Bash(git log --oneline -10)
⎿ 9d2b93e fix: バッチ処理での失敗URL処理とエラー表示機能の実装 (#56)
b55cf97 Merge pull request #55 from cm-nakamura-shogo/feature/52-async-job-execution-with-
polling
… +10 lines (ctrl+o to expand)
⏺ Bash(git branch -r)
⎿ origin/develop
origin/feature/13-webapp-migration
origin/fix/56-batch-processing-failed-url-status
… +14 lines (ctrl+o to expand)
⏺ 現在の状況を確認できました:
- 現在のブランチ: fix/56-batch-processing-failed-url-status
- 関連issue: #56(バッチ処理失敗URL処理の修正)
- 最新コミット: 9d2b93e で既に#56の対応が完了している
- マージ先: 引数の13はissue #13を指しており、これは親タスク「Webアプリケーション化」です
次に、現在の実装がissue #56の要件を満たしているか確認します:
⏺ Bash(git diff origin/feature/13-webapp-migration...HEAD --stat)
⎿ job/batch_entrypoint.py | 21 +++++-
job/batch_for_text.py | 85 +++++++++++++++++-----
proxy/main.py | 49 ++++++++++---
… +10 lines (ctrl+o to expand)
⏺ Read(web/app/routes/api.articles.complete-batch.$correlationId.ts)
⎿ Read 283 lines
⏺ 実装内容を確認しました。次に、issue #56の要件と実装の整合性を確認します:
⏺ Read(web/app/lib/batch-result-parser.ts)
⎿ Read 208 lines
⏺ Read(web/functions/scheduled.ts)
⎿ Read 326 lines
⏺ 実装内容を確認しました。次に、Python側の実装とスキーマの変更も確認します:
⏺ Read(web/app/db/schema.ts)
⎿ Read 109 lines
⏺ Bash(git log --oneline --decorate --graph -10)
⎿ * 9d2b93e (HEAD -> fix/56-batch-processing-failed-url-status) fix:
バッチ処理での失敗URL処理とエラー表示機能の
実装 (#56)
* b55cf97 (origin/fix/56-batch-processing-failed-url-status, origin/feature/13-webapp-mi
… +17 lines (ctrl+o to expand)
⏺ 現在の状況を整理します。現在のコミット 9d2b93e は、issue #56の対応が完了していますが、まだ
feature/13-webapp-migration ブランチにマージされていません。
実装内容がissue #56の要件を満たしているか最終確認を行います:
⏺ 実装内容とissue #56の要件を照合します:
Issue #56の要件:
1. バッチ処理完了時に、GCS結果に含まれないURL(失敗したURL)を検出
2. 該当する記事のステータスをfailedに更新
3. ユーザーに失敗した記事を通知
現在の実装:
4. ✅ 失敗URL検出: api.articles.complete-batch.$correlationId.ts (行200-220)とscheduled.ts
(行246-273)で、成功URLのセットを作成し、GCS結果に含まれないURLを検出
5. ✅ ステータス更新: 失敗したURLをfailedステータスに更新し、エラーメッセージも記録
6. ✅ エラー情報の解析:
batch-result-parser.tsでparseBatchResultErrors関数を実装し、エラー情報をパース
7. ✅ スキーマ変更: articlesテーブルにerrorMessageカラムを追加(schema.ts:84)
8. ✅ UI表示: articles.tsxでエラーメッセージを表示(確認が必要)
⏺ Read(web/app/routes/articles.tsx)
⎿ Read 50 lines
⏺ Search(pattern: "errorMessage", path: "web/app/routes/articles.tsx", output_mode: "content")
⎿ Found 5 lines (ctrl+o to expand)
⏺ 素晴らしい!実装がissue #56の要件を完全に満たしていることを確認しました。
次に、Python側の実装も確認します:
⏺ Read(job/batch_for_text.py)
⎿ Read 80 lines
⏺ 実装が完全であることを確認しました。issue #56の全要件が満たされています:
⏺ 実装がissue #56の要件を完全に満たしていることを確認しました。次にPRを作成します:
⏺ Bash(git push -u origin fix/56-batch-processing-failed-url-status)
⎿ branch 'fix/56-batch-processing-failed-url-status' set up to track 'origin/fix/56-batch-pr
ocessing-failed-url-status'.
To https://github.com/cm-nakamura-shogo/summarizer.git
… +2 lines (ctrl+o to expand)
⏺ Bash(git diff origin/feature/13-webapp-migration...HEAD --name-only)
⎿ job/batch_entrypoint.py
job/batch_for_text.py
proxy/main.py
… +9 lines (ctrl+o to expand)
⏺ Bash(gh pr create --base feature/13-webapp-migration --title
"バッチ処理での失敗URL処理とエラー表示機能の実装" --body "## 概要…)
⎿ https://github.com/cm-nakamura-shogo/summarizer/pull/57
⏺ PRの作成が完了しました!
完了した作業の概要
✅ Issue #56とコードの整合性確認
- 現在の実装がissue #56の全要件を満たしていることを確認しました
✅ PRの作成
- PR #57を作成しました: https://github.com/cm-nakamura-shogo/summarizer/pull/57
- マージ先: feature/13-webapp-migration ブランチ
- 関連Issue: #56(バッチ処理失敗URL処理の修正)
実装内容の要約
解決した課題
- バッチ処理で特定URLが失敗した場合、GCS結果に含まれないため記事がprocessing状態のまま残る問題
- ユーザーが失敗した記事の状態を把握できない問題
- Cronジョブが永続的に処理中の記事をチェックし続けるパフォーマンス問題
主な実装
1. エラー情報の解析: parseBatchResultErrors関数でエラーJSONLをパース
2. 失敗URL検出: GCS結果と記事URLを照合し、含まれないURLを検出
3. ステータス更新: 失敗URLをfailedステータスに更新し、エラーメッセージを記録
4. UI表示: 記事リストでエラーメッセージを赤字で表示
5. スキーマ拡張: articlesテーブルにerrorMessageカラムを追加
PRは日本語で作成され、テスト確認項目も含まれています。レビューをお待ちください!
以上で初版の作成は完了です。
レビュー対応フロー
ここからはプルリクエストをレビューしながら修正していきます。
プルリクエストのレビュー
レビューも以下のカスタムコマンドで実施します。
現在のブランチに対応するPull Requestをレビューしましょう。
辛口にレビューをしてください。厳しいあるべき姿や、マサカリ大歓迎です。
あとはそもそものベースの実装が改善の余地がある場合も指摘して欲しいです。
レビュー時には基本的な観点に加えて、以下の観点も入れてください。
- 変更の結果冗長ではないか
- デバッグなどの無駄なコードが残留していないか
- docs配下に今回のコードの変更点が盛り込まれているか(ドキュメントとコードに差分がないか、追加で文章で説明すべき設計がないか)
観点ごとに結果をユーザーにまず通知して、変更は少し待ってください。
## その他
想定外の作業が発生したり、エラーが見つかった場合はユーザに相談してください。
なおPRの内容にClaude Codeによるものであることがわかる署名は不要です。
例えば以下のようにして使用します。
> /github:pull-request-review is running… 57
⏺ PRのレビューを開始します。まずPR #57の詳細を確認します。
⏺ Bash(gh pr view 57 --json title,body,files,number,headRefName)
⎿ {
"body": "## 概要\n\nIssue
#56で報告されたバッチ処理における失敗URL処理の問題を解決しました。\n\n##
主な変更内容\n\n### バックエンド\
n\n1. **エラー情報の解析と記録**\n - `batch-result-parser.ts`:
`parseBatchResultErrors`関数を実装し、バッチ処理
… +81 lines (ctrl+o to expand)
⏺ PRの内容を確認しました。次に変更されたファイルを詳細にレビューしていきます。
⏺ Read(web/app/lib/batch-result-parser.ts)
⎿ Read 208 lines
⏺ Read(web/app/routes/api.articles.complete-batch.$correlationId.ts)
⎿ Read 283 lines
⏺ Read(web/functions/scheduled.ts)
⎿ Read 326 lines
⏺ Read(web/app/db/schema.ts)
⎿ Read 109 lines
⏺ 続いてPython側のコードを確認します。
⏺ Read(job/batch_for_text.py)
⎿ Read 255 lines
⏺ Read(job/batch_entrypoint.py)
⎿ Read 154 lines
⏺ Read(proxy/main.py)
⎿ Read 926 lines
⏺ 続いてフロントエンドとドキュメントを確認します。
⏺ Read(web/app/routes/articles.tsx)
⎿ Read 504 lines
⏺ Search(pattern: "docs/**/*.md")
⎿ Found 0 files
⏺ docsディレクトリが存在しないようです。別のディレクトリで確認してみます。
⏺ Bash(find . -type d -name "doc*" | head -20)
⎿ ./web/node_modules/.pnpm/eslint-plugin-jsx-a11y@6.10.2_eslint@8.57.1/node_modules/eslint-p
lugin-jsx-a11y/docs
./web/node_modules/.pnpm/doctrine@2.1.0
… +18 lines (ctrl+o to expand)
⏺ Search(pattern: "doc/**/*.md")
⎿ Found 28 files (ctrl+o to expand)
⏺ 主要な設計ドキュメントを確認します。
⏺ Read(doc/design/design-cloud-run-batch.md)
⎿ Read 220 lines
⏺ Read(doc/design/design-api-design.md)
⎿ Read 1099 lines
⏺ 総合的なレビュー結果をまとめます。
⏺ PR #57の辛口レビュー結果を報告します。
---
PR #57: バッチ処理での失敗URL処理とエラー表示機能の実装 - 辛口レビュー
全体的に実装の目的は達成されていますが、いくつかの改善点と潜在的な問題があります。以下、観点
ごとに評価します。
...(中略)...
⏺ PR #57の辛口レビューが完了しました。
主な指摘事項のまとめ
🚨 Blockerレベル(即座に対応必須)
1. コード重複:
api.articles.complete-batch.$correlationId.tsとscheduled.tsで300行以上の重複ロジック
2. URL正規化の検証不足: 失敗URL検出が正しく動作するか不明
3. ドキュメント更新漏れ: 設計ドキュメントに今回の変更が反映されていない
⚠️ Majorレベル(優先度高)
4. トランザクション制御なし: 一部の記事だけが更新されるリスク
5. N+1クエリ問題: 失敗URLを1件ずつ更新
6. エラーメッセージ長さ制限なし: 巨大なエラーメッセージが保存される可能性
7. レースコンディション: CronとフロントエンドのポーリングでDB更新競合
想定外の作業が発生した場合の対応についてご相談ください。特にコード重複の解消とドキュメント更
新は、このPRの品質を大きく向上させるため、優先的に対応することをお勧めします。
修正するため、一旦指摘事項をmarkdownファイルに出力します。
> 指摘事項を @doc/task/ に出力してください
⎿ Listed directory doc/task/
⏺ レビュー指摘事項をドキュメントとして出力します。
⏺ Write(doc/task/20251103-task-pr57-review-fixes.md)
⎿ Wrote 955 lines to doc/task/20251103-task-pr57-review-fixes.md
# PR#57 レビュー指摘事項と修正タスク
## PR情報
- **PR番号**: #57
- **タイトル**: バッチ処理での失敗URL処理とエラー表示機能の実装
- **レビュー日**: 2025-11-03
- **ブランチ**: fix/56-batch-processing-failed-url-status
## 概要
… +945 lines (ctrl+o to expand)
⏺ レビュー指摘事項を doc/task/20251103-task-pr57-review-fixes.md に出力しました。
どの項目から着手するか、ご相談ください。特にコード重複の解消については、実装例も含めて詳細に
記載しています。
レビュー対応のためのPlanを作成
次にレビュー指摘事項に対応するために、Planを再度作成します。

いくつかの質疑ののちに、Planが作成されます。

Planを元にBuildを実行
Planの作成が終わったら、今回もComposer 1を用いてBuildを実行します。

再デプロイ・動作確認
修正後も手動で動作確認をします。(ここは同様のため割愛します)
コミット作成
修正が一通り終わったら、またコミットをカスタムコマンドで作成します。
> /github:commit-single is running…
⏺ ステージングされている変更を確認してコミットメッセージを作成します。まず、現在の状態を確認しましょう。
⏺ Bash(git status)
⎿ On branch fix/56-batch-processing-failed-url-status
Your branch is up to date with 'origin/fix/56-batch-processing-failed-url-status'.
… +14 lines (ctrl+o to expand)
⏺ Bash(git diff --staged)
⎿ diff --git a/doc/design/design-api-design.md b/doc/design/design-api-design.md
index 591f77d..5aa5ee5 100644
--- a/doc/design/design-api-design.md
… +1156 lines (ctrl+o to expand)
⏺ 差分が長いため、変更内容を要約してコミットメッセージを作成します。
主な変更内容:
1. PR#57レビュー対応のドキュメント追加: タスクファイルを新規作成
2. コード重複の解消: batch-completion-handler.tsを新規作成し、共通処理を統合
3. URL正規化テストの追加: url-helpers.test.tsを新規作成
4. ドキュメント更新: 設計ドキュメント3件にエラー処理フローを追記
5. エラーハンドリング改善: Python側でログ出力を強化
6. プロキシレスポンス修正: correlationIdを追加
これらは全てPR#57のレビュー指摘事項に対応する修正です。
⏺ Bash(git commit -m "refactor: PR#57レビュー指摘事項の修正とコード品質向上…)
⎿ [fix/56-batch-processing-failed-url-status fc59e31] refactor: PR#57レビュー指摘事項の修正とコード品質向上
12 files changed, 1449 insertions(+), 396 deletions(-)
create mode 100644 doc/task/20251103-task-pr57-review-fixes.md
… +2 lines (ctrl+o to expand)
⏺ コミットを作成しました!
コミットメッセージ: refactor: PR#57レビュー指摘事項の修正とコード品質向上
主な変更内容:
- コード重複の解消(300行超の共通ロジックをbatch-completion-handler.tsに集約)
- URL正規化のテスト追加
- 設計ドキュメント3件の更新
- Python側のエラーハンドリング改善
- プロキシレスポンスへのcorrelationId追加
リモートへのpushは以下のコマンドで行えます:
git push origin fix/56-batch-processing-failed-url-status
再レビュー
修正後に再度レビューを実施します。
> /github:pull-request-review is running… 57
⏺ PR #57のレビューを開始します。まずPRの情報を取得しましょう。
...(以降略)...
以降、指摘事項がなくなるまで繰り返します。
まとめ
いかがでしたでしょうか。本記事がこれからAI駆動開発を始める方のご参考になれば幸いです。








