AI Slop Code RIsk Monitor

joeseesun/qiaomu-anything-to-notebooklm

Claude Skill: Multi-source content processor for NotebookLM. Supports WeChat articles, web pages, YouTube, PDF, Markdown, search queries → Podcast/PPT/MindMap/Quiz etc.

36.4 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for joeseesun/qiaomu-anything-to-notebooklm, a Python project with 6,208 GitHub stars. SynthScan examined 4,624 lines of code across 18 source files, recording 86 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 36.4 (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.

36.4
Adjusted Signal
36.4
Raw Pattern Score
100%
Time Factor
2026-10-05
Last Push
6.2K
Stars
Python
Language
4.6K
Lines of Code
18
Files
86
Pattern Hits
2026-10-12
Scan Date
0.67
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 27.3/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 62.8/100 · HIGH

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

Agent Over-Engineering Ratio 41.3/100 · MEDIUM

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

PR Review Velocity Impact 82.7/100 · CRITICAL

Which changes need focused human review? 86 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 12MEDIUM 8LOW 66

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 86 distinct pattern matches across 13 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.

Cross-Language Confusion10 hits · 65 pts
SeverityFileLineSnippetContext
HIGH⚡feishu-read-mcp/src/scraper.py188 paragraphs.push(currentPara);CODE
HIGH⚡feishu-read-mcp/src/scraper.py196 paragraphs.push(currentPara);CODE
HIGH⚡feishu-read-mcp/src/scraper.py199 paragraphs.push(part);CODE
HIGH⚡feishu-read-mcp/src/scraper.py393 const text = element.innerText || element.getAttribute('title');CODE
HIGH⚡feishu-read-mcp/src/scraper.py394 if (text && text.trim()) {CODE
HIGH⚡feishu-read-mcp/src/scraper.py400 return null;CODE
HIGHfeishu-read-mcp/src/scraper.py236 if (text.length > maxText && text.length > 100) {CODE
HIGHfeishu-read-mcp/src/scraper.py243 return result || document.body.innerHTML;CODE
HIGHfeishu-read-mcp/src/scraper.py364 if (element && element.innerText.trim()) {CODE
HIGHfeishu-read-mcp/src/scraper.py430 urls.push(src);CODE
Decorative Section Separators8 hits · 24 pts
SeverityFileLineSnippetContext
MEDIUMscripts/fetch_url.sh21# ── Paywall domain lists (from BPC source) ──────────────────────────COMMENT
MEDIUMscripts/fetch_url.sh38# ── Helper functions ─────────────────────────────────────────────────COMMENT
MEDIUMscripts/fetch_url.sh126# ── Level 1: Proxy services ─────────────────────────────────────────COMMENT
MEDIUMscripts/fetch_url.sh136# ── Level 2: Site-specific bot UA bypass (BPC core strategy) ─────────COMMENT
MEDIUMscripts/fetch_url.sh190# ── Level 3: Generic paywall bypass (for all paywall domains) ────────COMMENT
MEDIUMscripts/fetch_url.sh327# ── Level 4: archive.today with CAPTCHA handling ────────────────────COMMENT
MEDIUMscripts/fetch_url.sh353# ── Level 5: Google cache ───────────────────────────────────────────COMMENT
MEDIUMscripts/fetch_url.sh368# ── Level 6: agent-fetch (last resort local tool) ───────────────────COMMENT
Unused Imports22 hits · 22 pts
SeverityFileLineSnippetContext
LOWcheck_env.py7CODE
LOWcheck_env.py156CODE
LOWfeishu-read-mcp/src/scraper.py3CODE
LOWfeishu-read-mcp/src/scraper.py4CODE
LOWfeishu-read-mcp/src/scraper.py5CODE
LOWfeishu-read-mcp/src/scraper.py6CODE
LOWfeishu-read-mcp/src/scraper.py6CODE
LOWfeishu-read-mcp/src/scraper.py8CODE
LOWfeishu-read-mcp/src/scraper.py8CODE
LOWfeishu-read-mcp/src/scraper.py12CODE
LOWfeishu-read-mcp/src/scraper.py12CODE
LOWfeishu-read-mcp/src/__init__.py6CODE
LOWfeishu-read-mcp/src/__init__.py7CODE
LOWfeishu-read-mcp/src/__init__.py8CODE
LOWfeishu-read-mcp/src/__init__.py9CODE
LOWfeishu-read-mcp/src/parser.py5CODE
LOWfeishu-read-mcp/src/parser.py6CODE
LOWfeishu-read-mcp/src/parser.py6CODE
LOWfeishu-read-mcp/src/parser.py7CODE
LOWfeishu-read-mcp/src/parser.py7CODE
LOWfeishu-read-mcp/src/image_handler.py8CODE
LOWfeishu-read-mcp/src/image_handler.py13CODE
Structural Annotation Overuse9 hits · 14 pts
SeverityFileLineSnippetContext
LOWSKILL.md179### Step 1: 识别内容源类型COMMENT
LOWSKILL.md202### Step 2: 获取内容COMMENT
LOWSKILL.md269### Step 3: 上传到 NotebookLMCOMMENT
LOWSKILL.md280### Step 4: 深度分析模式(可选)COMMENT
LOWSKILL.md319### Step 5: 根据意图生成内容(可选)COMMENT
LOWscripts/get_podcast_transcript.py93 # Step 1: Create link note via OpenAPICOMMENT
LOWscripts/get_podcast_transcript.py112 # Step 2: Wait for transcriptionCOMMENT
LOWscripts/get_podcast_transcript.py132 # Step 3: Get full transcript via Web APICOMMENT
LOWscripts/get_podcast_transcript.py143 # Step 4: Save as TXTCOMMENT
Excessive Try-Catch Wrapping16 hits · 13 pts
SeverityFileLineSnippetContext
LOWcheck_env.py93 except Exception as e:CODE
LOWcheck_env.py128 except Exception as e:CODE
LOWcheck_env.py159 except Exception as e:CODE
LOWfeishu-read-mcp/test.py44 except Exception as e:CODE
LOWfeishu-read-mcp/test.py80 except Exception as e:STRING
LOWfeishu-read-mcp/test.py100 except Exception as e:CODE
LOWfeishu-read-mcp/test.py127 except Exception as e:CODE
LOWfeishu-read-mcp/src/scraper.py282 except Exception as e:STRING
LOWfeishu-read-mcp/src/scraper.py333 except Exception as e:STRING
LOWfeishu-read-mcp/src/scraper.py442 except Exception as e:STRING
LOWfeishu-read-mcp/src/server.py83 except Exception as e:CODE
LOWfeishu-read-mcp/src/server.py112 except Exception as e:CODE
LOWfeishu-read-mcp/src/image_handler.py147 except Exception as e:CODE
LOWfeishu-read-mcp/src/image_handler.py239 except Exception as e:CODE
LOWfeishu-read-mcp/src/image_handler.py281 except Exception as e:CODE
LOWfeishu-read-mcp/src/image_handler.py299 except Exception as e:CODE
Verbosity Indicators4 hits · 6 pts
SeverityFileLineSnippetContext
LOWscripts/get_podcast_transcript.py93 # Step 1: Create link note via OpenAPICOMMENT
LOWscripts/get_podcast_transcript.py112 # Step 2: Wait for transcriptionCOMMENT
LOWscripts/get_podcast_transcript.py132 # Step 3: Get full transcript via Web APICOMMENT
LOWscripts/get_podcast_transcript.py143 # Step 4: Save as TXTCOMMENT
Deep Nesting6 hits · 6 pts
SeverityFileLineSnippetContext
LOWmain.py16CODE
LOWmain.py315CODE
LOWfeishu-read-mcp/src/scraper.py55CODE
LOWfeishu-read-mcp/src/parser.py340CODE
LOWfeishu-read-mcp/src/image_handler.py203CODE
LOWfeishu-read-mcp/src/image_handler.py285CODE
Magic Placeholder Names1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHREADME.md181export GETNOTE_API_KEY="your_api_key"CODE
Empty Error Handlers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHfeishu-read-mcp/src/scraper.py348except:CODE
Modern Structural Boilerplate5 hits · 5 pts
SeverityFileLineSnippetContext
LOWfeishu-read-mcp/src/scraper.py24logger = logging.getLogger(__name__)CODE
LOWfeishu-read-mcp/src/server.py23logger = logging.getLogger(__name__)CODE
LOWfeishu-read-mcp/src/__init__.py11__all__ = [CODE
LOWfeishu-read-mcp/src/parser.py9logger = logging.getLogger(__name__)CODE
LOWfeishu-read-mcp/src/image_handler.py15logger = logging.getLogger(__name__)CODE
Hyper-Verbose Identifiers2 hits · 2 pts
SeverityFileLineSnippetContext
LOWmain.py113def generate_questions_progressive(content_type):CODE
LOWfeishu-read-mcp/README.md186async def download_with_custom_handler(urls):CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWscripts/fetch_url.sh71 # Check if URL matches any domain in a pipe-separated listCOMMENT
Over-Commented Block1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/fetch_url.sh1#!/usr/bin/env bashCOMMENT