本文へ移動
cccskills
無料GitHub で公開

svleague-match-review

SV リーグの試合詳細ページから REPORT-A / REPORT-B(任意で LiveScore)を取得し、応援チーム / 両チーム対比 / 注目選手ズームの 3 視点で 1 試合分のレビュー Markdown を `docs/svleague-match-review/` 配下に出力する。

インストール方法を見る

含まれるファイル(3)

  • SKILL.md11.0 KB
  • examples/33741-saga-vs-pfu.md3.2 KB
  • templates/match-review.md3.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

SV League Match Review

SV リーグ(バレーボール)公式サイトの試合詳細ページから公開データを取得し、1 試合分の振り返り Markdown を生成する。3 視点で「よかった点 / 改善点 / 選手に活かす情報」を整理し、次の試合・練習に活かせる形で残す。

想定する使い方

  • /svleague-match-review 33741
  • /svleague-match-review https://www.svleague.jp/ja/match/detail/33741
  • /svleague-match-review 33741 --team SAGA久光 --player "#3 北窓絢音"
  • /svleague-match-review 33741 --views team,versus(選手ズーム視点を省く)
  • /svleague-match-review 33741 --with-livescore(LiveScore も試す)

入力

  • 試合 ID または試合詳細ページの URL(必須)
    • URL が渡された場合は末尾の数値部分を試合 ID として抽出
  • --team <応援チーム>(任意)
    • 視点 1 (team) と視点 3 (player) の主体になるチーム。未指定なら処理開始時にユーザーに確認する
  • --player <選手名>(任意)
    • 視点 3 で注目する選手。未指定なら、取得データから貢献度が高い候補を 3〜5 名提示してユーザーに選んでもらう
    • 氏名のみで複数該当した場合は背番号付きの候補を提示して再確認する
  • --views team,versus,player(任意。デフォルトは 3 視点すべて)
    • 生成する視点を絞るときに指定。応援チームや注目選手の確定をスキップしたい場合にも使う
  • --with-livescore(任意。デフォルト OFF)
    • LiveScore (/livescore/v/<id>) は JS レンダリング依存で静的 HTML から取得できないことが多いため、デフォルトでは取得を試みない。明示指定時のみ WebFetch で試す

前提

  • 取得は WebFetch ツールを利用(読み取りのみ、認証不要)
  • デフォルトでは 3 視点すべて生成する(--views で絞れる)
  • タイムゾーンは Asia/Tokyo
  • 本 Skill は 1 試合分のデータのみを扱う。リーグ平均との比較や複数試合の推移は扱わない(スコープ外)

データソース

リソースURL パターン取得できる情報
試合詳細https://www.svleague.jp/ja/match/detail/<id>対戦カード、最終スコア、セット別スコア、カテゴリ
REPORT-A(HTML)https://www.svleague.jp/ja/<category>/form/a/<id>試合メタデータ、スタメン、交代記録、コーチコメント
REPORT-B(HTML)https://www.svleague.jp/ja/<category>/form/b/<id>個人成績(アタック・ブロック・サーブ・レセプション)
LiveScorehttps://www.svleague.jp/ja/<category>/livescore/v/<id>ローテーション、試合経過、個人成績の時系列

<category> は sv_women / sv_men など。試合詳細ページ内のリンク(例: /ja/sv_women/...)のパス断片から判定する。判定に失敗した場合は毎回ユーザーに確認する(--category 引数は用意しない)。

LiveScore は JS レンダリング依存で静的 HTML から取得できないケースが大半のため、デフォルトでは取得を試みない(--with-livescore 指定時のみフェッチを試す)。失敗時は欠損として扱い、本文と付録に「(取得不可)」を明記する。

各 HTML ページには「PDF」リンクが併設されているが、本 Skill では HTML 側を優先的に読み、PDF は参考 URL として付録に残すだけに留める。

手順

  1. 入力から試合 ID を確定する。URL なら末尾の数値を抽出する。
  2. https://www.svleague.jp/ja/match/detail/<id> を WebFetch で取得し、以下を抽出する。
    • 対戦カード(ホーム / アウェイ)
    • 最終スコア、セット別スコア
    • カテゴリ(sv_women / sv_men 等。ページ内のリンクから推定)
    • 日付、会場、大会名が取れれば取得する
  3. カテゴリが不明瞭な場合は候補を提示してユーザーに確認する。
  4. 以下を WebFetch で取得する。失敗・取得不可は欠損として扱う。
    • REPORT-A: .../<category>/form/a/<id>
    • REPORT-B: .../<category>/form/b/<id>
    • LiveScore: .../<category>/livescore/v/<id>(--with-livescore 指定時のみ。未指定なら取得不可として扱う)
  5. REPORT-B から個人成績を内部的に抽出する(両チーム分)。
    • 抽出対象: アタック(打数 / 得点 / 失点 / 決定率 / セット平均)、バックアタック、ブロック(得点 / セット平均)、サーブ(打数 / 得点 / 失点 / 効果 / 効果率)、サーブレシーブ(受数 / 成功優 / 成功良 / 成功率)、出場セット、出場数
    • 付録テーブルには templates/match-review.md の列構成(出場セット / アタック打数・得点・失点・決定率 / ブロック / サーブ効果率 / レセプション成功率)のみ描画する
    • 抽出した残りの数値(バックアタック詳細・サーブ打数・成功優良の内訳など)は本文(よかった点 / 改善点 / 選手に活かす情報)の根拠として言及する
  6. 注目選手の確定。
    • --player 未指定時: 出場数・得点・効果率から両チーム上位 3〜5 名ずつを背番号付きで提示し、ユーザーに選んでもらう
    • --player が氏名のみで複数該当する場合: 候補を背番号付きで提示して再確認する
    • --views で player を含めない場合: 注目選手の確定はスキップする
  7. --views で指定された視点(デフォルトは 3 視点すべて)について「よかった点 / 改善点 / 選手に活かす情報」を生成する。
    • team: 応援チーム視点(勝敗に関わらずチーム単体の評価。応援チームは --team または対話で確定する)
    • versus: 両チーム対比視点(数値を並べ、勝敗を分けた要因を抽出)
    • player: 特定選手ズーム視点(指定選手のスタッツ・出場セット・セット別推移を詳細化)
    • 生成しない視点は本文・骨子・付録テンプレの該当セクション全てから省く
  8. 「選手に活かす情報」は各視点配下の ### 選手に活かす情報 小見出しに収める(トップレベルの独立セクションは設けない)。書き方は次を満たす。
    • スタッツの相対感(チーム内平均比、セット別ムラ、出場セットあたりの貢献)
    • 弱点の具体化(低決定率の局面、失点が集中したセット、レセプション崩れの傾向)
    • 強みの言語化(効果率が高かった局面、流れを呼んだサーブ / ブロック)
    • 相手チームの特徴メモ(次戦・類似対戦への持ち越し課題)
    • 次に向けた問い(「このスタッツをどう動かす?」の具体的アクション候補。断定しない)
  9. templates/match-review.md に沿って Markdown を組み立てる。取得できなかったデータは該当セクションに「(取得不可)」「(速報版のため後日更新される可能性あり)」等の注記を残す。
  10. 書き出し前に ユーザー承認ステップ を挟む。以下を 1 つのメッセージにまとめて提示し、明示的な OK を得てから保存に進む。
    • 試合メタデータ(対戦カード、最終スコア、カテゴリ、試合日、データ鮮度)
    • 応援チーム / 注目選手 / 生成する視点
    • 各視点の ### よかった点 ### 改善点 ### 選手に活かす情報 小見出し直下に入れる箇条書きの先頭 1 行のみを並べた骨子(本文が確定していないことが分かる粒度で示す)
    • 保存先パス
  11. 承認されたら docs/svleague-match-review/YYYY-MM-DD_<slug>.md に保存する。
    • <YYYY-MM-DD> は試合日
    • <slug> は <home>-vs-<away> の kebab-case 英字。各チーム名の英字化は次の優先順で決める。
      1. 公式の英字略称・愛称があればそれを採用(例: SAGA久光スプリングス → saga、PFUブルーキャッツ石川かほく → pfu、NEC RED ROCKETS → nec、東レアローズ滋賀 → toray)
      2. 公式の英字表記が無い場合はチーム名の主要部分(地名 or スポンサー名)を小文字ローマ字 + ハイフン区切りに短縮
      3. 判断に迷う場合はユーザーに <slug> 候補を提示して確定する
    • ディレクトリが無ければ作成する
    • 既存ファイルがある場合は上書き前に確認する

保存先

  • docs/svleague-match-review/YYYY-MM-DD_<slug>.md

注意

  • 1 試合のデータから強い断定は避ける。表現は「〜の傾向が見られた」「〜が課題として残った」等に寄せる
  • 速報版 / 確定版の判定: REPORT-B のページ本文に「本帳票は速報版です。最終版はデータの検証を行った上で発行」の文言が含まれていれば速報版、含まれなければ確定版として扱う
  • データ鮮度の表記は本文メタデータで次のフォーマットに固定する: REPORT-B {速報版|確定版} (取得: YYYY-MM-DD HH:MM JST) / LiveScore {取得可|取得不可 (理由)}
  • 速報版時は本文冒頭でも取得日時 (YYYY-MM-DD HH:MM JST) と「最終版で更新される可能性あり」の旨を明記する
  • 他リーグ・他競技の URL が渡された場合は、取得した対戦カード / 日付と入力を突き合わせ、違和感があれば処理を中断してユーザーに確認する
  • LiveScore が取得できないケースでも、REPORT-A/B のみで出力を完結させる。JS 実行を要する代替取得手段(Playwright 等)はスコープ外
  • リーグ平均との比較はスコープ外
  • 選手名は背番号 + 氏名で一意化する。曖昧な場合はユーザーに候補提示して確定する

動作確認サンプル

examples/33741-saga-vs-pfu.md を参照。試合 ID 33741(2026-04-18 SAGA久光 vs PFU)を入力とした想定のレビュー骨子を配置する。

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Convert Claude markdown subagent files to Codex CLI TOML format. Parses YAML frontmatter and body, applies model/permission/tool mappings, and outputs to agents/codex/<name>.toml.

日本語の概要は準備中です。原文の説明を表示しています。

hodanov/my-pde32026年10月12日 更新

Create or update a Markdown blog draft from recent work and export it with `YYYY-MM-DD_slug.md` naming. Output directory can be set via environment variable or CLI option; if missing, ask the user and pass it explicitly.

日本語の概要は準備中です。原文の説明を表示しています。

hodanov/my-pde32026年10月12日 更新

commit-and-draft-pr

無料日本語概要

変更をコミットしてドラフトPRを作成する一連のGit/ghワークフロー。ユーザーが「コミットして」「PR作って」「draft PR」等を求めたときに使用し、status/diff確認・命令形コミット・push・gh pr create --draft(--assignee hodanov)まで実行する。ユーザーの明示リクエストが無くても、実装完了後にcommitやPRが必要になった場面(dev-workflowのcommitフェーズ等)では必ずこれを使う。`git commit` や `gh pr create` を単体でBash直接実行しない。

hodanov/my-pde32026年10月12日 更新

commit-split

無料日本語概要

1 つの作業ツリーに混ざった差分を、変更理由ごとの意味単位のコミットへ分割する。ユーザーが「コミットを分割して」「意味単位で分けて」「commit-split」等を求めたとき、または機能追加・付随リファクタ・設定/ドキュメント修正が 1 コミットに混在していると気づいたときに使用する。分割案を提示して承認を得てからステージし、コミットごとに単独で成立することを確認する。メッセージ規約・push・PR の作成は commit-and-draft-pr へ委譲する。

hodanov/my-pde32026年10月12日 更新

credential-leak-prevention

無料日本語概要

gitleaks + pre-commit を使ってローカルコミット時のクレデンシャル混入を機械的にブロックする。「クレデンシャル漏洩防止」「シークレット混入対策」「gitleaks」「pre-commit シークレット」「credential leak prevention」に言及した場合に使用する。

hodanov/my-pde32026年10月12日 更新

dependency-update

無料日本語概要

依存パッケージ(Go modules / npm / Terraform provider / GitHub Actions / pre-commit 等)の アップグレードを、outdated 検出 → CHANGELOG・破壊的変更の確認 → 更新 → lint/test 検証 → コミットまで一連の手順で安全に適用する。「依存更新」「パッケージを上げて」「dependency update」 「go get -u」「npm update」「provider を上げる」等に言及されたときに使用する。

hodanov/my-pde32026年10月12日 更新

hodanov のスキルをすべて見る

このスキルの問題を報告する