plugin-factorylisted
Install: claude install-skill JRichlen/claude-plugins
# plugin-factory
## Invariant
**Every plugin this factory produces starts valid, wired, and RED.** Valid: the
`plugin.json` parses and its name matches the directory. Wired: an entry is added
to the marketplace lockfile. Red: the generated `evals/cheap/checks.sh` fails
closed until a human replaces it with real checks. The factory never emits a
skeleton that could show green with zero safety coverage — a green new plugin
must be earned by writing its checks, not granted by scaffolding.
## What this does
Adding a plugin by hand means getting a dozen small things right: kebab-case
naming, a valid manifest, a SKILL.md with real frontmatter, the
AGENTS.md + CLAUDE.md/GEMINI.md symlinks that make it cross-harness, a command
stub, an eval pack, and the marketplace.json entry. Miss any one and the cheap
tier goes red (or worse, a plugin ships with no safety coverage). This skill runs
one deterministic script that gets all of it right every time.
## How to use it
### 1. Interview invariant-first
Before scaffolding, get the **invariant** — because a plugin's invariant is what
its eval defends, and it's far easier to write the checks when you named the
invariant first. Ask the user:
> What must **always** be true, and what must **never** happen, when this plugin
> runs?
Push for something *testable* by a deterministic script, not a vibe. Good:
"a repo's original is never deleted until its backup bundle is confirmed
present." Too vague: "it should be safe." If the user can't ye