Plainwork

Plainwork / Catalogue / Skill Ledger

ToolNo. 1015-01

Keep your SKILL.md skills checked and in one place

Checks agent skills against the Agent Skills spec, sizes your skill listing against Claude Code's 1% budget, flags competing skills and re-runs trigger prompts on edits. Works on files, before install.

  • Checks every SKILL.md against the Agent Skills spec: name rules, directory match, description and compatibility limits, string metadata, unquoted-colon YAML errors, with line numbers
  • Listing size per skill and for the whole library against Claude Code's skill-listing budget (1% of the context window), with the 1,536-character cut on description + when_to_use flagged
  • Overlap view: pairs of skills whose descriptions share most of their distinctive words
  • Trigger lab and saved should-trigger / should-not-trigger prompts, re-checked against the whole library on every change (a word-overlap proxy, labelled as one)
  • Edit in the page with live checks, saved versions, line-by-line comparison and restore
  • Free: 12 skills in your browser, last 3 versions each. Paid: 150 skills synced across devices with a key, 20 versions each
$5/monthBuy now
Open the free app (12 skills) →
Instant deliverySecure checkout by Stripe14-day refund
What a report looks like

The built-in example library has six skills, two with deliberate problems and one competing pair. This is the text report the app downloads, produced by the same code the app runs:

Skill Ledger report: 6 skills
Startup context: about 252 tokens of names and descriptions (estimate, 4 characters per token), 0.1% of a 200,000-token window
Within Claude Code's listing budget (about 8,000 characters / 2,000 tokens, 1% of a 200,000-token window): this library's listing is about 1,004 characters / 251 tokens.
Spec problems: 2. Suggestions: 3. Trigger tests: 8 pass, 3 shared, 0 fail (lexical proxy, not a real agent run).

meeting-notes (about 55 startup tokens)
  no problems found

meeting-summary (about 47 startup tokens)
  no problems found

changelog-entry (about 56 startup tokens)
  no problems found

sql-review (about 52 startup tokens)
  no problems found

pdf-form-filler (about 8 startup tokens)
  FIX      The name "pdf-form-filler" must match its directory name "pdf-forms".
  CONSIDER The description is only 16 characters. Say what the skill does and when to use it, with the words a user would actually type.
  CONSIDER The description is short and does not say when to use the skill (for example "Use when the user asks for ..."). The spec recommends covering both what it does and when.
  CONSIDER The description starts with a vague verb. The spec calls "Helps with PDFs." a poor description.

commit-message (about 34 startup tokens)
  FIX      This value contains a colon followed by a space and is not in quotes, so strict YAML parsers reject the file. Wrap the value in double quotes or write it as a > block. (line 3)

Skills that compete:
  meeting-notes and meeting-summary: 60% of the shorter description's distinctive words are shared (action, call, decision, item, meet, minute, transcript, note)

Made for

Who it's for

Developers with a growing ~/.claude/skills folderTeams keeping shared skills in a repositoryAnyone writing skills for Claude Code or other Agent Skills toolsPeople whose skills trigger at the wrong time or never

Catches what the spec rejects

Name, directory, length and metadata rules from the open specification, plus the unquoted colon that quietly breaks strict YAML parsers, each with the line it is on.

Shows whether your skills fit

Claude Code lists skill names and descriptions within 1% of the context window and drops descriptions beyond that, least-used skills first. See the total against that budget, the heaviest skills and which descriptions hit the 1,536-character cut.

Finds skills that compete

Two skills with near-identical descriptions leave the choice to chance. The overlap view names the pairs and the words they share.

Tests a description before you rely on it

Keep prompts that should and should not trigger a skill. Edit a description and see at once which ones start to fail. It is a word-overlap proxy, not an agent run, and says so.

What's inside

Everything you get

LibraryEvery skill with its checks, startup tokens and test results.
AddPaste, pick files, or pick a whole skills folder; same-named skills update and keep the old text.
Trigger labType a request and see which skills share its words.
Budget and overlapListing size against Claude Code's 1% budget at a 100k, 200k or 1M window; competing pairs; text and CSV reports.
Sync and backupKey sync across devices, JSON backup and import.

How it works

From checkout to done

Buy

Optional: get the $5/month plan to sync up to 150 skills, or skip it and use the free 12-skill app

Open

Open the app and pick your skills folder or paste a SKILL.md

Use

Fix what the Library flags, add a few test prompts, and check Budget and overlap

Questions

Good to know

Does it run my skills or call a model?

No. It reads SKILL.md text in your browser and compares words. Trigger results are a proxy for how well a description contains the words users type; an agent decides with a language model, so confirm important skills in your agent.

Claude Code already has /doctor and /skill-doctor. What does this add?

Those report what Claude Code loaded in the sessions you ran, for Claude Code only. Skill Ledger works on the files themselves, in a browser, before you install them: it checks the open spec (names, directory match, YAML), finds skills with competing descriptions, keeps trigger prompts that re-run when you edit a description, and keeps saved versions that sync between devices. If you only want to know what your Claude Code listing costs, /doctor is enough.

What does free include?

All features for 12 skills, kept in this browser. Nothing is sent to our servers. The last 3 versions of each skill are kept.

What does the paid plan add?

Up to 150 skills synced between your devices under a key (no account or password), with 20 saved versions each. Pay with Stripe; the key is shown after payment.

How do I cancel?

Use the cancel link on your Stripe receipt email, or email us at the address in the footer and we cancel it. Paid features last to the end of the paid month, then the free plan applies; your library stays on your device and you can still edit and export it.

Which agents does it work with?

It checks against the open Agent Skills specification and also knows Claude Code's extra fields, its 1,536-character listing cut and its listing budget of 1% of the context window. Other tools that read SKILL.md can use the same files; their limits may differ.

Are my skills private?

On the free plan they never leave your browser. With a key, your library is stored on our sync service under a hash of the key. Do not put secrets in a SKILL.md.

What if it doesn't work for me?

If it doesn't work as described or you can't access it, email us within 14 days and we'll fix it or refund you. See the refund policy for details.

Skill Ledger

SKILL.md library with spec checks, listing budget and trigger tests. Free for 12 skills; $5/month syncs 150.

Get it for $5/month

More from the catalogue

Other small tools

See everything →