What Anti-Patterns Indicate AI‑Generated Diagrams: A Complete Guide for the diagram-design System

AI‑generated diagrams reveal themselves through specific visual anti‑patterns—dark‑mode cyan glows, identical node boxes, diagonal connectors, and "AI magic" sparkles—that violate editorial design standards.

The diagram-design skill from cathrynlavery/diagram-design establishes strict visual rules to distinguish professional diagrams from generative AI output. When these rules are broken, the result is what the maintainers call "AI slop": generic, over‑styled visuals that signal mechanical generation rather than human craft. This guide covers every anti‑pattern defined in the repository, organized by scope and diagram type, with verification scripts you can run today.


Universal Anti‑Patterns: Signs in Every Diagram Type

The SKILL.md file defines 16 universal anti‑patterns that apply regardless of diagram type. These are the strongest signals of AI‑generated content.

Visual Style Violations

  • Dark‑mode + cyan or purple glow — A common AI default that looks "techy" but violates editorial restraint.
  • JetBrains Mono used as a blanket "dev" font — Context‑aware typography matters; monospace everywhere is a template smell.
  • Identical boxes for every node — Human designers vary shape and weight by semantic role.
  • Any shadow on elements — The design system rejects depth effects entirely.
  • Rounded‑2xl corners on boxes — Excessive rounding is a generative default.
  • Coral used on every "important" node — Color over‑use indicates automated emphasis without hierarchy.

Layout and Structural Errors

  • Legend floating inside the diagram area — Proper legends sit outside the visual field.
  • Three equal‑width summary cards as a default grid — Generic grids reveal template‑driven output.
  • Re‑producing Mermaid's automatic layout — AI tools often default to Mermaid; manual layout shows intent.

Connector and Label Problems

  • Arrow‑label masks that touch the line — Precise clearance is required.
  • Vertical writing-mode text on arrows — Forced rotation harms readability.
  • Arrow label sitting on or touching its connector — Mechanical placement without optical correction.
  • Arrow label mask overlapping a node box — Spatial awareness errors typical of generative tools.
  • Two connectors overlapping or sharing the same path — Route planning failures.
  • Two connectors sharing a single attach point on a box — Attachment discipline violations.
  • Diagonal / slanted connectors between off‑axis nodes — Organic angles that look "designed" but are actually errors.
  • Connector routed behind a non‑endpoint box without need — Obscured paths that confuse hierarchy.

Running skills/diagram-design/scripts/self_check.py flags these automatically:

python3 skills/diagram-design/scripts/self_check.py path/to/generated.html

# Output: FAIL Dark mode + cyan/purple glow

Type‑Specific Anti‑Patterns: Quadrant Diagrams

The type‑quadrant.md file documents failures specific to quadrant diagrams, where position conveys meaning.

Standard Quadrant Errors

Anti‑pattern Why It Signals AI
Four filled quadrants each with a different colour Eliminates positional semantics; looks like a filled template.
Items placed directly on the axis lines Destroys the quadrant boundary logic.
Missing axis names Axes without labels are meaningless scaffolding.

Consultant Variant Violations

The quadrant consultant variant has additional strictures in type‑quadrant.md:

  • Plain white background — Must use warm paper + dot pattern.
  • Sans‑serif page title — Requires Instrument Serif.
  • Unnamed cells — "Scenario 1/2/3/4" placeholders indicate unconfigured generation.
  • Coral on more than one cell — Single‑emphasis rule violated.
  • 3×3 or 2×3 grids — Wrong grid structure entirely.
  • Positioning dots inside cells — Should use standard quadrant instead.
  • Bold axis labels, arrow glyphs in text, or "HIGH / LOW" parentheticals — Breaks prescribed typographic voice.

Verify axis presence with:

grep -i "axis" path/to/quadrant.svg | grep -v "label"

# Empty result triggers "Missing axis names" anti‑pattern

Semantic Anti‑Patterns: "AI Slop" Direct References

The semantic-patterns.md file defines 5 anti‑patterns that explicitly reference AI‑generated artefacts—the most damning signals of all.

  • "AI magic" sparkle between two boxes — Visual metaphor for unexplained transformation.
  • Artifact shown as another chat bubble — Reduces complex outputs to conversational UI cliché.
  • Fields appearing without sources — Data without provenance.
  • Inventing certainty for missing facts — Confidence without evidence.
  • Typing animation as the only readable copy — Prioritizes effect over information.

These patterns "masquerade AI‑generated content as a legitimate schematic" according to the source documentation.


Automated Detection with Verification Scripts

The repository provides three verification mechanisms to catch anti‑patterns in CI pipelines.

Self‑Check: Universal Rules

python3 skills/diagram-design/scripts/self_check.py path/to/generated.html

Reports FAIL lines for style violations like dark‑mode glows and font mis‑use.

Geometry Verification

import subprocess, sys

result = subprocess.run(
    ["python3", "scripts/verify-geometry.py", "path/to/generated.html"],
    capture_output=True, text=True
)

if result.returncode != 0:
    sys.stderr.write(result.stdout)
    # Outputs: diagonal connectors, overlapping arrows, shared attach points

Catches connector routing errors and spatial overlaps that human designers avoid.

SVG Inspection

grep -i "axis" path/to/quadrant.svg | grep -v "label"

Simple text search for structural elements missing required labels.


Key Source Files for Anti‑Pattern Research

File Location Contents
SKILL.md Repository root Universal anti‑patterns (16 rules)
type‑quadrant.md Type documentation Quadrant and consultant variant rules
semantic-patterns.md Pattern library "AI slop" direct references
scripts/self_check.py /scripts/ Automated universal checks
scripts/verify-geometry.py /scripts/ Connector and geometry validation

All paths reference the cathrynlavery/diagram-design main branch.


Summary

The diagram-design skill identifies AI‑generated diagrams through:

  • 16 universal visual rules covering color, typography, shape, and connector discipline
  • Quadrant‑specific prohibitions against filled colors, axis misuse, and wrong grids
  • "AI slop" semantic patterns that explicitly reference generative artefacts
  • Automated verification scripts (self_check.py, verify-geometry.py) for CI enforcement

Any diagram exhibiting one or more of these anti‑patterns fails editorial standards and likely originated from generative AI rather than human design judgment.


Frequently Asked Questions

What is the fastest way to check if a diagram was AI‑generated?

Run python3 skills/diagram-design/scripts/self_check.py path/to/file.html. This single command validates against all 16 universal anti‑patterns and returns explicit FAIL lines for violations.

Why do dark mode and cyan glows indicate AI generation?

These are default visual settings in many generative tools. The diagram‑design system explicitly prohibits them because they create a generic "tech aesthetic" without editorial purpose—what the documentation calls "over‑styled, mechanically generated" output.

Can I use these rules for non‑quadrant diagrams?

Yes. The universal anti‑patterns in SKILL.md apply to every diagram type. Only the quadrant‑specific rules (filled colors, axis placement, grid structure) are type‑restricted.

What does "AI slop" mean in this context?

Per semantic-patterns.md, "AI slop" refers to visual clichés like sparkle effects between boxes, chat‑bubble artefacts, and typing animations—patterns that "masquerade AI‑generated content as a legitimate schematic" rather than communicating clearly.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →