AI Slop Code Risk Monitor

tw93/Kami

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

👩‍🚒 Good content deserves good paper. Layout rules and templates that let AI agents export PDF, PNG and editable PowerPoint.

6.4 Moderate pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for tw93/Kami, a HTML project with 12,180 GitHub stars. SynthScan examined 96,696 lines of code across 362 source files, recording 494 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 6.4 (Moderate 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.

6.4
Adjusted Signal
6.4
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
12.2K
Stars
HTML
Language
96.7K
Lines of Code
362
Files
494
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 14.2/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 3.9/100 · LOW

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

Agent Over-Engineering Ratio 21.1/100 · LOW

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

PR Review Velocity Impact 28.6/100 · MEDIUM

Which changes need focused human review? 494 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 53LOW 431

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

Hyper-Verbose Identifiers233 hits · 215 pts
SeverityFileLineSnippetContext
LOWplugins/kami/skills/kami/scripts/mermaid_normalize.py266def _assert_beautiful_mermaid(svg: str) -> None:CODE
LOWplugins/kami/skills/kami/scripts/site_facts.py168def _drop_language_redirect_script(rows: list[str]) -> list[str]:CODE
LOWplugins/kami/skills/kami/scripts/shared.py62def configure_weasyprint_runtime() -> None:CODE
LOWplugins/kami/skills/kami/scripts/shared.py211def public_document_template_kinds() -> set[str]:CODE
LOWplugins/kami/skills/kami/scripts/shared.py224def public_document_template_count() -> int:CODE
LOWplugins/kami/skills/kami/scripts/content.py207 def _handle_ambiguous_starttag(CODE
LOWplugins/kami/skills/kami/scripts/content.py418def _changelog_contract_issues(content: dict) -> list[str]:CODE
LOWplugins/kami/skills/kami/scripts/html_visibility.py283def _document_custom_properties(raw: str) -> dict[str, str]:CODE
LOWplugins/kami/skills/kami/scripts/html_visibility.py858 def _implicitly_closed_by_start(open_tag: str, new_tag: str) -> bool:CODE
LOWplugins/kami/skills/kami/scripts/html_visibility.py884 def _implicitly_closed_by_end(open_tag: str, end_tag: str) -> bool:CODE
LOWplugins/kami/skills/kami/scripts/html_visibility.py898 def _implicit_start_boundaries(new_tag: str) -> set[str]:CODE
LOWplugins/kami/skills/kami/scripts/html_visibility.py1096 def _handle_ambiguous_starttag(CODE
LOWplugins/kami/skills/kami/scripts/lint.py83def _strip_css_block_comments(text: str) -> str:CODE
LOWplugins/kami/skills/kami/scripts/lint.py445def _emphasis_container_findings(path: Path) -> list[Finding]:CODE
LOWplugins/kami/skills/kami/scripts/lint.py576def _undefined_token_findings(CODE
LOWplugins/kami/skills/kami/scripts/lint.py699def check_cross_template_consistency(verbose: bool = False) -> int:CODE
LOWscripts/build_metadata.py510def should_include_skill_mirror_file(path: Path) -> bool:CODE
LOWscripts/tests/test_package.py92def test_render_examples_are_ignored_and_untracked() -> None:CODE
LOWscripts/tests/test_package.py111def test_dist_package_contents() -> None:CODE
LOWscripts/tests/test_package.py174def test_package_failure_preserves_last_good_archive() -> None:CODE
LOWscripts/tests/test_package.py197def test_plugin_metadata_generated() -> None:CODE
LOWscripts/tests/test_package.py214def test_claude_plugin_marketplace_version_matches_version_file() -> None:CODE
LOWscripts/tests/test_package.py250def test_build_metadata_reads_tokens_from_root_argument() -> None:CODE
LOWscripts/tests/test_package.py265def test_catalog_lists_pptx_for_slides() -> None:CODE
LOWscripts/tests/test_package.py344def test_check_update_defaults_to_latest_published_release() -> None:CODE
LOWscripts/tests/test_package.py374def test_check_update_uses_codex_plugin_update_command() -> None:CODE
LOWscripts/tests/test_package.py413def test_check_update_uses_claude_plugin_update_command() -> None:CODE
LOWscripts/tests/test_package.py447def test_release_gate_rejects_identity_mismatches() -> None:CODE
LOWscripts/tests/test_package.py460def test_release_gate_resolves_only_the_tag_namespace() -> None:CODE
LOWscripts/tests/test_package.py476def test_release_gate_requires_main_push_provenance() -> None:CODE
LOWscripts/tests/test_package.py499def test_release_gate_requires_mainline_reachability() -> None:CODE
LOWscripts/tests/test_package.py517def test_release_gate_compares_zip_payloads_not_container_bytes() -> None:CODE
LOWscripts/tests/test_package.py554def test_release_workflow_reads_back_required_reactions() -> None:CODE
LOWscripts/tests/test_package.py565def test_release_workflow_preserves_published_version_payloads() -> None:CODE
LOWscripts/tests/test_package.py580def test_release_note_help_matches_placeholder_flow() -> None:CODE
LOWscripts/tests/test_package.py593def test_release_note_scaffold_matches_published_shape() -> None:CODE
LOWscripts/tests/test_package.py614def test_plugin_mirror_follows_tracked_files() -> None:CODE
LOWscripts/tests/test_package.py636def test_mcp_server_card_install_path_matches_developer_docs() -> None:CODE
LOW⚡scripts/tests/test_templates.py978def test_check_placeholders_passes_clean() -> None:CODE
LOW⚡scripts/tests/test_templates.py988def test_markdown_residue_flags_raw_markers() -> None:CODE
LOWscripts/tests/test_templates.py32def test_long_doc_templates_use_rendered_toc_pages_and_chapter_headers() -> None:CODE
LOWscripts/tests/test_templates.py78def test_chinese_html_templates_keep_single_serif_stack() -> None:CODE
LOWscripts/tests/test_templates.py124def test_korean_templates_carry_resolvable_serif_name() -> None:CODE
LOWscripts/tests/test_templates.py162def test_sibling_placeholder_hints_stay_in_parity() -> None:CODE
LOWscripts/tests/test_templates.py190def test_font_fallback_markers_recognize_pt_serif() -> None:CODE
LOWscripts/tests/test_templates.py202def test_print_surfaces_have_no_ornamental_brand_lines() -> None:CODE
LOWscripts/tests/test_templates.py234def test_shipped_surfaces_keep_subtractive_defaults() -> None:CODE
LOWscripts/tests/test_templates.py312def test_print_radius_guidance_matches_shipped_range() -> None:CODE
LOWscripts/tests/test_templates.py323def test_reviewed_demo_details_keep_quiet_hierarchy() -> None:CODE
LOWscripts/tests/test_templates.py369def test_table_components_keep_one_quiet_rule_system() -> None:CODE
LOWscripts/tests/test_templates.py455def test_documented_snippets_answer_to_template_rules() -> None:CODE
LOWscripts/tests/test_templates.py515def test_emphasis_container_mix_counts_distinct_fills() -> None:CODE
LOWscripts/tests/test_templates.py559def test_templates_declare_jetbrains_mono_exactly_where_used() -> None:CODE
LOWscripts/tests/test_templates.py575def test_template_web_fonts_resolve_from_kami_cdn() -> None:CODE
LOWscripts/tests/test_templates.py589def test_brand_logo_slot_matches_across_locale_variants() -> None:CODE
LOWscripts/tests/test_templates.py832def test_off_palette_scans_site_demos_and_rejects_empty_checkout_scope() -> None:CODE
LOWscripts/tests/test_templates.py876def test_scan_file_ignores_block_comment_rgba() -> None:CODE
LOWscripts/tests/test_templates.py944def test_emphasis_exemption_matches_whole_class_names() -> None:CODE
LOWscripts/tests/test_templates.py1011def test_check_markdown_residue_skips_html_code_blocks() -> None:CODE
LOWscripts/tests/test_templates.py1058def test_pair_names_includes_known_pairs() -> None:CODE
173 more matches not shown…
Decorative Section Separators48 hits · 144 pts
SeverityFileLineSnippetContext
MEDIUMplugins/kami/skills/kami/scripts/mermaid_normalize.py73# ---------------------------------------------------------------------------COMMENT
MEDIUMplugins/kami/skills/kami/scripts/mermaid_normalize.py75# ---------------------------------------------------------------------------COMMENT
MEDIUMplugins/kami/skills/kami/scripts/mermaid_normalize.py101# ---------------------------------------------------------------------------COMMENT
MEDIUMplugins/kami/skills/kami/scripts/mermaid_normalize.py103# ---------------------------------------------------------------------------COMMENT
MEDIUMplugins/kami/skills/kami/scripts/mermaid_normalize.py203# ---------------------------------------------------------------------------COMMENT
MEDIUMplugins/kami/skills/kami/scripts/mermaid_normalize.py205# ---------------------------------------------------------------------------COMMENT
MEDIUMplugins/kami/skills/kami/scripts/shared.py105# ---------------------------------------------------------------------------COMMENT
MEDIUMplugins/kami/skills/kami/scripts/shared.py110# ---------------------------------------------------------------------------COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides-en.py21# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides-en.py23# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides-en.py44# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides-en.py46# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides-en.py93# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides-en.py95# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides-en.py278# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides-en.py280# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides.py21# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides.py23# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides.py50# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides.py52# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides.py102# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides.py104# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides.py315# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMplugins/kami/skills/kami/assets/templates/slides.py317# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/scripts/mermaid_normalize.py73# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/kami/scripts/mermaid_normalize.py75# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/kami/scripts/mermaid_normalize.py101# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/kami/scripts/mermaid_normalize.py103# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/kami/scripts/mermaid_normalize.py203# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/kami/scripts/mermaid_normalize.py205# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/kami/scripts/shared.py105# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/kami/scripts/shared.py110# ---------------------------------------------------------------------------COMMENT
MEDIUMskills/kami/assets/templates/slides-en.py21# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides-en.py23# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides-en.py44# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides-en.py46# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides-en.py93# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides-en.py95# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides-en.py278# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides-en.py280# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides.py21# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides.py23# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides.py50# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides.py52# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides.py102# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides.py104# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides.py315# ═══════════════════════════════════════════════════════════COMMENT
MEDIUMskills/kami/assets/templates/slides.py317# ═══════════════════════════════════════════════════════════COMMENT
Unused Imports79 hits · 76 pts
SeverityFileLineSnippetContext
LOWevals/score.py21CODE
LOWevals/score.py27CODE
LOWplugins/kami/skills/kami/scripts/build.py46CODE
LOWplugins/kami/skills/kami/scripts/mermaid_normalize.py32CODE
LOWplugins/kami/skills/kami/scripts/render.py10CODE
LOWplugins/kami/skills/kami/scripts/render.py23CODE
LOWplugins/kami/skills/kami/scripts/site_facts.py7CODE
LOWplugins/kami/skills/kami/scripts/font_compat.py16CODE
LOWplugins/kami/skills/kami/scripts/checks.py14CODE
LOWplugins/kami/skills/kami/scripts/chart.py34CODE
LOWplugins/kami/skills/kami/scripts/tokens.py7CODE
LOWplugins/kami/skills/kami/scripts/diagram_geometry.py6CODE
LOWplugins/kami/skills/kami/scripts/shared.py2CODE
LOWplugins/kami/skills/kami/scripts/content.py17CODE
LOWplugins/kami/skills/kami/scripts/content.py22CODE
LOWplugins/kami/skills/kami/scripts/visual.py13CODE
LOWplugins/kami/skills/kami/scripts/brand_extract.py13CODE
LOWplugins/kami/skills/kami/scripts/highlight.py7CODE
LOWplugins/kami/skills/kami/scripts/highlight.py168CODE
LOWplugins/kami/skills/kami/scripts/verify.py9CODE
LOWplugins/kami/skills/kami/scripts/math_render.py12CODE
LOWplugins/kami/skills/kami/scripts/deliver.py21CODE
LOWplugins/kami/skills/kami/scripts/html_visibility.py7CODE
LOWplugins/kami/skills/kami/scripts/optional_deps.py8CODE
LOWplugins/kami/skills/kami/scripts/mcp_server.py26CODE
LOWplugins/kami/skills/kami/scripts/hangul.py15CODE
LOWplugins/kami/skills/kami/scripts/lint.py13CODE
LOWscripts/build_metadata.py33CODE
LOWscripts/draft-release-notes.py20CODE
LOWscripts/release_gate.py3CODE
LOWscripts/tests/test_package.py2CODE
LOWscripts/tests/support.py2CODE
LOWscripts/tests/test_templates.py2CODE
LOWscripts/tests/test_korean.py2CODE
LOWscripts/tests/test_korean.py5CODE
LOWscripts/tests/test_brand.py2CODE
LOWscripts/tests/test_corpus.py15CODE
LOWscripts/tests/test_corpus.py63CODE
LOWscripts/tests/test_corpus.py64CODE
LOWscripts/tests/test_corpus.py65CODE
LOWscripts/tests/test_corpus.py92CODE
LOWscripts/tests/test_corpus.py93CODE
LOWscripts/tests/test_build.py2CODE
LOWscripts/tests/test_site.py2CODE
LOWscripts/tests/test_content.py2CODE
LOWscripts/tests/test_render.py2CODE
LOWscripts/tests/test_render.py359CODE
LOWscripts/tests/test_render.py360CODE
LOWscripts/tests/test_deliver.py2CODE
LOWscripts/tests/test_mcp.py2CODE
LOWscripts/tests/test_evals.py2CODE
LOWscripts/tests/test_chart.py2CODE
LOWscripts/tests/test_diagrams.py2CODE
LOWscripts/tests/test_math.py2CODE
LOWskills/kami/scripts/build.py46CODE
LOWskills/kami/scripts/mermaid_normalize.py32CODE
LOWskills/kami/scripts/render.py10CODE
LOWskills/kami/scripts/render.py23CODE
LOWskills/kami/scripts/site_facts.py7CODE
LOWskills/kami/scripts/font_compat.py16CODE
19 more matches not shown…
Deep Nesting63 hits · 60 pts
SeverityFileLineSnippetContext
LOWevals/score.py254CODE
LOWplugins/kami/skills/kami/scripts/mermaid_normalize.py105CODE
LOWplugins/kami/skills/kami/scripts/mermaid_normalize.py118CODE
LOWplugins/kami/skills/kami/scripts/mermaid_normalize.py217CODE
LOWplugins/kami/skills/kami/scripts/mermaid_normalize.py151CODE
LOWplugins/kami/skills/kami/scripts/site_facts.py208CODE
LOWplugins/kami/skills/kami/scripts/checks.py193CODE
LOWplugins/kami/skills/kami/scripts/checks.py262CODE
LOWplugins/kami/skills/kami/scripts/checks.py312CODE
LOWplugins/kami/skills/kami/scripts/chart.py606CODE
LOWplugins/kami/skills/kami/scripts/diagram_geometry.py79CODE
LOWplugins/kami/skills/kami/scripts/diagram_geometry.py147CODE
LOWplugins/kami/skills/kami/scripts/content.py237CODE
LOWplugins/kami/skills/kami/scripts/content.py297CODE
LOWplugins/kami/skills/kami/scripts/content.py536CODE
LOWplugins/kami/skills/kami/scripts/content.py576CODE
LOWplugins/kami/skills/kami/scripts/brand_extract.py167CODE
LOWplugins/kami/skills/kami/scripts/verify.py101CODE
LOWplugins/kami/skills/kami/scripts/verify.py164CODE
LOWplugins/kami/skills/kami/scripts/verify.py371CODE
LOWplugins/kami/skills/kami/scripts/verify.py535CODE
LOWplugins/kami/skills/kami/scripts/deliver.py152CODE
LOWplugins/kami/skills/kami/scripts/html_visibility.py105CODE
LOWplugins/kami/skills/kami/scripts/html_visibility.py152CODE
LOWplugins/kami/skills/kami/scripts/html_visibility.py232CODE
LOWplugins/kami/skills/kami/scripts/html_visibility.py283CODE
LOWplugins/kami/skills/kami/scripts/html_visibility.py563CODE
LOWplugins/kami/skills/kami/scripts/hangul.py76CODE
LOWplugins/kami/skills/kami/scripts/lint.py97CODE
LOWscripts/tests/test_package.py111CODE
LOWscripts/tests/test_templates.py162CODE
LOWscripts/tests/test_content.py85CODE
LOWscripts/tests/test_render.py244CODE
LOWscripts/tests/test_render.py788CODE
LOWscripts/tests/test_render.py807CODE
LOWskills/kami/scripts/mermaid_normalize.py105CODE
LOWskills/kami/scripts/mermaid_normalize.py118CODE
LOWskills/kami/scripts/mermaid_normalize.py217CODE
LOWskills/kami/scripts/mermaid_normalize.py151CODE
LOWskills/kami/scripts/site_facts.py208CODE
LOWskills/kami/scripts/checks.py193CODE
LOWskills/kami/scripts/checks.py262CODE
LOWskills/kami/scripts/checks.py312CODE
LOWskills/kami/scripts/chart.py606CODE
LOWskills/kami/scripts/diagram_geometry.py79CODE
LOWskills/kami/scripts/diagram_geometry.py147CODE
LOWskills/kami/scripts/content.py237CODE
LOWskills/kami/scripts/content.py297CODE
LOWskills/kami/scripts/content.py536CODE
LOWskills/kami/scripts/content.py576CODE
LOWskills/kami/scripts/brand_extract.py167CODE
LOWskills/kami/scripts/verify.py101CODE
LOWskills/kami/scripts/verify.py164CODE
LOWskills/kami/scripts/verify.py371CODE
LOWskills/kami/scripts/verify.py535CODE
LOWskills/kami/scripts/deliver.py152CODE
LOWskills/kami/scripts/html_visibility.py105CODE
LOWskills/kami/scripts/html_visibility.py152CODE
LOWskills/kami/scripts/html_visibility.py232CODE
LOWskills/kami/scripts/html_visibility.py283CODE
3 more matches not shown…
Empty Error Handlers10 hits · 50 pts
SeverityFileLineSnippetContext
HIGHplugins/kami/skills/kami/scripts/mermaid_normalize.py68except (OSError, ValueError):CODE
HIGHplugins/kami/skills/kami/scripts/render.py53except FileNotFoundError:CODE
HIGHplugins/kami/skills/kami/scripts/verify.py97except FileNotFoundError:CODE
HIGHplugins/kami/skills/kami/scripts/deliver.py180except (json.JSONDecodeError, OSError):CODE
HIGHplugins/kami/skills/kami/scripts/mcp_server.py281except OSError:CODE
HIGHskills/kami/scripts/mermaid_normalize.py68except (OSError, ValueError):CODE
HIGHskills/kami/scripts/render.py53except FileNotFoundError:CODE
HIGHskills/kami/scripts/verify.py97except FileNotFoundError:CODE
HIGHskills/kami/scripts/deliver.py180except (json.JSONDecodeError, OSError):CODE
HIGHskills/kami/scripts/mcp_server.py281except OSError:CODE
Excessive Try-Catch Wrapping45 hits · 46 pts
SeverityFileLineSnippetContext
LOWevals/score.py78 except Exception as exc: # a crashing gate is a failed gate, not a crashed scorerCODE
LOWplugins/kami/skills/kami/scripts/build.py110 except Exception as exc: # WeasyPrint / pypdf / OS errors: report, keep the sweep goingCODE
LOWplugins/kami/skills/kami/scripts/font_compat.py74 except Exception:CODE
LOWplugins/kami/skills/kami/scripts/font_compat.py144 except Exception:CODE
LOWplugins/kami/skills/kami/scripts/checks.py98 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/checks.py222 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/checks.py357 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/checks.py486 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/visual.py130 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/highlight.py139 except Exception:CODE
LOWplugins/kami/skills/kami/scripts/verify.py107 except Exception:CODE
LOWplugins/kami/skills/kami/scripts/verify.py129 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/verify.py273 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/verify.py463 except Exception as exc: # WeasyPrint / pypdf / OS errors: report, keep the sweep goingCODE
LOWplugins/kami/skills/kami/scripts/math_render.py435 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/math_render.py601 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/deliver.py115 except Exception as exc: # a crashing gate must not cost the verdictCODE
LOWplugins/kami/skills/kami/scripts/deliver.py242 except Exception as exc: # WeasyPrint and math failures both block deliveryCODE
LOWplugins/kami/skills/kami/scripts/deliver.py265 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/optional_deps.py111 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/mcp_server.py501 except Exception as exc:CODE
LOWplugins/kami/skills/kami/scripts/mcp_server.py526 except Exception:CODE
LOWscripts/tests/test_korean.py68 except Exception as exc:CODE
MEDIUMscripts/tests/test_korean.py61def test_korean_render_is_visible_and_breaks_between_words() -> None:CODE
LOWskills/kami/scripts/build.py110 except Exception as exc: # WeasyPrint / pypdf / OS errors: report, keep the sweep goingCODE
LOWskills/kami/scripts/font_compat.py74 except Exception:CODE
LOWskills/kami/scripts/font_compat.py144 except Exception:CODE
LOWskills/kami/scripts/checks.py98 except Exception as exc:CODE
LOWskills/kami/scripts/checks.py222 except Exception as exc:CODE
LOWskills/kami/scripts/checks.py357 except Exception as exc:CODE
LOWskills/kami/scripts/checks.py486 except Exception as exc:CODE
LOWskills/kami/scripts/visual.py130 except Exception as exc:CODE
LOWskills/kami/scripts/highlight.py139 except Exception:CODE
LOWskills/kami/scripts/verify.py107 except Exception:CODE
LOWskills/kami/scripts/verify.py129 except Exception as exc:CODE
LOWskills/kami/scripts/verify.py273 except Exception as exc:CODE
LOWskills/kami/scripts/verify.py463 except Exception as exc: # WeasyPrint / pypdf / OS errors: report, keep the sweep goingCODE
LOWskills/kami/scripts/math_render.py435 except Exception as exc:CODE
LOWskills/kami/scripts/math_render.py601 except Exception as exc:CODE
LOWskills/kami/scripts/deliver.py115 except Exception as exc: # a crashing gate must not cost the verdictCODE
LOWskills/kami/scripts/deliver.py242 except Exception as exc: # WeasyPrint and math failures both block deliveryCODE
LOWskills/kami/scripts/deliver.py265 except Exception as exc:CODE
LOWskills/kami/scripts/optional_deps.py111 except Exception as exc:CODE
LOWskills/kami/scripts/mcp_server.py501 except Exception as exc:CODE
LOWskills/kami/scripts/mcp_server.py526 except Exception:CODE
Modern AI Meta-Vocabulary3 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUMplugins/kami/skills/kami/references/design.md1411### Multilingual SEO scaffoldingCOMMENT
MEDIUMsite/assets/demos/demo-waza.html414 <text x="360" y="78" fill="#141413" font-size="13" font-weight="500" font-family="'TsangerJinKai02', 'Source Han SCODE
MEDIUMskills/kami/references/design.md1411### Multilingual SEO scaffoldingCOMMENT
Over-Commented Block6 hits · 6 pts
SeverityFileLineSnippetContext
LOWplugins/kami/skills/kami/scripts/ensure-fonts.sh1#!/usr/bin/env bashCOMMENT
LOWplugins/kami/skills/kami/scripts/lint.py241 return 1COMMENT
LOWplugins/kami/skills/kami/scripts/lint.py541# with the same rules the templates answer to, and every var() it names mustCOMMENT
LOWskills/kami/scripts/ensure-fonts.sh1#!/usr/bin/env bashCOMMENT
LOWskills/kami/scripts/lint.py241 return 1COMMENT
LOWskills/kami/scripts/lint.py541# with the same rules the templates answer to, and every var() it names mustCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMevals/score.py88 # The harness seals the run tree with mode 000; the scorer runs as its owner.COMMENT
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOWplugins/kami/skills/kami/scripts/mermaid_normalize.py325CODE
LOWskills/kami/scripts/mermaid_normalize.py325CODE
Modern Structural Boilerplate2 hits · 2 pts
SeverityFileLineSnippetContext
LOWplugins/kami/skills/kami/scripts/render.py62def set_pdf_metadata(pdf_path: Path, author: str | None = None) -> None:CODE
LOWskills/kami/scripts/render.py62def set_pdf_metadata(pdf_path: Path, author: str | None = None) -> None:CODE
Overly Generic Function Names1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/tests/test_render.py342def helper():CODE
Fake / Example Data1 hit · 1 pts
SeverityFileLineSnippetContext
LOWscripts/tests/test_mcp.py157 and "placeholder" in broken_result["report"].lower(),CODE