mcpField
A
asciinema-converter

asciinema-converter

github.com/terrylica開発2126 回インストール今日更新
リポジトリ

asciinema-converter について

asciinema-converter は、asciinema の .cast 形式の端末録画を検索可能なテキストに変換する Claude Code 向けスキルです。単一ファイルと一括処理に対応し、制御コードや JSON 構造を取り除いて Read や Grep で扱いやすくします。

主な機能

  1. 01.cast 録画を .txt に変換
  2. 02ディレクトリ内の録画を一括変換
  3. 03ANSI コードと JSON 構造を除去
  4. 04任意でタイムスタンプ索引を追加
  5. 05asciinema のバージョンと入力を確認

活用シーン

  1. 01Claude Code の Read と Grep 用に録画を準備
  2. 02端末セッション録画をまとめて整理
  3. 03ANSI コード付き出力からテキストを抽出

インストール

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

$npx skills add https://github.com/terrylica/cc-skills --skill asciinema-converter

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
anti-patterns.md
batch-processing.md
batch-workflow.md
evolution-log.md
integration-guide.md
post-change-checklist.md
task-templates.md
workflow-phases.md
tests/
converter-integration.bats
converter.test.ts
tests/fixtures/
simple.cast
with spaces.cast

詳細

asciinema-converter

asciinema の .cast 録画を、Claude Code の分析に適したクリーンな .txt ファイルに変換します。ANSI コードと JSON 構造を取り除くことで、950:1 の圧縮率(3.8GB → 4MB)を実現します。

プラットフォーム:macOS、Linux(asciinema CLI v2.4 以降が必要です)

自己進化するスキル:このスキルは使用を通じて改善されます。手順に誤りがあった場合、パラメーターにずれが生じた場合、または回避策が必要だった場合は、先送りせず、すぐにこのファイルを修正してください。実際に再現可能な問題がある場合にのみ更新してください。

このスキルを使用するタイミング

次のような場合に、このスキルを使用してください。

  • .cast 録画を検索可能な .txt 形式に変換する
  • Claude Code の Read/Grep ツールで使えるように録画を準備する
  • 複数の録画を一括変換する
  • セッションアーカイブの保存容量を削減する
  • ANSI コード付きのターミナル出力からクリーンなテキストを抽出する

変換する理由

形式サイズ(22 時間のセッション)Claude Code との互換性検索方法
.cast3.8GBなし(NDJSON + ANSI)jq 経由
.txt約 4MBあり(クリーンなテキスト)Grep/Read

主な利点:Claude Code の Read ツールと Grep ツールは、.txt の出力を直接扱えます。


要件

コンポーネント必須インストール方法備考
asciinemaはいbrew install asciinemaconvert コマンドには v2.4 以降が必要

ワークフローの概要

重要:すべてのフェーズは必須です。フェーズを省略しないでください。各判断ポイントでは必ず AskUserQuestion を使用してください。

単一ファイルモード(フェーズ 0~6)
フェーズ目的主な操作
0事前確認asciinema CLI v2.4 以降を確認
1ファイルの検出と選択AskUserQuestion:変換するファイル
2出力オプションAskUserQuestion:変換オプション
3出力先AskUserQuestion:保存先
4変換の実行asciinema convert -f txt
5タイムスタンプインデックス任意の [HH:MM:SS] インデックス
6次のステップAskUserQuestion:次に行うこと

実装の詳細:ワークフローのフェーズ

一括モード(フェーズ 7~10)

--batch フラグで有効になります。ディレクトリ内のすべての .cast ファイルを、整理された出力先に変換します。

フェーズ目的主な操作
7ソースの選択AskUserQuestion(--source が指定されている場合は省略)
8出力の整理AskUserQuestion(--output-dir が指定されている場合は省略)
9一括処理の実行進捗を報告しながらすべて変換
10一括処理後の次のステップAskUserQuestion:次に行うこと

実装の詳細:一括ワークフロー


iTerm2 のファイル名形式

iTerm2 の自動ログファイルは、次の形式に従います。

{creationTimeString}.{profileName}.{termid}.{iterm2.pid}.{autoLogId}.cast

例:20260118_232025.Claude Code.w0t1p1.70C05103-2F29-4B42-8067-BE475DB6126A.68721.4013739999.cast

コンポーネント説明例
creationTimeStringYYYYMMDD_HHMMSS20260118_232025
profileNameiTerm2 プロファイル(ドットを含む場合があります)Claude Code
termidウィンドウ/タブ/ペインの識別子w0t1p1
iterm2.pidiTerm2 プロセス UUID70C05103-2F29-4B42-8067-BE475DB6126A
autoLogIdセッション自動ログの識別子68721.4013739999

CLI クイックリファレンス

# Basic conversion
asciinema convert -f txt recording.cast recording.txt

# Check asciinema version
asciinema --version

# Verify convert command exists
asciinema convert --help

リファレンスドキュメント

内部リファレンス
外部リファレンス

トラブルシューティング

問題原因解決策
convert コマンドが見つからないasciinema が古すぎるアップグレード:brew upgrade asciinema(v2.4 以降が必要)
asciinema がインストールされていないCLI がないbrew install asciinema
出力ファイルが空.cast 入力が破損している.cast ファイルに有効な NDJSON 構造があることを確認します
変換に失敗したcast 形式が無効であるヘッダー行が jq で有効な JSON として確認できることを確認します
numfmt が見つからないmacOS に coreutils がないバイト数をそのまま使うか、brew install coreutils を実行します
stat の構文エラーLinux と macOS の違いスクリプトは両方に対応しています。stat のバージョンを確認します
バッチですべてのファイルがスキップされるすべての .txt がすでに存在する再変換するには --skip-existing=false を使います
出力時に権限が拒否されるディレクトリに書き込み権限がない出力ディレクトリの権限を確認します

実行後の振り返り

このスキルの実行後、終了する前に次の点を確認します。

  1. コマンドは成功しましたか? — 成功しなかった場合は、失敗の原因となった手順またはエラー表を修正します。
  2. パラメーターや出力は変わりましたか? — 基盤となるツールのインターフェイスに変更があった場合は、使用例とパラメーター表を更新して一致させます。
  3. 回避策が必要でしたか? — 即興で対応した場合(異なるフラグ、追加手順など)は、次回の実行で同じ回避策が不要になるよう、この SKILL.md を更新します。

問題が実際に発生し、再現可能な場合にのみ更新してください。推測に基づく更新は行わないでください。

コメント