post-session について
asciinema の録画をセッション後に処理するスキルです。ファイルの終了処理からテキスト変換、キーワードによる簡易確認、対話型の反復 AI 分析まで行えます。
主な機能
- 01録画の終了処理と圧縮
- 02.cast ファイルのテキスト変換
- 03キーワード検索と簡易要約
- 04対話型の反復 AI 分析
- 05結果の表示または保存
活用シーン
- 01キーワード件数で録画セッションを確認
- 02AI のガイドで録画内容を詳しく分析
- 03未完了の録画を終了処理してから分析
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill post-sessionインストール後、Claude Code で/post-sessionを入力して読み込まれたか確認します。
同梱ファイルreferences/evolution-log.md
詳細
/asciinema-tools:post-session
セッション後のワークフローを完了します:孤立した録画の確定 → テキストへの変換 → AI による要約。
自己進化するスキル:このスキルは使用を通じて改善されます。指示が誤っていた場合、パラメーターにずれが生じた場合、または回避策が必要だった場合は、先延ばしにせず、このファイルを直ちに修正してください。実際に再現できる問題がある場合にのみ更新してください。
引数
| 引数 | 説明 |
|---|---|
file | .cast ファイルのパス(または自動検出) |
--finalize | 確定ステップを含めます(プロセスを停止し、圧縮) |
-q, --quick | クイック分析(キーワード検索+簡単な要約) |
-f, --full | 全分析(変換+AI による詳細な要約) |
--summarize | AI による要約ステップを含めます(反復的な詳細分析) |
--output | 分析結果を Markdown ファイルに保存します |
ワークフローモード
クイックモード(-q)
[file] → convert → keyword grep → brief summary
全分析モード(-f)
[file] → convert → AI summarize (iterative deep-dive)
完全モード(--finalize --full)
stop processes → compress → push → convert → AI summarize
実行
フェーズ 1:検出
AskUserQuestion:
question: "What would you like to do?"
header: "Workflow"
options:
- label: "Quick analysis (Recommended)"
description: "Convert + keyword search + brief summary"
- label: "Full AI analysis"
description: "Convert + iterative AI deep-dive with guidance"
- label: "Complete workflow"
description: "Finalize orphans + convert + AI summarize"
- label: "Finalize only"
description: "Stop processes and push to orphan branch"
フェーズ 2:ファイルの選択
ファイルが指定されていない場合は、利用可能な録画を検出します。
/usr/bin/env bash << 'DISCOVER_EOF'
echo "=== Running asciinema processes ==="
ps aux | grep -E "asciinema rec" | grep -v grep | while read -r line; do
PID=$(echo "$line" | awk '{print $2}')
CAST=$(echo "$line" | grep -oE '[^ ]+\.cast' | head -1)
if [[ -n "$CAST" ]]; then
SIZE=$(ls -lh "$CAST" 2>/dev/null | awk '{print $5}' || echo "?")
echo " [RUNNING] PID $PID: $CAST ($SIZE)"
fi
done
echo ""
echo "=== Recent .cast files ==="
find ~/eon -name "*.cast" -size +1M -mtime -7 2>/dev/null | while read -r f; do
SIZE=$(ls -lh "$f" | awk '{print $5}')
MTIME=$(stat -f "%Sm" -t "%m-%d %H:%M" "$f" 2>/dev/null)
echo " $f ($SIZE, $MTIME)"
done | head -10
echo ""
echo "=== Recent .txt files (already converted) ==="
find ~/eon -name "*.txt" -size +100M -mtime -7 2>/dev/null | while read -r f; do
SIZE=$(ls -lh "$f" | awk '{print $5}')
echo " $f ($SIZE)"
done | head -5
DISCOVER_EOF
AskUserQuestion:
question: "Which recording to analyze?"
header: "Select"
options:
# Dynamically populated from discovery
- label: "{filename} ({size})"
description: "{path}"
フェーズ 3:確定(選択した場合)
/asciinema-tools:finalize に連携します。
- 実行中の asciinema プロセスを停止します
- ファイルの整合性を確認します
- zstd で圧縮します
- 孤立ブランチにプッシュします
フェーズ 4:変換
/usr/bin/env bash << 'CONVERT_EOF'
CAST_FILE="$1"
TXT_FILE="${CAST_FILE%.cast}.txt"
echo "Converting: $CAST_FILE"
echo "Output: $TXT_FILE"
if asciinema convert -f txt "$CAST_FILE" "$TXT_FILE"; then
ORIG=$(ls -lh "$CAST_FILE" | awk '{print $5}')
CONV=$(ls -lh "$TXT_FILE" | awk '{print $5}')
echo "✓ Converted: $ORIG → $CONV"
else
echo "✗ Conversion failed"
exit 1
fi
CONVERT_EOF
フェーズ 5:分析
クイックモード:キーワード検索+簡単な要約
# Run curated keyword searches
grep -c -i "error\|fail\|exception" "$TXT_FILE"
grep -c -i "success\|complete\|done" "$TXT_FILE"
grep -c -i "sharpe\|drawdown\|backtest" "$TXT_FILE"
# ... summarize counts
全分析モード:/asciinema-tools:summarize に連携します
- AskUserQuestion で初期ガイダンスを行います
- 戦略的にサンプリングします(先頭/中間/末尾)
- ユーザーのガイダンスに沿って反復的に詳細分析します
- 分析結果をレポートにまとめます
フェーズ 6:出力
AskUserQuestion:
question: "Analysis complete. What next?"
header: "Output"
options:
- label: "Display summary"
description: "Show findings in terminal"
- label: "Save to markdown"
description: "Write findings to {filename}_findings.md"
- label: "Continue exploring"
description: "Deep-dive into specific sections"
- label: "Done"
description: "Exit workflow"
使用例
# Interactive mode - auto-detect and guide
/asciinema-tools:post-session
# Quick analysis on specific file
/asciinema-tools:post-session session.cast -q
# Full AI analysis with output
/asciinema-tools:post-session session.cast -f --output findings.md
# Complete workflow including finalize
/asciinema-tools:post-session --finalize -f
関連コマンド
/asciinema-tools:daemon-status- 状態を表示し、未処理のファイルを確認します/asciinema-tools:finalize- 孤立した録画を確定します/asciinema-tools:convert- .cast を .txt に変換します/asciinema-tools:summarize- AI による詳細な分析/asciinema-tools:analyze- キーワードベースの分析
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
| 録画が見つからない | ~/eon に .cast ファイルがない | find ~/eon で録画ディレクトリを確認します |
| ファイルの検出結果が空 | 検索パスが正しくない | 引数としてファイルパスを手動で指定します |
| 変換に失敗する | .cast ファイルが破損している | 先に /asciinema-tools:finalize を実行します |
| AI による要約がタイムアウトする | 録画が大きすぎる | 先に -q を使ってクイック分析を行います |
| 孤立ブランチへのプッシュに失敗する | Git 認証の問題 | echo $GH_TOKEN で GitHub トークンを確認します |
実行後の振り返り
このスキルの実行後、タスクを終了する前に振り返ってください。
- 自分の場所を特定します。 — 編集する前に、この SKILL.md の正規パスを確認します。
- 何が失敗しましたか? — 原因となった指示を修正します。
- 想定以上にうまくいったことは何ですか? — 推奨される方法として取り入れます。
- 何にずれが生じましたか? — 実態に合わなくなったスクリプト、参照先、依存関係を修正します。
- 記録します。 — 発生のきっかけ、修正内容、根拠を進化ログに記録します。
先延ばしにしてはいけません。次回の実行では、ここに残した内容が引き継がれます。
コメント
Markdown 対応