Add transcript backup tracking system and pre-compact hook improvements
- pre-compact-backup.sh: derive transcript path from session_id+cwd (no longer relies on transcript_path field that Claude Code stopped providing); register each backup in tracking.json after saving - extract-transcripts.py: new script managing tracking.json — register, list, extract conversation text, mark-processed modes - list-transcripts-here.sh: thin wrapper for extract-transcripts --list using $(pwd); needed because SKILL.md bang commands reject $() substitution - install-hooks.sh: now also symlinks skill-helper scripts into ~/.claude/scripts/ via a curated SKILL_HELPERS list - Memory docs: new script-extract-transcripts.md, script-list-transcripts-here.md; updated skill-log.md, script-install-hooks.md, MEMORY.md index Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
26
memory/script-list-transcripts-here.md
Normal file
26
memory/script-list-transcripts-here.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# script: list-transcripts-here
|
||||
|
||||
**Location:** `claude-foundations/scripts/list-transcripts-here.sh`
|
||||
**Symlinked to:** `~/.claude/scripts/list-transcripts-here.sh`
|
||||
|
||||
## Purpose
|
||||
|
||||
Thin wrapper around `extract-transcripts.py --list "$(pwd)"`. Exists because SKILL.md bang commands (`!`command``) cannot use `$()` substitution — the Claude Code permission checker rejects it. The wrapper runs the substitution internally (in bash, where it's fine) and outputs the result.
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
# From within a project directory
|
||||
bash ~/.claude/scripts/list-transcripts-here.sh
|
||||
# → JSON array of unprocessed transcript backups for the current cwd
|
||||
```
|
||||
|
||||
## How it works
|
||||
|
||||
Single line: `python3 "$HOME/.claude/scripts/extract-transcripts.py" --list "$(pwd)"`
|
||||
|
||||
## Gotchas
|
||||
|
||||
- Must be called with `bash list-transcripts-here.sh` (not `python3`) — it's a shell wrapper, not a Python script
|
||||
- Output is the same as `extract-transcripts.py --list`, so check that script's docs for the JSON format
|
||||
- The `$()` substitution is the entire reason this wrapper exists; if that restriction is ever lifted from SKILL.md bang commands, this wrapper can be removed
|
||||
Reference in New Issue
Block a user