120 marketing skills + 8 commands for Claude Code & AI agents across 7 disciplines — SEO/GEO, influencer, paid ads, email, product launch, organic social & brand narrative — on one shared contract, with 8 auditor gates: CORE-EEAT · CITE · STAR · ROAS · SEND · RAMP · ECHO · TALE.
This report presents the forensic synthetic code analysis of aaron-he-zhu/aaron-marketing-skills, a Python project with 2,382 GitHub stars. SynthScan v2.0 examined 75,345 lines of code across 559 source files, recording 425 pattern matches distributed across 11 syntactic categories. The overall adjusted score of 5.7 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 425 distinct pattern matches across 11 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_distribution_builder.py | 29 | def test_plugin_contains_runtime_and_excludes_maintenance(self): | CODE |
| LOW | tests/test_distribution_builder.py | 54 | def test_standalone_contains_only_one_skill_payload(self): | CODE |
| LOW | tests/test_distribution_builder.py | 61 | def test_plugin_runtime_markdown_links_are_closed(self): | CODE |
| LOW⚡ | tests/test_rubric_score.py | 109 | def test_complete_roas_run_scores_and_ships(self): | CODE |
| LOW⚡ | tests/test_rubric_score.py | 116 | def test_missing_item_is_unknown_and_prevents_total(self): | CODE |
| LOW⚡ | tests/test_rubric_score.py | 125 | def test_exact_dimension_math_is_preserved_until_the_final_floor(self): | CODE |
| LOW⚡ | tests/test_rubric_score.py | 173 | def test_multi_veto_blocks_without_execution_failure(self): | CODE |
| LOW⚡ | tests/test_rubric_score.py | 183 | def test_incomplete_multi_veto_still_has_completed_block_status(self): | CODE |
| LOW⚡ | tests/test_rubric_score.py | 193 | def test_required_framework_context_is_enforced(self): | CODE |
| LOW⚡ | tests/test_rubric_score.py | 199 | def test_ramp_profiles_do_not_mix_time_horizons(self): | CODE |
| LOW⚡ | tests/test_rubric_score.py | 368 | def test_evidence_date_cannot_be_in_the_future_of_the_run(self): | CODE |
| LOW⚡ | tests/test_rubric_score.py | 374 | def test_low_confidence_ship_carries_confidence_caveat(self): | CODE |
| LOW⚡ | tests/test_rubric_score.py | 383 | def test_high_confidence_ship_has_no_confidence_caveat(self): | CODE |
| LOW | tests/test_rubric_score.py | 85 | def test_catalog_contains_eight_frameworks(self): | CODE |
| LOW | tests/test_rubric_score.py | 88 | def test_malformed_catalog_fails_closed_without_crashing(self): | CODE |
| LOW | tests/test_rubric_score.py | 152 | def test_na_requires_catalog_permission_and_reason(self): | CODE |
| LOW | tests/test_rubric_score.py | 211 | def test_echo_asset_gate_contains_only_asset_relevant_controls(self): | CODE |
| LOW | tests/test_rubric_score.py | 220 | def test_all_na_weighted_dimension_never_crashes_or_renormalizes(self): | CODE |
| LOW | tests/test_rubric_score.py | 233 | def test_profile_context_must_match(self): | CODE |
| LOW | tests/test_rubric_score.py | 239 | def test_unknown_fields_and_ambiguous_unknown_fail_closed(self): | CODE |
| LOW | tests/test_rubric_score.py | 256 | def test_star_forecast_requires_actual_only_items_to_be_na(self): | CODE |
| LOW | tests/test_rubric_score.py | 267 | def test_star_attribution_failure_emits_results_unverified_flag(self): | CODE |
| LOW | tests/test_rubric_score.py | 273 | def test_json_valid_malicious_types_raise_rubric_errors(self): | CODE |
| LOW | tests/test_rubric_score.py | 289 | def test_non_finite_json_constants_fail_before_scoring(self): | CODE |
| LOW | tests/test_rubric_score.py | 296 | def test_input_file_and_profile_item_counts_are_bounded(self): | CODE |
| LOW | tests/test_rubric_score.py | 323 | def test_extreme_numbers_and_deep_context_fail_without_runtime_tracebacks(self): | CODE |
| LOW | tests/test_rubric_score.py | 350 | def test_catalog_canonicalization_is_linear_and_depth_bounded(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 78 | def test_private_access_requires_explicit_opt_in(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 81 | def test_non_http_and_embedded_credentials_are_blocked(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 86 | def test_all_resolved_addresses_must_be_public(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 94 | def test_redirect_handler_revalidates_target(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 100 | def test_redirect_blocks_tls_downgrade(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 179 | def test_gzip_decode_is_output_bounded(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 188 | def test_gzip_decode_supports_concatenated_members(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 197 | def test_gzip_decode_rejects_truncated_footer(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 206 | def test_gzip_decode_rejects_empty_truncated_stream(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 212 | def test_gzip_validates_corrupt_footer_after_output_cap(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 222 | def test_gzip_rejects_unvalidated_work_beyond_hard_ceiling(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 836 | def test_longest_match_wins_and_allow_beats_disallow(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 845 | def test_wildcard_and_end_anchor(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 853 | def test_lcp_threshold_boundaries(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 859 | def test_cls_none_and_unknown_metric(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 867 | def test_slugify_normalizes_collapses_and_defaults(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 872 | def test_flatten_dotted_keys_and_list_indices(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 901 | def test_read_commands_are_not_mutating(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 908 | def test_every_send_path_is_flagged_mutating(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 915 | def test_seed_expands_one_message_per_recipient(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 923 | def test_send_requires_content_and_recipients(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 930 | def test_suppress_quotes_email_in_path_and_sets_unsubscribed(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 937 | def test_sends_carry_idempotency_key_but_non_supporting_calls_do_not(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 1017 | def test_answer_level_passthrough(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 1021 | def test_extract_targets_and_url_shape(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 1030 | def test_extract_preflight_blocks_on_disallow(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 1067 | def test_build_url_per_resolver(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 1073 | def test_build_url_encodes_title(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 1078 | def test_default_range_monthly_uses_full_months(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 1084 | def test_default_range_daily_excludes_today(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 1293 | def test_lookup_batches_ids_and_flags_bad_ones(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 1302 | def test_charts_url_uses_new_marketingtools_host_and_documented_sizes(self): | CODE |
| LOW⚡ | tests/test_connectors_local.py | 1310 | def test_search_url_locks_media_to_software_and_caps_limit(self): | CODE |
| 207 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_distribution_builder.py | 61 | CODE | |
| LOW | scripts/golden-auditor-math.py | 71 | CODE | |
| LOW | scripts/generate-auditor-runtime.py | 129 | CODE | |
| LOW | scripts/rubric-score.py | 100 | CODE | |
| LOW | scripts/rubric-score.py | 205 | CODE | |
| LOW | scripts/validate-audit-artifact.py | 107 | CODE | |
| LOW | scripts/validate-audit-artifact.py | 272 | CODE | |
| LOW | scripts/validate-audit-artifact.py | 519 | CODE | |
| LOW | scripts/validate-audit-artifact.py | 598 | CODE | |
| LOW | scripts/check-architecture.py | 293 | CODE | |
| LOW | scripts/check-architecture.py | 597 | CODE | |
| LOW | scripts/check-pii.py | 92 | CODE | |
| LOW | scripts/check-memory-private.py | 297 | CODE | |
| LOW | scripts/check-memory-private.py | 362 | CODE | |
| LOW | scripts/check-evals.py | 135 | CODE | |
| LOW | scripts/registry-events.py | 389 | CODE | |
| LOW | scripts/registry-events.py | 426 | CODE | |
| LOW | scripts/registry-events.py | 444 | CODE | |
| LOW | scripts/registry-events.py | 604 | CODE | |
| LOW | scripts/registry-events.py | 1043 | CODE | |
| LOW | scripts/registry-events.py | 1104 | CODE | |
| LOW | scripts/registry-events.py | 1327 | CODE | |
| LOW | scripts/registry-events.py | 1438 | CODE | |
| LOW | scripts/registry-events.py | 1480 | CODE | |
| LOW | scripts/registry-events.py | 1718 | CODE | |
| LOW | scripts/check-local-links.py | 44 | CODE | |
| LOW | scripts/connectors/crawl.py | 91 | CODE | |
| LOW | scripts/connectors/_http.py | 318 | CODE | |
| LOW | scripts/connectors/_http.py | 395 | CODE | |
| LOW | scripts/connectors/sitemap.py | 52 | CODE | |
| LOW | scripts/connectors/sitemap.py | 192 | CODE | |
| LOW | scripts/connectors/sitemap.py | 262 | CODE | |
| LOW | scripts/connectors/onpage.py | 287 | CODE | |
| LOW | scripts/connectors/onpage.py | 72 | CODE | |
| LOW | scripts/connectors/onpage.py | 94 | CODE | |
| LOW | scripts/connectors/onpage.py | 127 | CODE | |
| LOW | scripts/connectors/openpagerank.py | 71 | CODE | |
| LOW | scripts/connectors/fediverse.py | 473 | CODE | |
| LOW | scripts/connectors/experiment.py | 399 | CODE | |
| LOW | scripts/connectors/wayback.py | 46 | CODE | |
| LOW | scripts/connectors/schema_lint.py | 214 | CODE | |
| LOW | scripts/connectors/schema_lint.py | 263 | CODE | |
| LOW | scripts/connectors/bluesky.py | 404 | CODE | |
| LOW | scripts/connectors/linkgraph.py | 82 | CODE | |
| LOW | scripts/connectors/kg.py | 149 | CODE | |
| LOW | scripts/connectors/kg.py | 376 | CODE | |
| LOW | scripts/connectors/robots.py | 124 | CODE | |
| LOW | scripts/connectors/robots.py | 171 | CODE | |
| LOW | scripts/connectors/indexpush.py | 111 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_rubric_score.py | 2 | CODE | |
| LOW | tests/test_architecture.py | 3 | CODE | |
| LOW | tests/test_memory_privacy.py | 3 | CODE | |
| LOW | scripts/generate-system-docs.py | 3 | CODE | |
| LOW | scripts/build-distribution.py | 3 | CODE | |
| LOW | scripts/golden-auditor-math.py | 9 | CODE | |
| LOW | scripts/golden-auditor-math.py | 11 | CODE | |
| LOW | scripts/generate-auditor-runtime.py | 9 | CODE | |
| LOW | scripts/generate-auditor-runtime.py | 16 | CODE | |
| LOW | scripts/rubric-score.py | 8 | CODE | |
| LOW | scripts/run-behavior-evals.py | 9 | CODE | |
| LOW | scripts/validate-audit-artifact.py | 8 | CODE | |
| LOW | scripts/stats-dashboard.py | 34 | CODE | |
| LOW | scripts/check-architecture.py | 3 | CODE | |
| LOW | scripts/check-pii.py | 21 | CODE | |
| LOW | scripts/check-memory-private.py | 3 | CODE | |
| LOW | scripts/check-evals.py | 23 | CODE | |
| LOW | scripts/registry-events.py | 3 | CODE | |
| LOW | scripts/check-local-links.py | 3 | CODE | |
| LOW | scripts/connectors/crawl.py | 29 | CODE | |
| LOW | scripts/connectors/psi.py | 33 | CODE | |
| LOW | scripts/connectors/youtube.py | 49 | CODE | |
| LOW | scripts/connectors/tavily.py | 41 | CODE | |
| LOW | scripts/connectors/suggest.py | 28 | CODE | |
| LOW | scripts/connectors/_http.py | 16 | CODE | |
| LOW | scripts/connectors/sitemap.py | 28 | CODE | |
| LOW | scripts/connectors/ledger.py | 41 | CODE | |
| LOW | scripts/connectors/onpage.py | 33 | CODE | |
| LOW | scripts/connectors/hn.py | 65 | CODE | |
| LOW | scripts/connectors/openpagerank.py | 26 | CODE | |
| LOW | scripts/connectors/fediverse.py | 69 | CODE | |
| LOW | scripts/connectors/rss_monitor.py | 25 | CODE | |
| LOW | scripts/connectors/experiment.py | 37 | CODE | |
| LOW | scripts/connectors/resend.py | 65 | CODE | |
| LOW | scripts/connectors/gdelt.py | 31 | CODE | |
| LOW | scripts/connectors/wayback.py | 30 | CODE | |
| LOW | scripts/connectors/discourse.py | 57 | CODE | |
| LOW | scripts/connectors/schema_lint.py | 50 | CODE | |
| LOW | scripts/connectors/appstore.py | 60 | CODE | |
| LOW | scripts/connectors/producthunt.py | 51 | CODE | |
| LOW | scripts/connectors/bluesky.py | 70 | CODE | |
| LOW | scripts/connectors/linkgraph.py | 28 | CODE | |
| LOW | scripts/connectors/kg.py | 31 | CODE | |
| LOW | scripts/connectors/doh.py | 35 | CODE | |
| LOW | scripts/connectors/robots.py | 28 | CODE | |
| LOW | scripts/connectors/firecrawl.py | 48 | CODE | |
| LOW | scripts/connectors/pageviews.py | 27 | CODE | |
| LOW | scripts/connectors/indexpush.py | 41 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …tune/on-page-seo-checker/references/audit-templates.md | 99 | ## Step 11: Generate Audit Summary | COMMENT |
| LOW | …arkup-builder/references/schema-instructions-detail.md | 5 | ## Step 1: Identify Content Type and Rich Result Opportunity | COMMENT |
| LOW | …arkup-builder/references/schema-instructions-detail.md | 30 | ## Step 2: Generate Schema Markup | COMMENT |
| LOW | …arkup-builder/references/schema-instructions-detail.md | 42 | ## Step 3: Provide Implementation and Validation | COMMENT |
| LOW | …-markup-builder/references/meta-instructions-detail.md | 5 | ## Step 1: Gather Page Information | COMMENT |
| LOW | …-markup-builder/references/meta-instructions-detail.md | 19 | ## Step 2: Create Optimized Title Tag | COMMENT |
| LOW | …-markup-builder/references/meta-instructions-detail.md | 36 | ## Step 3: Write Meta Description | COMMENT |
| LOW | …-markup-builder/references/meta-instructions-detail.md | 50 | ## Step 4: Create Social and Supporting Tags | COMMENT |
| LOW | …-markup-builder/references/meta-instructions-detail.md | 61 | ## Step 5: CORE-EEAT Alignment Check | COMMENT |
| LOW | …-markup-builder/references/meta-instructions-detail.md | 70 | ## Step 6: CTR Optimization Tips | COMMENT |
| LOW | …eo-content-optimizer/references/instructions-detail.md | 5 | ## Step 1: Load GEO-First Targets | COMMENT |
| LOW | …eo-content-optimizer/references/instructions-detail.md | 30 | ## Step 2: Analyze Current Content | COMMENT |
| LOW | …eo-content-optimizer/references/instructions-detail.md | 50 | ## Step 3: Apply GEO Optimization Techniques | COMMENT |
| LOW | …eo-content-optimizer/references/instructions-detail.md | 60 | ## Step 4: Generate GEO-Optimized Output | COMMENT |
| LOW | …eo-content-optimizer/references/instructions-detail.md | 88 | ## Step 5: CORE-EEAT GEO Self-Check | COMMENT |
| LOW | …plement/content-writer/references/refresh-templates.md | 98 | ## Step 8: Republishing Strategy | COMMENT |
| LOW | …plement/content-writer/references/refresh-templates.md | 124 | ## Step 9: Refresh Report | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | tests/test_connectors_local.py | 1539 | # Relative lift from a zero baseline is undefined; callers need an absolute bar. | COMMENT |
| HIGH | tests/test_memory_privacy.py | 167 | "sysctl hw.memsize && vm_stat", | CODE |
| HIGH | scripts/connectors/experiment.py | 192 | "do NOT imply non-significance. A zero control makes relative lift undefined, " | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | VERSIONS.md | 404 | ### v9.9.10 — focus on skills: scaffolding cleanup, 5 commands, quality pass, bundled connectors (2026-06-05) | COMMENT |
| MEDIUM | VERSIONS.md | 469 | ### v9.0.0 — Quality pass + multi-agent compatibility (2026-04-17) | COMMENT |
| MEDIUM | README.md | 641 | memory/ # HOT/WARM/COLD scaffolding + registry stores (entities/creators/claims/consent/launch/channels/narrati | CODE |
| MEDIUM | docs/README.pt.md | 641 | memory/ # scaffolding HOT/WARM/COLD + armazenamentos de registro (entities/creators/claims/consent/launch/chann | CODE |
| MEDIUM | scripts/publish-package.sh | 15 | # 413 Request Entity Too Large). The same committed-HEAD guardrails apply, so | COMMENT |
| MEDIUM | scripts/publish-package.sh | 50 | # guardrails: manifest committed at HEAD, HEAD pushed, manifest version == bundle | COMMENT |
| MEDIUM | scripts/connectors/sitemap.py | 240 | # ---- crawl orchestration -------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_hook_artifact_gate.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | …formance-monitor/references/report-output-templates.md | 61 | ## Content Performance | COMMENT |
| LOW | scripts/sync-about.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/check-versions.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/publish-package.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/sync-family.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/check-stdlib-only.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/publish-registries.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/publish-clawhub.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/registry-status.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/publish-skillhub.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/connectors/smoke-live.sh | 1 | #!/usr/bin/env bash | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_hook_artifact_gate.sh | 48 | except Exception: | CODE |
| LOW | hooks/claude-hook.sh | 18 | except Exception: | CODE |
| LOW | scripts/stats-dashboard.py | 49 | except Exception: | CODE |
| LOW | scripts/stats-dashboard.py | 59 | except Exception: | CODE |
| LOW | scripts/stats-dashboard.py | 240 | except Exception: | CODE |
| LOW | scripts/check-stdlib-only.sh | 56 | except Exception: | CODE |
| LOW | scripts/registry-status.sh | 61 | except Exception: print('')" "$1"; } | CODE |
| LOW | scripts/registry-events.py | 1655 | except Exception as exc: | CODE |
| LOW | scripts/connectors/crawl.py | 181 | except Exception: # malformed markup — keep whatever we parsed | CODE |
| LOW | scripts/connectors/onpage.py | 206 | except Exception: # malformed markup — keep whatever we parsed so far | CODE |
| LOW | scripts/connectors/schema_lint.py | 246 | except Exception: # malformed markup — keep whatever we captured | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/sync-about.sh | 17 | # Usage: | COMMENT |
| LOW | scripts/publish-package.sh | 18 | # Usage: | COMMENT |
| LOW | scripts/sync-family.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/publish-registries.sh | 11 | # Usage: | COMMENT |
| LOW | scripts/publish-clawhub.sh | 16 | # Usage: | COMMENT |
| LOW | scripts/registry-status.sh | 11 | # Usage: | COMMENT |
| LOW | scripts/publish-skillhub.sh | 17 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_registry_events.py | 734 | "consent", "free-text-address", authorization_ref="123 Main Street", | CODE |
| LOW | scripts/check-pii.py | 75 | # never the whole line (whole-line skipping would let a real key on a "placeholder"/"example" line slip). | COMMENT |
| LOW | scripts/check-pii.py | 76 | TOKEN_PLACEHOLDER = ("xxxx", "redacted", "placeholder", "example", "akiaiosfodnn7example", "your-token") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/connectors/_http.py | 395 | CODE |