hackathon-deployment-prep について
hackathon-deployment-prepは、審査前にプロジェクトのデプロイとデモ環境を整えるスキルです。順序付きの検証項目、デモデータの準備、環境要件、重大な障害への代替策をまとめます。
主な機能
- 01順序付きデプロイ確認リスト
- 02デモ環境の準備計画
- 03テストデータと状態の準備
- 04障害ごとの代替策
- 05二択の実施可否基準
活用シーン
- 01審査前のデプロイ検証
- 02初期状態からのデモデータ準備
- 03デモを妨げる問題への対策計画
- 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_title | string | はい | プロジェクト名 |
mvp_demo_flow | object[] | はい | hackathon-scope-cutter によるデモ手順 |
tech_stack | string[] | はい | 使用するテクノロジー |
deployment_targets | object[] | はい | フロントエンドとバックエンドのプラットフォームの詳細 |
demo_blockers | object[] | いいえ | hackathon-test-generator で特定された既知の障害シナリオ |
demo_environment | string | いいえ | デモの実行環境(例:ブラウザー、モバイル、CLI、Vercel) |
judging_format | string | いいえ | live_demo、video_only、both(デフォルト:both) |
deadline_hours_remaining | number | いいえ | 提出期限までの時間数 |
出力
| 出力 | 説明 |
|---|---|
deployment_checklist | 合格/不合格の基準を含む、順序付きのデプロイ検証手順 |
demo_environment_plan | 安定したデモに必要な環境設定一式 |
demo_data_setup | クリーンな状態からデモの流れを実行するために必要なテストデータと状態 |
fallback_plan | 重要な障害シナリオごとの段階的な代替策 |
go_no_go_criteria | チームが発表する前に、すべて満たす必要がある条件 |
recommended_skills | 次に呼び出すことを推奨するスキル |
ルール
deployment_checklistは、新しいマシンまたはクラウドシェルから順番に実行できる必要があります。mvp_demo_flowのすべての項目に、対応するdemo_data_setupの項目を用意する必要があります。demo_blockersのすべての項目に、対応するfallback_planの項目を用意する必要があります。go_no_go_criteriaは二択の合格/不合格でなければなりません。中間状態は認められません。judging_formatにlive_demoが含まれる場合、画面録画による代替策が必須です。- 15 分を超えるデプロイ手順には
[TIME-RISK]のラベルを付けます。 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
コメント
Markdown 対応