Repository Analysis

mvanhorn/last30days-skill

AI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary

37.8 Strong AI signal View on GitHub
37.8
Adjusted Score
37.8
Raw Score
100%
Time Factor
2026-05-30
Last Push
26,814
Stars
Python
Language
55,385
Lines of Code
214
Files
1613
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 5MEDIUM 126LOW 1482

Pattern Findings

1613 matches across 14 categories. Click a row to expand file-level details.

Hyper-Verbose Identifiers1189 hits · 1304 pts
SeverityFileLineSnippet
LOWtests/test_env_v3.py17 def test_x_source_prefers_xai_without_bird_probe(self):
LOWtests/test_env_v3.py22 def test_x_source_uses_bird_with_explicit_cookies(self):
LOWtests/test_env_v3.py29 def test_bird_auth_never_checks_browser_cookies(self):
LOWtests/test_env_v3.py41 def test_file_permission_check_skips_windows_posix_mode_bits(self):
LOWtests/test_env_v3.py55 def test_threads_available_with_sc_key_only(self):
LOWtests/test_env_v3.py58 def test_threads_unavailable_without_sc_key(self):
LOWtests/test_env_v3.py62 def test_threads_does_not_require_include_sources(self):
LOWtests/test_env_include_sources_default.py4def test_include_sources_defaults_to_empty_string(monkeypatch, tmp_path):
LOWtests/test_dedupe_v3.py28 def test_collapses_whitespace(self):
LOWtests/test_dedupe_v3.py45 def test_short_text_returns_whole(self):
LOWtests/test_dedupe_v3.py49 def test_empty_returns_empty_set(self):
LOWtests/test_dedupe_v3.py52 def test_normalizes_before_ngrams(self):
LOWtests/test_dedupe_v3.py90 def test_completely_different(self):
LOWtests/test_dedupe_v3.py98 def test_filters_single_char_tokens(self):
LOWtests/test_dedupe_v3.py114 def test_completely_different(self):
LOWtests/test_dedupe_v3.py118 def test_takes_max_of_both_methods(self):
LOWtests/test_dedupe_v3.py150 def test_includes_author_and_container(self):
LOWtests/test_dedupe_v3.py174 def test_removes_near_duplicates(self):
LOWtests/test_dedupe_v3.py183 def test_keeps_first_of_duplicates(self):
LOWtests/test_dedupe_v3.py191 def test_empty_body_items_kept(self):
LOWtests/test_instagram.py46 def test_default_depth_returns_two_plus_queries(self):
LOWtests/test_instagram.py57 def test_quick_depth_returns_one_query(self):
LOWtests/test_planner_quiet_mode.py33 def test_internal_subrun_suppresses_warning(self):
LOWtests/test_planner_quiet_mode.py40 def test_internal_subrun_still_allows_other_warnings(self):
LOWtests/test_resolve.py11 def test_no_keys_returns_false(self):
LOWtests/test_resolve.py14 def test_brave_key_returns_true(self):
LOWtests/test_resolve.py17 def test_exa_key_returns_true(self):
LOWtests/test_resolve.py20 def test_serper_key_returns_true(self):
LOWtests/test_resolve.py25 def test_extracts_from_title_and_snippet(self):
LOWtests/test_resolve.py40 def test_deduplicates_case_insensitive(self):
LOWtests/test_resolve.py47 def test_empty_items_returns_empty(self):
LOWtests/test_resolve.py50 def test_no_subreddits_in_text(self):
LOWtests/test_resolve.py70 def test_filters_generic_handles(self):
LOWtests/test_resolve.py77 def test_empty_items_returns_empty(self):
LOWtests/test_resolve.py82 def test_builds_from_snippets(self):
LOWtests/test_resolve.py100 def test_empty_items_returns_empty(self):
LOWtests/test_resolve.py103 def test_items_with_empty_snippets(self):
LOWtests/test_resolve.py109 def test_rewrites_integration_repo_to_canonical_product(self):
LOWtests/test_resolve.py114 def test_preserves_action_repo_when_topic_intends_action(self):
LOWtests/test_resolve.py120 def test_dedupes_case_insensitive_after_canonicalization(self):
LOWtests/test_resolve.py127 def test_no_backend_returns_empty(self):
LOWtests/test_resolve.py227 def test_peer_already_in_websearch_not_duplicated(self):
LOWtests/test_resolve.py237 def test_dedupe_is_case_insensitive(self):
LOWtests/test_resolve.py245 def test_no_log_when_all_peers_already_present(self):
LOWtests/test_resolve.py263 def test_topic_with_no_category_returns_unchanged(self):
LOWtests/test_resolve.py271 def test_empty_subreddit_list_with_category_still_adds_peers(self):
LOWtests/test_resolve.py276 def test_empty_topic_returns_unchanged(self):
LOWtests/test_resolve.py281 def test_none_topic_returns_unchanged(self):
LOWtests/test_resolve.py286 def test_no_log_when_topic_has_no_category(self):
LOWtests/test_resolve.py294 def test_cap_is_enforced_at_max_subs(self):
LOWtests/test_resolve.py161 def test_search_failure_graceful(self, mock_search):
LOWtests/test_resolve.py192 def test_image_gen_topic_appends_peers(self):
LOWtests/test_resolve.py205 def test_preserves_websearch_order_then_appends_peers(self):
LOWtests/test_resolve.py214 def test_emits_stderr_log_when_peers_added(self):
LOWtests/test_resolve.py306 def test_cap_preserves_highest_priority_peer_when_trimming(self):
LOWtests/test_resolve.py318 def test_classification_error_returns_unwidened_list_and_logs(self):
LOWtests/test_resolve.py341 def test_auto_resolve_returns_category_key(self, mock_search):
LOWtests/test_resolve.py358 def test_no_backend_returns_category_none(self):
LOWtests/test_plugin_contract.py24 def test_codex_plugin_scaffold_stays_removed(self) -> None:
LOWtests/test_plugin_contract.py30 def test_versions_match_across_manifests(self) -> None:
1129 more matches not shown…
Decorative Section Separators122 hits · 454 pts
SeverityFileLineSnippet
MEDIUMtests/test_dedupe_v3.py34# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py36# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py57# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py59# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py80# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py82# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py104# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py106# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py158# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py160# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py15# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py17# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py130# ---------------------------------------------------------------------------
MEDIUMtests/test_dedupe_v3.py132# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py33# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py35# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py57# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py59# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py119# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py121# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py137# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py139# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py190# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py192# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py205# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py207# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py230# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py232# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py245# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py247# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py269# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py271# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py284# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py286# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py317# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py319# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py344# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py346# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py368# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py370# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py76# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py78# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py156# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py158# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py173# ---------------------------------------------------------------------------
MEDIUMtests/test_internals_v3.py175# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py141# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py143# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py158# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py160# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py195# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py197# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py209# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py211# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py228# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py230# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py240# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py242# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py261# ---------------------------------------------------------------------------
MEDIUMtests/test_chrome_cookies.py263# ---------------------------------------------------------------------------
62 more matches not shown…
Unused Imports116 hits · 106 pts
SeverityFileLineSnippet
LOWtests/test_planner_quiet_mode.py3
LOWtests/test_safari_cookies.py3
LOWtests/test_save_raw_per_entity.py7
LOWtests/test_cookie_extract.py3
LOWtests/test_cookie_extract.py6
LOWtests/test_cookie_extract.py6
LOWtests/test_cookie_extract.py6
LOWtests/test_cookie_extract.py6
LOWtests/test_cookie_extract.py11
LOWtests/test_cookie_extract.py11
LOWtests/test_chrome_cookies.py3
LOWtests/test_chrome_cookies.py6
LOWtests/test_chrome_cookies.py10
LOWtests/test_chrome_cookies.py12
LOWtests/test_chrome_cookies.py12
LOWtests/test_chrome_cookies.py12
LOWtests/test_chrome_cookies.py12
LOWtests/test_footer_nudge_suppression.py3
LOWtests/test_rerank_fun.py3
LOWtests/test_competitors_plan_threading.py3
LOWtests/test_competitors_plan_threading.py11
LOWtests/test_github.py3
LOWtests/test_truthsocial.py3
LOWtests/test_relevance.py8
LOWtests/test_relevance.py8
LOWtests/test_polymarket_disambiguation.py3
LOWtests/test_subproc.py8
LOWtests/test_competitors_resolve_integration.py3
LOWtests/test_setup_openclaw.py6
LOWtests/test_setup_openclaw.py8
LOWtests/test_quality_nudge.py8
LOWtests/test_env_cookies.py6
LOWtests/test_env_cookies.py8
LOWtests/test_instagram_sc.py5
LOWtests/test_categories.py12
LOWtests/test_polymarket.py3
LOWtests/test_polymarket.py4
LOWtests/test_setup_wizard.py7
LOWtests/test_competitors.py3
LOWtests/test_env_keychain.py11
LOWtests/test_digg.py3
LOWtests/test_digg.py9
LOWtests/test_vs_mode_fanout.py8
LOWtests/test_vs_mode_fanout.py10
LOWtests/test_vs_mode_fanout.py12
LOWtests/test_hackernews.py3
LOWtests/test_hackernews.py5
LOWtests/test_cli_competitors.py3
LOWtests/test_render_comparison_multi.py3
LOWtests/test_html_render.py3
LOWtests/test_competitor_subrun_isolation.py9
LOWtests/test_competitor_subrun_isolation.py11
LOWtests/test_competitor_subrun_isolation.py13
LOWtests/test_reddit_public.py7
LOWtests/test_bluesky.py5
LOWtests/test_watchlist_commands.py4
LOWtests/test_watchlist_commands.py14
LOWtests/test_competitor_fanout.py3
LOWtests/test_competitor_fanout.py6
LOWtests/test_competitor_fanout.py10
56 more matches not shown…
Excessive Try-Catch Wrapping90 hits · 94 pts
SeverityFileLineSnippet
LOWtests/test_competitors_resolve_integration.py292 except Exception as exc:
LOWtests/e2e_comparison.py110 except Exception as exc:
LOWtests/test_competitor_subrun_isolation.py85 except Exception:
LOWhooks/scripts/check-config.sh97except Exception:
LOWskills/last30days/scripts/evaluate_search_quality.py540 except Exception as exc:
LOWskills/last30days/scripts/last30days.py233 except Exception as exc:
LOWskills/last30days/scripts/last30days.py552 except Exception:
MEDIUMskills/last30days/scripts/last30days.py697 print("Error: --deep-research requires OPENROUTER_API_KEY", file=sys.stderr)
LOWskills/last30days/scripts/last30days.py839 except Exception as exc:
LOWskills/last30days/scripts/last30days.py905 except Exception as exc:
LOWskills/last30days/scripts/last30days.py963 except Exception:
LOWskills/last30days/scripts/watchlist.py36 except Exception as e:
LOWskills/last30days/scripts/lib/xurl_x.py94 except Exception as exc:
LOWskills/last30days/scripts/lib/truthsocial.py114 except Exception as e:
LOWskills/last30days/scripts/lib/hackernews.py120 except Exception as e:
LOWskills/last30days/scripts/lib/hackernews.py259 except Exception as e:
LOWskills/last30days/scripts/lib/reddit_keyless.py42 except Exception as e: # never let the demoted tier sink the run
LOWskills/last30days/scripts/lib/reddit_keyless.py128 except Exception:
LOWskills/last30days/scripts/lib/reddit_keyless.py153 except Exception:
LOWskills/last30days/scripts/lib/reddit_keyless.py160 except Exception:
LOWskills/last30days/scripts/lib/resolve.py43 except Exception as exc:
LOWskills/last30days/scripts/lib/resolve.py323 except Exception as exc:
LOWskills/last30days/scripts/lib/env.py436 except Exception:
LOWskills/last30days/scripts/lib/env.py668 except Exception as exc:
LOWskills/last30days/scripts/lib/polymarket.py326 except Exception as e:
LOWskills/last30days/scripts/lib/polymarket.py358 except Exception as e:
LOWskills/last30days/scripts/lib/subproc.py77 except Exception:
LOWskills/last30days/scripts/lib/bird_x.py192 except Exception as e:
LOWskills/last30days/scripts/lib/bird_x.py199 except Exception:
LOWskills/last30days/scripts/lib/perplexity.py86 except Exception as e:
LOWskills/last30days/scripts/lib/pinterest.py146 except Exception as e:
LOWskills/last30days/scripts/lib/setup_wizard.py445 except Exception:
LOWskills/last30days/scripts/lib/setup_wizard.py462 except Exception:
LOWskills/last30days/scripts/lib/setup_wizard.py53 except Exception as exc:
LOWskills/last30days/scripts/lib/setup_wizard.py81 except Exception as exc:
LOWskills/last30days/scripts/lib/setup_wizard.py529 except Exception as exc:
LOWskills/last30days/scripts/lib/threads.py162 except Exception as e:
LOWskills/last30days/scripts/lib/reddit_rss.py178 except Exception as e: # defensive: a single bad feed must not sink the run
LOWskills/last30days/scripts/lib/pipeline.py298 except Exception as exc:
LOWskills/last30days/scripts/lib/pipeline.py318 except Exception as exc:
LOWskills/last30days/scripts/lib/pipeline.py376 except Exception as exc:
LOWskills/last30days/scripts/lib/pipeline.py400 except Exception as retry_exc:
LOWskills/last30days/scripts/lib/pipeline.py687 except Exception as exc:
LOWskills/last30days/scripts/lib/pipeline.py714 except Exception as exc:
LOWskills/last30days/scripts/lib/pipeline.py840 except Exception as exc:
LOWskills/last30days/scripts/lib/pipeline.py884 except Exception as exc:
LOWskills/last30days/scripts/lib/pipeline.py904 except Exception as exc:
LOWskills/last30days/scripts/lib/pipeline.py939 except Exception:
LOWskills/last30days/scripts/lib/instagram.py290 except Exception as e:
LOWskills/last30days/scripts/lib/instagram.py348 except Exception as retry_e:
LOWskills/last30days/scripts/lib/instagram.py354 except Exception as e:
LOWskills/last30days/scripts/lib/instagram.py458 except Exception as e:
LOWskills/last30days/scripts/lib/quality_nudge.py39 except Exception:
LOWskills/last30days/scripts/lib/quality_nudge.py174 except Exception:
LOWskills/last30days/scripts/lib/tiktok.py220 except Exception as e:
LOWskills/last30days/scripts/lib/tiktok.py254 except Exception as e:
LOWskills/last30days/scripts/lib/tiktok.py298 except Exception as e:
LOWskills/last30days/scripts/lib/tiktok.py397 except Exception as e:
LOWskills/last30days/scripts/lib/tiktok.py543 except Exception as exc:
LOWskills/last30days/scripts/lib/tiktok.py585 except Exception as exc:
30 more matches not shown…
Deep Nesting52 hits · 48 pts
SeverityFileLineSnippet
LOWtests/test_pipeline_v3.py90
LOWskills/last30days/scripts/last30days.py556
LOWskills/last30days/scripts/lib/truthsocial.py57
LOWskills/last30days/scripts/lib/planner.py313
LOWskills/last30days/scripts/lib/planner.py517
LOWskills/last30days/scripts/lib/planner.py707
LOWskills/last30days/scripts/lib/reddit_keyless.py133
LOWskills/last30days/scripts/lib/resolve.py142
LOWskills/last30days/scripts/lib/env.py91
LOWskills/last30days/scripts/lib/env.py403
LOWskills/last30days/scripts/lib/render.py788
LOWskills/last30days/scripts/lib/render.py1397
LOWskills/last30days/scripts/lib/render.py1747
LOWskills/last30days/scripts/lib/polymarket.py331
LOWskills/last30days/scripts/lib/polymarket.py557
LOWskills/last30days/scripts/lib/bird_x.py417
LOWskills/last30days/scripts/lib/setup_wizard.py30
LOWskills/last30days/scripts/lib/setup_wizard.py101
LOWskills/last30days/scripts/lib/setup_wizard.py151
LOWskills/last30days/scripts/lib/setup_wizard.py492
LOWskills/last30days/scripts/lib/digg.py68
LOWskills/last30days/scripts/lib/providers.py263
LOWskills/last30days/scripts/lib/providers.py385
LOWskills/last30days/scripts/lib/pipeline.py141
LOWskills/last30days/scripts/lib/pipeline.py175
LOWskills/last30days/scripts/lib/pipeline.py595
LOWskills/last30days/scripts/lib/pipeline.py743
LOWskills/last30days/scripts/lib/http.py47
LOWskills/last30days/scripts/lib/fusion.py110
LOWskills/last30days/scripts/lib/instagram.py109
LOWskills/last30days/scripts/lib/instagram.py384
LOWskills/last30days/scripts/lib/instagram.py466
LOWskills/last30days/scripts/lib/tiktok.py60
LOWskills/last30days/scripts/lib/tiktok.py333
LOWskills/last30days/scripts/lib/tiktok.py405
LOWskills/last30days/scripts/lib/github.py521
LOWskills/last30days/scripts/lib/github.py778
LOWskills/last30days/scripts/lib/github.py896
LOWskills/last30days/scripts/lib/github.py922
LOWskills/last30days/scripts/lib/reddit_public.py59
LOWskills/last30days/scripts/lib/grounding.py194
LOWskills/last30days/scripts/lib/reddit.py441
LOWskills/last30days/scripts/lib/reddit.py572
LOWskills/last30days/scripts/lib/xquik.py65
LOWskills/last30days/scripts/lib/cookie_extract.py70
LOWskills/last30days/scripts/lib/xai_x.py128
LOWskills/last30days/scripts/lib/youtube_yt.py212
LOWskills/last30days/scripts/lib/youtube_yt.py593
LOWskills/last30days/scripts/lib/relevance.py95
LOWskills/last30days/scripts/lib/chrome_cookies.py176
LOWskills/last30days/scripts/lib/reddit_enrich.py71
LOWskills/last30days/scripts/lib/reddit_enrich.py147
Verbosity Indicators25 hits · 41 pts
SeverityFileLineSnippet
LOWskills/last30days/scripts/test_device_auth.py40 # Step 1: Start device flow
LOWskills/last30days/scripts/test_device_auth.py67 # Step 2: Poll for token
LOWskills/last30days/scripts/test_device_auth.py106 # Step 3: Fetch profile
LOWskills/last30days/scripts/lib/setup_wizard.py428 # Step 1: Start device flow
LOWskills/last30days/scripts/lib/setup_wizard.py437 # Step 2: Copy code to clipboard BEFORE opening browser
LOWskills/last30days/scripts/lib/setup_wizard.py448 # Step 3: Show code prominently, then open browser
LOWskills/last30days/scripts/lib/setup_wizard.py467 # Step 4: Poll for token (with periodic code reminders)
LOWskills/last30days/scripts/lib/setup_wizard.py475 # Step 4: Fetch API key
LOWskills/last30days/scripts/lib/setup_wizard.py504 # Step 1: Try PAT via gh CLI
LOWskills/last30days/scripts/lib/setup_wizard.py532 # Step 2: Fall back to device flow
LOWskills/last30days/scripts/lib/instagram.py495 # Step 0: Creator reels (high-signal, runs first)
LOWskills/last30days/scripts/lib/instagram.py506 # Step 1: Multi-query keyword search — run ScrapeCreators for each expanded query
LOWskills/last30days/scripts/lib/instagram.py524 # Step 2: Fetch captions for top N
LOWskills/last30days/scripts/lib/instagram.py527 # Step 3: Attach captions to items
LOWskills/last30days/scripts/lib/tiktok.py458 # Step 1: Multi-query keyword search — run ScrapeCreators for each expanded query
LOWskills/last30days/scripts/lib/tiktok.py476 # Step 2: Fetch captions for top N
LOWskills/last30days/scripts/lib/tiktok.py479 # Step 3: Attach captions to items
LOWskills/last30days/scripts/lib/youtube_yt.py414 # Step 1: Fetch the watch page HTML
LOWskills/last30days/scripts/lib/youtube_yt.py423 # Step 2: Extract captions URL from ytInitialPlayerResponse
LOWskills/last30days/scripts/lib/youtube_yt.py476 # Step 3: Fetch the VTT subtitle file
LOWskills/last30days/scripts/lib/youtube_yt.py665 # Step 1: Multi-query search — run yt-dlp for each expanded query
LOWskills/last30days/scripts/lib/youtube_yt.py683 # Step 2: Fetch transcripts for top videos by views.
LOWskills/last30days/scripts/lib/youtube_yt.py700 # Step 3: Attach transcripts and extract highlights. Mark captions_disabled
LOWskills/last30days/scripts/lib/youtube_yt.py889 # Step 1: Search
LOWskills/last30days/scripts/lib/youtube_yt.py947 # Step 2: Fetch transcripts for top videos
Docstring Block Structure5 hits · 25 pts
SeverityFileLineSnippet
HIGHskills/last30days/scripts/lib/subproc.py37Run a subprocess with process-group cleanup on timeout. Spawns ``cmd`` inside its own process group via ``os.setsid
HIGHskills/last30days/scripts/lib/http.py58Make an HTTP request and return JSON response. Args: method: HTTP method (GET, POST, etc.) url: Req
HIGHskills/last30days/scripts/lib/http.py240Fetch a URL and return decoded text, or None on any failure. Keyless helper for Reddit RSS and shreddit HTML endpoi
HIGHskills/last30days/scripts/lib/reddit_enrich.py41Fetch Reddit thread JSON data. Args: url: Reddit thread URL mock_data: Mock data for testing
HIGHskills/last30days/scripts/lib/reddit_enrich.py203Enrich a Reddit item with real engagement data. Args: item: Reddit item dict mock_thread_data: Mock
AI Slop Vocabulary3 hits · 8 pts
SeverityFileLineSnippet
LOWtests/test_polymarket.py101 # Single word, should just return that word
MEDIUMskills/last30days/scripts/lib/bird_x.py141 """Get comprehensive Bird search status.
MEDIUMskills/last30days/scripts/lib/github.py775# Project-mode search: fetch comprehensive data for specific repos
Redundant / Tautological Comments5 hits · 8 pts
SeverityFileLineSnippet
LOWskills/last30days/scripts/lib/env.py79 # Check if group or other can read (bits 0o044)
LOWskills/last30days/scripts/lib/ui.py11# Check if we're in a real terminal (not captured by Claude Code)
LOWskills/last30days/scripts/lib/bird_x.py305 # Check if we got results
LOWskills/last30days/scripts/lib/pipeline.py662 # Check if X is rate-limited
LOWskills/last30days/scripts/lib/quality_nudge.py170 # Check if configured but errored (yt-dlp installed but failed this run)
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippet
MEDIUMskills/last30days/scripts/lib/pipeline.py790 # Create a retry subquery with the simplified core subject
Slop Phrases2 hits · 2 pts
SeverityFileLineSnippet
LOWtests/test_youtube_yt.py93 "Don't forget to subscribe and hit the bell. "
LOWskills/last30days/scripts/lib/youtube_yt.py62 r"^(hey |hi |what's up|welcome back|in today's video|don't forget to)",
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWskills/last30days/scripts/setup-keychain.sh8# Usage:
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippet
LOWtests/test_planner_quiet_mode.py17 topic="Acme Corp",
Over-Commented Block1 hit · 1 pts
SeverityFileLineSnippet
LOWskills/last30days/scripts/setup-keychain.sh1#!/bin/bash