Skill to Mod

Checks whether one of your skills should become a Claude Code mod, and builds the plugin only when it should. Most of the time the answer is “keep it a skill”.

npx skills add arm-pz/skill-to-mod --skill skill-to-mod

An agent skill for Claude Code 2.1.287 or later, with Python 3 and the claude command on your path. Version 0.1.0, free under MIT.

Two skills, two verdicts

Real output from check_skill.py on two skills published on this site, run on 2026-10-21 against their main branches.

KEEP_SKILL

wordsmith: KEEP_SKILL
  - nothing in it happens at a particular moment, so there is nothing for a mod to hook
  - substantial guidance: keep the skill text intact and bundle it

Nothing to hook, so it generates nothing.

Skills wait. Mods run on events.

A skill is instructions Claude reads when it decides they are relevant. A Claude Code mod is code that runs inside Claude Code on events: a command about to run, a prompt being submitted, a turn ending. So a skill that keeps getting skipped before git push can be made to run there.

Your skill stays unchanged and is bundled in the plugin. The mod only adds a thin trigger; it never copies your skill’s logic into code and never writes into your skill’s folder.

gate
Holds commands such as git push or npm publish until the skill has run.
prime
Adds one line of context when a prompt contains a phrase you name.
command
A slash command that shows state and can be snoozed.

Panes, bands, status lines that draw, model calls and compaction handoffs are not generated. For those it points you to Claude Code’s built-in plugin-authoring skill and Anthropic’s sample mods.

What you can ask it

AskWhat happens
“Can my release-gate skill be a mod?”Runs the checker, reports KEEP_SKILL, HYBRID or MOD_FIRST with the evidence, and says why in a few lines.
“Turn this skill into a mod that runs before git push”Scaffolds a plugin: the skill, a hooks module with a gate on ship commands, tests and a README.
“Should this be a mod or a settings hook?”Compares mod, settings hook, skill and MCP server for your skill and recommends one.
“Verify the mod”Runs claude plugin validate and claude plugin test, prints the hooks it registers and the calls it makes, and writes that into the README.

Other ways to install it

As a Claude Code plugin, from its own marketplace.

/plugin install skill-to-mod --marketplace arm-pz/skill-to-mod
  • For one session from a clone: claude --plugin-dir ./skill-to-mod
  • By hand: copy skills/skill-to-mod/ into .claude/skills/.
  • Python 3 uses the standard library only. Node.js is optional; the scaffold uses it to test-compile regular expressions and says so if it is missing. Claude Code only: the validate and test steps do not exist elsewhere.

Questions before you install it

Will it turn every skill into a mod?

No. If nothing in the skill happens at a particular moment, it stops at KEEP_SKILL and generates nothing. Of five published skills it was run on, two came out KEEP_SKILL.

Does it change my skill?

No. The skill is copied unchanged into skills/<name>/ inside the new plugin, and the generator refuses to write its output inside the source skill’s folder.

What can the generated mod touch?

The generated mods call only $.ui.ask, $.ui.status, $.ui.toast and $.command.register: no files, processes, network, environment variables or model calls. claude plugin validate prints the exact list for every mod and the skill copies it into the README. Mods are not sandboxed, so read that list before you install anyone’s mod, including this one’s output.

Is the verdict reliable?

It is a keyword heuristic over the skill’s text, plus a written rubric Claude applies. It can miss an unusual phrasing or over-read an example. It counts a moment only with two points of evidence and lists weaker hits separately, and regression tests cover the wordings that fooled it before. A verdict you disagree with is a bug report.

Is a generated gate a security control?

No. It reads the text of a command, so echo "git push" also matches and a rewritten command can slip past. It is a reminder that fails open. Use permission rules or managed settings for enforcement.

Is “mod” the game kind?

No. A Claude Code mod is a plugin whose code runs inside Claude Code. This is not made or endorsed by Anthropic.

More in Skill Authoring

Read it before you install it: the skill lives at skills/skill-to-mod in arm-pz/skill-to-mod.

Open the repo