mcpField

hackathon-deployment-prep

github.com/bernieweb3クラウド・DevOps43 回インストール
リポジトリ

hackathon-deployment-prep について

hackathon-deployment-prepは、審査前にプロジェクトのデプロイとデモ環境を整えるスキルです。順序付きの検証項目、デモデータの準備、環境要件、重大な障害への代替策をまとめます。

主な機能

  1. 01順序付きデプロイ確認リスト
  2. 02デモ環境の準備計画
  3. 03テストデータと状態の準備
  4. 04障害ごとの代替策
  5. 05二択の実施可否基準

活用シーン

  1. 01審査前のデプロイ検証
  2. 02初期状態からのデモデータ準備
  3. 03デモを妨げる問題への対策計画
  4. 04発表可能な状態かどうかの判断

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bernieweb3/hackathon-ai-devkit --skill hackathon-deployment-prep

インストール後、Claude Code で/hackathon-deployment-prepを入力して読み込まれたか確認します。

詳細

hackathon-deployment-prep

目標

デプロイチェックリストを作成し、デモ環境を検証してテストデータを読み込み、重要な障害シナリオごとに代替プランを定めることで、審査開始前にプロジェクトを確実にデプロイし、デモを実施できる状態にします。


トリガー条件

次の場合にこのスキルを使用します。

  • 実装が完了し、デモの流れがエンドツーエンドで動作する
  • プロジェクトを初めてクラウドプラットフォーム(Vercel、Render、Railway など)にデプロイする
  • 審査前にチームでデモ環境を検証する必要がある
  • リハーサルでデモの流れが不安定だと判明した
  • Phase 8(デリバリー)で hackathon-test-generator の後、hackathon-submission-prep の前に呼び出す。デプロイに変更があった場合は再度呼び出す

入力

入力型必須説明
project_titlestringはいプロジェクト名
mvp_demo_flowobject[]はいhackathon-scope-cutter によるデモ手順
tech_stackstring[]はい使用するテクノロジー
deployment_targetsobject[]はいフロントエンドとバックエンドのプラットフォームの詳細
demo_blockersobject[]いいえhackathon-test-generator で特定された既知の障害シナリオ
demo_environmentstringいいえデモの実行環境(例:ブラウザー、モバイル、CLI、Vercel)
judging_formatstringいいえlive_demo、video_only、both(デフォルト:both)
deadline_hours_remainingnumberいいえ提出期限までの時間数

出力

出力説明
deployment_checklist合格/不合格の基準を含む、順序付きのデプロイ検証手順
demo_environment_plan安定したデモに必要な環境設定一式
demo_data_setupクリーンな状態からデモの流れを実行するために必要なテストデータと状態
fallback_plan重要な障害シナリオごとの段階的な代替策
go_no_go_criteriaチームが発表する前に、すべて満たす必要がある条件
recommended_skills次に呼び出すことを推奨するスキル

ルール

  1. deployment_checklist は、新しいマシンまたはクラウドシェルから順番に実行できる必要があります。
  2. mvp_demo_flow のすべての項目に、対応する demo_data_setup の項目を用意する必要があります。
  3. demo_blockers のすべての項目に、対応する fallback_plan の項目を用意する必要があります。
  4. go_no_go_criteria は二択の合格/不合格でなければなりません。中間状態は認められません。
  5. judging_format に live_demo が含まれる場合、画面録画による代替策が必須です。
  6. 15 分を超えるデプロイ手順には [TIME-RISK] のラベルを付けます。
  7. demo_environment_plan には、正確なブラウザー、ズームレベル、ウィンドウ配置、テストアカウントの状態を指定する必要があります。

出力形式

deployment_checklist:
  - id: "DC-<number>"
    step: "<what to do>"
    platform: "<Vercel|Render|Railway|local|all>"
    pass_condition: "<what success looks like>"
    time_risk: <true|false>
    estimated_minutes: <number>

demo_environment_plan:
  browser: "<browser name and version>"
  zoom_level: "<percentage>"
  window_layout: "<description of screen layout>"
  demo_account: "<account/user state>"
  pre_loaded_data: "<what must exist before demo starts>"
  notifications: "disabled"
  additional_notes:
    - "<note>"

demo_data_setup:
  - demo_flow_step: <number>
    required_state: "<what must be true in the system>"
    setup_command: "<command or action to create this state>"

fallback_plan:
  - scenario: "<failure scenario>"
    trigger: "<when to invoke this fallback>"
    action: "<what to do>"
    asset_required: "<pre-recorded video|static slide|mock data|none>"

go_no_go_criteria:
  - criterion: "<condition>"
    status: "<PASS|FAIL|NOT_CHECKED>"

recommended_skills:
  - "<skill-name>"

例

入力:

project_title: "AnchorAI"
mvp_demo_flow:
  - step: 1
    action: "User types 'I'm feeling overwhelmed today'"
    outcome: "AI responds empathetically"
  - step: 2
    action: "User describes recurring work stress"
    outcome: "AI references last week's conversation from memory"
  - step: 3
    action: "User expresses hopelessness"
    outcome: "Crisis resource card appears"
tech_stack: ["Next.js", "FastAPI", "Supabase", "Groq"]
deployment_targets:
  - role: "frontend"
    platform: "Vercel"
    url: "https://anchorai.vercel.app"
  - role: "backend"
    platform: "Render"
    url: "https://anchorai-api.onrender.com"
demo_blockers:
  - scenario: "Groq API rate limit hit during demo"
    mitigation: "Pre-recorded screen capture"
  - scenario: "Render cold start delays response by 30s"
    mitigation: "Warm-up ping at start"
judging_format: "both"
deadline_hours_remaining: 3

出力:

deployment_checklist:
  - id: "DC-01"
    step: "Verify Render backend is deployed and /health endpoint returns HTTP 200"
    platform: "Render"
    pass_condition: "curl https://anchorai-api.onrender.com/health returns {\"status\": \"ok\"}"
    time_risk: false
    estimated_minutes: 2
  - id: "DC-02"
    step: "Verify Vercel frontend is deployed and loads without console errors"
    platform: "Vercel"
    pass_condition: "https://anchorai.vercel.app loads; browser console has zero errors"
    time_risk: false
    estimated_minutes: 3
  - id: "DC-03"
    step: "Warm up Render instance by sending 3 chat requests and verifying sub-3s response time"
    platform: "Render"
    pass_condition: "All 3 responses received in under 3 seconds"
    time_risk: false
    estimated_minutes: 5
  - id: "DC-04"
    step: "Load demo session history into Supabase for user_id='demo' containing 'exam stress' phrase"
    platform: "all"
    pass_condition: "GET /memory?user_id=demo returns non-empty summary containing 'exam stress'"
    time_risk: false
    estimated_minutes: 5
  - id: "DC-05"
    step: "Run full demo flow end-to-end 3 times from a clean session state"
    platform: "all"
    pass_condition: "All 3 runs complete without error; wow moment (memory recall) triggers consistently"
    time_risk: true
    estimated_minutes: 20

demo_environment_plan:
  browser: "Chrome (latest stable)"
  zoom_level: "125%"
  window_layout: "Full-screen browser, chat interface centred, no other tabs visible"
  demo_account: "user_id='demo'; 1 prior session loaded in Supabase with 'exam stress' content"
  pre_loaded_data: "Supabase 'sessions' table contains row for user_id='demo' with summary field populated"
  notifications: "disabled"
  additional_notes:
    - "Disable OS notifications in System Settings before demo"
    - "Close all other applications; only browser open"
    - "Have pre-recorded fallback video open in a minimized tab"

demo_data_setup:
  - demo_flow_step: 1
    required_state: "Empty chat interface; user_id='demo' session loaded in Supabase"
    setup_command: "python scripts/seed_demo.py --user demo --summary 'User was anxious about exam stress last week'"
  - demo_flow_step: 2
    required_state: "Prior session summary accessible via /memory endpoint"
    setup_command: "curl https://anchorai-api.onrender.com/memory?user_id=demo — verify response contains 'exam stress'"
  - demo_flow_step: 3
    required_state: "Crisis keyword detection active (no config change needed)"
    setup_command: "No setup required; crisis card is triggered by keyword matching in chat router"

fallback_plan:
  - scenario: "Groq API rate limit hit during demo"
    trigger: "Chat response takes >5 seconds or returns error"
    action: "Switch to pre-recorded screen capture tab; narrate over the video"
    asset_required: "pre-recorded video"
  - scenario: "Render cold start delays response by 30s"
    trigger: "First chat request takes >10 seconds"
    action: "Say 'Let me load the warm session' — switch to pre-warmed local fallback or cached response"
    asset_required: "mock data"
  - scenario: "Supabase unavailable; memory not retrieved"
    trigger: "AI response does not reference prior session context"
    action: "Acknowledge gracefully: 'Memory is loading from the database' — continue with mocked recall line"
    asset_required: "none"

go_no_go_criteria:
  - criterion: "Backend /health returns HTTP 200"
    status: "NOT_CHECKED"
  - criterion: "Frontend loads without console errors"
    status: "NOT_CHECKED"
  - criterion: "Demo session data loaded in Supabase"
    status: "NOT_CHECKED"
  - criterion: "Memory recall (wow moment) triggers in 3 of 3 test runs"
    status: "NOT_CHECKED"
  - criterion: "Crisis card appears on hopelessness message"
    status: "NOT_CHECKED"
  - criterion: "Pre-recorded fallback video is accessible in minimised tab"
    status: "NOT_CHECKED"
  - criterion: "Groq API key active and rate limit verified"
    status: "NOT_CHECKED"

recommended_skills:
  - "hackathon-submission-prep"

コンテキストファイル

ナレッジベース
  • ../hackathon-shared-resources/knowledge/hackathon-demo-patterns.md
  • ../hackathon-shared-resources/knowledge/hackathon-common-failures.md
  • ../hackathon-shared-resources/knowledge/hackathon-submission-guidelines.md
  • ../hackathon-shared-resources/knowledge/hackathon-demo-psychology.md
テンプレート
  • ../hackathon-shared-resources/templates/demo-script-template.md
プレイブック
  • ../hackathon-shared-resources/playbooks/hackathon-workflow.md
  • ../hackathon-shared-resources/playbooks/24h-hackathon-playbook.md
  • ../hackathon-shared-resources/playbooks/36h-hackathon-playbook.md
  • ../hackathon-shared-resources/playbooks/48h-hackathon-playbook.md

コメント