mcpField
P
post-session

post-session

github.com/terrylicaエージェントワークフロー192 回インストール今日更新
リポジトリ

post-session について

asciinema の録画をセッション後に処理するスキルです。ファイルの終了処理からテキスト変換、キーワードによる簡易確認、対話型の反復 AI 分析まで行えます。

主な機能

  1. 01録画の終了処理と圧縮
  2. 02.cast ファイルのテキスト変換
  3. 03キーワード検索と簡易要約
  4. 04対話型の反復 AI 分析
  5. 05結果の表示または保存

活用シーン

  1. 01キーワード件数で録画セッションを確認
  2. 02AI のガイドで録画内容を詳しく分析
  3. 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 による詳細な要約)
--summarizeAI による要約ステップを含めます(反復的な詳細分析)
--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 に連携します。

  1. 実行中の asciinema プロセスを停止します
  2. ファイルの整合性を確認します
  3. zstd で圧縮します
  4. 孤立ブランチにプッシュします
フェーズ 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 トークンを確認します

実行後の振り返り

このスキルの実行後、タスクを終了する前に振り返ってください。

  1. 自分の場所を特定します。 — 編集する前に、この SKILL.md の正規パスを確認します。
  2. 何が失敗しましたか? — 原因となった指示を修正します。
  3. 想定以上にうまくいったことは何ですか? — 推奨される方法として取り入れます。
  4. 何にずれが生じましたか? — 実態に合わなくなったスクリプト、参照先、依存関係を修正します。
  5. 記録します。 — 発生のきっかけ、修正内容、根拠を進化ログに記録します。

先延ばしにしてはいけません。次回の実行では、ここに残した内容が引き継がれます。

コメント