The loop
- Run the sidecar.
npx sluglist devbinds127.0.0.1and writes reports into a local.sluglist/folder — browser JS can't touch disk, so this tiny process does. - Click feedback. Report a bug with the widget while you use the app. The full artifact set — screenshot, comment, CSS selector, page errors and a trail of action frames — lands in the folder.
- Let the agent fix it. Install the bundled skills once with
npx sluglist init, then tell Claude Code to "read feedback and fix it." Thesluglist-fixskill reads each issue, localizes by selector and frames, fixes the code, and writes a.donereport.
import { createFeedbackWidget, mountFeedbackWidget, LocalConnector } from "sluglist";
mountFeedbackWidget(
createFeedbackWidget({
connectors: [new LocalConnector()],
})
);Gate it behind an env flag so it never initializes in production —
enabled: process.env.NODE_ENV !== "production".
npx sluglist dev # sidecar that writes to ./.sluglistWhy agents resolve these reports well
Every issue is a markdown file written for a file-reading agent, not a human dashboard:
- A smart CSS selector (
data-testid→id→aria→ landmark path — never Tailwind utility or hashed classes), plusdom_pathandelement_text, localize the element. - A React component hint — sluglist reads the nearest named component from the element's fiber
and records
component: AnimalForm. No React dependency required;nullwhen unavailable. ## Errorscarries recent console errors, uncaught exceptions and failed requests (PATCH /api/animals/128 → 500) with relative timestamps — often the root cause is already in the report.## Actions+ record-mode frames give steps-to-reproduce as numbered screenshots, cross-referenced line by line.
The agent doesn't guess what the user meant; it reads what the page knew.
The four bundled skills
| Skill | Role |
|---|---|
sluglist-loop |
Owns the cycle: intent → checklist → QA → report → (fix → re-test) until green. Start here. |
sluglist-checklist |
Generates or maintains a checklist: branch / re-test / smoke / regression / scenario. |
sluglist-qa |
Walks a checklist in a browser and writes evidence-backed verdicts. |
sluglist-fix |
Fixes what failed and records fixed / wontfix / needs_info. |
npx sluglist init installs all four, plus .sluglist/PROJECT.md for the project specifics the
skills read first. A skill you have edited is never overwritten — which is exactly why project
knowledge belongs in PROJECT.md rather than in an edited prompt.
The other direction: agent-generated checklists
sluglist-checklist turns a branch diff into a client-facing acceptance checklist. The client walks
it on staging, checks items off or flags problems, and every verdict lands in session.yaml — which
the agent can read back to see what failed. See Checklist mode.
Let an agent walk it instead and the loop closes without you: the autonomous QA loop.
Not just Claude Code
The artifacts are a stable, documented format — plain markdown, YAML and PNG in a folder. Any agent or script that can read files can consume them; the Claude Code skills are a convenience, not a dependency.