← ClaudeAtlas

plugin-factorylisted

Scaffold a new plugin for this marketplace. Use this whenever the user wants to create, add, bootstrap, or start a new plugin — phrases like "new plugin", "scaffold a plugin", "add a plugin to the marketplace", or "I want to build a plugin that…". It runs a deterministic generator that emits a valid, wired-in, red-by-default skeleton, then guides the invariant-first interview to fill it in.
JRichlen/claude-plugins · ★ 1 · Code & Development · score 65
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