Context File Optimizer
Trim

Reduces an always-on LifeOS context file that has grown too big via a human-gated pass — deterministic GC of stale entries first, then semantic merges and relocations — never dropping a directive and committing every change reversibly.…
--- name: Trim version: 1.0.4 description: "Reduces an always-on LifeOS context file that has grown too big via a human-gated pass — deterministic GC of stale entries first, then semantic merges and relocations — never dropping a directive and committing every change reversibly. USE WHEN /trim, trim the context, trim OPERATIONAL_RULES, this file is too big, reduce a doctrine file, prune an always-loaded file, fold the proposal inbox, shrink CLAUDE.md or DA_IDENTITY. NOT FOR general code refactoring, trimming video or audio media (use AudioEditor for audio files), or removing AI writing patterns from prose." --- # Trim Shrink an always-on context file that has gotten too big. `/trim <file>` walks the reduction, safest cuts first, never dropping a rule. ## Workflow Routing | Trigger | Workflow | |---------|----------| | `/trim <file>`, "trim OPERATIONAL_RULES", "this file is too big", "reduce a doctrine file", "fold the proposal inbox" | `Workflows/Trim.md` | ## Quick Reference
Overview
Shrink an always-on context file that has gotten too big. /trim <file> walks the reduction, safest cuts first, never dropping a rule.
Example prompts
/trim OPERATIONAL_RULES/trim
# → no arg: wc -c the always-on set, take the largest, then the same walkthroughManual install (npx, ZIP)
Claude Code
npx skills add danielmiessler/LifeOS --skill Trim -g -a claude-codeClaude Code (degit)
npx degit danielmiessler/LifeOS/LifeOS/install/skills/Trim#main ~/.claude/skills/trimClaude.ai / desktop
Codex, Cursor, other agents
Connects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md3.6 KB
Read SKILL.md here
SKILL.md
Show the full text52 lines
Trim
Shrink an always-on context file that has gotten too big. /trim <file> walks the reduction, safest cuts first, never dropping a rule.
Workflow Routing
| Trigger | Workflow |
|---|---|
/trim <file>, "trim OPERATIONAL_RULES", "this file is too big", "reduce a doctrine file", "fold the proposal inbox" |
Workflows/Trim.md |
Quick Reference
- Target resolution: a bare name (
OPERATIONAL_RULES) resolves against the always-on set — the system prompt,CLAUDE.md, its@-imports, and the hook-injected memory files. No arg →wc -cthat set and take the largest. - Order is safest-first: (1) show state, (2) deterministic GC (zero-risk), (3) semantic trims (human-gated), (4) safety gate, (5) re-measure. Full steps:
Workflows/Trim.md. - One tool it orchestrates — never reimplement:
LIFEOS/TOOLS/ProposalGC.ts(removes superseded/duplicate/absorbed entries). Sizes come fromwc -c. - Three semantic moves: MERGE overlapping rules, TIGHTEN verbose ones, RELOCATE rarely-used detail to an on-demand reference (leave a stub + pointer).
- The invariant: a trim never drops a distinct directive. If a merge would, keep the original.
Gotchas
- USER files commit to the USER_DATA repo, not
~/.claude.LIFEOS/USER/**(OPERATIONAL_RULES, PROJECTS, the identity files) is a symlink into a separate private repo. Commit withgit -C ~/.config/LIFEOS/USER …. A~/.claudecommit captures nothing underLIFEOS/USER/— a false safety net. - The file can change mid-edit. The autonomic memory loop appends proposals to these files while you work. If a Write/Edit reports "modified since read", RE-READ before writing — a concurrent correction may have landed (this is how a real deploy-command fix was nearly reverted). Never write from a stale read.
- Semantic merges must never drop a directive. Before applying any merge/tighten, confirm every proper noun, path, tool name, and imperative from the originals survives in the result. If one is missing, the merge is wrong — keep the original. Deterministic GC (superseded/dup/absorbed) is always safe; semantic edits are the risky class.
bun/bunxonly, nevernpm/npx.- Deterministic first, always. Run ProposalGC before proposing any semantic edit — the free, zero-risk removals often clear enough that no judgment-call edit is needed.
Examples
/trim OPERATIONAL_RULES
# → shows 40,456 B → ProposalGC dry-run (0 removable) → ranks semantic trims (fold the
# 40-entry proposal tail, relocate skill-scoped directives to a reference)
# → applies approved ones behind the safety gate → commits to USER_DATA → 28,043 B (−31%)
/trim
# → no arg: wc -c the always-on set, take the largest, then the same walkthrough
Execution Log
After completing the workflow, append a single JSONL entry:
echo '{"ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"Trim","workflow":"Trim","input":"8_WORD_SUMMARY","status":"ok|error","duration_s":SECONDS}' >> ~/.claude/LIFEOS/MEMORY/SKILLS/execution.jsonl
| 1 | |
| 2 | name Trim |
| 3 | version 1.0.4 |
| 4 | description "Reduces an always-on LifeOS context file that has grown too big via a human-gated pass — deterministic GC of stale entries first, then semantic merges and relocations — never dropping a directive and committing every change reversibly. USE WHEN /trim, trim the context, trim OPERATIONAL_RULES, this file is too big, reduce a doctrine file, prune an always-loaded file, fold the proposal inbox, shrink CLAUDE.md or DA_IDENTITY. NOT FOR general code refactoring, trimming video or audio media (use AudioEditor for audio files), or removing AI writing patterns from prose." |
| 5 | |
| 6 | |
| 7 | # Trim |
| 8 | |
| 9 | Shrink an always-on context file that has gotten too big. `/trim <file>` walks the reduction, safest cuts first, never dropping a rule. |
| 10 | |
| 11 | ## Workflow Routing |
| 12 | |
| 13 | | Trigger | Workflow | |
| 14 | |---------|----------| |
| 15 | | `/trim <file>`, "trim OPERATIONAL_RULES", "this file is too big", "reduce a doctrine file", "fold the proposal inbox" | `Workflows/Trim.md` | |
| 16 | |
| 17 | ## Quick Reference |
| 18 | |
| 19 | **Target resolution:** a bare name (`OPERATIONAL_RULES`) resolves against the always-on set — the system prompt, `CLAUDE.md`, its `@`-imports, and the hook-injected memory files. No arg → `wc -c` that set and take the largest. |
| 20 | **Order is safest-first:** (1) show state, (2) deterministic GC (zero-risk), (3) semantic trims (human-gated), (4) safety gate, (5) re-measure. Full steps: `Workflows/Trim.md`. |
| 21 | **One tool it orchestrates — never reimplement:** `LIFEOS/TOOLS/ProposalGC.ts` (removes superseded/duplicate/absorbed entries). Sizes come from `wc -c`. |
| 22 | **Three semantic moves:** MERGE overlapping rules, TIGHTEN verbose ones, RELOCATE rarely-used detail to an on-demand reference (leave a stub + pointer). |
| 23 | **The invariant:** a trim never drops a distinct directive. If a merge would, keep the original. |
| 24 | |
| 25 | ## Gotchas |
| 26 | |
| 27 | **USER files commit to the USER_DATA repo, not `~/.claude`.** `LIFEOS/USER/**` (OPERATIONAL_RULES, PROJECTS, the identity files) is a symlink into a separate private repo. Commit with `git -C ~/.config/LIFEOS/USER …`. A `~/.claude` commit captures nothing under `LIFEOS/USER/` — a false safety net. |
| 28 | **The file can change mid-edit.** The autonomic memory loop appends proposals to these files while you work. If a Write/Edit reports "modified since read", RE-READ before writing — a concurrent correction may have landed (this is how a real deploy-command fix was nearly reverted). Never write from a stale read. |
| 29 | **Semantic merges must never drop a directive.** Before applying any merge/tighten, confirm every proper noun, path, tool name, and imperative from the originals survives in the result. If one is missing, the merge is wrong — keep the original. Deterministic GC (superseded/dup/absorbed) is always safe; semantic edits are the risky class. |
| 30 | **`bun`/`bunx` only, never `npm`/`npx`.** |
| 31 | **Deterministic first, always.** Run ProposalGC before proposing any semantic edit — the free, zero-risk removals often clear enough that no judgment-call edit is needed. |
| 32 | |
| 33 | ## Examples |
| 34 | |
| 35 | |
| 36 | /trim OPERATIONAL_RULES |
| 37 | # → shows 40,456 B → ProposalGC dry-run (0 removable) → ranks semantic trims (fold the |
| 38 | # 40-entry proposal tail, relocate skill-scoped directives to a reference) |
| 39 | # → applies approved ones behind the safety gate → commits to USER_DATA → 28,043 B (−31%) |
| 40 | |
| 41 | /trim |
| 42 | # → no arg: wc -c the always-on set, take the largest, then the same walkthrough |
| 43 | |
| 44 | |
| 45 | ## Execution Log |
| 46 | |
| 47 | After completing the workflow, append a single JSONL entry: |
| 48 | |
| 49 | |
| 50 | echo '{"ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"Trim","workflow":"Trim","input":"8_WORD_SUMMARY","status":"ok|error","duration_s":SECONDS}' >> ~/.claude/LIFEOS/MEMORY/SKILLS/execution.jsonl |
| 51 | |
| 52 |
Details
- Version
- 1.0.4
- License
- MIT
- Stars on the repo
- ★ 19,269
- Checked
- Source
- danielmiessler/LifeOS ↗
- Creator
- danielmiessler · 63 listings
Similar skills
See all →
SkillCross-Platform Reverse Engineer
SkillBrainstorm Ideas
SkillCode Review Feedback Analyzer
SkillBug Diagnosis Framework
SkillImplement Spec
SkillPR Description WriterMore from danielmiessler
SkillScope Oscillation Analyzer
SkillAphorism Library Manager
SkillSocial Platform Scraper
SkillVisual Content Generator
SkillArXiv Paper Finder
SkillFiller Removal Audio Editor