Quality gate for AI output across text, code, and design. Use when the user says no slop, de-slop, slop check, clean this up, is this ready to send, does this sound like AI, or review before I send...
The unified quality gate for AI output. Run it on anything before it ships.
Two jobs in one skill:
Default mode is DETECT. Switch to DETECT + CLEAN when the user says "fix it", "clean it", "rewrite it", "apply the fixes."
Content that reveals its machine origin through predictable patterns ā not because AI wrote it, but because no human reviewed it. Three kinds:
And the failure mode that none of the patterns catch: clean but soulless. Technically correct, no opinions, no rhythm, no pulse. Still slop.
Before checking, determine:
If the input is ambiguous, infer and print your read at the top so a wrong assumption is visible. Ask only what you genuinely cannot infer.
Run all universal checks on every input. Run domain checks based on what the input contains.
| Check | Fires when | Reference |
|---|---|---|
| AI writing tells | any text present | references/checks/ai-writing.md |
| Factual accuracy | any factual claim present | references/checks/factual-accuracy.md |
| Consistency | always | references/checks/consistency.md |
| Artifacts | always | references/checks/artifacts.md |
| Readability | any text or doc | references/checks/readability.md |
| Pulse | any text present | inline ā see pulse section below |
| Check | Fires when | Reference |
|---|---|---|
| Code quality | code present | references/checks/code-quality.md |
| Design slop | visual/design content present | references/checks/design-slop.md |
| Voice | copy present AND a brand/voice context is available | references/checks/voice.md |
| Completeness | a clear ask is visible in context | grade against the ask itself, no file |
Load a check's reference file only when that check fires. Do not preload all files.
Read each fired check's reference file. Grade independently ā never let one check color another.
For each finding you must have:
Suggestion tiers:
If you cannot produce Quote + Breaks + Suggestion, it is not a finding. Drop it. Never invent findings to look thorough.
A separate pass over the text, independent of pattern detection.
Signs of a dead-but-clean output:
What gives writing a pulse: real opinions, varied rhythm (short punch, then a longer sentence that takes its time), acknowledged complexity ("impressive but also kind of unsettling"), first person where honest, a little mess (an aside, a tangent), specific feelings instead of generic ones.
If the output is technically clean but has no pulse, grade it as Drift with a suggestion of where to inject an opinion, a varied sentence, or a specific reaction.
Severity definitions:
Verdict (becomes the title in Step F):
# ā
Good to go ā all fired checks aligned, or only polish findings.# ā
ā ļø Good to go, with a few things to fix ā drift or should-fix findings, no blockers.# ā Not ready ā any blocker.Render in this exact format. Nothing else ā no improved version, no numbered changes list, no apply prompt.
# <verdict title>
<one short line summarizing the situation ā skip on a fully clean run>
| Check | Status | What's off | Source | Suggestion |
|-------|--------|-----------|--------|-----------|
| <name> | <ā
/ā ļø/ā + words> | <short, or ā if green> | <specific standard> | <suggestion or ā> |
Status labels: ā
Good to go / ā ļø Might wanna fix / ā Not ready
Source column ā name the real standard, not a generic tag:
Signs of AI writingWorld-truth / fact-checkerInternal coherenceUniversal slop standardUniversal readability standardPulse checkCode quality standardDesign slop standardvoice.md or brand.mdThe askShow every fired check as its own row, greens included. Use ā in What's off and Suggestion for green rows.
If the user asks to fix, clean, rewrite, or apply the fixes: rewrite the output after the scorecard, addressing every finding. Label the rewritten version clearly. Do not silently apply fixes ā always show the scorecard first.
No separate file needed. Grade as part of Step D:
Pulse killers to flag:
Pulse builders to suggest:
"De-slop this email before I send it" ā Classify as external copy. Run all universal checks + Voice (if brand context available) + Completeness (if original ask visible). DETECT mode. Show scorecard.
"Fix the slop in this article" ā Classify as text/copy. Run universal checks. DETECT + CLEAN mode. Show scorecard first, then rewrite.
"Does my code look AI-generated?" ā Classify as code. Run AI writing tells (if doc comments present) + Code quality + Artifacts. DETECT mode.
"Review this landing page copy" ā Classify as external copy + design. Run all universal checks + Design slop. DETECT mode.
"Is this ready to ship?" ā Run everything relevant. Set the verdict. The verdict is the answer.
# ā
Good to go is normal and correct ā do not invent findings.Load only what fires:
references/checks/ai-writing.md ā 24 AI writing tell patterns + the pulse checkreferences/checks/factual-accuracy.md ā Fact verification process and rating scalereferences/checks/consistency.md ā Internal contradictions and number reconciliationreferences/checks/artifacts.md ā Placeholders, model residue, broken structurereferences/checks/readability.md ā Sentence, structure, and word-level clarityreferences/checks/code-quality.md ā Naming, comments, structure, over-engineeringreferences/checks/design-slop.md ā Visual, layout, and copy patterns in designreferences/checks/voice.md ā Brand voice (template ā fill in with your brand)