AI Slop Code RIsk Monitor

spaceship-prompt/spaceship-prompt

🚀✨ Minimalistic, powerful and extremely customizable Zsh prompt

110.5 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for spaceship-prompt/spaceship-prompt, a Shell project with 20,585 GitHub stars. SynthScan examined 20,022 lines of code across 317 source files, recording 642 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 110.5 (High 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.

110.5
Adjusted Signal
110.5
Raw Pattern Score
100%
Time Factor
2026-09-02
Last Push
20.6K
Stars
Shell
Language
20.0K
Lines of Code
317
Files
642
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 26.1/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 1.1/100 · LOW

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

Agent Over-Engineering Ratio 99.5/100 · CRITICAL

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

PR Review Velocity Impact 98.8/100 · CRITICAL

Which changes need focused human review? 642 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 557LOW 85

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 642 distinct pattern matches across 6 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.

Decorative Section Separators555 hits · 2086 pts
SeverityFileLineSnippetContext
MEDIUMspaceship.zsh36# ------------------------------------------------------------------------------COMMENT
MEDIUMspaceship.zsh39# ------------------------------------------------------------------------------COMMENT
MEDIUMspaceship.zsh126# ------------------------------------------------------------------------------COMMENT
MEDIUMspaceship.zsh129# ------------------------------------------------------------------------------COMMENT
MEDIUMspaceship.zsh154# ------------------------------------------------------------------------------COMMENT
MEDIUMspaceship.zsh157# ------------------------------------------------------------------------------COMMENT
MEDIUMspaceship.zsh174# ------------------------------------------------------------------------------COMMENT
MEDIUMspaceship.zsh177# ------------------------------------------------------------------------------COMMENT
MEDIUMspaceship.zsh220# ------------------------------------------------------------------------------COMMENT
MEDIUMspaceship.zsh223# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/ansible.zsh7# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/ansible.zsh9# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/ansible.zsh18# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/ansible.zsh20# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/swiftenv.zsh7# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/swiftenv.zsh9# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/swiftenv.zsh19# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/swiftenv.zsh21# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/swift.zsh9# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/swift.zsh11# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/swift.zsh20# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/swift.zsh22# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/swift.zsh27# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/swift.zsh29# ------------------------------------------------------------------------------COMMENT
MEDIUMsections/hg.zsh5# ------------------------------------------------------------------------------COMMENT
MEDIUMsections/hg.zsh7# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/hg.zsh19# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/hg.zsh21# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/hg.zsh29# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/hg.zsh31# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/xcenv.zsh7# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/xcenv.zsh9# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/xcenv.zsh19# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/xcenv.zsh21# ------------------------------------------------------------------------------COMMENT
MEDIUMsections/jobs.zsh5# ------------------------------------------------------------------------------COMMENT
MEDIUMsections/jobs.zsh7# ------------------------------------------------------------------------------COMMENT
MEDIUMsections/jobs.zsh18# ------------------------------------------------------------------------------COMMENT
MEDIUMsections/jobs.zsh20# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/golang.zsh8# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/golang.zsh10# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/golang.zsh19# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/golang.zsh21# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/vlang.zsh7# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/vlang.zsh9# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/vlang.zsh18# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/vlang.zsh20# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/haxe.zsh7# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/haxe.zsh9# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/haxe.zsh19# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/haxe.zsh21# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/node.zsh7# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/node.zsh9# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/node.zsh19# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/node.zsh21# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/deno.zsh7# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/deno.zsh9# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/deno.zsh19# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/deno.zsh21# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/crystal.zsh7# ------------------------------------------------------------------------------COMMENT
MEDIUM⚡sections/crystal.zsh9# ------------------------------------------------------------------------------COMMENT
495 more matches not shown…
Redundant / Tautological Comments30 hits · 60 pts
SeverityFileLineSnippetContext
LOWasync.zsh216 # Check if a worker should perform unique jobs, unlessCOMMENT
LOWasync.zsh219 # Check if a previous job is still running, if yes,COMMENT
LOWasync.zsh503 # Check if the worker existsCOMMENT
LOWasync.zsh657 # Check if zsh/zpty returns a file descriptor or not,COMMENT
LOW⚡sections/ansible.zsh25 # Check if ansible is installedCOMMENT
LOW⚡sections/haxe.zsh26 # Check if haxe binary existsCOMMENT
LOW⚡sections/haxe.zsh36 # Check if haxe_version is emptyCOMMENT
LOW⚡sections/sudo.zsh27 # Check if sudo command is available for executionCOMMENT
LOW⚡sections/sudo.zsh30 # Check if the current shell has passwordless sudo availableCOMMENT
LOW⚡sections/conda.zsh27 # Check if running via conda virtualenvCOMMENT
LOW⚡sections/venv.zsh28 # Check if the current directory running via VirtualenvCOMMENT
LOW⚡sections/zig.zsh26 # Check if zig command is available for executionCOMMENT
LOW⚡sections/erlang.zsh26 # Check if erl command is available for executionCOMMENT
LOW⚡sections/hg_status.zsh24# Check if current dir is a hg repo and show hg status as indicatorsCOMMENT
LOW⚡sections/purescript.zsh25 # Check if PureScript binary is availableCOMMENT
LOW⚡sections/rlang.zsh26 # Check if R binary existsCOMMENT
LOW⚡sections/rlang.zsh36 # Check if R_version is emptyCOMMENT
LOWsections/dir.zsh37 # Check if the parent of the $git_root is "/"COMMENT
LOW⚡sections/gcloud.zsh26 # Check if the glcoud-cli is installedCOMMENT
LOW⚡sections/gcloud.zsh32 # Check if there is an active configCOMMENT
LOW⚡sections/gcloud.zsh35 # Check if there is an active config overrideCOMMENT
LOW⚡sections/java.zsh22 # Check if java binary existsCOMMENT
LOWsections/java.zsh33 # Check if java version is not emptyCOMMENT
LOW⚡lib/utils.zsh9# Check if command exists in $PATHCOMMENT
LOW⚡lib/utils.zsh16# Check if function is definedCOMMENT
LOW⚡lib/utils.zsh23# Check if array includes and itemCOMMENT
LOWlib/utils.zsh46# Check if the current directory is in a Git repository.COMMENT
LOWlib/utils.zsh54# Check if the current directory is in a Mercurial repository.COMMENT
LOWlib/utils.zsh93# Check if async is available and there is an async sectionCOMMENT
LOWlib/utils.zsh100# Print message backward compatibility warningCOMMENT
Over-Commented Block52 hits · 52 pts
SeverityFileLineSnippetContext
LOWspaceship.zsh1#!/usr/bin/env zshCOMMENT
LOWspaceship.zsh221# ENTRY POINTCOMMENT
LOWasync.zsh1#!/usr/bin/env zshCOMMENT
LOWasync.zsh181 while :; doCOMMENT
LOWasync.zsh261}COMMENT
LOWasync.zsh481#COMMENT
LOWasync.zsh521 unset "ASYNC_PROCESS_BUFFER[$worker]"COMMENT
LOWsections/ansible.zsh1#COMMENT
LOWsections/golang.zsh1#COMMENT
LOWsections/vlang.zsh1#COMMENT
LOWsections/haxe.zsh1#COMMENT
LOWsections/crystal.zsh1#COMMENT
LOWsections/julia.zsh1#COMMENT
LOWsections/dart.zsh1#COMMENT
LOWsections/ocaml.zsh1#COMMENT
LOWsections/sudo.zsh1#COMMENT
LOWsections/terraform.zsh1#COMMENT
LOWsections/red.zsh1#COMMENT
LOWsections/kotlin.zsh1#COMMENT
LOWsections/azure.zsh1#COMMENT
LOWsections/dotnet.zsh1#COMMENT
LOWsections/php.zsh1#COMMENT
LOWsections/ibmcloud.zsh1#COMMENT
LOWsections/python.zsh1#COMMENT
LOWsections/package.zsh1#COMMENT
LOWsections/nix_shell.zsh1#COMMENT
LOWsections/ruby.zsh1#COMMENT
LOWsections/zig.zsh1#COMMENT
LOWsections/scala.zsh1#COMMENT
LOWsections/perl.zsh1#COMMENT
LOWsections/pulumi.zsh1#COMMENT
LOWsections/bun.zsh1#COMMENT
LOWsections/erlang.zsh1#COMMENT
LOWsections/battery.zsh1#COMMENT
LOWsections/kubectl_version.zsh1#COMMENT
LOWsections/user.zsh1#COMMENT
LOWsections/purescript.zsh1#COMMENT
LOWsections/elm.zsh1#COMMENT
LOWsections/gleam.zsh1#COMMENT
LOWsections/gnu_screen.zsh1#COMMENT
LOWsections/gcloud.zsh1#COMMENT
LOWsections/haskell.zsh1#COMMENT
LOWtests/pulumi.test.zsh81# ------------------------------------------------------------------------------COMMENT
LOWtests/deno.test.zsh81# ------------------------------------------------------------------------------COMMENT
LOWtests/user.test.zsh121# ------------------------------------------------------------------------------COMMENT
LOWtests/gleam.test.zsh81# ------------------------------------------------------------------------------COMMENT
LOWtests/dart.test.zsh141# ------------------------------------------------------------------------------COMMENT
LOWtests/perl.test.zsh81# ------------------------------------------------------------------------------COMMENT
LOWlib/utils.zsh1#!/usr/bin/env zshCOMMENT
LOWlib/hooks.zsh1#!/usr/bin/env zshCOMMENT
LOWlib/section.zsh1#!/usr/bin/env zshCOMMENT
LOWlib/cache.zsh1#!/usr/bin/env zshCOMMENT
AI Slop Vocabulary1 hit · 4 pts
SeverityFileLineSnippetContext
MEDIUM⚡sections/zig.zsh4# Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software.COMMENT
Fake / Example Data3 hits · 4 pts
SeverityFileLineSnippetContext
LOWdocs/uk/api/utils.md191# "John Doe"COMMENT
LOWdocs/api/utils.md191# "John Doe"COMMENT
LOWlib/extract.zsh72# > "John Doe"COMMENT
Self-Referential Comments1 hit · 4 pts
SeverityFileLineSnippetContext
MEDIUM⚡lib/utils.zsh6# This file is used as a API for sections developersCOMMENT