compact-manual — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited compact-manual (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Reads the current session's JSONL (auto-detects the project directory in ~/.claude/projects/, picks the most recent file), extracts the user/assistant dialog, truncates verbose tool_results (with regex-based preservation of full errors), formats it as a markdown transcript, copies it to the clipboard with pbcopy, and saves a backup in ~/.claude/compact-backups/.
The user then runs `/clear` (creates a fresh session with a clean JSONL — the previous one is archived) and pastes with Cmd+V to start over with the compressed transcript as the sole context.
Execute the script with Bash, passing the user's arguments via `$ARGUMENTS`:
python3 ~/.claude/skills/compact-manual/scripts/compact.py $ARGUMENTSIf the user passed no args, $ARGUMENTS is empty and the script runs in conservative mode by default.
| Arg | Effect |
|---|---|
| (none) | Conservative mode (default). Truncates tool_results >2-3KB, keeps dialog literal |
aggressive | Truncates tool_results very short (~600 chars), ideal for sessions >1.5MB |
auto | Picks aggressive if session >1.5MB, conservative if <1.5MB, skips if <80KB |
--raw | Ultra-literal mode: no truncation, no dedup, no post_compress. Only strips harness wrappers (<system-reminder>, etc). Ratio ~9-15% but full fidelity. Use it when you want to preserve EVERYTHING without automatic decisions |
--preserve-code | Never aggressively truncates Read/Edit/Write (multiplies their limits by 8) |
--no-dedupe | Disables dedup of identical tool_results |
--dry-run | Preview + stats without copying or saving backup |
--session <path> | Processes a specific JSONL (default: most recent in current project) |
--no-backup | Does not save backup (normally saves, retains last 20) |
--no-clipboard-backup | Does not save the previous clipboard before overwriting |
python3 ~/.claude/skills/compact-manual/scripts/compact.py # default: conservative
python3 ~/.claude/skills/compact-manual/scripts/compact.py aggressive
python3 ~/.claude/skills/compact-manual/scripts/compact.py auto
python3 ~/.claude/skills/compact-manual/scripts/compact.py --raw # ultra-fidelity
python3 ~/.claude/skills/compact-manual/scripts/compact.py --dry-run
python3 ~/.claude/skills/compact-manual/scripts/compact.py aggressive --preserve-code/clear (creates a fresh session with a clean JSONL — the current one stays accessible via /resume)Cmd+V to paste the transcriptImportant: do NOT suggest ESC ESC — in Claude Code that is a rewind of file edits (file checkpoints), NOT a conversation rewind. The correct way to start with a clean context is /clear.
~/.claude/compact-backups/ (retains last 20).1. /compact-manual ← skill processes JSONL, transcript to clipboard + backup
2. /clear ← new session with clean JSONL (previous archived in /resume)
3. Cmd+V ← paste the compressed transcript
4. Enter ← send, keep working with the compressed contextWhy `/clear` and not ESC ESC: in Claude Code, ESC ESC reverts _file edits_ (local checkpoints), not the conversation. /clear does create a completely new session with its own JSONL, which is what we want so that the next /compact-manual does not reprocess the old conversation redundantly.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.