Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Trigger when you would normally reach for pytest, gh, mypy, black, or other raw repo tooling. Redirect to `sm swab`, `sm scour`, `sm buff`, `sm sail`, `sm refit`, or `sm doctor` so remediation follows the established rails. Also trigger when filing issues about slop-mop friction — use `sm barnacle file` / `/slopmop:sm-barnacle`, never `gh issue create`.
.claude/skills/bilal140202-slopmop/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -20% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-03 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -23% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -26% | 0% |
> Filing slop-mop friction? Use /slopmop:sm-barnacle or sm barnacle file — never gh issue create directly. The barnacle CLI auto-applies the correct labels and targets the right repo regardless of where you are.
Slop-mop (sm) has two primary modes: refit (one-time onboarding) and maintenance (steady-state development). Refit remediates all existing slop and installs permanent guards; the swab/scour/buff loop then keeps the repo clean as you work.
sm sail when you're not sure what's next — it reads workflow state and does the right thing.sm refit --start to generate a remediation plan, then sm refit --iterate until complete, then sm refit --finish to enter maintenance.sm swab after every meaningful code change. Keep running until clean.sm scour for a comprehensive sweep.sm buff <PR_NUMBER> to convert feedback into next steps.Fastest path: sm sail → fix what it finds → sm sail → repeat until PR lands
Manual path: write code → sm swab → fix → repeat → sm scour → sm buff <PR#>sm sail automates verb selection. Use individual verbs (sm swab -g <gate>, sm buff resolve, etc.) for surgical work.
Refit is not part of the maintenance loop. It is step 0 — how you earn the right to enter the loop.
sm refit --start → fix one gate → sm refit --iterate → ... → sm refit --finishThe sm CLI must be installed in the user's environment. If invocation fails with "command not found", suggest:
bashpipx install slopmop[all]
Then re-run the command.
/slopmop:sm-barnacle rather than working around it.Full project docs: https://github.com/ScienceIsNeato/slop-mop Workflow state machine: https://github.com/ScienceIsNeato/slop-mop/blob/main/DOCS/WORKFLOW.md Gate reasoning: https://github.com/ScienceIsNeato/slop-mop/blob/main/DOCS/GATE_REASONING.md
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 8,387 | 2,498 | -70% | 1 | 1 | 0% | 1,407 | 1,132 | -20% | 0 | 0 | — |
case-02 | fail→pass | 6,806 | 2,870 | -58% | 1 | 1 | 0% | 1,166 | 1,176 | +1% | 0 | 0 | — |
case-03 | fail→pass | 6,022 | 2,360 | -61% | 1 | 1 | 0% | 1,090 | 1,073 | -2% | 0 | 0 | — |
case-04 | fail→pass | 6,985 | 2,041 | -71% | 1 | 1 | 0% | 1,257 | 971 | -23% | 0 | 0 | — |
case-05 | fail→pass | 8,697 | 3,118 | -64% | 1 | 1 | 0% | 1,574 | 1,165 | -26% | 0 | 0 | — |
case-06 | fail→pass | 6,915 | 2,297 | -67% | 1 | 1 | 0% | 1,221 | 1,036 | -15% | 0 | 0 | — |
case-07 | fail→pass | 8,229 | 2,747 | -67% | 1 | 1 | 0% | 1,456 | 1,111 | -24% | 0 | 0 | — |
case-08 | fail→pass | 12,294 | 2,018 | -84% | 1 | 1 | 0% | 2,024 | 1,004 | -50% | 0 | 0 | — |
case-09 | fail→pass | 6,449 | 1,403 | -78% | 1 | 1 | 0% | 1,354 | 889 | -34% | 0 | 0 | — |
case-10 | pass→pass | 9,647 | 3,603 | -63% | 1 | 1 | 0% | 1,695 | 1,250 | -26% | 0 | 0 | — |
case-11 | pass→pass | 8,815 | 2,856 | -68% | 1 | 1 | 0% | 1,519 | 1,206 | -21% | 0 | 0 | — |
case-12 | fail→pass | 5,181 | 1,317 | -75% | 1 | 1 | 0% | 989 | 900 | -9% | 0 | 0 | — |
case-13 | fail→pass | 6,697 | 1,819 | -73% | 1 | 1 | 0% | 1,282 | 924 | -28% | 0 | 0 | — |
case-14 | fail→pass | 6,484 | 2,233 | -66% | 1 | 1 | 0% | 1,276 | 1,134 | -11% | 0 | 0 | — |
case-15 | fail→pass | 7,455 | 2,309 | -69% | 1 | 1 | 0% | 1,137 | 1,062 | -7% | 0 | 0 | — |
case-16 | fail→pass | 9,952 | 4,754 | -52% | 1 | 1 | 0% | 1,610 | 1,511 | -6% | 0 | 0 | — |
case-17 | fail→pass | 6,082 | 3,479 | -43% | 1 | 1 | 0% | 935 | 1,293 | +38% | 0 | 0 | — |
case-18 | fail→pass | 12,436 | 2,296 | -82% | 1 | 1 | 0% | 2,182 | 1,116 | -49% | 0 | 0 | — |
case-19 | fail→pass | 2,958 | 1,623 | -45% | 1 | 1 | 0% | 484 | 960 | +98% | 0 | 0 | — |
case-20 | pass→pass | 7,038 | 3,508 | -50% | 1 | 1 | 0% | 1,319 | 1,307 | -1% | 0 | 0 | — |
case-21 | pass→pass | 5,550 | 3,232 | -42% | 1 | 1 | 0% | 1,043 | 1,280 | +23% | 0 | 0 | — |
case-22 | pass→pass | 6,462 | 3,260 | -50% | 1 | 1 | 0% | 1,332 | 1,299 | -2% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +77 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.