Skip to main content
← Back to list
01Issue
FeatureClosedSwamp CLI
Assigneesstack72

New @swamp extension: extension quality rubric checker for CI

Opened by bixu · 4/24/2026

Problem

There is currently no way to automatically check an extension's quality rubric score as part of a CI pipeline. The swamp-extension-quality Claude skill can guide authors interactively through the 11-factor rubric, but this requires a human in the loop — it cannot be enforced programmatically on every pull request or push.

Proposed Solution

Publish a new @swamp/extension-quality extension (or add a method to an existing quality-checking extension) that:

  • Accepts a local extension path or a published extension identifier as input
  • Evaluates the extension against the 11-factor quality rubric (README, LICENSE, JSDoc coverage, etc.)
  • Returns a structured score (percentage + letter grade) and per-factor pass/fail breakdown
  • Exits non-zero (or sets a failing status output) when the score falls below a configurable threshold

This would allow CI workflows to include a step like:

- name: Check extension quality
  run: swamp model method run extension-quality check --input path=./extensions/models/my-ext

and gate merges on a minimum quality grade (e.g., B or above).

Alternatives Considered

  • Running the swamp-extension-quality Claude skill in CI — requires an LLM call per run, is slow and expensive, and produces unstructured output that is hard to assert on.
  • Writing a custom shell script — duplicates logic, diverges from the canonical rubric over time.

Additional Context

The 11-factor rubric is already well-defined and used by the swamp-extension-quality skill. A native extension would make it a first-class, versionable, CI-friendly check.

02Bog Flow
OPENTRIAGEDIN PROGRESSCLOSED+ 1 MOREASSIGNEDCLASSIFICATION

Closed

4/24/2026, 4:42:44 PM

No activity in this phase yet.

03Sludge Pulse
stack72 assigned stack724/24/2026, 4:39:42 PM
Editable. Press Enter to edit.

stack72 commented 4/24/2026, 4:42:43 PM

I am going to close this out as a duplicate of #163 - I am going to ship a CLI command as part of #3 that takes care of both of these things :)

Sign in to post a ripple.