---
name: jaro
description: Reclaim disk space from Claude Code session footprints in ~/.claude (transcripts, shell snapshots, caches, telemetry, backups, tasks). Use when the user wants to clean up / free space / sweep their .claude folder — the current project by default, or everything. ("jaro" means sweep/broom in Persian.) Never deletes config, skills, plugins, or persistent memory.
---

# jaro

Self-contained cleanup of ephemeral Claude Code session data. Runs the bundled
`jaro.sh` in this folder — no external binary. Removes only regenerable data.

Script path: `"$HOME/.claude/skills/jaro/jaro.sh"`. Always run with `bash` and
the absolute path. If it's missing, recreate it (self-contained bash) first.

## Never touched (protected)

Everything except the ephemeral dirs below — including `settings*.json`,
`CLAUDE.md`, any top-level config, `skills/`, `plugins/`, and
`projects/*/memory/` (persistent memory).

## Removed (ephemeral / regenerated)

`projects/*/*.jsonl` transcripts, `shell-snapshots/`, `cache/`, `telemetry/`,
`backups/`, `session-env/`, `debug/`, `tasks/`, `plans/`, `sessions/`.

## Commands

```bash
bash "$HOME/.claude/skills/jaro/jaro.sh"          # current project (auto-detected from cwd)
bash "$HOME/.claude/skills/jaro/jaro.sh" all      # every project + all caches
bash "$HOME/.claude/skills/jaro/jaro.sh" <name>   # projects whose path contains <name>
```

## How to choose

- Default to the **current project** — no argument needed; the script detects it
  from the working directory.
- Use `all` only when the user clearly wants everything ("clean all", "free space
  everywhere", "jaro all").
- Use `<name>` when the user names a specific project.

## Behavior

- The script does NOT prompt and has no dry-run — it scans, prints a breakdown,
  then deletes immediately. Confirmation is YOUR job, not the script's.
- This deletion is irreversible. Before running, tell the user the scope
  ("current project" / "all projects + caches" / the named project) and **ask
  them to confirm** — unless their request was already explicit ("just clean it",
  "yes", "jaro all now").
- After running, report the reclaimed size from the script's output. If it prints
  "Nothing to clean", just say so.

---

Gist: https://gist.github.com/dalirnet/79226323fcecf80df723f14cc216f893
