storage-retention

storage-retention is a skill for Claude Code, Codex from get-bb/bb. It costs 20 tokens per session (2,554 once invoked), scanned A, original, MIT.

A tool for inspecting machine storage, removing unused files, and setting rules for archiving or deleting old conversation data. It provides command-line operations and a sidebar panel for reports and settings.

In plain words
What is it for?
Use it to review storage by machine, remove unnecessary files, retry worktree cleanup, clear a thread, or configure when threads and their stored data are archived or deleted.
Why use it?
It helps find storage usage and clean up orphaned, large, archived, or thread-specific files. It also makes retention rules explicit instead of leaving both policies at their default of never.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to review storage by machine, remove unnecessary files, retry worktree cleanup, clear a thread, or configure when threads and their stored data are archived or deleted.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/get-bb/bb/storage-retention
About the project

bb is an agentic IDE that lets users control, customize, and automate a software-development environment through a desktop app, web app, command-line interface, or HTTP API. Developers use it to run work in observable threads that can be steered or handed off to other agents. Its catalogue add-ons provide skills and instructions for working with bb.

get-bb/bb · 4,324 stars · on GitHub · getbb.app

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add get-bb/bb --skill storage-retention
Clone the repo
git clone --depth 1 https://github.com/get-bb/bb

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for storage-retention

README.md
[![agentmods](https://agentmods.dev/badge/skills/get-bb/bb/storage-retention/github.svg)](https://agentmods.dev/skills/get-bb/bb/storage-retention)
Your own site
<a href="https://agentmods.dev/skills/get-bb/bb/storage-retention"><img src="https://agentmods.dev/badge/skills/get-bb/bb/storage-retention/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for storage-retention

Your own site · 80×15
<a href="https://agentmods.dev/skills/get-bb/bb/storage-retention"><img src="https://agentmods.dev/badge/skills/get-bb/bb/storage-retention.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 20 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,554 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00020 $0.02554
Opus 5.5 $0.00008 $0.01022
Sonnet 5.5 $0.00004 $0.00511
Haiku 4.5 $0.00002 $0.00255

Measured yesterday against content hash bcd3e70e13c8, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

storage-retention scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/storage-retention/skills/storage-retention/SKILL.md · 109 lines

How it starts

The opening of the file, as written. The whole thing — 109 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Storage & retention

Enable bb plugin enable bb--storage-retention. Both policies default to Never. Open the plugin's sidebar panel for machine reports and retention settings. All settings in the panel save immediately when changed. All commands return JSON. Use the owning server's normal SDK/plugin RPC transport.

bb storage retention
bb storage retention --archive-after 30 --delete-after 90
bb storage retention --archive-after 30 --delete-after 90 --save --yes
bb storage retention --archive-after never --delete-after never --save --yes
bb storage retention --delete-storage-on-archive true --save --yes
bb storage retention --delete-storage-on-archive false --save --yes
bb storage retention --delete-dev-data-on-checkout-removal true --save --yes
bb storage usage
bb storage usage --rescan
bb storage usage --machine HOST_ID --rescan
bb storage usage --machine HOST_ID
bb storage remove-orphans --machine HOST_ID --yes
bb storage clear-large-files --yes
bb storage clear-large-files --machine HOST_ID --yes
bb storage retry-worktree-cleanup --machine HOST_ID
bb storage clear-thread --thread THREAD_ID --yes
bb storage clear-archived-files --machine HOST_ID --yes
bb storage remove-dev-instances --machine HOST_ID --yes
bb storage remove-dev-instances --machine HOST_ID --instance NAME --yes

Without --save, retention thresholds only preview affected thread counts. Days must be whole numbers from 1 to 3650, or never. Unspecified settings preserve their saved values. Saved policies apply across all projects. The hourly run processes up to 50 trees per action and skips groups with pinned members. Archiving can remove worktrees including uncommitted changes. Deleting removes history and thread storage. Preview first and save only when authorized.

Delete thread storage on archive defaults to off. Set --delete-storage-on-archive to true or false, or use the switch in the retention panel, which saves immediately. It applies to future manual and automatic archives, including each cascaded child, while the plugin is enabled; it does not clear previously archived threads. Conversations and uploaded attachments are kept. Pinned threads are skipped. Cleanup waits for stopped threads and online persistent machines. Pending cleanup survives reloads and retries every minute; unarchiving or deleting cancels it, and turning the setting off discards pending work on the next cleanup pass. Failures are logged and retried. Threads without an environment need a completed scan to identify their storage machine, just like clear-thread.

Delete development data when its checkout is removed defaults to off and is independent of archive cleanup. Set --delete-dev-data-on-checkout-removal to true or false, or use its switch in the retention panel, which saves immediately. When enabled, the plugin scans online persistent machines hourly and removes missing-checkout ~/.bb-dev entries after successful scans, including manual scans. Existing missing-checkout data is eligible too; retention previews count threads, not these folders. The host rechecks checkout absence before removal, stops servers working inside missing checkouts, and preserves entries whose source exists or cannot be identified. An environment-removal event re-measures only that machine's ~/.bb-dev, after any running cleanup there finishes. Startup, machine reconnect, and hourly scans recover missed events from filesystem state. Offline/busy machines and failed cleanup retry on later hourly scans. Disabling the setting prevents cleanup after subsequent scans.

Scans run in the background; rerun usage to read completion, progress, or failure. --rescan without --machine scans every online machine that is not already scanning. A completed report includes disk (total and free bytes of the volume holding thread storage). Reports include projectWorktrees: counts of distinct managed worktree paths per project on the selected machine, including zero-count projects with a local source there; destroyed and removed environments are excluded, and cleanupPendingCount is a subset of the worktree count. Counts reflect current environment records, not filesystem measurements. Scans also measure ~/.bb-dev on that machine. developerStorage is null when absent; otherwise it contains the path, total allocated bytes, and immediate folder/file sizes. Each entry includes sourcePath, sourcePathState (exists, missing, or unknown), and threads linked through host environment paths or a managed checkout’s thread ID. Matches cover threads known to this BB instance, including archived and hidden threads. Sources are recovered from saved launch metadata or hash-verified known/conventional checkout paths; unresolved sources remain null. Missing checkouts are cleanup candidates, not proof their development data is disposable. The UI offers missing-checkout, other-instance and unidentified-source filters. The developer section initially shows the five largest entries, grouped into linked threads, other development instances and unidentified sources, each group with its own Show N more control inside the card. Paths are hidden from rows and available through the three-dot menu’s Copy source checkout path and Copy dev data path actions. When developerStorage is present, the machine list totals thread and development storage with a per-kind split, and the machine page's first card adds a BB development row (instance count and size) to its category table under one total; the entry list stays in its own section. Remove-dev-instances (page: Remove instances in the Clean up section) removes ~/.bb-dev entries the last scan marked missing. --instance NAME (page: the trash button on any development row, which removes immediately; different rows can run at once) removes only that entry, whatever its checkout state, and fails if the last scan did not list it. An entry counts as running when its daemon lock (daemon.lock.lock) was refreshed in the last 15 seconds; scans report this as running. RPC removeDevInstances({hostId, names, stopRunning}) with stopRunning: false leaves a running entry whose checkout still exists in place and lists it in running (the page then asks "Stop and remove?"); with stopRunning: true, as the CLI does, it sends SIGTERM to the launcher PID recorded in that instance's bb-app-runtime.json (SIGKILL after 15 seconds) and removes it. Processes in an existing checkout are otherwise left alone. The machine re-checks each source at removal time and skips entries whose checkout exists again or cannot be resolved. Before removal it stops every process whose working directory is inside a removed checkout (SIGTERM, then SIGKILL after 2 seconds), because servers keep running after their checkout is deleted. Process stopping is not available on Windows. A symlinked ~/.bb-dev entry is removed as a link; the folder it points to is kept. It returns removedCount, removedBytes, skippedCount and stoppedProcessCount, and also deletes leftover .bb-trash-* folders in ~/.bb-dev. The largest-thread list initially shows five rows; Show N more reveals the remaining ranked threads in the report (up to 20), and Show fewer collapses it. Reads never start scans. Remove-orphans requires a completed scan and only removes storage the plugin identifies as orphaned from current SDK thread rows. Clear-large-files deletes individual files of 10 MB or more from the thread storage of archived threads found in the last scan, keeping smaller files and skipping pinned and running threads; reports show the matching totals as archivedLargeFiles. Without --machine it covers every online machine with a completed scan. The page uses startClearLargeFiles({hostId}) to start background cleanup and returns immediately; pass null for all scanned online machines. Read largeFileCleanup in usage/host reports for running, completed (file and byte totals), or failed status. The synchronous CLI command and clearLargeFiles RPC still wait for completion. Duplicate bulk jobs are rejected; rescanning a machine that is already scanning returns the running scan. Conversation history is never affected. The Storage page suggests it once archived threads hold 1 GB or more of large files. Clear-archived-files removes whole storage folders, including small files, from archived, stopped, unpinned threads found in the last scan on the selected machine. Conversations and uploaded attachments are kept. The page starts this with startClearArchivedFiles({hostId}), which returns immediately. Read archivedFileCleanup in usage/host reports for running, completed, or failed status with cleared thread and byte totals. Progress is reported after each batch; failed jobs can be retried for the remaining files. The CLI and clearArchivedFiles RPC still wait for completion. Cleanup is exclusive per machine; opening a confirmation does not block other actions. Clear-thread, clear-archived-files and remove-orphans first stop processes whose working directory is inside each removed thread folder, matching worktree removal, so dev servers started there don't outlive their files. Clear-thread requires a stopped thread and an online machine. When the thread no longer has an environment, a completed scan must identify its storage on exactly one machine. Different threads can clear concurrently; duplicate clears for one thread are rejected. Bulk cleanup stays exclusive per machine. Every cleanup action stays available during a scan, and a finished scan leaves out entries cleared while it ran. Reports are cached snapshots; rescan to see external filesystem changes.

Read the full file on GitHub · 109 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday Changed bcd3e70e13c8
  2. 7d ago Changed db9b4b63238e
  3. 8d ago First seen · 109 lines · 20 tokens per session scan A 7d2b5b7b9e74

Subscribe to this mod's changes

storage-retention is a skill published in the GitHub repository get-bb/bb (4,324 stars, last pushed today), licensed MIT. It adds 20 tokens to every session and 2,554 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-08.

Related

Other skills, from other repositories

configuring-grove

Use when configuring Grove for a user or project, including agent rosters, init scripts, containers, private credentials, daemon or MCP setup, or the native-versus-terminal launch of a Claude Code or Codex agent. Also use when resolving config layers, validating a config schema, or explaining why a workspace starts…

bearlike/Grove · 92 tokens

computer-use

Use Avibe's local Computer Use CLI for carefully bounded desktop observation and actions.

avibe-bot/avibe · 19 tokens

termio

See and drive the sibling agent sessions running alongside you in this Termio project via the termio sessions CLI — list and watch their status, spawn new agent or plain-terminal sessions, send a prompt or an answer into a session, and read an agent's reply from its transcript. Use when delegating work to another…

termio-sh/termio · 117 tokens

workflow

A workflow skill for embedded-device projects that plans and runs building, flashing, debugging, observing, and diagnosis tasks.

zhinkgit/embeddedskills · 88 tokens

develop-inspection-feature

End-to-end workflow for adding a new inspection or quick-fix feature to the explyt/spring-plugin repository: duplicate check, fact verification against authoritative javadoc, base-class and gating choice (isAvailableForFile), visible-element highlighting, registration, platform tests, branch and PR. Use when the user…

explyt/spring-plugin · 103 tokens

meeting-prep

Build a pre-meeting briefing — who's in the room, what they care about, your goal, and the questions to ask. Trigger when the user asks to prep for a meeting or call, "what should I know before", or names an upcoming meeting.

etrebels/claude-code-growth-os · 56 tokens