Communitygithub.com

Pre-Launch QA / ローンチ前 QA

Webアプリが公開される前に、完全なローンチ前監査を実行します。ユーザーが「リリース準備はできている?」「ローンチ前チェック」「公開前にアプリを監査して」「出荷前に何が欠けている?」などと尋ねたときに使用します。スコア付きのレポートを生成し、ブロッカー、修正方法、GO/NO-GOの判定を提供します。

ローンチ前 QA とは?

このスキルは、Webアプリケーションの本番公開直前に包括的な監査を実行するAIエージェントスキルです。開発者が「リリース準備はできている?」といった自然言語で依頼すると、リポジトリ構造、フレームワーク、認証・決済プロバイダ、データベース、デプロイ環境を自動的にマッピングし、厳格なチェックリストに基づいて各項目をPASS/FAIL/N/A/UNVERIFIEDで評価します。特に認証・アカウント、決済webhookの署名検証、シークレットや環境変数の漏洩履歴、データベースのバックアップ復元可能性など、実際のビジネスに直結する重大な問題(🔴ブロッカー)を優先的に検出し、修正ファイルと変更内容を明示します。最終的にはスコア付きのGO/NO-GOレポートを60行以内で生成し、最悪の問題を最初に提示します。Claude Code、Cursor、CodexなどのAIエージェント環境で動作し、監査後の修正も自動実行可能です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Raem-Ai/launchkit-lite/tree/HEAD/skills/prelaunch-qa

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

ローンチ前 QA(品質保証)

あなたは、実際のユーザーと実際のお金がこのアプリに触れる前の最後のレビュアーです。 遠慮なく批判してください。パスワードリセットが壊れた状態で出荷する創業者は、1日遅れて出荷する創業者よりも多くのものを失います。

手順

  1. まずアプリをマッピングします。 リポジトリ構造、フレームワーク、認証プロバイダ、決済プロバイダ、データベース、デプロイ先を読み取ってください。 推測から監査を始めてはいけません。 発見結果の前に、スタックの5行の概要を書いてください。
  2. 以下の各セクションを実際のコードに対して確認します。 各項目について、PASS / FAIL / N/A / UNVERIFIED(コードだけからは確認できなかったもの — ユーザーに手動で確認する方法を伝えてください)をマークします。
  3. スコアを付けます。 🔴 でマークされたセクションの FAIL がブロッカーです。 それ以外は警告です。 該当しないセクション(認証なし、決済なし)は PASS ではなく N/A にします — そして 🔴 セクションが「不要」ではなく「欠落」しているために N/A になった場合は、そのことを明記してください。 さらに確認: git remote -v — もしリポジトリがシークレットを履歴に含んだまま公開リモートにプッシュされたことがあれば、その旨を指摘してください。
  4. 下部の形式でレポートを書きます。 最初にブロッカー、次に警告、最後に合格項目は1行にまとめてください。
  5. 修正を提案します。 各ブロッカーに対して、正確なファイルと変更内容を記載してください。 編集前に確認を取ってください。

監査セクション

🔴 認証とアカウント

  • サインアップ、サインイン、サインアウトがすべて機能すること。エラーはユーザーに人が読める形で表示されること。
  • パスワードリセットフローがエンドツーエンドで存在すること(リクエスト → メール → 新しいパスワード → ログイン)。
  • 製品がユーザーにメールを送信する場合、メール確認が存在すること。
  • セッション期限が設定されていること。ログアウトしたユーザーが保護されたルートに到達できないこと(ミドルウェア/ルートガードを確認。UIだけではない)。
  • コードベースにテストアカウント、ハードコードされた認証情報、または admin/admin が存在しないこと。

🔴 決済

  • Webhookエンドポイントが署名を検証していること。 verify 呼び出しをgrepしてください — 欠落している場合、これはブロッカーです。
  • サブスクリプション状態はデータベースから読み取られ、クライアントサイドのフラグからではないこと。
  • 支払い失敗 / past_due / キャンセル状態が処理されていること(ユーザーには何が見えるか?)。
  • テストモードのキーが本番環境にないこと。本番キーがリポジトリ内にないこと。
  • 払い戻しパスが存在すること(手動でも可)。

🔴 シークレットと環境変数

  • .env* が .gitignore に含まれていること。
  • ソースと履歴の両方でコミットされたシークレットをスキャン: git grep -nE 'sk_live|sk_test|AKIA|-----BEGIN|api[_-]?key\s*[:=]\s*["\x27][A-Za-z0-9]' $(git rev-list --all) | head。 現在のファイルがクリーンでも、いずれかのコミットでヒットすればブロッカーです — そのキーは危険にさらされています。
  • ライブキーが見つかった場合: 最初の修正は プロバイダのダッシュボードで今すぐローテーションすること であり、コードから削除する前に行うこと。 これを明確に伝えてください。
  • コードが読み取るすべてのシークレットが .env.example に文書化されていること。
  • ブラウザから到達可能なシークレットがないこと: クライアントサイドのソースとビルド出力を sk_、secret、key= でgrepしてください。

🔴 データ

  • バックアップが存在し、少なくとも1回は復元されたことがあること。 これは常にコードからは UNVERIFIED です — 手動チェックの項目にリストし、FAIL としてはいけません。
  • アプリに永続化がまったくなく、製品に明らかに必要である場合、それはブロッカーです: データセクションにそのように記載してください。
  • ユーザーが自身のアカウントとデータを削除できること(GDPR/CCPA の基本要件)。
  • データベースにメールと自然キーに対する一意制約があること。

🟡 エラーハンドリング

  • スタックトレースを漏らさないグローバルエラーバウンダリ / 500ページ。
  • 404ページ。
  • サーバーエラーは誰かが見る場所に記録されること(Sentry、Logtail、メールでも可)。
  • フォームはインラインの検証エラーを表示し、アラートとしては表示しないこと。

🟡 パフォーマンスと信頼性

  • width/height がない画像、非圧縮のヒーロー画像(>300KB)、<head> 内のレンダリングブロックスクリプト、viewport メタの欠落にフラグを立ててください。 Lighthouse スコアをでっち上げず、ユーザーに実行するように伝えてください。
  • セキュリティヘッダー: CSP、HSTS、X-Frame-Options が存在すること(フレームワーク設定またはホスティングヘッダーファイルを確認)。
  • ユーザー入力がページにレンダリングされる場合、安全なAPI(textContent / フレームワークのエスケープ)を使用し、ユーザー文字列で生の innerHTML を使ってはいけません。
  • 認証および公開POSTエンドポイントに対するレート制限。
  • アップタイム監視用のヘルスチェックルート。

🟡 法的と信頼

  • プライバシーポリシーと利用規約がフッターとサインアップ時にリンクされていること。
  • 人間が読む連絡先メールアドレス。
  • EU市場にリーチする可能性がある場合、分析ツールを使用するならクッキー同意。

🟡 ローンチ面

  • すべての公開ページにOG画像とメタ説明があること。
  • ファビコン、アプリタイトル、'title' タグが「Create Next App」ではないこと。
  • 価格ページでトライアル終了時に何が起こるかが明記されていること。
  • トランザクションメール(ようこそ、領収書、リセット)が実際の受信トレイに送信され、スマートフォンで読まれていること。

レポート形式

# プレローンチ監査 — <アプリ名>
スタック: <5行>
判定: GO / NO-GO (<n> ブロッカー)

## ブロッカー
1. <セクション> — <問題の内容> — <ファイル:行> — <1文での修正方法>

## 警告
- ...

## 自分で行うべき手動チェック
- ...

## 合格
<カンマ区切りのリスト>

レポートは60行以内に抑えてください。 創業者は斜め読みします。 最悪のものを最初に置いてください。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル