From summer
Lints and tests Summer skills before commit. Three modes: static structural lint, behavioral spec runner, and full library audit. Checks frontmatter, specs, links, and protocol compliance.
How this skill is triggered — by the user, by Claude, or both
Slash command
/summer:skill-testThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Three modes. Pick by the user's intent.
Three modes. Pick by the user's intent.
static — Structural lint (default for "test this skill")For a single skill at skills/<category>/<name>/, run these checks:
name, description, license, compatibility, category present. name matches the directory name.summer_* MCP tool example..tscn snippet) OR an explicit "no fallback for this — Summer MCP required" note.May I, I'm about to, Continue?, OK?, Proceed?. Skills that only inspect/read are exempt.template-id: <id>, that id must exist in references/template-registry.md._meta category must have tests/spec.md with at least one ## Case heading.](../references/...), ](../../references/...), ](./references/...), and ](./examples/...) link must point at an existing file (FAIL if broken). Forward references in ## See also to other SKILL.md files (e.g., [design-mechanic](../../gameplay-mechanics/design-mechanic/SKILL.md)) are allowed to dangle and only WARN if the target is missing — the catalog evolves and skills should be free to point at planned skills.Output:
skill: <category>/<name>
PASS (1) frontmatter complete
PASS (2) length 217 / 500 lines
FAIL (3) no MCP-preferred example found in body
PASS (4) collaborative protocol present
PASS (5) template-id resolved
PASS (6) tests/spec.md exists
PASS (7) all relative links resolve
6 PASS / 1 FAIL — fix item 3 before commit.
spec — Behavioral spec runnerFor a single skill, read both skills/<category>/<name>/SKILL.md and tests/specs/<name>.md. For each ## Case in the spec:
**Assertions:**, mark [x] if the skill's instructions would satisfy it, [ ] if not, with a one-line reason.Output: an annotated copy of the spec with assertions filled in, plus a pass-rate.
No code execution. Pure reasoning over text.
audit — Whole library reportRead the skills: array in .claude-plugin/plugin.json. For each registered skill:
static mode on the skill.last-tested: field in the SKILL.md frontmatter (optional).Output: a table with PASS / FAIL counts and a punch list of skills needing attention.
| User said | Mode |
|---|---|
| "test the fps-controller skill" | static |
| "lint this skill" | static |
| "does this skill actually do what it should?" | spec |
| "run the behavioral check" | spec |
| "audit the skill library" | audit |
| "what skills need work" | audit |
This skill is read-only. It never writes. No "May I" needed.
references/collaborative-protocol.mdreferences/template-registry.mdtests/runner.mdtests/specs/ — per-skill behavioral specsnpx claudepluginhub summerengine/summer-engine-agent --plugin summerAudits pm-skills skills against structural conventions and quality criteria, producing a pass/fail report with actionable recommendations. Use before shipping or after editing a skill.
Audits skill quality against routing, progressive loading, and verification criteria. Produces health reports with per-skill ratings and a Gate outcome.
Audits Claude Code skills for structure compliance, triggering accuracy, instruction quality, and best practices. Scores 0-100 with prioritized improvement recommendations.