---
title: Anti-Slop Writing Standard
purpose: Keep AI-generated Canvas course copy free of predictable AI tells.
---

# Anti-Slop Writing Standard

> Adapted for instructional content from the stop-slop skill by Hardik Pandya
> (https://hvpandya.com), MIT License, (c) 2025 Hardik Pandya. No upstream
> prose copied verbatim; this document ports the phrase and structure lists
> into an instructional-context-tuned standard for Canvas course copy.
>
> For the prose-quality craft layer, see `standards/design-taste.md`.

---

## Why this matters

AI writing has recognizable tells: throat-clearing openers, emphasis crutches,
business jargon, and binary "not X but Y" contrasts. Online JD students read
fast and have limited time per module. Copy that announces itself as AI-
generated erodes trust and credibility. The goal is content that sounds like a
skilled ID wrote it, not a language model filling a template.

---

## Instructional carve-out (read before applying the rules)

These patterns are FINE in course copy and must NOT be flagged or cut:

- **Adverbs** ("specifically," "carefully," "clearly"): often necessary for
  precision in learning objectives, step instructions, and rubric criteria.
- **Wh- question starters** ("Why does inflation rise?", "What distinguishes a
  contract from an agreement?"): legitimate discussion prompts, Socratic
  scaffolding, and comprehension questions. They are core instructional forms.
- **Second person** ("you," "your"): direct address improves motivation and
  clarity in course copy. Use it freely.
- **Connective meta-language in scaffolded sequences**: "In this module you
  will..." is different from "In this section, we'll explore..." used as a
  floating narration device. The former is structural; the latter is slop.

---

## Banned phrases

### Throat-clearing openers

These announce that something is coming instead of saying it. Cut them and
state the point directly.

- "Here's the thing"
- "Here's what ..."
- "Here's this ..."
- "Here's that ..."
- "Here's why ..."
- "Here's the problem though"
- "Here's what I find interesting"
- "The truth is,"
- "The uncomfortable truth is"
- "The real ... is"
- "Let me be clear"
- "It turns out"
- "Make no mistake"
- "I'll say it again"
- "I'm going to be honest"
- "Can we talk about"

### Emphasis crutches

These add weight without adding meaning. Delete them.

- "Let that sink in"
- "Full stop."
- "This matters because"
- "Here's why that matters"

### Business jargon (slop sense only)

These phrases read as buzzword filler when used in the vague business sense.
Note: the plain navigation sense ("navigate to the next page") is fine; only
the metaphorical "navigate the challenges" form is slop.

| Avoid (slop sense) | Use instead |
|---|---|
| navigate (challenges, complexity) | handle, address |
| unpack (concepts, ideas) | explain, examine |
| lean into | accept, embrace |
| landscape (as context noun) | situation, field |
| game-changer | significant, important |
| double down | commit, increase |
| deep dive (as noun or verb) | analysis, examination |
| moving forward | next, from now |
| circle back | return to, revisit |
| on the same page | aligned, agreed |

### Filler phrases

Padding that says nothing. Cut without replacement.

- "At its core"
- "In today's ..."
- "It's worth noting"
- "At the end of the day"
- "When it comes to"
- "In a world where"
- "The reality is"

### Meta-commentary

Self-referential narration that talks about the content instead of delivering
it. These belong in the author's notes, not the course.

- "Let me walk you through"
- "In this section, we'll ..."
- "As we'll see"
- "The rest of this ... explains"

### Vague declaratives

Sentences that announce importance without naming the specific thing. Replace
with the specific claim.

- "The implications are significant"
- "The stakes are high"
- "The reasons are structural"
- "The consequences are real"

---

## Banned structures

### Binary contrasts

"Not X, but Y" constructions create false drama. State Y directly.

| Pattern | Fix |
|---|---|
| "not X, but Y" | State Y. Drop the negation. |
| "not just X, but Y" | State Y. Drop the hedge. |
| "isn't X, it's Y" | State Y directly. |
| "The answer isn't X. It's Y." | State Y. |
| "The question isn't X. It's Y." | Restructure or cut. |

### Negative listing

Listing what something is NOT before revealing what it IS. State the positive
claim first.

Example slop: "Not a quiz. Not an exercise. A simulation."
Fix: "This is a simulation."

### Dramatic fragmentation

Sentence fragments stacked for false profundity:

Example slop: "Contracts. That's it. That's the whole course."
Fix: Complete sentences that trust the content.

### Rhetorical setups (when used as slop)

These are fine in genuine Socratic instruction. They are slop when used as
decorative devices that announce insight rather than deliver it:

- "Here's what I mean:" (redundant; just mean it)
- "Think about it:" (condescending when not a genuine pause)
- "And that's okay." (granting permission the reader did not ask for)

---

## Practical rules

1. **State the point directly.** If you have a throat-cleaner before the point,
   delete the throat-cleaner.
2. **Replace business jargon with the plain verb.** "Handle the complexity"
   beats "navigate the challenges."
3. **Name the specific thing.** "The exam covers Article II Section 4" beats
   "The implications are significant."
4. **Trust the reader.** Learning objectives, rubric criteria, and discussion
   prompts do not need justification preambles.
5. **Vary rhythm.** Mix sentence lengths. Two-item lists read crisper than
   three. Short punchy one-liners at the end of every paragraph become a cliche
   just as fast as long ones.

---

## ASU Brand Rules (enforced by scripts/check_asu_brand.py)

These apply to ALL generated HTML content surfaces (pages, interactives).
Report chrome (`report-html/`, `audit_report`, `unified_staging_review`) and
`proposal-base.html` are exempt.

### Italics ban

**Never use italics.** The ASU brand guide bans italics on all digital surfaces.

- Do not use `<i>` or `<em>` tags.
- Do not use `font-style: italic` in inline styles or `<style>` blocks.
- For emphasis: use `<strong>` (bold) or quotation marks.
- Enforced as `BRAND.ITALIC` failure by `scripts/check_asu_brand.py`.

### Font stack

All Canvas content must use the ASU digital font stack, leading with Arial:

```
Arial, Helvetica, 'Nimbus Sans L', 'Liberation Sans', FreeSans, sans-serif
```

Never lead with `-apple-system`, `BlinkMacSystemFont`, `Segoe UI`, or `Roboto`.
Monospace stacks (`'Courier New', Courier, monospace`) and `inherit` are exempt.
Enforced as `BRAND.FONT` failure.

### Banned contrast pairs

Never pair these colors as foreground + background on the same element:

- Gold `#FFC627` on White `#FFFFFF` (or near-white `#FAFAFA`)
- White `#FFFFFF` on Gold `#FFC627`
- Maroon `#8C1D40` on Black `#000000`
- Black `#000000` on Maroon `#8C1D40`

Enforced as `BRAND.CONTRAST_PAIR` failure.

### Off-palette colors

All CSS colors should come from the official ASU palette. See `standards/design-taste.md`
for the full palette reference. Off-palette colors emit a `BRAND.OFF_PALETTE` warning
(advisory, non-blocking per D1 decision). Off-palette shades in `:root` CSS variables
are caught at stage time.
