AI Slop Code Risk Monitor

coreyhaines31/marketingskills

SlopCodeMonitor badge for coreyhaines31/marketingskills Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Marketing skills for Claude Code and AI agents. CRO, copywriting, SEO, analytics, and growth engineering.

2.3 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for coreyhaines31/marketingskills, a JavaScript project with 57,607 GitHub stars. SynthScan examined 116,718 lines of code across 665 source files, recording 168 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 2.3 (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.

2.3
Adjusted Signal
2.3
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
57.6K
Stars
JavaScript
Language
116.7K
Lines of Code
665
Files
168
Pattern Hits
2026-10-31
Scan Date
0.02
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 5.9/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 5.1/100 · LOW

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

Agent Over-Engineering Ratio 1.4/100 · LOW

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

PR Review Velocity Impact 9.7/100 · LOW

Which changes need focused human review? 168 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 10MEDIUM 10LOW 148

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

Fake / Example Data72 hits · 72 pts
SeverityFileLineSnippetContext
LOWtools/integrations/resend.md72 "to": ["user@example.com"],CODE
LOWtools/integrations/resend.md85 "to": ["user@example.com"],CODE
LOWtools/integrations/resend.md154 to: 'user@example.com',CODE
LOWtools/integrations/resend.md167 to: 'user@example.com',CODE
LOWtools/integrations/sequenzy.md115 "email": "user@example.com",CODE
LOWtools/integrations/sequenzy.md134 "email": "user@example.com",CODE
LOWtools/integrations/sequenzy.md148 "email": "user@example.com",CODE
LOWtools/integrations/sequenzy.md236 "to": "user@example.com",CODE
LOWtools/integrations/clay.md54 "company": "Acme Inc",CODE
LOWtools/integrations/sendgrid.md31 "to": [{"email": "user@example.com"}]CODE
LOWtools/integrations/sendgrid.md49 "to": [{"email": "user@example.com"}],CODE
LOWtools/integrations/sendgrid.md68 "email": "user@example.com",CODE
LOWtools/integrations/sendgrid.md126 "email": "user@example.com"CODE
LOWtools/integrations/sendgrid.md150 to: 'user@example.com',CODE
LOWtools/integrations/beehiiv.md50 "email": "user@example.com",CODE
LOWtools/integrations/attentive.md31 "email": "user@example.com"CODE
LOWtools/integrations/onesignal.md62node tools/clis/onesignal.js notifications send --emails "user@example.com" --email-subject "Welcome" --email-body "<p>TCODE
LOWtools/integrations/onesignal.md163 { "type": "Email", "token": "user@example.com" }CODE
LOWtools/integrations/activecampaign.md81 "email": "user@example.com",CODE
LOWtools/integrations/activecampaign.md109 "email": "user@example.com",CODE
LOWtools/integrations/partnerstack.md58 "name": "John Doe"CODE
LOWtools/integrations/partnerstack.md137 "company": "Acme Corp"CODE
LOWtools/integrations/brevo.md47 "email": "user@example.com",CODE
LOWtools/integrations/brevo.md137 { "email": "user@example.com", "name": "Jane Doe" }CODE
LOWtools/integrations/brevo.md137 { "email": "user@example.com", "name": "Jane Doe" }CODE
LOWtools/integrations/intercom.md42 "email": "user@example.com",CODE
LOWtools/integrations/intercom.md43 "name": "Jane Doe",CODE
LOWtools/integrations/intercom.md72 "value": "user@example.com"CODE
LOWtools/integrations/intercom.md154 "name": "Acme Corp",CODE
LOWtools/integrations/trustpilot.md93 "consumerName": "Jane Doe",CODE
LOWtools/integrations/trustpilot.md116 "name": "Jane Doe",CODE
LOWtools/integrations/segment.md49 "email": "user@example.com",CODE
LOWtools/integrations/segment.md50 "name": "John Doe",CODE
LOWtools/integrations/segment.md112 email: 'user@example.com',CODE
LOWtools/integrations/audiencetap.md32 "email": "user@example.com",CODE
LOWtools/integrations/postscript.md36 "email": "user@example.com",CODE
LOWtools/integrations/klaviyo.md30GET https://a.klaviyo.com/api/profiles/?filter=equals(email,"user@example.com")CODE
LOWtools/integrations/klaviyo.md42 "email": "user@example.com",CODE
LOWtools/integrations/klaviyo.md121 "attributes": { "email": "user@example.com" }CODE
LOWtools/integrations/klaviyo.md204- `filter` - Filter expressions (e.g., `equals(email,"user@example.com")`)CODE
LOWtools/integrations/close.md44 "name": "Acme Corp",CODE
LOWtools/integrations/attio.md36 "name": [{ "first_name": "Jane", "last_name": "Doe", "full_name": "Jane Doe" }],CODE
LOWtools/integrations/postmark.md166 { "EmailAddress": "user@example.com" }CODE
LOWtools/integrations/zapier.md167 "email": "user@example.com"CODE
LOWtools/integrations/zapier.md179 "name": "John Doe",CODE
LOWtools/integrations/zapier.md217 "customer_name": "John Doe",CODE
LOWtools/integrations/mailchimp.md46 "email_address": "user@example.com",CODE
LOWtools/integrations/demio.md85 "name": "Jane Doe",CODE
LOWtools/integrations/demio.md103 "name": "Jane Doe",CODE
LOWtools/integrations/kit.md42 "email": "user@example.com",CODE
LOWtools/integrations/kit.md57 "email": "user@example.com"CODE
LOWtools/integrations/kit.md68 "email": "user@example.com"CODE
LOWtools/integrations/kit.md99 "email": "user@example.com"CODE
LOWtools/integrations/zoominfo.md45 "companyName": ["Acme Corp"],CODE
LOWtools/integrations/posthog.md110 email: 'user@example.com',CODE
LOWtools/integrations/hubspot.md40 "value": "user@example.com"CODE
LOWtools/integrations/hubspot.md53 "email": "user@example.com",CODE
LOWtools/integrations/savvycal.md136 "display_name": "John Doe",CODE
LOWtools/integrations/savvycal.md154 --time-zone America/New_York --name "John Doe" --email john@example.comCODE
LOWtools/integrations/customer-io.md30 "email": "user@example.com",CODE
12 more matches not shown…
Structural Annotation Overuse42 hits · 70 pts
SeverityFileLineSnippetContext
LOWskills/competitor-profiling/SKILL.md108#### Step 1: Map the siteCOMMENT
LOWskills/competitor-profiling/SKILL.md126#### Step 2: Scrape key pagesCOMMENT
LOWskills/competitor-profiling/SKILL.md148#### Step 3: Scrape competitor reviews (optional but high-value)COMMENT
LOWskills/product-marketing/SKILL.md16### Step 1: Check for Existing ContextCOMMENT
LOWskills/product-marketing/SKILL.md34### Step 2: Gather InformationCOMMENT
LOWskills/product-marketing/SKILL.md143## Step 3: Create the DocumentCOMMENT
LOWskills/product-marketing/SKILL.md274## Step 4: Confirm, Version, and SaveCOMMENT
LOW⚡skills/referrals/SKILL.md93### Step 1: Identify Trigger MomentsCOMMENT
LOW⚡skills/referrals/SKILL.md101### Step 2: Design Share MechanismCOMMENT
LOW⚡skills/referrals/SKILL.md110### Step 3: Choose Incentive StructureCOMMENT
LOWskills/directory-submissions/SKILL.md70### Step 1: Readiness assessment (Phase 0)COMMENT
LOWskills/directory-submissions/SKILL.md86### Step 2: Choose the tiersCOMMENT
LOWskills/directory-submissions/SKILL.md112### Step 3: Prepare asset variationsCOMMENT
LOWskills/directory-submissions/SKILL.md125### Step 4: Batch submitCOMMENT
LOWskills/link-building/SKILL.md33## Step 1: Confirm Links Are the BottleneckCOMMENT
LOWskills/link-building/SKILL.md50## Step 2: Have Something Worth Linking ToCOMMENT
LOWskills/link-building/SKILL.md62## Step 3: Pick Tactics by Effort and QualityCOMMENT
LOWskills/link-building/SKILL.md87## Step 4: Prospect, Qualify, Reach OutCOMMENT
LOWskills/link-building/SKILL.md100## Step 5: Stay Inside the RulesCOMMENT
LOWskills/link-building/SKILL.md114## Step 6: Anchors and PaceCOMMENT
LOWskills/link-building/SKILL.md120## Step 7: Measure Both OutcomesCOMMENT
LOWskills/ad-creative/SKILL.md187### Step 1: Define Your AnglesCOMMENT
LOW⚡skills/ad-creative/SKILL.md204### Step 2: Generate Variations per AngleCOMMENT
LOW⚡skills/ad-creative/SKILL.md212### Step 3: Validate Against SpecsCOMMENT
LOW⚡skills/ad-creative/SKILL.md216### Step 4: Organize for UploadCOMMENT
LOW⚡skills/ad-creative/SKILL.md226### Step 1: Analyze WinnersCOMMENT
LOW⚡skills/ad-creative/SKILL.md235### Step 2: Analyze LosersCOMMENT
LOW⚡skills/ad-creative/SKILL.md242### Step 3: Generate New VariationsCOMMENT
LOW⚡skills/ad-creative/SKILL.md250### Step 4: Document the IterationCOMMENT
LOWskills/ad-creative/references/creative-roadmap.md11## Step 1: Read the Three SignalsCOMMENT
LOWskills/ad-creative/references/creative-roadmap.md27## Step 2: Turn Signals into Evidence-Ranked ConceptsCOMMENT
LOWskills/ad-creative/references/creative-roadmap.md46## Step 3: Branch on Account StateCOMMENT
LOWskills/ad-creative/references/creative-roadmap.md63## Step 4: The Roadmap ArtifactCOMMENT
LOWskills/ad-creative/references/creative-roadmap.md87## Step 5: The Monthly Creative RetroCOMMENT
LOWskills/ai-seo/SKILL.md136### Step 1: Check AI Answers for Your Key QueriesCOMMENT
LOWskills/ai-seo/SKILL.md153### Step 2: Analyze Citation PatternsCOMMENT
LOWskills/ai-seo/SKILL.md164### Step 3: Content Extractability CheckCOMMENT
LOWskills/ai-seo/SKILL.md181### Step 4: AI Bot Access CheckCOMMENT
LOWskills/conversion-tracking/references/audit-playbook.md25## Step 1: static recon (no logins needed)COMMENT
LOWskills/conversion-tracking/references/audit-playbook.md42## Step 2: classify the conversion momentCOMMENT
LOWskills/conversion-tracking/references/audit-playbook.md47## Step 3: walk the click ID chainCOMMENT
LOWskills/conversion-tracking/references/audit-playbook.md58## Step 4: guided account checksCOMMENT
Magic Placeholder Names10 hits · 50 pts
SeverityFileLineSnippetContext
HIGHtools/integrations/dub-co.md115const dub = new Dub({ token: "YOUR_API_KEY" });CODE
HIGHtools/integrations/heygen.md51 -H "X-Api-Key: YOUR_API_KEY" \CODE
HIGHtools/integrations/heygen.md77 -H "X-Api-Key: YOUR_API_KEY"CODE
HIGHtools/integrations/heygen.md84 -H "X-Api-Key: YOUR_API_KEY"CODE
HIGHtools/integrations/rewardful.md97<script async src='https://r.wdfl.co/rw.js' data-rewardful='YOUR_API_KEY'></script>CODE
HIGHtools/integrations/firecrawl.md19- **Header**: `Authorization: Bearer fc-YOUR_API_KEY`CODE
HIGHtools/integrations/firecrawl.md30Authorization: Bearer fc-YOUR_API_KEYCODE
HIGHtools/integrations/browserbase.md17- **Header**: `x-bb-api-key: YOUR_API_KEY`CODE
HIGHtools/integrations/browserbase.md28x-bb-api-key: YOUR_API_KEYCODE
HIGHtools/integrations/trustpilot.md17- **Public Header**: `apikey: {YOUR_API_KEY}`CODE
Hyper-Verbose Identifiers24 hits · 32 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_skill_packaging.py99 def test_repeat_builds_are_byte_identical(self):CODE
LOW⚡tests/test_skill_packaging.py105 def test_frozen_revision_ignores_dirty_worktree_and_untracked_files(self):CODE
LOW⚡tests/test_skill_packaging.py113 def test_explicit_old_revision_uses_its_own_descriptions(self):CODE
LOW⚡tests/test_skill_packaging.py122 def test_missing_override_fails_before_writing_any_selection(self):CODE
LOW⚡tests/test_skill_packaging.py129 def test_invalid_overrides_are_rejected(self):CODE
LOW⚡tests/test_skill_packaging.py138 def test_release_subset_lists_new_and_stale_skills_but_source_is_complete(self):CODE
LOW⚡tests/test_skill_packaging.py156 def test_release_subset_keeps_current_reviewed_mappings(self):CODE
LOW⚡tests/test_skill_packaging.py163 def test_changed_source_triggers_require_new_review(self):CODE
LOW⚡tests/test_skill_packaging.py169 def test_unknown_or_traversal_selection_is_rejected(self):CODE
LOW⚡tests/test_skill_packaging.py174 def test_selected_subset_does_not_package_other_skill(self):CODE
LOW⚡tests/test_skill_packaging.py180 def test_tracked_symlink_is_not_followed(self):CODE
LOW⚡tests/test_skill_packaging.py187 def test_configured_size_bound_fails_without_partial_outputs(self):CODE
LOW⚡tests/test_skill_packaging.py192 def test_oversized_resource_is_rejected_before_blob_loading(self):CODE
LOW⚡tests/test_skill_packaging.py203 def test_oversized_license_is_rejected_before_blob_loading(self):CODE
LOW⚡tests/test_skill_packaging.py213 def test_oversized_source_skill_is_rejected_before_blob_loading(self):CODE
LOW⚡tests/test_skill_packaging.py223 def test_web_metadata_shrink_uses_packaged_size_bound(self):CODE
LOW⚡tests/test_skill_packaging.py229 def test_crlf_body_and_quoted_description_are_preserved(self):CODE
LOW⚡tests/test_skill_packaging.py235 def test_perplexity_archive_puts_skill_at_root_with_original_metadata(self):CODE
LOWtests/test_skill_packaging.py69 def test_source_archive_keeps_actual_routes_bytes_and_license(self):CODE
LOWtests/test_skill_packaging.py84 def test_web_archive_changes_only_description_and_records_exact_hashes(self):CODE
LOWtests/test_skill_packaging.py260 def test_perplexity_caps_size_at_its_upload_limit(self):CODE
LOW…s/conversion-tracking/assets/snippets/gravity-forms.js70function hasVisibleValidationErrors(rootEl) {CODE
LOW…s/conversion-tracking/assets/snippets/gravity-forms.js101function hasServerRejectionMarkers(formId) {CODE
LOW…ng/assets/gtm-recipes/detect/detect-gravity-forms.json32 "value": "<script>\n/* Gravity Forms Submission Listener.\n * Event-only adaptation of verified production dCODE
Modern AI Meta-Vocabulary10 hits · 28 pts
SeverityFileLineSnippetContext
MEDIUMtools/integrations/hyperframes.md31npx hyperframes init my-video # scaffold a project from a templateCODE
MEDIUMskills/ads/references/abm-playbook.md66## Cross-channel orchestrationCOMMENT
MEDIUMskills/ads/references/abm-playbook.md80## Sales orchestrationCOMMENT
MEDIUMskills/marketing-loops/references/loop-guardrails.md17## Spend guardrails (ad-fatigue, paid-search, retargeting, expansion)COMMENT
MEDIUMskills/marketing-loops/references/loop-guardrails.md24## Publish & send guardrails (email, social, PR, community, reviews)COMMENT
MEDIUM…customer-research/references/interviews-and-surveys.md134### Survey design guardrailsCOMMENT
MEDIUM…lls/marketing-plan/references/team-and-agency-model.md272## Operational guardrailsCOMMENT
MEDIUMskills/marketing-plan/references/growth-patterns.md107### The orchestrationCOMMENT
MEDIUMskills/ai-seo/references/agent-readiness.md9| **Is Agentic** (Vercel + Ora) | `npx is-agentic yourdomain.com` or [is-agentic.com](https://is-agentic.com) | 100+ cheCODE
MEDIUMskills/attribution/references/first-party-tracking.md156## Step 3 — The guardrails (do not skip)COMMENT
Over-Commented Block4 hits · 4 pts
SeverityFileLineSnippetContext
LOWtests/run-regression.sh1#!/bin/bashCOMMENT
LOW…nversion-tracking/assets/snippets/squarespace-forms.js1/*! Squarespace Forms conversion detection (MIT)COMMENT
LOW…nversion-tracking/assets/snippets/squarespace-forms.js21 // server decides: 204 on success, 400 for a field error, 401 for a failedCOMMENT
LOW…s/conversion-tracking/assets/snippets/hubspot-forms.js101 } catch (e) {COMMENT
Redundant / Tautological Comments2 hits · 3 pts
SeverityFileLineSnippetContext
LOWvalidate-skills.sh36 # Check if SKILL.md existsCOMMENT
LOWvalidate-skills-official.sh40# Check if skills-ref is already installedCOMMENT
Deep Nesting3 hits · 3 pts
SeverityFileLineSnippetContext
LOWscripts/package_skills.py34CODE
LOWscripts/package_skills.py82CODE
LOWskills/conversion-tracking/scripts/build_recipe.py101CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/package_skills.py10CODE