← ClaudeAtlas

plugin-boundarieslisted

Where content belongs across this marketplace's plugins and skills — one stack-neutral core with stack-specific plugins layered on top, exactly one home per concern, and nothing maintainer-only shipped to clients. Use when proposing a new plugin or skill, asking whether something can be adapted to another stack (React/Next.js, Go, Rust), splitting or forking an existing plugin, or deciding which plugin a piece of content belongs in.
fmanimashaun/claude-skills · ★ 0 · AI & Automation · score 72
Install: claude install-skill fmanimashaun/claude-skills
# Plugin boundaries Each rule below comes from a proposal that was rejected for breaking it. Apply them when shaping the proposal, not after. ## 1. One stack-neutral core, stack-specific plugins layered on top - **Never fork a per-framework variant of the same plugin.** "A `design-system` for Rails and another for Next.js/React" is the wrong shape. The right shape is one stack-neutral `design-system`, with the stack-specific parts living in the stack plugins that already exist (`rails-stack`, `hotwire`). - Why forking is wrong here specifically: **the portable half is the half that churns.** `components.md`, `coverage.md`, and `page-anatomies.md` are stack-neutral and among the most-edited files in the repo. Two copies means every one of those edits lands twice, forever, with nothing checking that they agree. - Design the neutral core so that **adding a stack is a new plugin, not an edit to existing ones** — a Go + templ or Rust + Askama stack should be additive. Keep shared reference files (e.g. `skills/design-system/references/coverage.md`) free of per-stack columns; per-stack columns are what force a new stack to touch existing gates. - Follow the registration pattern that already works: `plugins/rails-flow/scripts/project_gates.py` discovers `checks.json` from sibling plugin directories, so a new stack ships a manifest rather than forking the runner. - **Design for the next stack; don't build its machinery yet.** A stack descriptor with one cons