← Leaderboard

AgriciDaniel/claude-seo

View on GitHub ↗
Internal77

Unique within the repo — the other 23% repeats across its own files.

Public57

Unique across all public code — a further 20% is its own but appears in other public repos too.

Tidy, but not new — the code doesn't repeat itself, yet a large share already exists across other public repos. A strong candidate for pulling from (or publishing as) a shared package.

Worth consolidating — in the code

Real, actionable duplication in this repo's source, most concrete first.

Top duplication hotspots

SimilarityOverlapFile AFile BCross-repo
29% 399 AgriciDaniel/claude-seo/extensions/banana/scripts/cost_tracker.py AgriciDaniel/claude-seo/scripts/dataforseo_costs.py same repo
16% 381 AgriciDaniel/claude-seo/scripts/backlinks_auth.py AgriciDaniel/claude-seo/scripts/google_auth.py same repo
59% 301 AgriciDaniel/claude-seo/extensions/dataforseo/install.sh AgriciDaniel/claude-seo/extensions/firecrawl/install.sh same repo
53% 288 AgriciDaniel/claude-seo/extensions/banana/install.sh AgriciDaniel/claude-seo/extensions/firecrawl/install.sh same repo
45% 287 AgriciDaniel/claude-seo/extensions/banana/install.sh AgriciDaniel/claude-seo/extensions/dataforseo/install.sh same repo
61% 284 AgriciDaniel/claude-seo/extensions/banana/scripts/edit.py AgriciDaniel/claude-seo/extensions/banana/scripts/generate.py same repo
20% 281 AgriciDaniel/claude-seo/scripts/crux_history.py AgriciDaniel/claude-seo/scripts/pagespeed_check.py same repo
54% 276 AgriciDaniel/claude-seo/extensions/dataforseo/install.ps1 AgriciDaniel/claude-seo/extensions/firecrawl/install.ps1 same repo
6% 232 AgriciDaniel/claude-seo/scripts/url_safety.py AgriciDaniel/claude-seo/tests/test_url_safety.py same repo
34% 226 AgriciDaniel/claude-seo/tests/test_banana_cost_tracker.py AgriciDaniel/claude-seo/tests/test_dataforseo_costs.py same repo
25% 216 AgriciDaniel/claude-seo/scripts/gsc_inspect.py AgriciDaniel/claude-seo/scripts/indexing_notify.py same repo

Duplicate declarations

The same function, variable, class, or type name declared in more than one file — a fast copy-paste signal. Consider extracting a shared definition.

FilesDeclarationWhere
5 fn _cli AgriciDaniel/claude-seo/scripts/agent_ux_check.py
AgriciDaniel/claude-seo/scripts/iptc_ai_label.py
AgriciDaniel/claude-seo/scripts/render_page.py
+2 more
5 fn _run AgriciDaniel/claude-seo/tests/test_banana_cost_tracker.py
AgriciDaniel/claude-seo/tests/test_dataforseo_costs.py
AgriciDaniel/claude-seo/tests/test_gsc_pagination.py
+2 more
5 fn json AgriciDaniel/claude-seo/tests/test_google_api_key_safety.py
AgriciDaniel/claude-seo/tests/test_keywordseverywhere_api.py
AgriciDaniel/claude-seo/tests/test_moz_api.py
+2 more
4 fn analyse AgriciDaniel/claude-seo/scripts/content_quality.py
AgriciDaniel/claude-seo/scripts/lcp_subparts.py
AgriciDaniel/claude-seo/scripts/metadata_template.py
+1 more
4 class FakeResponse AgriciDaniel/claude-seo/tests/test_fetch_page_decoding.py
AgriciDaniel/claude-seo/tests/test_keywordseverywhere_api.py
AgriciDaniel/claude-seo/tests/test_moz_api.py
+1 more
3 fn _configure_utf8 AgriciDaniel/claude-seo/hooks/validate-schema.py
AgriciDaniel/claude-seo/scripts/content_quality.py
AgriciDaniel/claude-seo/scripts/runtime.py
3 fn _sha256 AgriciDaniel/claude-seo/scripts/release_sign.py
AgriciDaniel/claude-seo/scripts/sync_flow.py
AgriciDaniel/claude-seo/scripts/verify_release.py
3 fn _text AgriciDaniel/claude-seo/tests/test_agent_mcp_permissions.py
AgriciDaniel/claude-seo/tests/test_banana_install_layout.py
AgriciDaniel/claude-seo/tests/test_manual_install_layout.py
3 fn drop_query_key AgriciDaniel/claude-seo/extensions/banana/scripts/edit.py
AgriciDaniel/claude-seo/extensions/banana/scripts/generate.py
AgriciDaniel/claude-seo/scripts/google_auth.py
3 fn execute AgriciDaniel/claude-seo/tests/test_gsc_pagination.py
AgriciDaniel/claude-seo/tests/test_gsc_query.py
AgriciDaniel/claude-seo/tests/test_gsc_totals_aggregate.py
3 fn fake_post AgriciDaniel/claude-seo/tests/test_google_api_key_safety.py
AgriciDaniel/claude-seo/tests/test_moz_api.py
AgriciDaniel/claude-seo/tests/test_nlp_analyze.py
3 fn normalize_url AgriciDaniel/claude-seo/scripts/analyze_visual.py
AgriciDaniel/claude-seo/scripts/capture_screenshot.py
AgriciDaniel/claude-seo/scripts/drift_baseline.py
3 fn raise_for_status AgriciDaniel/claude-seo/tests/test_google_api_key_safety.py
AgriciDaniel/claude-seo/tests/test_nlp_analyze.py
AgriciDaniel/claude-seo/tests/test_pagespeed_null_category_score.py
2 class _Exec AgriciDaniel/claude-seo/tests/test_gsc_pagination.py
AgriciDaniel/claude-seo/tests/test_gsc_totals_aggregate.py
2 fn _ledger_snapshot AgriciDaniel/claude-seo/extensions/banana/scripts/cost_tracker.py
AgriciDaniel/claude-seo/scripts/dataforseo_costs.py
2 fn _load_module AgriciDaniel/claude-seo/tests/test_banana_api_key_safety.py
AgriciDaniel/claude-seo/tests/test_banana_setup_mcp_atomic_write.py
2 fn _lock AgriciDaniel/claude-seo/extensions/banana/scripts/cost_tracker.py
AgriciDaniel/claude-seo/scripts/dataforseo_costs.py
2 fn _locked_ledger AgriciDaniel/claude-seo/extensions/banana/scripts/cost_tracker.py
AgriciDaniel/claude-seo/scripts/dataforseo_costs.py
2 fn _non_negative_int AgriciDaniel/claude-seo/scripts/fetch_page.py
AgriciDaniel/claude-seo/scripts/render_page.py
2 fn _normalize_availability AgriciDaniel/claude-seo/scripts/dataforseo_merchant.py
AgriciDaniel/claude-seo/scripts/dataforseo_normalize.py
2 fn _normalize_price AgriciDaniel/claude-seo/scripts/dataforseo_merchant.py
AgriciDaniel/claude-seo/scripts/dataforseo_normalize.py
2 fn _percentile AgriciDaniel/claude-seo/scripts/dataforseo_normalize.py
AgriciDaniel/claude-seo/scripts/lcp_subparts.py
2 fn _rate_limit AgriciDaniel/claude-seo/scripts/bing_webmaster.py
AgriciDaniel/claude-seo/scripts/moz_api.py
2 fn _read_ledger AgriciDaniel/claude-seo/extensions/banana/scripts/cost_tracker.py
AgriciDaniel/claude-seo/scripts/dataforseo_costs.py
2 fn _redact_google_api_key AgriciDaniel/claude-seo/extensions/banana/scripts/edit.py
AgriciDaniel/claude-seo/extensions/banana/scripts/generate.py

Docs & prose

Near-identical documentation — often translations (e.g. README.mdREADME_zh-CN.md) or mirrored guides. Usually intentional, not cleanup — listed separately so it doesn't inflate the code signal above.

Top duplication hotspots

SimilarityOverlapFile AFile BCross-repo
99% 2122 AgriciDaniel/claude-seo/extensions/banana/references/prompt-engineering.md AgriciDaniel/claude-seo/skills/seo-image-gen/references/prompt-engineering.md same repo
97% 1261 AgriciDaniel/claude-seo/extensions/dataforseo/skills/seo-dataforseo/SKILL.md AgriciDaniel/claude-seo/skills/seo-dataforseo/SKILL.md same repo
81% 649 AgriciDaniel/claude-seo/extensions/banana/skills/seo-image-gen/SKILL.md AgriciDaniel/claude-seo/skills/seo-image-gen/SKILL.md same repo
5% 581 AgriciDaniel/claude-seo/CHANGELOG.md AgriciDaniel/claude-seo/README.md same repo
100% 430 AgriciDaniel/claude-seo/extensions/banana/references/post-processing.md AgriciDaniel/claude-seo/skills/seo-image-gen/references/post-processing.md same repo
60% 423 AgriciDaniel/claude-seo/extensions/banana/references/gemini-models.md AgriciDaniel/claude-seo/skills/seo-image-gen/references/gemini-models.md same repo
7% 394 AgriciDaniel/claude-seo/README.md AgriciDaniel/claude-seo/docs/COMMANDS.md same repo
4% 358 AgriciDaniel/claude-seo/CHANGELOG.md AgriciDaniel/claude-seo/CLAUDE.md same repo
7% 349 AgriciDaniel/claude-seo/CLAUDE.md AgriciDaniel/claude-seo/README.md same repo
4% 342 AgriciDaniel/claude-seo/CHANGELOG.md AgriciDaniel/claude-seo/docs/MIGRATION-v1-to-v2.md same repo
7% 336 AgriciDaniel/claude-seo/README.md AgriciDaniel/claude-seo/skills/seo/SKILL.md same repo
9% 290 AgriciDaniel/claude-seo/CLAUDE.md AgriciDaniel/claude-seo/docs/COMMANDS.md same repo
3% 288 AgriciDaniel/claude-seo/CHANGELOG.md AgriciDaniel/claude-seo/skills/seo/SKILL.md same repo
9% 268 AgriciDaniel/claude-seo/docs/COMMANDS.md AgriciDaniel/claude-seo/skills/seo/SKILL.md same repo
87% 266 AgriciDaniel/claude-seo/extensions/banana/references/mcp-tools.md AgriciDaniel/claude-seo/skills/seo-image-gen/references/mcp-tools.md same repo
87% 262 AgriciDaniel/claude-seo/extensions/banana/references/seo-image-presets.md AgriciDaniel/claude-seo/skills/seo-image-gen/references/seo-image-presets.md same repo
9% 260 AgriciDaniel/claude-seo/CLAUDE.md AgriciDaniel/claude-seo/skills/seo/SKILL.md same repo
100% 250 AgriciDaniel/claude-seo/agents/seo-dataforseo.md AgriciDaniel/claude-seo/extensions/dataforseo/agents/seo-dataforseo.md same repo
100% 241 AgriciDaniel/claude-seo/agents/seo-image-gen.md AgriciDaniel/claude-seo/extensions/banana/agents/seo-image-gen.md same repo
2% 232 AgriciDaniel/claude-seo/CHANGELOG.md AgriciDaniel/claude-seo/docs/COMMANDS.md same repo

Largest files

Largest files

LOCFileStatus
1219AgriciDaniel/claude-seo/CHANGELOG.mdindexed
1136AgriciDaniel/claude-seo/tests/test_url_safety.pyindexed
996AgriciDaniel/claude-seo/scripts/url_safety.pyindexed
904AgriciDaniel/claude-seo/scripts/google_auth.pyindexed
748AgriciDaniel/claude-seo/docs/COMMANDS.mdindexed
748AgriciDaniel/claude-seo/scripts/render_page.pyindexed
665AgriciDaniel/claude-seo/scripts/pagespeed_check.pyindexed
661AgriciDaniel/claude-seo/tests/test_render_page.pyindexed
611AgriciDaniel/claude-seo/scripts/bing_webmaster.pyindexed
609AgriciDaniel/claude-seo/scripts/backlinks_auth.pyindexed