AI Slop Code RIsk Monitor

bradautomates/claude-video

Give Claude the ability to watch any video. /watch downloads, extracts frames, transcribes, hands it all to Claude.

47.8 High pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for bradautomates/claude-video, a Python project with 18,340 GitHub stars. SynthScan examined 6,065 lines of code across 42 source files, recording 217 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 47.8 (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.

47.8
Adjusted Signal
47.8
Raw Pattern Score
100%
Time Factor
2026-09-25
Last Push
18.3K
Stars
Python
Language
6.1K
Lines of Code
42
Files
217
Pattern Hits
2026-10-12
Scan Date
0.14
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 85.7/100 · CRITICAL

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

Hallucinated Dependency & Supply Chain Risk 16.6/100 · LOW

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

Agent Over-Engineering Ratio 87.5/100 · CRITICAL

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

PR Review Velocity Impact 87.4/100 · CRITICAL

Which changes need focused human review? 217 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 6MEDIUM 2LOW 209

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 217 distinct pattern matches across 8 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 Identifiers174 hits · 220 pts
SeverityFileLineSnippetContext
LOW⚡tests/test_dedup.py11def test_frame_delta_identical_is_zero():CODE
LOW⚡tests/test_dedup.py16def test_frame_delta_is_mean_absolute_difference():CODE
LOW⚡tests/test_dedup.py22def test_frame_delta_mismatched_length_is_infinite():CODE
LOW⚡tests/test_dedup.py42def test_dedupe_collapses_identical_run(tmp_path: Path):CODE
LOW⚡tests/test_dedup.py52def test_dedupe_keeps_all_distinct(tmp_path: Path):CODE
LOW⚡tests/test_dedup.py61def test_dedupe_compares_against_last_kept_not_previous(tmp_path: Path):CODE
LOW⚡tests/test_dedup.py71def test_dedupe_threshold_is_inclusive(tmp_path: Path):CODE
LOW⚡tests/test_dedup.py81def test_dedupe_empty_and_single_are_noops(tmp_path: Path):CODE
LOW⚡tests/test_dedup.py89def test_dedupe_mismatched_thumb_count_is_noop(tmp_path: Path):CODE
LOW⚡tests/test_dedup.py99def test_thumb_frames_match_candidate_count(cut_clip: Path, tmp_path: Path):CODE
LOW⚡tests/test_dedup.py106def test_dedupe_perceptual_collapses_static_clip(static_clip: Path, tmp_path: Path):CODE
LOW⚡tests/test_dedup.py116def test_dedupe_perceptual_keeps_distinct_cuts(cut_clip: Path, tmp_path: Path):CODE
LOWtests/test_dedup.py127def test_scene_engine_reports_zero_dedup_on_distinct(cut_clip: Path, tmp_path: Path):CODE
LOWtests/test_dedup.py136def test_uniform_fallback_dedupes_static(static_clip: Path, tmp_path: Path):CODE
LOW⚡tests/test_dedup.py148def test_keyframe_uniform_fallback_dedupes_static(static_clip: Path, tmp_path: Path):CODE
LOW⚡tests/test_dedup.py155def test_dedup_false_disables_collapse(static_clip: Path, tmp_path: Path):CODE
LOW⚡tests/test_dedup.py165def test_equal_brightness_different_colors_survive(tmp_path):CODE
LOW⚡tests/test_setup.py16def test_json_reports_watch_detail(monkeypatch, capsys):CODE
LOW⚡tests/test_setup.py22def test_keyless_completed_setup_proceeds_silently(capsys):CODE
LOW⚡tests/test_setup.py30def test_keyless_first_run_can_proceed(capsys):CODE
LOW⚡tests/test_setup.py36def test_key_present_is_ready(monkeypatch):CODE
LOW⚡tests/test_setup.py42def test_missing_binaries_are_independent_of_keys(monkeypatch):CODE
LOW⚡tests/test_setup.py49def test_project_marker_cannot_complete_setup(monkeypatch):CODE
LOW⚡tests/test_setup.py56def test_marker_replacement_preserves_comments_and_key():CODE
LOW⚡tests/test_setup.py66def test_failed_atomic_write_preserves_original(monkeypatch):CODE
LOWtests/test_setup.py77def test_config_write_refuses_bad_encoding():CODE
LOWtests/test_setup.py86def test_permission_diagnostics(monkeypatch, tmp_path, capsys, system, mode, warns):CODE
LOW⚡tests/test_setup.py97def test_check_never_launches_whisperx(monkeypatch):CODE
LOW⚡tests/test_setup.py103def test_none_backend_completion():CODE
LOW⚡tests/test_setup.py110def test_gemini_engine_is_ready_without_media_binaries(monkeypatch):CODE
LOW⚡tests/test_setup.py123def test_local_engine_still_requires_binaries(monkeypatch):CODE
LOW⚡tests/test_setup.py131def test_engine_gemini_without_key_writes_choice_and_asks_for_key(monkeypatch, capsys):CODE
LOW⚡tests/test_setup.py139def test_engine_gemini_with_key_completes_setup_and_preserves_lines(monkeypatch):CODE
LOW⚡tests/test_download.py17def test_original_track_overrides_dubbed_metadata(language):CODE
LOW⚡tests/test_download.py26def test_unknown_language_prefers_english():CODE
LOW⚡tests/test_download.py34def test_requested_translation_and_unknown_source():CODE
LOW⚡tests/test_download.py41def test_cookie_modes_and_conflict():CODE
LOWtests/test_download.py72def test_fetch_captions_requests_one_exact_track(monkeypatch, tmp_path):CODE
LOW⚡tests/test_download.py86def test_failed_download_never_returns_old_media(monkeypatch, tmp_path):CODE
LOW⚡tests/test_download.py96def test_rejects_partial_final_paths(monkeypatch, tmp_path, name):CODE
LOW⚡tests/test_download.py104def test_rejects_outside_final_path(monkeypatch, tmp_path):CODE
LOWtests/test_download.py119def test_actual_ytdlp_exact_track_with_inherited_all(monkeypatch, tmp_path, static_clip):CODE
LOWtests/test_download.py155def test_explicit_regional_language_is_not_silently_replaced():CODE
LOWtests/test_frames.py10def test_keyframe_engine_on_cut_clip(cut_clip: Path, tmp_path: Path):CODE
LOWtests/test_frames.py19def test_keyframe_even_sampling_caps_and_spans(cut_clip: Path, tmp_path: Path):CODE
LOW⚡tests/test_frames.py31def test_keyframe_fallback_on_static_clip(static_clip: Path, tmp_path: Path):CODE
LOW⚡tests/test_frames.py39def test_scene_engine_on_cut_clip(cut_clip: Path, tmp_path: Path):CODE
LOW⚡tests/test_frames.py48def test_scene_even_sampling_caps_and_spans(cut_clip: Path, tmp_path: Path):CODE
LOWtests/test_frames.py66def test_scene_fallback_on_static_clip(static_clip: Path, tmp_path: Path):CODE
LOWtests/test_frames.py74def test_uniform_pixels_match_source_time(tmp_path):CODE
LOWtests/test_frames.py88def test_fractional_seek_and_cap_use_actual_span(tmp_path):CODE
LOWtests/test_frames.py99def test_nonzero_input_pts_are_source_relative(tmp_path):CODE
LOW⚡tests/test_frames.py110def test_invalid_fps_rejected_before_extraction(static_clip, tmp_path, fps):CODE
LOW⚡tests/test_frames.py115def test_gap_with_corrupt_input_still_fails(tmp_path):CODE
LOW⚡tests/test_frames.py122def test_variable_rate_timestamps_are_actual_source_frames(tmp_path):CODE
LOWtests/test_frames.py135def test_single_frame_cap_keeps_first_real_frame(static_clip, tmp_path):CODE
LOWtests/test_frames.py140def test_uniform_candidate_count_includes_deduplicated_frames(static_clip, tmp_path):CODE
LOW⚡tests/test_packaging.py13def test_frontmatter_uses_only_agent_skills_keys():CODE
LOW⚡tests/test_packaging.py21def test_release_versions_match_canonical_skill():CODE
LOW⚡tests/test_packaging.py30def test_copied_skill_runs_outside_repository(tmp_path, static_clip):CODE
114 more matches not shown…
Empty Error Handlers6 hits · 30 pts
SeverityFileLineSnippetContext
HIGHskills/watch/scripts/runtime.py15except (OSError, ValueError):CODE
HIGHskills/watch/scripts/setup.py50except OSError:CODE
HIGHskills/watch/scripts/frames.py510except OSError:CODE
HIGHskills/watch/scripts/frames.py412except OSError:CODE
HIGHskills/watch/scripts/frames.py641except OSError:CODE
HIGHskills/watch/scripts/local_whisperx.py116except queue.Empty:CODE
Unused Imports23 hits · 22 pts
SeverityFileLineSnippetContext
LOWtests/test_dedup.py2CODE
LOWtests/conftest.py2CODE
LOWtests/test_frames.py2CODE
LOWtests/test_watch.py2CODE
LOWtests/test_local_whisperx.py2CODE
LOWtests/test_timestamps.py2CODE
LOWtests/test_whisper.py2CODE
LOWtests/test_release_regressions.py2CODE
LOWtests/test_release_regressions.py3CODE
LOWtests/test_release_regressions.py4CODE
LOWtests/test_config.py2CODE
LOWtests/test_fixtures.py2CODE
LOWtests/test_gemini.py2CODE
LOWskills/watch/scripts/config.py3CODE
LOWskills/watch/scripts/download.py3CODE
LOWskills/watch/scripts/gemini.py7CODE
LOWskills/watch/scripts/runtime.py2CODE
LOWskills/watch/scripts/whisper.py11CODE
LOWskills/watch/scripts/setup.py3CODE
LOWskills/watch/scripts/frames.py9CODE
LOWskills/watch/scripts/transcribe.py3CODE
LOWskills/watch/scripts/local_whisperx.py2CODE
LOWskills/watch/scripts/watch.py7CODE
Deep Nesting7 hits · 7 pts
SeverityFileLineSnippetContext
LOWskills/watch/scripts/config.py96CODE
LOWskills/watch/scripts/download.py48CODE
LOWskills/watch/scripts/whisper.py177CODE
LOWskills/watch/scripts/setup.py239CODE
LOWskills/watch/scripts/frames.py158CODE
LOWskills/watch/scripts/frames.py177CODE
LOWskills/watch/scripts/watch.py94CODE
Modern AI Meta-Vocabulary2 hits · 5 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md132**Fastest path — let Gemini watch it.** Get a free [Google AI Studio key](https://aistudio.google.com/apikey). When the CODE
MEDIUM⚡tests/test_gemini.py81 assert payload['input'][0] == {'type': 'video', 'uri': 'https://youtu.be/abc', 'processing': 'agentic'}CODE
Over-Commented Block2 hits · 2 pts
SeverityFileLineSnippetContext
LOWdev-sync.sh1#!/usr/bin/env bashCOMMENT
LOWskills/watch/scripts/frames.py21COMMENT
Excessive Try-Catch Wrapping2 hits · 2 pts
SeverityFileLineSnippetContext
LOWskills/watch/scripts/whisper.py256 except Exception:CODE
LOWskills/watch/scripts/whisper.py262 except Exception:CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWdev-sync.sh10# Usage:COMMENT