Skip to content
Back to skills

Post Session

ASecurity

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

  • 75 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added May 27, 2026
toolsbashgit

Works with

  • terminal

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned May 27, 2026

npx -y skills add terrylica/cc-skills --skill post-session --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Post Session?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Post Session
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/terrylica-post-session/badge)](https://www.skillsdirectory.com/skills/terrylica-post-session)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: post-session
description: Complete post-session workflow - finalize orphaned recordings, convert, and AI summarize. TRIGGERS - post session, analyze recording, session review
allowed-tools: Bash, Grep, AskUserQuestion, Glob, Write, Read, Task
argument-hint: "[file] [--finalize] [-q|--quick] [-f|--full] [--summarize] [--output file]"
---

# /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

| Argument      | Description                                      |
| ------------- | ------------------------------------------------ |
| `file`        | Path to .cast file (or auto-detect)              |
| `--finalize`  | Include finalize step (stop processes, compress) |
| `-q, --quick` | Quick analysis (keyword grep + brief summary)    |
| `-f, --full`  | Full analysis (convert + AI deep-dive summarize) |
| `--summarize` | Include AI summarize step (iterative deep-dive)  |
| `--output`    | Save 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

```yaml
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:

```bash
/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
```

```yaml
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

```bash
/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

```bash
# 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

```yaml
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

```bash
# 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

| Issue                    | Cause                    | Solution                                    |
| ------------------------ | ------------------------ | ------------------------------------------- |
| No recordings found      | No .cast files in ~/eon  | Check recording directory with `find ~/eon` |
| File discovery empty     | Wrong search path        | Manually specify file path as argument      |
| Convert fails            | Corrupted .cast file     | Run `/asciinema-tools:finalize` first       |
| AI summarize timeout     | Recording too large      | Use `-q` for quick analysis first           |
| Orphan branch push fails | Git authentication issue | Check GitHub token with `echo $GH_TOKEN`    |

## Post-Execution Reflection

After this skill completes, reflect before closing the task:

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

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

Files in this skill

  • SKILL.md6.7 KB
  • references/evolution-log.md698 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.