claude-slim 2.13.0 → 2.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -94,21 +94,21 @@ That's slower responses. Hitting your usage cap faster. Paying for context you'r
94
94
  **Report** — Shows exactly what changed:
95
95
 
96
96
  ```
97
- ╭──────────────────────────────────────────╮
98
- │ claude-slim report
99
-
100
- │ Before: 14,510 tokens at startup
101
- │ After: 5,181 tokens at startup
102
- │ Saved: 9,329 tokens (64.3%)
103
-
104
- │ Top offenders removed:
105
- │ • office-hours 23,008 tok
106
- │ • harness 7,902 tok
107
- │ • manpower 4,764 tok
108
-
109
- │ Est. monthly savings: ~$1.68
110
- │ (2 sessions/day × $0.003/1K tok)
111
- ╰──────────────────────────────────────────╯
97
+ ╭────────────────────────────────────────╮
98
+ │ claude-slim report
99
+
100
+ │ Before: 14,510 tokens at startup
101
+ │ After: 5,181 tokens at startup
102
+ │ Saved: 9,329 tokens (64.3%)
103
+
104
+ │ Top offenders removed:
105
+ │ • office-hours 23,008 tok│
106
+ │ • harness 7,902 tok│
107
+ │ • manpower 4,764 tok│
108
+
109
+ │ Est. monthly savings: ~$1.68
110
+ │ (2 sessions/day × $0.003/1K tok)
111
+ ╰────────────────────────────────────────╯
112
112
 
113
113
  ┌──────────────────┬──────────┬──────────┬────────────┐
114
114
  │ │ Before │ After │ Saved │
@@ -249,15 +249,14 @@ Token counts come from [js-tiktoken](https://github.com/nicolo-ribaudo/js-tiktok
249
249
 
250
250
  ---
251
251
 
252
- ## v2.13.0 — What's new
252
+ ## v2.13.1 — What's new
253
253
 
254
- - **Changed: the startup estimate no longer counts disabled plugins.** Their skills are not in the session catalog, so they are not a startup cost but they were being added to a number labelled "tokens at session start". Verified against a live session rather than assumed: skills from every disabled plugin were absent from the prompt, while every enabled one's were present. Measured here: **12,504 9,836**, a 21% correction.
255
- - **Added `disabledPluginSkillTokens`**, shown under the overhead line and in `--json` what re-enabling everything would cost. A headline number that drops by a fifth with no explanation reads like a bug.
256
- - **Fixed: plugin skills are attributed to their plugin, not their marketplace.** One marketplace can host several plugins with different enabled states, so the two had to be told apart.
254
+ - **Fixed: `scan` promised the tool never touches `~/.codex/`, while `clean --auto` deletes from it permanently.** The Codex summary closed with `Reported onlyclaude-slim never modifies ~/.codex/.` That was true in v2.10 and false from **v2.11** on, when `clean` gained the Codex tiers. Measured here: `clean --dry-run` selects `[Auto] [codex] temp_cache: .tmp (146MB of install leftovers) (permanent)` Tier 1, which `--auto` applies without prompting and no `restore` undoes.
255
+ - The summary now says what actually happens: `scan` only reads, `clean` acts under the same tiers as `~/.claude/`, moves land in `~/.codex/skills.disabled/` and reverse with `restore`, and Tier 1 install leftovers are deleted permanently.
257
256
 
258
- Only plugins *explicitly reported disabled* are excluded. `claude plugin list` has a third state `✘ failed to load` — and a plugin in it still loads its skills, so anything unrecognised keeps counting.
257
+ A test was holding the false claim in place. It asserted the summary *must* say "never modifies", so the line could not be corrected without a test failing — and all 461 tests stayed green across four releases that contradicted it. The assertion is now inverted: the summary must not promise `~/.codex/` is left alone, and must name the permanent deletion and `--auto`.
259
258
 
260
- Tests: 452461 (+9).
259
+ Tests: 461462.
261
260
 
262
261
  For older release notes, see [CHANGELOG.md](CHANGELOG.md).
263
262
 
package/dist/cli.js CHANGED
@@ -50,8 +50,9 @@ program
50
50
  lookbackDays: parseNonNegativeInt(opts.lookbackDays, 60),
51
51
  projectDir,
52
52
  });
53
- // Codex is scanned when present. Reported only it is never modified, and
54
- // unused-skill detection is suppressed there for lack of a usage signal.
53
+ // Codex is scanned when present. `scan` only reads; `clean` has acted here
54
+ // since v2.11 under the same tiers. Unused-skill detection stays suppressed
55
+ // for lack of a usage signal.
55
56
  // commander maps `--no-codex` to `opts.codex === false`, not `opts.noCodex`.
56
57
  const codex = opts.codex === false ? null : await scanCodex();
57
58
  await flushCache();
@@ -44,13 +44,15 @@ export function formatCodexSummary(result) {
44
44
  lines.push(` ${b.name.length > 30 ? `${b.name.slice(0, 29)}…` : b.name.padEnd(30)} ` +
45
45
  `${String(b.listingTokens).padStart(5)} tok \x1b[90m${b.backupArtifact}\x1b[0m`);
46
46
  }
47
- lines.push(` \x1b[90mNot removed — ~/.codex/ is read-only here. Delete manually if stale.\x1b[0m`);
47
+ lines.push(` \x1b[90mOffered by clean as Tier 2 moved to ~/.codex/skills.disabled/, reversible with restore.\x1b[0m`);
48
48
  }
49
49
  lines.push('');
50
50
  lines.push(` \x1b[33m!\x1b[0m Unused-skill detection unavailable for Codex.`);
51
51
  lines.push(` \x1b[90m${result.unusedDetectionReason}\x1b[0m`);
52
52
  lines.push('');
53
- lines.push(` \x1b[90mReported only claude-slim never modifies ~/.codex/.\x1b[0m`);
53
+ lines.push(` \x1b[90mscan only reads. Since v2.11 clean also acts here, under the same tiers as ~/.claude/:\x1b[0m`);
54
+ lines.push(` \x1b[90mmoves go to ~/.codex/skills.disabled/ and reverse with restore, but Tier 1 install\x1b[0m`);
55
+ lines.push(` \x1b[90mleftovers (~/.codex/.tmp) are deleted permanently, and --auto applies Tier 1 unprompted.\x1b[0m`);
54
56
  lines.push('');
55
57
  return lines.join('\n');
56
58
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-slim",
3
- "version": "2.13.0",
3
+ "version": "2.13.1",
4
4
  "description": "Audit and shrink your Claude Code startup context. Measures what every skill, plugin, agent, command, and memory file costs in the system prompt, then reversibly disables the dead weight. Non-destructive scan, tiered proposals, one-command restore — no proxy, no compression.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -65,6 +65,6 @@
65
65
  "@types/node": "^22.20.1",
66
66
  "tmp-promise": "^3.0.3",
67
67
  "typescript": "^5.9.3",
68
- "vitest": "^4.1.10"
68
+ "vitest": "^4.1.11"
69
69
  }
70
70
  }