🛠Tools🔥🔥

OSS ライブラリ chess-postmortem-skills 公開──Claude Code でチェスの対局音声から解説動画を自動生成

Lichess の棋譜と対局中の思考音声から、Stockfish の検証を経た自然言語のミス解説とナレーション付き動画を約1時間で自動生成する。
リリース: 2026-09-26 · 読了 3 分

記事の要約

1. 核心(What)

  • chess-postmortem-skills は Claude Code 用の 4 つのスキル(chess-analysis, chess-video, chess-position, chess-play)を同梱し、対局音声と Lichess リンクから詳細な反省会データを出力する。
  • 入力として Lichess などの棋譜(PGN)と、対局中に録音した思考音声(mp3 等)を同時に渡すことで、実際の思考に対するエンジンの検証を行う。
  • 出力成果物として、階層化された注釈付き PGN、スタンドアロンの HTML 分析ボード、ストーリーボードを基にした解説・字幕付き MP4 動画(約 6 分 49 秒)を生成する。
  • リポジトリは MIT ライセンスで公開されており、スキルフォルダを .claude/skills/ にクローンまたはシンボリックリンク配置して利用する。

2. 影響(Why)

  • エンジンの数値と人間的思考のギャップを埋める: 従来の Stockfish 解析では `-1.8` といった数値や深すぎる変化手順しか得られず初心者の学習に活きない課題を、LLM が人間の疑問をエンジンに投げ続けることで解決している。
  • 実務的なマルチモーダル・エージェント実装の参考例: 単なるテキスト生成を超えて、音声認識(whisper.cpp)、チェスエンジン(Stockfish)、音声合成(piper-tts)、動画編集(ffmpeg)を Claude Code 経由でオーケストレーションする実用的なパイプライン設計を示している。

3. 根拠・詳細(How)

  • whisper.cpp と PGN クロックによる発話同期: whisper.cpp でローカル文字起こしした思考音声を、PGN のクロック時間を用いて各指し手(ply)のタイミングへ機械的にマッチングさせることで、特定の局面での思考を特定する。
  • Stockfish スープと並行 investigator エージェント: chess-analysis スキルが全手を深さ 22 で Stockfish スープしつつ、並行サブエージェントが「なぜその手を指さなかったか」等の素朴な疑問をエンジンに繰り返し問い合わせて検証結果を抽出する。
  • Python venv と依存関係の自動構築仕様: リポジトリ直下に .venv-chess を前提とし、python-chess や cairosvg、pillow、piper-tts を用いて静的ボード描画から音声・動画アセンブリまでを一貫して Python スクリプトで処理する。

4. 展望・課題(Next)

  • 処理時間の短縮と軽量化の余地: 全処理に約 1 時間を要するため、長時間のブラッツゲーム等ではなくラピッドや通信対局(correspondence)での利用が推奨されており、今後は処理パイプラインの最適化が課題となる。
  • ハルシネーションの検証と対策: AI の誤りを防ぐためすべての主張を Stockfish でチェックしリリースの検証パスを通しているが、不審な点がある場合は追加で Claude にエンジン確認を指示する運用の前提が続く。