{"slug":"minutes-cleanup-7","title":"minutes-cleanup","summary":"Manage old recordings — find large files, archive old meetings, delete processed originals. Use when the user says \"clean up recordings\", \"how much space are meetings using\", \"delete old recordings\", \"archive meetings\", \"manage meeting storage\", or asks about disk space from minu","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-08-27T16:58:07.185999Z","repo":{"url":"https://github.com/silverstein/minutes","stars":1501,"forks":165,"license":"MIT","updatedAt":"2026-09-25T06:14:41Z"},"bodyHtml":"<hr>\n<h2>name: minutes-cleanup\ndescription: Manage old recordings — find large files, archive old meetings, delete processed originals. Use when the user says \"clean up recordings\", \"how much space are meetings using\", \"delete old recordings\", \"archive meetings\", \"manage meeting storage\", or asks about disk space from minutes.\ncompatibility: opencode</h2>\n<h1>/minutes-cleanup</h1>\n<p>Help the user manage disk space and organize old recordings. Minutes is\ntranscript-first: markdown notes and structured memory are durable, while raw\naudio is a temporary recovery/reprocessing layer unless pinned.</p>\n<h2>Check current usage</h2>\n<pre><code>minutes storage\nminutes storage --json\n</code></pre>\n<p>Present this to the user before taking any action.</p>\n<h2>Common cleanup tasks</h2>\n<h3>Preview raw-audio cleanup</h3>\n<p>After transcription, the original audio files are no longer needed for search or\nrecap. They only matter if you want to re-transcribe with a better model or\ndebug recovery. Cleanup is preview-only unless <code>--apply</code> is passed.</p>\n<pre><code># Use the configured retention policy\nminutes cleanup\n\n# Try a shorter successful-audio window\nminutes cleanup --older-than 14d\n\n# Machine-readable preview for agents\nminutes cleanup --json\n</code></pre>\n<h3>Delete raw audio candidates</h3>\n<p>Only apply cleanup after showing the preview and getting explicit confirmation.</p>\n<pre><code>minutes cleanup --apply\nminutes cleanup --older-than 14d --apply\n</code></pre>\n<h3>Archive old meetings</h3>\n<p>Move meetings older than N days to an archive folder:</p>\n<pre><code>mkdir -p ~/meetings/archive\n\n# Find meetings older than 90 days\nfind ~/meetings -maxdepth 1 -name \"*.md\" -mtime +90\n\n# Move them (confirm with user first)\nfind ~/meetings -maxdepth 1 -name \"*.md\" -mtime +90 -exec mv {} ~/meetings/archive/ \\;\n</code></pre>\n<p>Archived meetings won't appear in <code>minutes list</code> or <code>minutes search</code> (which only scans <code>~/meetings/</code>), but they're still on disk if needed.</p>\n<h3>Clean up processed voice memos</h3>\n<p>The watcher moves originals to <code>~/meetings/memos/processed/</code> after transcription:</p>\n<pre><code>du -sh ~/meetings/memos/processed/ 2&gt;/dev/null\n</code></pre>\n<h3>Clean up stale state</h3>\n<pre><code># Remove stale PID file\nrm -f ~/.minutes/recording.pid\n\n# Clean old logs (keep last 7 days)\nfind ~/.minutes/logs -name \"*.log\" -mtime +7 -delete 2&gt;/dev/null\n\n# Remove last-result.json (transient)\nrm -f ~/.minutes/last-result.json\n</code></pre>\n<h2>Gotchas</h2>\n<ul>\n<li><strong>Never delete <code>.md</code> files without asking</strong> — These are the transcripts. They're small and contain the actual value. WAV files are the space hogs.</li>\n<li><strong>Prefer <code>minutes cleanup</code> over raw <code>find -delete</code></strong> — The CLI understands pinned audio and sidecar stems.</li>\n<li><strong>Archived meetings are invisible to search</strong> — <code>minutes search</code> only walks <code>~/meetings/</code> and <code>~/meetings/memos/</code>. If you need archived meetings searchable, configure QMD to index <code>~/meetings/archive/</code> too.</li>\n<li><strong>Audio deletion is irreversible</strong> — If the user might want to re-transcribe with a better model later, suggest pinning important recordings and only deleting old unpinned candidates.</li>\n<li><strong>Pin exceptions in frontmatter</strong> — Add <code>audio_retention: pinned</code> to a meeting to keep its raw audio out of cleanup candidates.</li>\n<li><strong>Audio is ~10 MB/minute, transcripts are ~1 KB/minute</strong> — Deleting audio saves 99%+ of space while keeping all searchable content.</li>\n<li><strong>iCloud sync caveat</strong> — If <code>~/meetings/</code> is in an iCloud-synced folder, deleted files go to \"Recently Deleted\" and still count against storage for 30 days.</li>\n</ul>\n","files":[{"path":"SKILL.md","sizeBytes":3423,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-08-27T17:03:40.254451Z","sha256":"40C0B57910ED60B383200B0D09B1624313B0D99B625BCC73F7E13309A671B506","sizeBytes":1617},"review":null,"source":{"repositoryUrl":"https://github.com/silverstein/minutes","path":"tooling/skills/goldens/opencode/minutes-cleanup","license":"MIT","commit":"37d3440d4f132e2f3864fbe537e375fd546159ba","subtreeSha":"0AFA2CFF73F6DC29E547CCFBDA2F8430AE30BF76D7A75BB06CFCB1B661AC8D81","lastSyncedAt":"2026-09-25T07:37:08.19899Z"},"reviewedAt":"2026-08-27T17:16:21.883972Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/silverstein/minutes/tree/main/tooling/skills/goldens/opencode/minutes-cleanup"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install silverstein-minutes@llmmart"},{"target":"git","command":"git clone https://github.com/silverstein/minutes.git"}]}