AI Slop Code Risk Monitor

chuspeeism/dashiAI-ppt-skill

SlopCodeMonitor badge for chuspeeism/dashiAI-ppt-skill Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

An AI-agent skill that generates browser-editable presentations from multiple visual themes, exportable to HTML, PDF, and PPTX.

0.7 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for chuspeeism/dashiAI-ppt-skill, a JavaScript project with 10,215 GitHub stars. SynthScan examined 213,427 lines of code across 76 source files, recording 177 pattern matches distributed across 6 syntactic categories. The legacy adjusted pattern signal is 0.7 (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.

0.7
Adjusted Signal
0.7
Raw Pattern Score
100%
Time Factor
2026-09-12
Last Push
10.2K
Stars
JavaScript
Language
213.4K
Lines of Code
76
Files
177
Pattern Hits
2026-10-31
Scan Date
0.03
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 2.8/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 0.4/100 · LOW

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

Agent Over-Engineering Ratio 2.6/100 · LOW

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

PR Review Velocity Impact 4.5/100 · LOW

Which changes need focused human review? 177 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 2MEDIUM 4LOW 171

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 177 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.

Hyper-Verbose Identifiers149 hits · 104 pts
SeverityFileLineSnippetContext
LOW⚡skills/dashi-ppt/project/assets/template-swiss.html5676async function renderOverviewThumbDomPreview(wrap, slide){CODE
LOW⚡skills/dashi-ppt/project/assets/template-swiss.html5684function shouldUseLiteOverviewPreview(slide){CODE
LOW⚡skills/dashi-ppt/project/assets/template-swiss.html5690function createOverviewLitePreview(slide){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html2524 function mapDuplicatedSyncTextName(name, sourceVariant, copyVariant, logicalSourceId, logicalCopyId, useFallback=true)CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html2550 function buildDuplicatedLogicalSlide(record, logicalSource){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html2585 function buildDuplicatedSingleLayoutSlide(record, logicalSource){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html2715 function resolveDuplicatedSyncTextSourceName(text, name, sourceVariant, logicalSourceId){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html2745 function rebuildComparisonPageDescriptors(){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html2906 function applyMediaMapReconciliation(mediaMap){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html2969 function compactStatePropsFromRender(slideId, renderProps){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3030 function getComponentDefaultSlideProps(slideId){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3082 function normalizeRestoredSlideProps(slideId, rawValues){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3099 function resolveRestoredRangeBounds(control, values){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3114 function normalizeRestoredControlType(type){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3137 function syncInitialSlideVariantOwnership(){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3173 function normalizeVariantSelections(source){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3232 function normalizeLogicalSlideOrder(order, renderedIds, duplicatedSlides=vm.state.duplicatedSlides){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3494function getDeckPageNumberForSlide(slide){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3636function normalizeVariantOutputMode(mode){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3762function rewriteSvgCloneReferences(scope, idMap, includeNode=()=>true){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3882function releaseTemplateVideoElements(root){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3906function uniquifyDuplicatedRuntimeSlideSvgIds(slide){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3913function namespaceDuplicatedRuntimeSlideDom(slide){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html3999function restorePersistedCatalogSlides(){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4137function showRuntimeSlideErrorPlaceholder(slide, error){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4157function clearRuntimeSlideErrorPlaceholder(slide){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4165function renderRuntimeSlideWithIsolation(slide, props, opts={}){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4193function ensureRuntimeSlideRendered(slide, values, opts={}){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4291function applyDeckVariantSelections(opts={}){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4339function prepareSlideForTransition(slide, values, opts={}){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4349function startTransitionSlideEnter(slide){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4477function requestSlideRailResizeLayout(){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4494function syncSlideRailScrollbarPadding(){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4563function handlePresentDeckPointerDown(e){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4653function blockPresentEditEntrypoint(e){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4764function clearRuntimeMotionSuppression(slide){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4852function releaseDeckNavigationLock(){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html4949function updateAfterCatalogMutation(previousActiveSlide, preferredIndex, detail={}){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5000function collectLogicalVariantSyncTextNames(source, sourceModel, state, onRendered){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5039function collectRenderedMediaStateKeys(root){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5135function prepareDuplicatedSlideClone(clone, source, copyId, copyModel, copyVariant){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5177function toggleCatalogSlideSkipped(catalogIndex){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5234function bumpOverviewThumbRevision(slide){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5333function getOverviewOrderFromCards(grid=overviewGrid){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5341function getOverviewVisibleOrNearCount(){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5434function recordOverviewInteraction(type){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5447function recordOverviewCaptureStart(slide, trigger){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5533function getOverviewDropMarkerRect(rects, index){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5568function applyOverviewPreviewGeometry(node, width, height){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5640function isOverviewThumbVisibleNow(wrap){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5648function getNextOverviewThumbQueueIndex(){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5788function rememberOverviewThumbFromDom(slide, node){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5797function requestOverviewClosedPrewarm(delay=900){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5821function prewarmOverviewThumbCache(slide, runId){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5840function predecodeOverviewSlideResources(slide){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5916function scheduleOverviewThumbQueue(opts={}){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html6004function queueNearbyOverviewThumbs(opts={}){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html6052function recycleOffscreenOverviewThumbs(range){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html6072function queueVisibleOverviewThumbs(){CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html6077function requestOverviewThumbRefresh(afterPause=false, opts={}){CODE
89 more matches not shown…
Fake / Example Data15 hits · 18 pts
SeverityFileLineSnippetContext
LOWskills/dashi-ppt/project/assets/template-swiss.html2190 const STATIC_ATTRS = ['title', 'aria-label', 'placeholder', 'alt', 'data-color-label'];CODE
LOWskills/dashi-ppt/project/assets/template-swiss.html5899 wrap.dataset.overviewMode='placeholder';CODE
LOW…ect/src/components/themes/theme04/source/image-slot.js293 return ['shape', 'radius', 'mask', 'fit', 'position', 'placeholder', 'src', 'id'];CODE
LOW…ect/src/components/themes/theme04/source/image-slot.js789 this._cap.textContent = isEn ? 'Upload' : (this.getAttribute('placeholder') || 'Drop media');CODE
LOW⚡…-ppt/project/src/components/themes/theme08/metadata.js86 "placeholder": "上传",CODE
LOW⚡…-ppt/project/src/components/themes/theme08/metadata.js91 "placeholder": "上传",CODE
LOW⚡…-ppt/project/src/components/themes/theme08/metadata.js96 "placeholder": "上传",CODE
LOW…-ppt/project/src/components/themes/theme08/metadata.js244 "placeholder": "上传",CODE
LOW…-ppt/project/src/components/themes/theme08/metadata.js249 "placeholder": "上传",CODE
LOW⚡…-ppt/project/src/components/themes/theme08/metadata.js316 "placeholder": "上传",CODE
LOW⚡…-ppt/project/src/components/themes/theme08/metadata.js320 "placeholder": "上传",CODE
LOW⚡…-ppt/project/src/components/themes/theme08/metadata.js324 "placeholder": "上传",CODE
LOW⚡…-ppt/project/src/components/themes/theme08/metadata.js328 "placeholder": "上传",CODE
LOW…-ppt/project/src/components/themes/theme01/metadata.js6943 "placeholder": "繁荣现场 · 发布会 / 融资",CODE
LOW…-ppt/project/src/components/themes/theme01/metadata.js6952 "placeholder": "审视时刻 · 财报 / 算力账单",CODE
AI Response Leakage2 hits · 10 pts
SeverityFileLineSnippetContext
HIGH…pt/project/assets/unicorn/moving_into_remix_scene.json1{"history":[{"breakpoints":[],"visible":true,"aspectRatio":1,"userDownsample":1,"layerType":"effect","type":"gradient","CODE
HIGH…pt/project/assets/unicorn/moving_into_remix_scene.json1{"history":[{"breakpoints":[],"visible":true,"aspectRatio":1,"userDownsample":1,"layerType":"effect","type":"gradient","CODE
Decorative Section Separators3 hits · 9 pts
SeverityFileLineSnippetContext
MEDIUM…ect/src/components/themes/theme04/source/image-slot.js63 // ── Shared sidecar store ────────────────────────────────────────────────COMMENT
MEDIUM…ect/src/components/themes/theme04/source/image-slot.js167 // ── Image downscale ─────────────────────────────────────────────────────COMMENT
MEDIUM…ect/src/components/themes/theme04/source/image-slot.js226 // ── Custom element ──────────────────────────────────────────────────────COMMENT
Over-Commented Block7 hits · 6 pts
SeverityFileLineSnippetContext
LOWskills/dashi-ppt/project/assets/template-swiss.html1601 #preview-theme-toggle svg{width:17px;height:17px}COMMENT
LOWskills/dashi-ppt/project/assets/template-swiss.html1621 #export-http-modal .ehm-card{width:min(480px,92vw);background:var(--pp-bg);color:var(--pp-fg);border:1px solid var(--pCOMMENT
LOW…i-ppt/project/src/components/themes/client-runtime.jsx681 const file = event.dataTransfer?.files?.[0];COMMENT
LOW…ject/src/components/themes/theme03/source/src/theme.js1// theme.js — JS-side design tokens.COMMENT
LOW…ect/src/components/themes/theme04/source/image-slot.js461 this.addEventListener('dragover', this);COMMENT
LOW…ect/src/components/themes/theme04/source/image-slot.js501COMMENT
LOW…ect/src/components/themes/theme04/source/image-slot.js621 }COMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…ect/src/components/themes/theme04/source/image-slot.js1// @ds-adherence-ignore -- omelette starter scaffold (raw elements/hex/px by design)COMMENT