AI Slop Code Risk Monitor

Donchitos/Claude-Code-Game-Studios

SlopCodeMonitor badge for Donchitos/Claude-Code-Game-Studios Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Turn Claude Code into a full game dev studio — 49 AI agents, 72 workflow skills, and a complete coordination system mirroring real studio hierarchy.

3.2 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for Donchitos/Claude-Code-Game-Studios, a Shell project with 30,788 GitHub stars. SynthScan examined 123,623 lines of code across 628 source files, recording 311 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 3.2 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

3.2
Adjusted Signal
3.2
Raw Pattern Score
100%
Time Factor
2026-10-19
Last Push
30.8K
Stars
Shell
Language
123.6K
Lines of Code
628
Files
311
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 13.2/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 294 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.0/100 · LOW

Are imports declared and package/API names verified? 1 finding(s).

Agent Over-Engineering Ratio 1.8/100 · LOW

Are wrappers, guards, and repeated structures necessary? 16 finding(s).

PR Review Velocity Impact 14.0/100 · LOW

Which changes need focused human review? 311 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 0MEDIUM 31LOW 280

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 311 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Over-Commented Block231 hits · 224 pts
SeverityFileLineSnippetContext
LOWproject.yaml1# CCGS project configuration — single source of truth for project settings.COMMENT
LOWproject.yaml21# and saves would stop changing anything. `/start` states the same rule for theCOMMENT
LOWdesign/registry/entities.yaml1# Game World Entity RegistryCOMMENT
LOWdesign/registry/entities.yaml21# after asking)COMMENT
LOWdesign/registry/entities.yaml41# path; referenced_by.*inventory never matches)COMMENT
LOWdesign/registry/entities.yaml61# Register an entity here when it appears in more than one GDD — e.g., anCOMMENT
LOWdesign/registry/entities.yaml81# drops:COMMENT
LOWdesign/registry/entities.yaml101# items:COMMENT
LOWdesign/registry/entities.yaml121#COMMENT
LOWdesign/registry/entities.yaml141# - crit_multiplierCOMMENT
LOWdesign/registry/entities.yaml161# Example:COMMENT
LOWdesign/registry/entities.yaml181# - design/gdd/progression.md # progression unlocks additional slotsCOMMENT
LOW.claude/statusline.sh1#!/usr/bin/env bashCOMMENT
LOW.claude/statusline.sh161fiCOMMENT
LOW.claude/docs/workflow-catalog.yaml1# Workflow CatalogCOMMENT
LOW.claude/hooks/validate-write.sh1#!/bin/bashCOMMENT
LOW.claude/hooks/validate-write.sh21# overriding a caller that legitimately means somewhere else.COMMENT
LOW.claude/hooks/validate-write.sh41# step, because hooks do not run in every tool.COMMENT
LOW.claude/hooks/validate-read.sh21# features.read_guard_kb (40 KB); features.read_guard: off turns it off.COMMENT
LOW.claude/hooks/validate-push.sh1#!/bin/bashCOMMENT
LOW.claude/hooks/validate-push.sh21# overriding a caller that legitimately means somewhere else.COMMENT
LOW.claude/hooks/validate-push.sh41#COMMENT
LOW.claude/hooks/validate-skill-change.sh1#!/bin/bashCOMMENT
LOW.claude/hooks/validate-skill-change.sh21# overriding a caller that legitimately means somewhere else.COMMENT
LOW.claude/hooks/validate-skill-change.sh41COMMENT
LOW.claude/hooks/detect-gaps.sh1#!/bin/bashCOMMENT
LOW.claude/hooks/detect-gaps.sh61# Check if a design record exists.COMMENT
LOW.claude/hooks/detect-gaps.sh81# `Source/`. Testing only `src/` meant a Unity project with a full codebaseCOMMENT
LOW.claude/hooks/detect-gaps.sh161fiCOMMENT
LOW.claude/hooks/detect-gaps.sh301 echo "⚠️ GAP: Large codebase ($SRC_FILES files) but no production planning found"COMMENT
LOW.claude/hooks/session-stop.sh1#!/bin/bashCOMMENT
LOW.claude/hooks/session-stop.sh21# overriding a caller that legitimately means somewhere else.COMMENT
LOW.claude/hooks/session-stop.sh61# APPEND ONLY WHEN THE CONTENT CHANGED.COMMENT
LOW.claude/hooks/pre-compact.sh1#!/bin/bashCOMMENT
LOW.claude/hooks/pre-compact.sh21# overriding a caller that legitimately means somewhere else.COMMENT
LOW.claude/hooks/validate-agent-artifact.sh1#!/bin/bashCOMMENT
LOW.claude/hooks/validate-agent-artifact.sh21# overriding a caller that legitimately means somewhere else.COMMENT
LOW.claude/hooks/validate-agent-artifact.sh41# from its prompt only: the transcript's first user message. The rest of theCOMMENT
LOW.claude/hooks/log-agent-stop.sh1#!/bin/bashCOMMENT
LOW.claude/hooks/log-agent-stop.sh21# overriding a caller that legitimately means somewhere else.COMMENT
LOW.claude/hooks/update-check.sh1#!/bin/bashCOMMENT
LOW.claude/hooks/update-check.sh21# Cross-platform: Windows Git Bash, macOS bash 3.2, Linux. Needs curl or wgetCOMMENT
LOW.claude/hooks/validate-commit.sh1#!/bin/bashCOMMENT
LOW.claude/hooks/validate-commit.sh41COMMENT
LOW.claude/hooks/validate-commit.sh61 # starting t or n became a tab or a line break), the -C check below foundCOMMENT
LOW.claude/hooks/validate-commit.sh81# `C:\Git\cmd\git.exe`) are allowed, and a QUOTED path to git ("C:\ProgramCOMMENT
LOW.claude/hooks/validate-commit.sh101# next before any of this runs, so `git \` then `commit` on the next line isCOMMENT
LOW.claude/hooks/validate-commit.sh181COMMENT
LOW.claude/hooks/validate-commit.sh241 WT_FILES=$($_GIT diff --name-only 2>/dev/null)COMMENT
LOW.claude/hooks/validate-commit.sh261# A relative pathspec resolves where the commit runs, and this hook runs at theCOMMENT
LOW.claude/hooks/validate-commit.sh441fiCOMMENT
LOW.claude/hooks/validate-commit.sh461# scan announces that it did not run instead of skipping in silence.COMMENT
LOW.claude/hooks/validate-commit.sh481# Two independent fixes, because either alone is a mitigation rather than aCOMMENT
LOW.claude/hooks/validate-commit.sh601# `standard`, and no GDD requirement at all at `minimal`. A jam project on theCOMMENT
LOW.claude/hooks/validate-commit.sh641COMMENT
LOW.claude/hooks/validate-commit.sh721 WARNINGS="$WARNINGS\nSKIPPED: no writable scratch location, so the GDD section check did NOT run on the stagCOMMENT
LOW.claude/hooks/validate-commit.sh741#COMMENT
LOW.claude/hooks/log-instructions.sh1#!/bin/bashCOMMENT
LOW.claude/hooks/log-instructions.sh21#COMMENT
LOW.claude/hooks/log-instructions.sh41# this hook the only way to get it was to infer it from behaviour afterwards.COMMENT
171 more matches not shown…
Structural Annotation Overuse38 hits · 65 pts
SeverityFileLineSnippetContext
LOW⚡.claude/docs/hooks-reference/pre-push-test-gate.md33# Step 1: BuildCOMMENT
LOW⚡.claude/docs/hooks-reference/pre-push-test-gate.md41# Step 2: Unit testsCOMMENT
LOW⚡.claude/docs/hooks-reference/pre-push-test-gate.md50 # Step 3: Integration tests (only for protected branches)COMMENT
LOW⚡.claude/docs/hooks-reference/pre-push-test-gate.md55 # Step 4: Smoke testsCOMMENT
LOW⚡.claude/docs/hooks-reference/pre-push-test-gate.md60 # Step 5: Performance regression checkCOMMENT
LOW⚡.claude/docs/templates/adoption-plan.md13## Step 1: Fix Blocking GapsCOMMENT
LOW⚡.claude/docs/templates/adoption-plan.md19## Step 2: Fix High-Priority GapsCOMMENT
LOW⚡.claude/docs/templates/adoption-plan.md25## Step 3: Bootstrap InfrastructureCOMMENT
LOW.claude/docs/templates/adoption-plan.md55## Step 4: Medium-Priority GapsCOMMENT
LOW.claude/docs/templates/adoption-plan.md61## Step 5: Optional ImprovementsCOMMENT
LOW⚡.claude/skills/adopt/references/6-write.md28## Step 1: Fix Blocking GapsCOMMENT
LOW⚡.claude/skills/adopt/references/6-write.md34## Step 2: Fix High-Priority GapsCOMMENT
LOW⚡.claude/skills/adopt/references/6-write.md40## Step 3: Bootstrap InfrastructureCOMMENT
LOW.claude/skills/adopt/references/6-write.md70## Step 4: Medium-Priority GapsCOMMENT
LOW.claude/skills/adopt/references/6-write.md76## Step 5: Optional ImprovementsCOMMENT
LOW.claude/skills/team-audio/SKILL.md126### Step 1: Audio Direction (audio-director)COMMENT
LOW.claude/skills/team-audio/SKILL.md134### Step 2: Sound Design and Audio Accessibility (parallel)COMMENT
LOW.claude/skills/team-audio/SKILL.md155### Step 3: Technical Implementation (parallel)COMMENT
LOW.claude/skills/team-audio/SKILL.md171### Step 4: Code Integration (gameplay-programmer)COMMENT
LOW.claude/skills/help/SKILL.md33## Step 1: Read the CatalogCOMMENT
LOW.claude/skills/help/SKILL.md64## Step 2: Determine Current PhaseCOMMENT
LOW.claude/skills/help/SKILL.md99## Step 3: Read Session ContextCOMMENT
LOW.claude/skills/help/SKILL.md118## Step 4: Check Step Completion for the Current PhaseCOMMENT
LOW.claude/skills/help/SKILL.md244## Step 5: Find Position and Identify Next StepsCOMMENT
LOW.claude/skills/help/SKILL.md264## Step 6: Check for In-Progress WorkCOMMENT
LOW.claude/skills/help/SKILL.md272## Step 7: Present OutputCOMMENT
LOW.claude/skills/help/SKILL.md334## Step 8: Gate Warning (if close)COMMENT
LOW.claude/skills/help/SKILL.md345## Step 9: Escalation PathsCOMMENT
LOW.claude/skills/team-level/SKILL.md123### Step 1: Narrative + Visual Direction (narrative-director + world-builder + art-director, parallel)COMMENT
LOW.claude/skills/team-level/SKILL.md148### Step 2: Layout and Encounter Design (level-designer)COMMENT
LOW.claude/skills/team-level/SKILL.md173### Step 3: Systems Integration (systems-designer)COMMENT
LOW.claude/skills/team-level/SKILL.md183### Step 4: Production Concepts + Accessibility (art-director + accessibility-specialist, parallel)COMMENT
LOW.claude/skills/team-level/SKILL.md209### Step 5: QA Planning (qa-tester)COMMENT
LOWdocs/WORKFLOW-GUIDE.md47### Step 1: Clone and OpenCOMMENT
LOWdocs/WORKFLOW-GUIDE.md54### Step 2: Run /startCOMMENT
LOWdocs/WORKFLOW-GUIDE.md72### Step 3: Verify Hooks Are WorkingCOMMENT
LOWdocs/WORKFLOW-GUIDE.md88### Step 4: Ask for Help AnytimeCOMMENT
LOWdocs/WORKFLOW-GUIDE.md102### Step 5: Create Your Directory StructureCOMMENT
Decorative Section Separators15 hits · 45 pts
SeverityFileLineSnippetContext
MEDIUMdesign/registry/entities.yaml59# ─── ENTITIES ────────────────────────────────────────────────────────────────COMMENT
MEDIUMdesign/registry/entities.yaml89# ─── ITEMS ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMdesign/registry/entities.yaml117# ─── FORMULAS ────────────────────────────────────────────────────────────────COMMENT
MEDIUMdesign/registry/entities.yaml151# ─── CONSTANTS ───────────────────────────────────────────────────────────────COMMENT
MEDIUM.claude/hooks/validate-commit.sh470# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/validate-commit.sh498# ---------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/yaml-helper.sh217# -----------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/yaml-helper.sh219# -----------------------------------------------------------------------------COMMENT
MEDIUM.claude/hooks/yaml-helper.sh1180# =============================================================================COMMENT
MEDIUM.claude/hooks/yaml-helper.sh1195# =============================================================================COMMENT
MEDIUMdocs/registry/architecture.yaml45# ─── STATE OWNERSHIP ─────────────────────────────────────────────────────────COMMENT
MEDIUMdocs/registry/architecture.yaml75# ─── INTERFACE CONTRACTS ──────────────────────────────────────────────────────COMMENT
MEDIUMdocs/registry/architecture.yaml106# ─── PERFORMANCE BUDGETS ──────────────────────────────────────────────────────COMMENT
MEDIUMdocs/registry/architecture.yaml136# ─── API DECISIONS ───────────────────────────────────────────────────────────COMMENT
MEDIUMdocs/registry/architecture.yaml162# ─── FORBIDDEN PATTERNS ──────────────────────────────────────────────────────COMMENT
Modern AI Meta-Vocabulary13 hits · 38 pts
SeverityFileLineSnippetContext
MEDIUMstudio-tests/skills/utility/test-setup.md163### Case 5: Director Gate Check — No gate; test-setup is a scaffolding utilityCOMMENT
MEDIUMstudio-tests/skills/utility/test-helpers.md163### Case 5: Director Gate Check — No gate; test-helpers is a scaffolding utilityCOMMENT
MEDIUM.claude/docs/run-and-observe.md57### Godot 4 — zero scaffoldCOMMENT
MEDIUM.claude/docs/effects-map.md410### Team orchestration skills (pipeline behavior — different relationship)COMMENT
MEDIUM.claude/docs/error-recovery-protocol.md4the `## Error Recovery Protocol` section of each orchestration and review skill.CODE
MEDIUM.claude/hooks/validate-agent-artifact.sh34# the file its return contract named. An orchestrating skill ends each agentCOMMENT
MEDIUM.claude/scripts/write-guard.sh196 # QA evidence folder. Other paths never ask test-scaffold.sh.COMMENT
MEDIUM.claude/scripts/write-guard.sh200 # The files /test-setup creates, as test-scaffold.sh lists them per engine.COMMENT
MEDIUM.claude/scripts/test-scaffold.sh2# test-scaffold.sh — creates the files /test-setup scaffolds for one engine,COMMENT
MEDIUM.claude/scripts/test-scaffold.sh14# Usage: bash .claude/scripts/test-scaffold.sh ENGINE [--dry-run | --list] [--root DIR]COMMENT
MEDIUM.claude/scripts/test-scaffold.sh19# --list print the project-relative paths this engine's scaffoldCOMMENT
MEDIUM.claude/scripts/gdd-structure-check.sh5# hallucinate a missing section. This is the cheapest real win available: theCOMMENT
MEDIUMdocs/registry/architecture.yaml178# Use dependency injection or signals instead."COMMENT
AI Slop Vocabulary3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUM.claude/hooks/yaml-helper.sh457# That is not a test-harness artifact. Any real project nested inside anotherCOMMENT
MEDIUM.claude/hooks/session-start.sh37# Observed on real harness events as a single line of JSON with session_id,COMMENT
MEDIUM.claude/hooks/session-start.sh39# Do NOT read stdin here unboundedly -- the harness may leave it open, and aCOMMENT
Redundant / Tautological Comments5 hits · 8 pts
SeverityFileLineSnippetContext
LOW.claude/statusline.sh110 # Check if engine is configured (project.yaml first, fall back to technical-preferences.md)COMMENT
LOW.claude/hooks/validate-push.sh241# Check if pushing to a protected branch: main, master, or any release/*COMMENT
LOW.claude/hooks/detect-gaps.sh46# Check if engine is configured (project.yaml first, fall back to technical-preferences.md)COMMENT
LOW.claude/hooks/detect-gaps.sh61# Check if a design record exists.COMMENT
LOW.claude/hooks/detect-gaps.sh77# Check if source code exists.COMMENT
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOW.claude/hooks/yaml-helper.sh70# Usage:COMMENT
LOW.claude/scripts/rotate-session-state.sh21# Usage:COMMENT
LOW.claude/scripts/gdd-structure-check.sh24# Usage:COMMENT
LOW.claude/scripts/review-receipts.sh41# Usage:COMMENT
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWstudio-tests/agents/specialists/writer.md36- Does not produce even partial world history as a "placeholder"CODE
Excessive Try-Catch Wrapping1 hit · 1 pts
SeverityFileLineSnippetContext
LOW.claude/hooks/validate-commit.sh558 except Exception:CODE