post-session

v2026.09.24

Complete post-session workflow - finalize orphaned recordings, convert, and AI summarize. TRIGGERS - post session, analyze recording, session review

GitHub
安装命令
npx skhub add terrylica/post-session
Markdown
SKILL.md

/asciinema-tools:post-session

Complete post-session workflow: finalize orphaned recordings → convert to text → AI-powered summarize.

Self-Evolving Skill: This skill improves through use. If instructions are wrong, parameters drifted, or a workaround was needed — fix this file immediately, don't defer. Only update for real, reproducible issues.

Arguments

ArgumentDescription
filePath to .cast file (or auto-detect)
--finalizeInclude finalize step (stop processes, compress)
-q, --quickQuick analysis (keyword grep + brief summary)
-f, --fullFull analysis (convert + AI deep-dive summarize)
--summarizeInclude AI summarize step (iterative deep-dive)
--outputSave findings to markdown file

Workflow Modes

Quick Mode (-q)

[file] → convert → keyword grep → brief summary

Full Mode (-f)

[file] → convert → AI summarize (iterative deep-dive)

Complete Mode (--finalize --full)

stop processes → compress → push → convert → AI summarize

Execution

Phase 1: Discovery

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"

Phase 2: File Selection

If no file specified, discover available recordings:

/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}"

Phase 3: Finalize (if selected)

Chain to /asciinema-tools:finalize:

  1. Stop running asciinema processes
  2. Verify file integrity
  3. Compress with zstd
  4. Push to orphan branch

Phase 4: Convert

/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

Phase 5: Analysis

Quick mode: Keyword grep + brief summary

# 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

Full mode: Chain to /asciinema-tools:summarize

  • Initial guidance via AskUserQuestion
  • Strategic sampling (head/middle/tail)
  • Iterative deep-dive with user guidance
  • Synthesis into findings report

Phase 6: Output

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"

Example Usage

# 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

Related Commands

  • /asciinema-tools:daemon-status - View status and find unhandled files
  • /asciinema-tools:finalize - Finalize orphaned recordings
  • /asciinema-tools:convert - Convert .cast to .txt
  • /asciinema-tools:summarize - AI-powered deep analysis
  • /asciinema-tools:analyze - Keyword-based analysis

Troubleshooting

IssueCauseSolution
No recordings foundNo .cast files in ~/eonCheck recording directory with find ~/eon
File discovery emptyWrong search pathManually specify file path as argument
Convert failsCorrupted .cast fileRun /asciinema-tools:finalize first
AI summarize timeoutRecording too largeUse -q for quick analysis first
Orphan branch push failsGit authentication issueCheck GitHub token with echo $GH_TOKEN

Post-Execution Reflection

After this skill completes, reflect before closing the task:

  1. Locate yourself. — Find this SKILL.md's canonical path before editing.
  2. What failed? — Fix the instruction that caused it.
  3. What worked better than expected? — Promote to recommended practice.
  4. What drifted? — Fix any script, reference, or dependency that no longer matches reality.
  5. Log it. — Evolution-log entry with trigger, fix, and evidence.

Do NOT defer. The next invocation inherits whatever you leave behind.

发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

plugins/asciinema-tools/skills/post-session

默认分支

main

最新提交

b657cca

Tree SHA

906e003