A Claude Code plugin that adds specialized software engineering skills focused on the parts of the workflow that need structured judgment — spec review, design fidelity verification, production-readiness audits, and multi-layer testing.
ssep is designed to complement the superpowers plugin by Jesse Vincent, not replace it. Use superpowers for the universal disciplines (TDD, debugging, code review, planning); use ssep for the specialized review and verification work that superpowers doesn't cover. See Acknowledgments for more.
| Skill | What it does | Triggers on |
|---|---|---|
reviewing-spec-and-policy |
Audits PRDs, RFCs, requirement docs, policies — from text or Figma sources — for completeness, consistency, edge cases, policy compliance. | "review this spec", "audit this PRD", "check requirements", Figma planning URLs |
reviewing-design-fidelity |
Compares implemented UI to Figma source via Playwright + Figma MCP. Reports drift in spacing, color, typography, state coverage, responsive behavior, accessibility. | "design QA", "compare with figma", "pixel comparison", "publishing review" |
improving-feature-completeness |
Production-readiness audit. Surfaces the gap between "happy path passes" and "ready to ship" — edge cases, loading/empty/error states, a11y, i18n, observability, ops hooks. | "production ready check", "polish this feature", "edge case review", "ship readiness" |
running-integration-tests |
Authors and runs unit/integration/end-to-end tests with Playwright MCP. Includes the meta-decision of which test level fits which scenario. | "integration test", "e2e test", "verify with playwright", "browser test" |
Skill descriptions also include localized trigger phrases (currently English + Korean) so bilingual teams can trigger skills in either language.
The superpowers plugin covers the universal SE workflow disciplines (TDD, debugging, code review, planning). It does not cover:
- Pre-implementation review — spec/policy/design audits before code is written
- Post-implementation polish — the gap between green tests and a shippable feature
- Multi-layer testing decisions — when to write unit vs integration vs e2e
ssep adds focused skills for those gaps, while delegating everything else to superpowers.
ssep applies the official Claude Code skill authoring guidelines more strictly than most community plugins:
allowed-toolsdeclared per skill — minimum-privilege tool surface, no permission-prompt spam- Progressive disclosure — every
SKILL.mdis ≤ 110 lines; deep checklists, templates, and decision trees live in linkedreferences/*.mdfiles loaded only when relevant - Third-person descriptions — "Reviews specs..." not "You MUST review..."
- Explicit boundaries — every skill includes a
When NOT to usesection pointing at the right alternative (often asuperpowers:*skill) - WHY over MUST — each skill explains the rationale for its discipline so the model can extend the principle to edge cases
- Claude Code installed (plugin system requires v2.x or later — run
claude --versionto check) - (Recommended)
superpowersplugin installed for the complementary universal skills - (For full functionality) Figma MCP and Playwright MCP configured
The fastest path. Inside any Claude Code session:
- Run
/pluginto open the plugin manager - Open the Marketplaces tab → Add marketplace → choose GitHub → enter
pacho-h/ssep - Switch to the Discover tab → click Install on
ssep - Skills are immediately available; no restart required
If you prefer the terminal:
claude plugin marketplace add github:pacho-h/ssep
claude plugin install ssep@ssepIf you manage your Claude Code config as code, merge the following into ~/.claude/settings.json (preserve any existing keys):
{
"extraKnownMarketplaces": {
"ssep": {
"source": { "source": "github", "repo": "pacho-h/ssep" },
"autoUpdate": true
}
},
"enabledPlugins": {
"ssep@ssep": true
}
}Then run /reload-plugins inside Claude Code (required after manual settings edits).
In Claude Code, run /plugin list (or open the Installed tab in /plugin). You should see ssep@ssep listed and the four skills available as slash commands:
/reviewing-spec-and-policy/reviewing-design-fidelity/improving-feature-completeness/running-integration-tests
You can also trigger them with natural language: "review this PRD for me", "do a publishing review on the staging URL", "check production readiness", "write integration tests for this endpoint".
| Action | Command / setting |
|---|---|
| Auto-update on session start | Set autoUpdate: true in the marketplace config (Method 3 includes this; Methods 1/2 default to false for non-official marketplaces) |
| Manual update | /plugin marketplace update ssep or claude plugin marketplace update ssep |
| Disable temporarily (keep installed) | /plugin disable ssep@ssep |
| Uninstall | /plugin uninstall ssep@ssep, or remove the entries from settings.json and run /reload-plugins |
| Symptom | Likely cause | Fix |
|---|---|---|
/plugin command not recognized |
Older Claude Code version | claude --version and update to a recent build (plugin system requires v2.x+) |
| Marketplace fails to load | Network access or invalid manifest | Verify GitHub access; this repo's CI validates marketplace.json on every push, so the upstream copy is always schema-valid |
| Skills don't appear after install | Cached marketplace state | Run /reload-plugins; if that fails, rm -rf ~/.claude/plugins/cache and reinstall |
| Slash commands missing only in one project | Project settings overriding user settings | Check .claude/settings.local.json for a conflicting enabledPlugins entry |
| Figma / Playwright skills error out | MCP server not configured | Confirm the relevant MCP server is installed; the skills fall back to manual workflows when MCPs are missing but lose their primary capture-and-compare value |
| Auto-update not happening | autoUpdate: false (default for non-official marketplaces) |
Set autoUpdate: true in extraKnownMarketplaces.ssep.autoUpdate, or update manually with /plugin marketplace update ssep |
A typical full feature lifecycle composes ssep + superpowers skills:
┌─────────────────────────────────────────────────────────────────┐
│ ssep:reviewing-spec-and-policy │
│ → audit the PRD before any work starts │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ superpowers:brainstorming → superpowers:writing-plans │
│ → design the implementation │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ superpowers:test-driven-development │
│ → implement with unit-level discipline │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ ssep:running-integration-tests │
│ → add integration / e2e coverage │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ ssep:reviewing-design-fidelity (if UI work) │
│ → verify against Figma source │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ ssep:improving-feature-completeness │
│ → close the works→ships gap │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ superpowers:requesting-code-review │
│ → final review before merge │
└─────────────────────────────────────────────────────────────────┘
Each skill knows where its responsibility ends — they don't overlap.
These skills assume the following MCP servers may be available; they fall back to manual workflows when not:
figma— required forreviewing-spec-and-policy(Figma sources) andreviewing-design-fidelity(design extraction)playwright— required forreviewing-design-fidelity(impl capture) andrunning-integration-tests(browser automation)
If neither MCP is configured, the skills still produce usable output but lose their primary capture-and-compare value.
ssep is built on the shoulders of superpowers by Jesse Vincent, shipped through the official Anthropic Claude Code marketplace (superpowers@claude-plugins-official).
Several things in ssep wouldn't exist without superpowers:
- The discipline-first philosophy. superpowers established that skills work best when they encode hard-won engineering disciplines (TDD, systematic debugging, verification before completion) as rigid workflows rather than loose suggestions. ssep extends the same model to spec review, fidelity review, completeness audit, and test-level decision-making.
- The composition model. Each ssep skill explicitly cross-references the
superpowers:*skill at its boundary (e.g.,improving-feature-completenessdefers tosuperpowers:test-driven-developmentonce a fix is identified). TheWhen NOT to usesection in every ssep skill points users back to the right superpowers skill when their task crosses the boundary. - The skill anatomy. ssep follows the same
SKILL.md+references/+evals/directory structure that superpowers popularized, with the official Claude Code skill guidelines layered on top.
If you only install one Claude Code plugin, install superpowers first. ssep adds the most value when it's complementing — not competing with — that foundation.
- v0.2 — optimize each skill's
descriptionviaskill-creator'srun_loop.pyagainst the included trigger eval sets (currently shipped atskills/*/evals/trigger-eval.json) - v0.3 — run output-quality evals (cases at
skills/*/evals/evals.json) and refine SKILL.md content based on real-world results - v0.4 — add specialized subagents (e.g., dedicated
spec-revieweragent that wraps the spec-review skill in a constrained context window)
Issues, Discussions, and pull requests welcome. Please:
- Read the skill authoring conventions in
CLAUDE.mdbefore editing anySKILL.md - Keep
SKILL.mdfiles under ~150 lines (hard limit ~500); push deep content toreferences/ - Preserve the
When NOT to usesection — it's how the plugin stays scoped - Add a CHANGELOG entry for every user-visible change
- CI runs schema validation on
marketplace.json,plugin.json, and everySKILL.mdfrontmatter — make sure your changes pass before opening a PR