mcpField

hackathon-event-parser

github.com/bernieweb3生産性43 回インストール
リポジトリ

hackathon-event-parser について

hackathon-event-parserは、ハッカソンのイベントURLから情報を構造化して抽出するスキルです。トラック、審査基準、日程、スポンサー提供ツールを整理し、チーム情報があれば適したトラックも提案します。

主な機能

  1. 01トラックと審査基準の抽出
  2. 02イベント日程の整理
  3. 03スポンサー提供ツールの特定
  4. 04全項目・トラックのみ・基準のみの抽出
  5. 05チーム情報に基づくトラック提案

活用シーン

  1. 01イベントURLからdevkitワークフローを開始
  2. 02複数トラックの適合性を比較
  3. 03手動コピーなしで審査基準を収集
  4. 04チームのスキルに合うスポンサー提供ツールを確認

インストール

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

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

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

詳細

hackathon-event-parser

目的

ハッカソンイベントの URL を解析して、完全な devkit ワークフローパイプラインを自律的に実行するために必要な、トラック、審査基準、タイムライン、スポンサーのツールなどの構造化情報を抽出します。

これは自律型パイプラインのエントリーポイントです。URL が指定されると、このスキルは後続のすべてのスキルで、トラックの説明を手動で入力する作業に置き換わります。


起動条件

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

  • ハッカソンイベントの URL(Devpost、DoraHacks、Hackathon.com、MLH、またはイベントページ全般)がある
  • チームが単一の入力から devkit パイプラインを自律的に実行したい
  • トラックの説明、審査基準、スポンサーの概要を手動でコピーせずに抽出する必要がある
  • イベントページに複数のトラックがあり、最適なトラックを特定する必要がある
  • 自律型パイプラインで常に最初に呼び出されるスキルであり、その出力は hackathon-track-analyzer に渡されます

入力

event_url: "<hackathon event URL>"           # required
preferred_track: "<track name or hint>"      # optional — if known, used to prioritize extraction
team_size: <number>                          # optional — used to filter feasibility signals
team_skills:                                 # optional — used to flag relevant sponsor tools
  - "<skill>"
extract_mode: "full | tracks_only | criteria_only"  # optional, default: full

出力

event_metadata:
  name: "<event name>"
  organizer: "<organizer name>"
  url: "<canonical event URL>"
  submission_platform: "<Devpost | DoraHacks | Hackathon.com | other>"
  start_datetime: "<ISO 8601 or 'unknown'>"
  end_datetime: "<ISO 8601 or 'unknown'>"
  duration_hours: <number or null>
  location: "<in-person | virtual | hybrid>"
  registration_deadline: "<ISO 8601 or 'unknown'>"
  submission_deadline: "<ISO 8601 or 'unknown'>"

tracks:
  - id: "<track-id>"
    name: "<track name>"
    description: "<raw track description>"
    sponsor: "<sponsor name or null>"
    prize: "<prize description or null>"
    required_tools:
      - "<tool or API name>"
    eligibility_constraints:
      - "<constraint>"
    feasibility_signal: "<high | medium | low>"  # based on team_skills if provided

judging_criteria:
  - track_id: "<track-id or 'global'>"
    axes:
      - axis: "<criterion name>"
        weight: "<high | medium | low | percentage if stated>"
        description: "<what judges evaluate>"
    rubric_source: "<verbatim | inferred | not_published>"

sponsor_tools:
  - sponsor: "<sponsor name>"
    tools:
      - name: "<tool or API>"
        use_case: "<what it enables>"
        bonus_prize: <true | false>
        docs_url: "<URL or null>"

timeline:
  - event: "<event name>"
    datetime: "<ISO 8601 or relative>"
    notes: "<optional context>"

recommended_track:
  track_id: "<id>"
  track_name: "<name>"
  rationale: "<why this track is recommended given team size/skills>"

extraction_confidence: "<high | medium | low>"
extraction_warnings:
  - "<any ambiguity, missing data, or access issues>"

next_skill: "hackathon-track-analyzer"

ルール

  1. 可能な限り推測せず、イベントページからすべての内容を直接抽出します。
  2. 審査基準が公開されていない場合は、rubric_source: "not_published" を設定し、一般的な基準を推定します。推定した評価軸には [INFERRED] の印を付けます。
  3. URL にアクセスできない場合(認証壁、404、動的コンテンツなど)は、extraction_confidence: "low" を設定し、利用可能な断片的情報からフィールドを埋めます。不足している情報はすべて extraction_warnings に列挙します。
  4. 日付、賞品、スポンサー名を決して捏造しません。不明な値には "unknown" または null を使用します。
  5. 複数のトラックがある場合はすべて抽出し、チームの情報が提供されていれば、それに基づいて1つを推奨します。
  6. 期間は時間単位に正規化します。開始日と終了日しか提示されていない場合は、duration_hours を計算します。
  7. 必須のツールまたは API が team_skills と競合する場合は、制約としてフラグを付けます。
  8. パイプラインの継続性を保つため、next_skill は常に hackathon-track-analyzer に設定します。

出力形式

event_metadata:
  name: "<string>"
  organizer: "<string>"
  url: "<string>"
  submission_platform: "<string>"
  start_datetime: "<ISO 8601 or 'unknown'>"
  end_datetime: "<ISO 8601 or 'unknown'>"
  duration_hours: <number or null>
  location: "<in-person | virtual | hybrid>"
  registration_deadline: "<ISO 8601 or 'unknown'>"
  submission_deadline: "<ISO 8601 or 'unknown'>"

tracks:
  - id: "<string>"
    name: "<string>"
    description: "<string>"
    sponsor: "<string or null>"
    prize: "<string or null>"
    required_tools:
      - "<string>"
    eligibility_constraints:
      - "<string>"
    feasibility_signal: "<high | medium | low>"

judging_criteria:
  - track_id: "<string>"
    axes:
      - axis: "<string>"
        weight: "<high | medium | low | percentage>"
        description: "<string>"
    rubric_source: "<verbatim | inferred | not_published>"

sponsor_tools:
  - sponsor: "<string>"
    tools:
      - name: "<string>"
        use_case: "<string>"
        bonus_prize: <boolean>
        docs_url: "<string or null>"

timeline:
  - event: "<string>"
    datetime: "<string>"
    notes: "<string>"

recommended_track:
  track_id: "<string>"
  track_name: "<string>"
  rationale: "<string>"

extraction_confidence: "<high | medium | low>"
extraction_warnings:
  - "<string>"

next_skill: "hackathon-track-analyzer"

コンテキストファイル

ナレッジベース
  • ../hackathon-shared-resources/knowledge/hackathon-tools.md
  • ../hackathon-shared-resources/knowledge/hackathon-judging-criteria.md
  • ../hackathon-shared-resources/knowledge/hackathon-winning-patterns.md
  • ../hackathon-shared-resources/knowledge/hackathon-submission-guidelines.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

入力:

event_url: "https://globalaihealth.devpost.com"
team_size: 3
team_skills: ["Python", "FastAPI", "React", "OpenAI API"]
extract_mode: "full"

出力:

event_metadata:
  name: "Global AI Health Hackathon 2025"
  organizer: "HealthTech Alliance"
  url: "https://globalaihealth.devpost.com"
  submission_platform: "Devpost"
  start_datetime: "2025-09-12T09:00:00-05:00"
  end_datetime: "2025-09-14T17:00:00-05:00"
  duration_hours: 56
  location: "virtual"
  registration_deadline: "2025-09-11T23:59:00-05:00"
  submission_deadline: "2025-09-14T15:00:00-05:00"

tracks:
  - id: "track-mental-health"
    name: "AI for Mental Health"
    description: "Build AI-powered tools that improve mental health outcomes for young adults aged 18–30."
    sponsor: "OpenAI"
    prize: "$5,000 + OpenAI API credits"
    required_tools:
      - "OpenAI API"
    eligibility_constraints:
      - "Must use OpenAI API"
      - "Solution must target ages 18–30"
    feasibility_signal: "high"

  - id: "track-diagnostics"
    name: "AI Diagnostics"
    description: "Use AI to assist clinicians in early disease detection using medical imaging."
    sponsor: "Nvidia"
    prize: "$7,500 + Nvidia GPU credits"
    required_tools:
      - "Nvidia NIM"
      - "Medical imaging dataset"
    eligibility_constraints:
      - "Must use a publicly available medical dataset"
      - "Model must not make clinical claims"
    feasibility_signal: "low"

judging_criteria:
  - track_id: "track-mental-health"
    axes:
      - axis: "Innovation"
        weight: "30%"
        description: "Novel application of AI to mental health — beyond basic chatbots"
      - axis: "Impact"
        weight: "30%"
        description: "Potential to reach underserved users; measurable outcomes"
      - axis: "Technical Execution"
        weight: "20%"
        description: "Working demo; appropriate use of OpenAI API; code quality"
      - axis: "Presentation"
        weight: "20%"
        description: "Clarity of pitch; demo quality; storytelling"
    rubric_source: "verbatim"

  - track_id: "track-diagnostics"
    axes:
      - axis: "Clinical Validity"
        weight: "high"
        description: "[INFERRED] Accuracy and safety of diagnostic suggestions"
      - axis: "Technical Execution"
        weight: "high"
        description: "[INFERRED] Model performance; dataset usage; implementation quality"
    rubric_source: "inferred"

sponsor_tools:
  - sponsor: "OpenAI"
    tools:
      - name: "GPT-4o API"
        use_case: "Conversational AI, text generation, classification"
        bonus_prize: true
        docs_url: "https://platform.openai.com/docs"
  - sponsor: "Nvidia"
    tools:
      - name: "Nvidia NIM"
        use_case: "GPU-accelerated model inference for medical imaging models"
        bonus_prize: true
        docs_url: "https://developer.nvidia.com/nim"

timeline:
  - event: "Registration closes"
    datetime: "2025-09-11T23:59:00-05:00"
    notes: "Teams must register before hacking begins"
  - event: "Hackathon start"
    datetime: "2025-09-12T09:00:00-05:00"
    notes: "Opening keynote; tracks announced"
  - event: "Midpoint check-in"
    datetime: "2025-09-13T12:00:00-05:00"
    notes: "Optional mentor sessions available"
  - event: "Submissions close"
    datetime: "2025-09-14T15:00:00-05:00"
    notes: "Devpost submission must be complete; late submissions not accepted"
  - event: "Judging"
    datetime: "2025-09-14T16:00:00-05:00"
    notes: "3-minute pitch + 2-minute Q&A per team"

recommended_track:
  track_id: "track-mental-health"
  track_name: "AI for Mental Health"
  rationale: "Team has Python, FastAPI, React, and OpenAI API skills — all required tools are covered. Feasibility signal is high vs. low for diagnostics (which requires medical imaging expertise). Prize is competitive and judging rubric is fully published."

extraction_confidence: "high"
extraction_warnings:
  - "Judging rubric for track-diagnostics was not published; criteria are inferred from track description"
  - "Midpoint check-in schedule may change — verify on event Discord"

next_skill: "hackathon-track-analyzer"

コメント