runlisted
Install: claude install-skill SashaMarchuk/claude-plugins
# Instagram DM export analyzer
Config-driven pipeline that converts an Instagram DYI export into a clean chat
corpus. Tested end-to-end on a real multi-thousand-message export with zero STT
failures and all verification checks green.
**Nothing about a specific export, account, provider, or credential path lives in
the code.** A new export means a new config file, not a code change.
## When to use
- You have a fresh Instagram DYI export and want the DMs as analysable text.
- Voice notes / video messages need transcribing and merging into the transcript.
- A previous run needs re-doing with a different date range, exclusion list, or
STT provider.
## Dependencies
Python 3.9+ and its standard library are enough for the default path. On top of
that: `requests` is needed **only** for `stt.provider: soniox`; `pyyaml` **only**
if the config is YAML (a `.json` config with the same keys needs neither).
`ffmpeg` / `ffprobe` are required for any run that touches video or STT.
## Run it
```bash
PLUGIN="${CLAUDE_PLUGIN_ROOT}"
cp "$PLUGIN/templates/config.example.yaml" ./my-run.yaml # edit paths + date range
python3 "$PLUGIN/scripts/run_pipeline.py" ./my-run.yaml
```
Useful variants:
```bash
python3 "$PLUGIN/scripts/run_pipeline.py" ./my-run.yaml --dry-run # Step 1 only: scan + counts, no STT, no cost
python3 "$PLUGIN/scripts/run_pipeline.py" ./my-run.yaml --from 3 # re-assemble + re-verify from cached STT (free)
python3 "$PLUGIN/scripts/run_pipeline.py" ./my-run.yaml --