スクショとプロンプトだけで公開済みアプリを継続的に改善できるようになる
- 公開済みアプリをスクリーンショットとプロンプトだけで継続的に改善できる
- ブラウザエラー・ターミナルエラー・Vercel ビルドエラーを自分で対処できる
- Cursor と Antigravity を使い分けて効率的に修正作業を進められる
instructions.md/CLAUDE.mdで AI へのコンテキストを維持して精度の高い修正ができる- 修正 → デプロイ → 確認のサイクルを自律的に回せる
Phase 1: 修正作業の基本サイクルを身につける
STEP 1-1: 基本フロー — スクショ → Cursor Agent → Accept → git push → Vercel 自動デプロイ
公開済みアプリを改善するための基本サイクルです。このフローを繰り返すことで継続的な改善が実現できます。このサイクルはエンジニアが「CI/CD」と呼ぶ仕組みに近いです。
【Windows 版】
- スクリーンショットの撮り方
修正したい箇所をブラウザで開き、Win + Shift + S でスニッピングツールを起動して対象部分を範囲選択してコピー - Cursor Agent への依頼
Cursor を開き、Ctrl + L でチャットを開く → スクリーンショットを貼り付け(Ctrl + V)→ 修正依頼のプロンプトを入力して送信 - 変更の Accept と push
Cursor が提案した変更を確認して「Accept All」または個別に Accept する
ボタンの色がおかしい。青にして欲しい
▲ Cursor にスクショを Ctrl+V で貼り付けて修正依頼。右パネルで AI が提案した変更を確認できる
git add . git commit -m "fix: ○○を修正" git push origin main
【Mac 版】
- スクリーンショット: Cmd + Shift + 4 で範囲選択してクリップボードにコピー
- その他の手順は Windows 版と同一
⚠️ エラーが出た場合
git push が失敗する場合
git statusでファイルの変更状態を確認するgit add .を先に実行してからコミットしているか確認する- リモートリポジトリとの差異がある場合:
git pull origin mainを先に実行する - 認証エラーの場合:
gh auth loginを再実行する
STEP 1-2: Antigravity Agent での修正フロー(Cursor との使い分け)
Cursor と Antigravity はどちらも AI 修正に使えますが、得意な場面が異なります。迷ったらまず Cursor を使いましょう。
| 場面 | Cursor Agent | Antigravity Agent |
|---|---|---|
| コードの多ファイル同時修正 | ✅ 得意 | ✅ 得意 |
| ブラウザの見た目を確認しながら修正 | △ 手動確認が必要 | ✅ 自動ブラウザ操作で確認可能 |
| ターミナルのエラー修正 | ✅ 得意 | △ 可能 |
| UI テストの自動実行 | △ 限定的 | ✅ 得意 |
| インターネット検索しながら修正 | △ 可能 | △ 可能 |
Antigravity での修正フロー
- Antigravity を開き、Agent Manager View に切り替える
- チャットにスクリーンショットを貼り付けて修正を依頼する
- エージェントがコードを修正し、ブラウザで確認まで自動で行う場合がある
- 修正内容を確認して Approve する
git add . && git commit -m "fix: ○○" && git push origin mainを実行
⚠️ エラーが出た場合
Antigravity が動作しない場合は、まず Cursor での修正フロー(STEP 1-1)を使ってください。Antigravity はブラウザ操作も絡む修正や、動作確認を一緒にやってほしい場面で特に力を発揮します。
STEP 1-3: instructions.md / CLAUDE.md でコンテキストを維持する方法
AI に毎回「このアプリは何をするもので、どんな技術スタックを使っているか」を説明するのは非効率です。プロジェクトのルートにコンテキストファイルを作成することで、AI が常にプロジェクトの文脈を理解した状態で作業できます。このファイルは AI への「引き継ぎ書」です。
【Windows 版 / Mac 版 共通】
プロジェクトのルートに CLAUDE.md(Cursor では instructions.md も利用可)を作成する:
# プロジェクト概要 ## アプリの目的 ○○を行うWebアプリケーション。 ## 技術スタック - フロントエンド: React + Vite - スタイリング: Tailwind CSS - デプロイ: Vercel - バージョン管理: GitHub ## ディレクトリ構成 - `src/components/` - Reactコンポーネント - `src/pages/` - ページコンポーネント - `src/utils/` - ユーティリティ関数 - `public/` - 静的ファイル ## 重要なルール - コンポーネントはTypeScriptで書く - スタイルはすべてTailwind CSSを使う(インラインスタイルは使わない) - APIキーは環境変数から読み込む(コードにハードコードしない) ## 環境変数 - `VITE_API_KEY`: APIアクセスに使用 ## 既知の制約・注意事項 - ○○の機能は現在開発中のため変更しない
⚠️ エラーが出た場合
CLAUDE.md を作成してもAIが参照しない場合は、チャットの最初に「@CLAUDE.md を読んでからこの作業をしてください」と明示してください。Cursor では @ファイル名 でファイルを直接参照させることができます。
Phase 2: エラー対処の標準フロー
STEP 2-1: ブラウザエラー(真っ白・赤いエラー表示)のスクショ修正依頼
「真っ白」になる原因のほとんどは JavaScript のエラーです。F12 を押して Console タブに赤いメッセージが出ていれば、それを AI に見せるだけで修正できます。
【Windows 版】
- ブラウザでエラーが発生しているページを開く
- F12 キーで開発者ツールを開く
- 「Console」タブを選択してエラーメッセージを確認する
- エラーが表示されている Console タブごとスクリーンショットを撮る(Win + Shift + S)
- Cursor チャットにスクリーンショットを貼り付けて修正依頼
添付のスクリーンショットはブラウザのコンソールエラーです。 エラーを修正してください。 発生状況: ○○のページを開くと真っ白になる
【Mac 版】
- Cmd + Option + J で開発者ツールの Console を開く
- その他の手順は Windows 版と同一
⚠️ エラーが出た場合
Console に何も表示されない場合
- ページをリロードしてから F12 を開く(ロード前にコンソールを開いていないとエラーが消えてしまう場合がある)
- 「Network」タブで失敗しているリクエスト(赤いもの)を確認する
- ブラウザのキャッシュをクリアしてから再確認する(Ctrl + Shift + R でハードリロード)
STEP 2-2: ターミナルエラーのスクショ修正依頼
ターミナルのエラーはコピペが一番確実です。スクリーンショットでも AI は読み取れますが、テキストで貼り付けると解析精度が上がります。
【Windows 版】
- Cursor のターミナルまたはコマンドプロンプトにエラーが表示されたら
- ターミナルを選択してエラー部分をマウスでドラッグ選択 → コピー(Ctrl + C)
- Cursor チャットに貼り付けて修正依頼
以下のターミナルエラーが発生しました。修正してください。 [エラーメッセージをここに貼り付け] 実行していたコマンド: npm run dev
【Mac 版】
- Cmd + C でコピー、その他は同一手順
⚠️ エラーが出た場合
ターミナルのエラーが長くてすべてコピーできない場合は、最後の部分(最下部)が最も重要です。エラーの末尾から 30〜50 行程度をコピーして AI に貼り付けてください。
STEP 2-3: Vercel ビルドエラーのログからの修正依頼
【Windows 版 / Mac 版 共通】
- Vercel ダッシュボード → 「Deployments」タブ
- 失敗したデプロイ(赤い「Error」)をクリック
- 「Build Logs」タブを開く
- ページ末尾のエラー部分をコピー(Ctrl+A で全選択してもよい)
- Cursor チャットに貼り付けて修正依頼
Vercelのビルドログにエラーがありデプロイできません。修正してください。 [ビルドログをここに貼り付け]
⚠️ エラーが出た場合
ビルドログが長すぎてコピーできない場合
「エラー」または「Error」という文字を含む行前後 20 行程度をコピーして貼り付けてください。ログの最後の部分(最下部)が最も重要なエラー情報を含んでいることが多いです。
STEP 2-4: 本番と開発の差異問題(「ローカルでは動くのに本番で動かない」)
「ローカルでは動くのに本番で動かない」問題の9割は環境変数の設定ミスです。まず Vercel ダッシュボードの環境変数を確認してみましょう。
| 原因 | 確認方法 | 対処 |
|---|---|---|
| 環境変数が設定されていない | Vercel ダッシュボードの環境変数を確認 | 環境変数を設定して再デプロイ |
| 環境変数設定後の再デプロイ忘れ | デプロイ日時と環境変数設定日時を比較 | 再デプロイを実行 |
ローカルの .env ファイルを GitHub に push していない | .gitignore を確認 | Vercel に直接環境変数を設定 |
| React Router のルーティング問題 | 直接 URL でアクセスして 404 になるか確認 | vercel.json を追加 |
| 大文字小文字の違い(ファイル名) | import 文とファイル名を照合 | ファイル名の大文字小文字を統一 |
プロジェクトルートに vercel.json を作成:
{
"rewrites": [
{ "source": "/(.*)", "destination": "/" }
]
}
⚠️ エラーが出た場合
上記を試しても解決しない場合は、Cursor チャットで「ローカルでは動くが Vercel 本番では動かない。考えられる原因を教えてください。」と質問して原因を絞り込んでください。
Phase 3: Cursor の高度な活用
STEP 3-1: Plan モードで大規模修正の設計をする
機能追加など影響範囲が広い修正は、Plan モードを使って先に設計を確認してから実施します。大きな変更を一気に依頼すると予期しない部分まで変わってしまうことがあります。まず「何を変えるか」を確認してから実装に移る習慣をつけましょう。
【Windows 版 / Mac 版 共通】
まず実装計画を作ってください(コードは変更しないで)。 追加したい機能: ○○機能 現在の状態: ○○コンポーネントに△△を追加したい 影響を受けるファイルの一覧と、各ファイルへの変更内容を教えてください。
提案された計画を確認し、問題なければ「この計画で実装してください」と送信します。
⚠️ エラーが出た場合
AI が計画なしにいきなりコードを書き始めた場合は「まず計画だけ教えてください、コードはまだ変更しないでください」と再度指示してください。
STEP 3-2: @記号でフォルダ全体をコンテキストに含める
Cursor のチャット欄で @ を入力するとファイル/フォルダの補完が表示されます。@ でファイルを指定すると、AI がそのファイルの内容を直接読んで作業します。
【Windows 版 / Mac 版 共通】
# 特定ファイルを参考にして新規作成 @src/components/Header.tsx を参考に、同じスタイルでFooterコンポーネントを作成してください。 # フォルダ全体でコード整理 @src/components/ フォルダ全体を確認して、コンポーネント間で重複しているコードをまとめてください。 # CLAUDE.md と組み合わせた指示 @CLAUDE.md @src/pages/ を参考に、新しいAboutページを追加してください。
⚠️ エラーが出た場合
@ でファイルを指定してもAIが参照できない場合は、ファイルパスが正しいか確認してください。Cursor の「Explorer」パネルで実際のパスを確認できます。
STEP 3-3: CLAUDE.md のベストプラクティス(サンプルテンプレート付き)
効果的な CLAUDE.md の書き方のテンプレートです。プロジェクトのルートに作成してください。
# プロジェクト: [アプリ名] ## 概要 [1〜3行でアプリの目的を説明] ## 技術スタック - フロントエンド: React + TypeScript + Vite - スタイリング: Tailwind CSS - 状態管理: [使用している場合のみ記載] - バックエンド/API: [使用している場合のみ記載] - デプロイ: Vercel ## ディレクトリ構成 ``` src/ ├── components/ # 再利用可能なUIコンポーネント ├── pages/ # ページレベルのコンポーネント ├── hooks/ # カスタムフック ├── utils/ # ユーティリティ関数 └── types/ # TypeScriptの型定義 ``` ## コーディングルール - TypeScriptの型は必ず定義する - コンポーネントは1ファイル1コンポーネント - スタイルはTailwind CSSのみ使用(styled-componentsやinlineスタイル不可) - APIキーはimport.meta.env経由で読み込む ## 環境変数(実際の値は書かない) - `VITE_API_KEY`: ○○APIのキー ## 現在の開発状況 - 完成している機能: [一覧] - 開発中の機能: [一覧] - 既知のバグ: [一覧] ## 変更してはいけない部分 - [理由とともに記載]
⚠️ エラーが出た場合
CLAUDE.md が大きくなりすぎると AI のコンテキストウィンドウを圧迫することがあります。1,000 行を超えるようになったら不要な情報を整理・削除してください。
Phase 4: Antigravity の高度な活用
STEP 4-1: Agent Manager でマルチファイル同時修正
「これとこれとこれを同時に変えて」という依頼は Antigravity の Agent Manager が得意です。依頼した変更の全体を見渡せるので、変更内容の確認もしやすくなっています。
【Windows 版 / Mac 版 共通】
以下の修正を行ってください: 1. src/components/Header.tsx のナビゲーションにAboutページへのリンクを追加 2. src/pages/About.tsx を新規作成(デザインはHome.tsxと揃える) 3. src/App.tsx にAboutページのルートを追加 CLAUDE.mdのルールに従ってください。
⚠️ エラーが出た場合
Antigravity が複数ファイルを同時に修正する際に競合が発生した場合は、一度に修正するファイル数を減らして段階的に依頼してください。
STEP 4-2: ブラウザ自動テストを修正フローに組み込む
修正後の動作確認を Antigravity のブラウザ操作機能で自動化できます。npm run dev でローカルサーバーを起動した状態でこのプロンプトを使います。
【Windows 版 / Mac 版 共通】
以下の手順でアプリをテストしてください: 1. http://localhost:5173 を開く 2. ヘッダーのナビゲーションリンクを1つずつクリックして遷移を確認する 3. ログインフォームに test@example.com と入力してログインボタンをクリック 4. エラーや想定外の動作があればスクリーンショットを撮って報告する
⚠️ エラーが出た場合
Antigravity がブラウザにアクセスできない場合は、npm run dev が起動しているか確認してください。また、ファイアウォールやセキュリティソフトがローカルサーバーへのアクセスをブロックしていないか確認してください。
STEP 4-3: rules.md でエージェントの動作を制御する
Antigravity のエージェントが守るべきルールを rules.md に定義できます。
【Windows 版 / Mac 版 共通】
# エージェントの動作ルール ## 必ず守ること - コードを変更する前に、変更計画を提示して確認を求める - テストファイルは変更しない(依頼がある場合のみ) - package.json の依存関係を追加・変更する前に確認する - 環境変数ファイル(.env)は絶対に変更しない ## 禁止事項 - git push は自分では行わない(確認してから手動で行う) - ファイルの削除は確認なしに行わない - 本番URL(vercel.appのURL)に直接アクセスしない ## 推奨する作業手順 1. 変更するファイルと変更内容を先に説明する 2. 変更を実施する 3. ローカルで動作確認する(npm run dev が起動していれば確認する) 4. 変更内容のサマリーを出力する
⚠️ エラーが出た場合
rules.md を作成しても反映されない場合は、Antigravity の設定でどのファイルをルールとして読み込むかを確認してください。
Phase 5: 継続運用のルーティン化
STEP 5-1: 定期的なコードレビュー依頼プロンプト
週1回など定期的にコードレビューを依頼することで、技術的負債の蓄積を防げます。
@src/ フォルダ全体のコードをレビューしてください。 以下の観点で問題点と改善提案を教えてください: 1. バグや潜在的なエラーが起きやすい箇所 2. 重複しているコードや整理できる箇所 3. パフォーマンスに影響しそうな実装 4. 読みにくいコードや命名の問題 優先度(高/中/低)と修正の難易度もあわせて教えてください。
⚠️ エラーが出た場合
コードレビューで改善提案が多すぎる場合は「優先度が高いものだけ上位3つ教えてください」と絞り込んでください。
STEP 5-2: セキュリティチェック依頼プロンプト
アプリを公開する前や、新機能を追加した後に実施することをおすすめします。
@src/ のコードについて、セキュリティの観点からチェックしてください。 特に以下を確認してください: 1. APIキーやシークレットがコード内にハードコードされていないか 2. ユーザー入力をそのままDOMに挿入していないか(XSS) 3. 外部URLへの直接リダイレクトが含まれていないか 4. 不要な権限やスコープを要求していないか 問題があれば修正方法も教えてください。
⚠️ エラーが出た場合
セキュリティ上の問題が見つかった場合は、修正を急いでください。特に API キーのハードコードは即座に修正が必要です。
STEP 5-3: パフォーマンス改善依頼プロンプト
@src/ のコードのパフォーマンスを改善してください。 確認してほしい点: 1. 不必要なAPIコール・再レンダリングが発生していないか 2. 画像の最適化(サイズ・形式)ができているか 3. コード分割(lazy loading)が適切に行われているか 4. メモリリークの可能性がある箇所 Lighthouseスコアを改善するための優先度の高い改善から順に教えてください。
⚠️ エラーが出た場合
パフォーマンス改善は影響範囲が大きいため、Plan モード(STEP 3-1)を使って先に設計を確認してから実施することをおすすめします。
付録: コピペ用プロンプト集
用途別プロンプト集(コピー&ペーストして使用)
修正依頼プロンプト
添付のスクリーンショットのUIを修正してください。 問題: [問題を1行で説明] 期待する動作: [こうなってほしい]
[コンポーネント名]の[要素名]を変更してください。 現在: [現在の状態] 変更後: [変更したい状態] CLAUDE.mdのルールに従ってください。
エラー対処プロンプト
以下のブラウザコンソールエラーを修正してください。 エラー内容: [エラーメッセージを貼り付け] このエラーは[何をしたときに]発生します。
以下のVercelビルドエラーを修正してください。 ローカルでのビルドも確認してください。 ビルドログ: [ビルドログを貼り付け]
機能追加プロンプト
以下の機能を追加してください。 機能名: [機能名] 概要: [機能の説明] 配置場所: [どのページ・コンポーネントに追加するか] 既存のデザインシステムやコーディングルール(@CLAUDE.md)に従ってください。 実装前に変更するファイルの一覧を教えてください。
コードレビュー用プロンプト
@src/ を確認して、本番デプロイ前にチェックすべき問題がないか教えてください。 特に確認してほしいこと: - console.log が残っていないか - TODO/FIXMEコメントが残っていないか - テスト用のデータやAPIキーがコードに含まれていないか
⚠️ プロンプトが効かない場合
プロンプトが意図した通りに動かない場合は、以下を試してください:
- より具体的な指示を追加する(「○○ファイルの△△行目付近を修正してください」など)
- CLAUDE.md でルールをより明確に記述する
- 一度に複数の依頼をまとめるより、1つずつ依頼する
- Cursor を再起動してチャットをリセットする