Masterwork

Your agent's skills, proven. A local workbench for the skills and subagents Claude Code and Codex load.

Writing a skill is easy. Knowing it fires at the right moment, does the right thing, and isn't overfitted to the one example you wrote it against is the hard part. Masterwork scores a skill against real scenarios, so you rely on evidence instead of hope.

$npx masterwork

Runs on your machine and talks to your own claude CLI, so it uses the subscription you already pay for. No API key. Your skills never leave your disk.

Thirty-five seconds of the real thing: the skills list, one skill, a catalog search, and a project's scored simulation.

Score it. Fix it. Score it again.

A simulation runs a skill against a scenario and grades the result on a checklist of capabilities. A miss names the criterion and the line that failed, so the edit is obvious. Re-run, and the score tells you whether the fix held.

A generality audit runs after, asking whether the skill would survive a different repository or a differently worded request, and flags what was tuned to a single example.

Every score is kept, so a skill has a history rather than a feeling.

alembic-heads
Scenario: two branches each added a migration, and alembic upgrade head now refuses to run.
75score
  • Fires when the request mentions divergent or conflicting heads
    The description names "Multiple head revisions" and the merge case explicitly.
  • Diagnoses before writing: lists heads and their parents first
    Step 1 runs alembic heads and alembic history before any file is touched.
  • Prefers a merge migration over rewriting history
    The skill forbids editing an applied revision and reaches for alembic merge.
  • Checks the hotfix that exists only in production
    Nothing tells the agent to compare against the deployed environment, so a hotfix-only revision is missed.
One criterion missed. The fix is a paragraph in SKILL.md.

Every agent's folder, one list.

A SKILL.md is the same file for every agent, but each agent reads only its own folder. Masterwork lists them all and says which agents actually load each skill, so a copy nothing reads is visible instead of silent.

~/.claude/skills
Claude Code

Read by Claude Code alone. A skill here is invisible to Codex.

Claude only
~/.codex/skills
Codex

Read by Codex alone. Scanned when the folder exists. A skill can also be switched off here without deleting it.

Codex only
~/.agents/skills
Shared

One copy on disk, linked into each agent's folder. Make generic does the move and the links in one click.

Generic · Claude, Codex Generic · unlinked

The rest of the bench.

Install from the catalog

Search skills.sh and GitHub's claude-skills topic in one box, read the SKILL.md before you commit, and install. A repo without a license says so, and takes a second click. Check an installed skill against its source later and pull the update.

Catalog search results, each with its source and license

Sessions your agent actually ran

Switch on recording and every Claude Code and Codex session is kept: which skills and subagents it used, where the time went, what it cost. A skill's score and its real usage sit in the same place.

A recorded coding session with its timeline of tool calls, skills used and cost

Refine by chat, accept by diff

Describe the change you want. The assistant reads the file and answers with a proposal, one diff per file, with Accept and Reject under it. Its tools are read-only, and every accepted change is a git snapshot you can revert.

A chat proposal shown as a diff with Accept and Reject under it

Projects and subagents

Group the skills and agents that serve one goal, get a summary and a Mermaid flow of how they fit, and simulate the whole set against the goal in one run. Subagents get the same treatment as skills, with the skills each one calls on shown beside it.

A project's goal, its linked skills and agents, and the generated flow

Where it sits next to the others.

Skills Manager is a fine library; Anthropic's skill-creator is a fine grader; ccusage is a fine bill. Masterwork is the one that joins the three: what a skill is, whether it works, and what it did in your real sessions.

CapabilityMasterworkSkills Managerskill-creatorccusage
Browse and edit skills across agent foldersYesYes, 50+ agentsNoNo
Shows which agents load each copyYesYesNoNo
Install from skills.sh and GitHubYesYesNoNo
Score a skill against a scenario with a checklistYesNoYes, from the CLINo
Score history per skill, re-run after an editYesNoOne-shot benchmarkNo
Generality audit for overfitted skillsYesNoImprove modeNo
Session records with skills used, time and cost (Claude Code, Codex)YesNoNoCost only
Subagents alongside skillsYesNoNoNo
Desktop installernpx, not yetMac, Windows, LinuxPluginnpx
Runs with your subscription, no API keyYesYesYesYes

As of September 2026, from each project's own documentation. Tell us on GitHub if a row is out of date.

Install.

One command. It installs what it needs, migrates a local SQLite database, starts both servers and opens the browser. Ctrl-C stops everything.

# the whole thing
npx masterwork

# from a clone, if you want to hack on it
git clone https://github.com/flieks/masterwork.git
cd masterwork
npm start

You need

  • macOS or Linux
  • Python 3.13 or newer, and uv
  • Node 20 or newer
  • The Claude Code CLI, signed in. Chat, simulations and audits run through it.
  • Codex is optional. Its skills folder is read and its sessions are recorded when it is installed.

Everything is stored in ~/.masterwork: chat sessions and simulation history. Your skills stay where they are on disk. Postgres works too, if you set DATABASE_URL.