mrkeyoor.com_
Wed 23 Sept 06:49 UTC
Dev Toolsevaluationupdated 23 Sept 2026

skill-cabinet review

Skill Cabinet is a local browser app for seeing which agent skills are installed across Claude Code, Codex, Cursor, Hermes, and similar tools. It reads skill files, separates copies from links, flags suspicious instructions, and lets one operator quarantine or permanently delete them.

Verdict

Our Skill Cabinet run installed 263 packages in 9 seconds, used 73 MB, and passed all 64 tests in 2 seconds, so the core is easy to trial on one workstation. Use it when your immediate problem is understanding and pruning an existing skill collection. Prefer quarantine over Delete, and expect to add or patch discovery roots if your agents store skills outside the paths v0.6.0 knows.

We ran it

Lab card: what happened when we ran skill-cabinetScreenshot of skill-cabinet (github.com/subsy/skill-cabinet)
Install✓ · 9s263 packages · 73 MB
Build✓ · 4s
Tests✓ · 2s64 passed · 0 failed of 64 (node:test)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo39 files~5,000 lines of source · 0.5 MB · 1 CI workflows

Answers from our run

Does skill-cabinet build from source?

Dependencies installed in 9 seconds (263 packages), and the build succeeded in 4 seconds. We cloned commit 3859838 into a clean Debian container with 3 CPUs and no project-specific setup.

Do skill-cabinet's tests pass?

Yes: 64 of 64 passed when we ran the project's own test command (node:test). Some failures need services or credentials a bare container does not have.

Does skill-cabinet have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use skill-cabinet?

Teams needing a shared or remote inventory: the product document defines one operator, and the server binds only to 127.0.0.1.

What are the alternatives to skill-cabinet?

skills, Skills Manager, OpenSkills. Our Skill Cabinet run installed 263 packages in 9 seconds, used 73 MB, and passed all 64 tests in 2 seconds, so the core is easy to trial on one workstation.

Setup5/59-second install, one npx command, and all 64 tests passed
Docs4/5Clear run, safety, and development docs; root coverage is incomplete
Community3/5419 stars with one open issue and four proposed fixes
Maturity3/5v0.6.0 is tested, but discovery and destructive actions still need care

Who it’s for

Developers with 20 or more agent skills scattered across several tool-specific folders.
Claude Code and Codex users who want to read a skill before allowing an agent to invoke it.
Operators cleaning duplicate, broken, or abandoned skill copies from one workstation.
People who want reversible quarantine before committing to permanent deletion.

Who it’s NOT for

Teams needing a shared or remote inventory: the product document defines one operator, and the server binds only to 127.0.0.1.
Users who expect every agent folder to appear automatically: open issue 19 lists missed nested drawers for Hermes, Grok, Gemini, OpenCode, and mimo Code.
Anyone likely to treat a risk badge as a security verdict: the README calls the check static risk, while skills can also contain scripts and extra files.
People who want an undo button after deletion: the README says Delete removes the folder, file, or link from disk with no undo; Quarantine is the reversible option.

Setup reality

Our sandbox installed commit 3859838 in 9 seconds, adding 263 packages and using 73 MB. The build passed in 4 seconds. All 64 node:test cases passed in 2 seconds, and npm audit found 0 known vulnerabilities across every severity level.

Running the published package needs Node 20 or newer and one npx skill-cabinet command. It opens a browser against 127.0.0.1:3781 by default, needs no account or hosted database, and can use another port through PORT. Source development adds the Vite server and npm run dev.

The important setup choice is filesystem authority. Skill Cabinet reads agent folders under your home directory and can move or delete entries. Quarantine stores a manifest under ~/.skill-cabinet/quarantine; Delete has no undo. Current main also misses some nested or newer agent drawers tracked in issue 19.

Version 0.6.0 makes installed skills visible before they run

Skill Cabinet 0.6.0 scans the places where Claude Code, Codex, Cursor, Hermes, and other agent tools keep skills, then presents them as a local catalog. Each card can show the skill body, YAML frontmatter, related files, filesystem path, origin, invocation style, and whether the entry is a real folder, a file, a symlink, or a broken reference. That is useful when an agent's available-skill list has grown beyond what you can remember.

The catalog does more than count folders. It identifies identical physical copies, keeps virtual references separate, totals the disk occupied by duplicates, and marks origins inferred from a parent plugin or Git remote. Static risk checks inspect the skill body for patterns worth reading. Treat those findings as triage. A badge can point you toward an instruction, while it cannot determine what every bundled script or external command will do at runtime.

The static audit stops after 12 companion files

The audit reads at most 12 companion files, walks no deeper than four levels, and caps the scanned tree at 512,000 bytes. Its rules look for direct shell downloads, broad recursive deletes, sensitive credential paths, decoded execution, instruction overrides, global Git configuration, and network download commands. Those limits keep a local scan bounded. They also mean a large or unusually nested skill can contain relevant code beyond the audit's view.

Invocation labels use another set of static clues. A local hooks.json, sessionStart, or alwaysApply marks a hook; frontmatter can limit a skill to user invocation or switch it off; otherwise the model-callable state is the default. The code also checks descriptions for standing-order phrases and tries to notice nearby negation. This is useful evidence about when a skill may load, though unusual frontmatter or agent-specific behavior can still fall outside those rules.

What happened when we ran it

Our run on commit 3859838 installed 263 npm packages in 9 seconds and occupied 73 MB on disk. The production build passed in 4 seconds. Node's test runner then completed all 64 cases in 2 seconds with 0 failures. Npm audit reported 0 known vulnerabilities: 0 critical, 0 high, 0 moderate, and 0 low. Those results make the local trial unusually cheap for a tool that touches real files.

We measured a 0.5 MB checkout with 39 files and about 5,000 lines of source in our 3-CPU, 8 GB sandbox. The repository has one CI workflow and test files under server/, though there is no top-level tests directory and no Dockerfile. Node 20 or newer is the stated runtime. Our test method covered the supplied commands; it did not delete or quarantine the user's actual skills.

Version 0.6.0 makes quarantine safer than Delete

Version 0.6.0 can quarantine a selected skill under ~/.skill-cabinet/quarantine and record its original path for restoration. A symlink moves as a link, leaving its target alone. Delete is different: it unlinks a symlink or removes the selected file or folder, and the README says there is no undo. The interface names the filesystem effect before acting, which is exactly the right tone for a catalog with destructive authority.

The HTTP service binds to 127.0.0.1, normally on port 3781. Current main also checks the browser Origin on delete, quarantine, and restore requests, accepting loopback hosts and rejecting other origins with 403. That guard addresses the browser boundary while the path checks constrain what the server may move or remove. Neither turns Delete into a recoverable action. Use quarantine first unless the unwanted copy is already backed up elsewhere.

Five open items expose a real discovery gap

GitHub listed 5 issues and pull requests still open when fetched: one issue and four proposed changes. Issue 19 says the scanner misses nested or plugin-owned locations used by Hermes, Grok, Gemini and Antigravity, OpenCode, and mimo Code. Other open work adds custom roots and ignores documentation files that can appear as false skill cards. The app can only help with entries it finds, so an incomplete drawer map is a functional limit rather than a minor polish item.

Main was last pushed on September 2, 2026, when v0.6.0 was released. The discovery issue and related pull requests arrived between September 3 and September 10, showing user activity after the release even though those changes had not landed. That combination is healthier than judging the project from the tag date alone. It also means current users should compare the catalog against their actual agent folders before trusting the house census.

Version 0.6.0 is built for one local operator

The 0.6.0 product document names a single operator at a desk, and the architecture matches that choice. There is no login, team role, hosted account, or remote fleet view. The browser and API stay on the same machine. For one developer trying to understand a messy home directory, that is pleasantly small. A platform team tracking skills across laptops will need a central manager, a Git-backed workflow, or inventory data collected elsewhere.

Skill Cabinet is strongest as a reading and cleanup tool. vercel-labs/skills is better for installing and updating packages from the command line; Skills Manager adds a central library and multi-device backup; OpenSkills bridges skills into agents through AGENTS.md. If your collection already exists and you mainly need to inspect what can run, quarantine questionable entries, and remove known duplicates, Skill Cabinet earns its 73 MB. Just verify the drawers before you trust the total.

Alternatives

ProjectWhat it isPick it when
skills gh↗A command-line installer, updater, finder, and remover for skills across many coding agents.pick this instead when acquiring and updating skills matters more than visually auditing what is already scattered on disk.
Skills Manager gh↗A Tauri desktop app for a central skill library, agent assignments, backup, and multi-device sync.pick this instead when you need cross-machine backup, presets, and active synchronization across many agents.
OpenSkillsA CLI that installs skills and writes an available-skills block into AGENTS.md for compatible agents.pick this instead when your agent lacks native skill loading and needs an AGENTS.md-based bridge.

What people are saying

  1. [velocity-scout] subsy/skill-cabinet

Sources

  1. Skill Cabinet README
  2. Skill Cabinet v0.6.0 release
  3. Issue 19: missed agent drawers
  4. Pull request 2: loopback origin protection
  5. Skill Cabinet product document
  6. Skill Cabinet static audit implementation

More dev tools reviews

PrettyPrague · vol-rs · Cybersecurity-Projects · crabbox · asdf · discord.js · the whole board →