A curated list of awesome skills, hooks, slash-commands, agent orchestrators, applications, and plugins for Claude Code by Anthropic
442 matches across 10 categories. Click a row to expand file-level details.
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tests/test_readme_generators_minimal_visual.py | 19 | def test_minimal_generator_properties() -> None: |
| LOW | tests/test_readme_generators_minimal_visual.py | 26 | def test_minimal_generator_delegates(monkeypatch: pytest.MonkeyPatch) -> None: |
| LOW | tests/test_readme_generators_minimal_visual.py | 67 | def test_visual_generator_properties() -> None: |
| LOW | tests/test_readme_generators_minimal_visual.py | 74 | def test_visual_generator_delegates(monkeypatch: pytest.MonkeyPatch) -> None: |
| LOW | tests/test_fetch_repo_ticker_data.py | 33 | def test_load_previous_data_missing_file(tmp_path: Path) -> None: |
| LOW | tests/test_fetch_repo_ticker_data.py | 37 | def test_load_previous_data_reads_csv(tmp_path: Path) -> None: |
| LOW | tests/test_fetch_repo_ticker_data.py | 48 | def test_calculate_deltas_with_previous() -> None: |
| LOW | tests/test_fetch_repo_ticker_data.py | 57 | def test_calculate_deltas_new_repo_with_prior_snapshot() -> None: |
| LOW | tests/test_fetch_repo_ticker_data.py | 66 | def test_calculate_deltas_no_previous_baseline() -> None: |
| LOW | tests/test_fetch_repo_ticker_data.py | 74 | def test_save_to_csv_writes_output(tmp_path: Path) -> None: |
| LOW | tests/test_fetch_repo_ticker_data.py | 97 | def test_fetch_repos_maps_fields(monkeypatch: pytest.MonkeyPatch) -> None: |
| LOW | tests/test_fetch_repo_ticker_data.py | 143 | def test_fetch_repos_request_error_exits(monkeypatch: pytest.MonkeyPatch) -> None: |
| LOW | tests/test_fetch_repo_ticker_data.py | 152 | def test_main_missing_token_exits(monkeypatch: pytest.MonkeyPatch) -> None: |
| LOW | tests/test_validate_single_resource.py | 16 | def test_validate_single_resource_missing_primary() -> None: |
| LOW | tests/test_validate_single_resource.py | 23 | def test_validate_single_resource_primary_failure(monkeypatch: pytest.MonkeyPatch) -> None: |
| LOW | tests/test_validate_single_resource.py | 41 | def test_validate_single_resource_success_with_secondary(monkeypatch: pytest.MonkeyPatch) -> None: |
| LOW | tests/test_validate_single_resource.py | 68 | def test_validate_resource_from_dict_maps_fields(monkeypatch: pytest.MonkeyPatch) -> None: |
| LOW | tests/test_validate_single_resource.py | 69 | def fake_validate_single_resource(**_kwargs): |
| LOW | tests/test_readme_config_path.py | 23 | def test_load_config_uses_repo_root() -> None: |
| LOW | tests/test_asset_path_resolution.py | 13 | def test_resolve_asset_tokens_root(tmp_path: Path) -> None: |
| LOW | tests/test_asset_path_resolution.py | 19 | def test_resolve_asset_tokens_alternative(tmp_path: Path) -> None: |
| LOW | tests/test_asset_path_resolution.py | 27 | def test_resolve_asset_tokens_asset_scheme(tmp_path: Path) -> None: |
| LOW | tests/test_asset_path_resolution.py | 33 | def test_ensure_generated_header() -> None: |
| LOW | tests/test_style_selector_paths.py | 37 | def test_root_self_link_is_dot_slash(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 41 | def test_root_to_alternative_link(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 49 | def test_alternative_to_root_link(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 57 | def test_alternative_to_sibling_link(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 69 | def test_root_style_from_config(self) -> None: |
| LOW | tests/test_style_selector_paths.py | 74 | def test_root_style_can_be_changed(self, monkeypatch) -> None: |
| LOW | tests/test_style_selector_paths.py | 84 | def test_root_style_missing_readme_section(self, monkeypatch) -> None: |
| LOW | tests/test_style_selector_paths.py | 93 | def test_root_style_goes_to_root(self) -> None: |
| LOW | tests/test_style_selector_paths.py | 99 | def test_non_root_style_goes_to_alternatives(self) -> None: |
| LOW | tests/test_style_selector_paths.py | 162 | def test_root_readme_links_to_alternatives_with_full_path(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 167 | def test_selector_uses_asset_tokens(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 173 | def test_alternatives_readme_links_to_root_with_parent(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 182 | def test_alternatives_readme_links_to_siblings_with_filename(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 191 | def test_current_style_gets_highlight_border(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 196 | def test_selector_includes_all_styles_in_order(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 303 | def test_assumption_root_style_is_root_readme(self) -> None: |
| LOW | tests/test_style_selector_paths.py | 313 | def test_assumption_only_one_readme_at_root(self) -> None: |
| LOW | tests/test_style_selector_paths.py | 323 | def test_assumption_flat_is_special_case(self) -> None: |
| LOW | tests/test_style_selector_paths.py | 110 | def test_style_swap_extra_to_alternatives(self, monkeypatch) -> None: |
| LOW | tests/test_style_selector_paths.py | 124 | def test_style_originally_in_alternatives_becomes_root(self, monkeypatch) -> None: |
| LOW | tests/test_style_selector_paths.py | 141 | def test_root_readme_uses_assets_prefix(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 148 | def test_alternatives_readme_uses_parent_assets_prefix(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 208 | def test_asset_prefix_consistency(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 231 | def test_cross_linking_symmetry(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 250 | def test_missing_style_config_handled(self, monkeypatch, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 272 | def test_assumption_readme_at_root_uses_assets_directly(self, tmp_path: Path) -> None: |
| LOW | tests/test_style_selector_paths.py | 283 | def test_assumption_alternatives_one_level_deep(self, tmp_path: Path) -> None: |
| LOW | tests/test_generate_ticker_svg.py | 13 | def test_truncate_repo_name_short(): |
| LOW | tests/test_generate_ticker_svg.py | 27 | def test_truncate_repo_name_long(): |
| LOW | tests/test_generate_ticker_svg.py | 35 | def test_truncate_repo_name_custom_length(): |
| LOW | tests/test_generate_ticker_svg.py | 43 | def test_truncate_repo_name_preserves_beginning(): |
| LOW | tests/test_generate_ticker_svg.py | 51 | def test_truncate_repo_name_edge_cases(): |
| LOW | tests/test_readme_alternative_outputs.py | 117 | def test_root_classic_creates_alternative_copy(tmp_path: Path, monkeypatch) -> None: |
| LOW | tests/test_readme_alternative_outputs.py | 152 | def test_root_extra_creates_alternative_copy(tmp_path: Path, monkeypatch) -> None: |
| LOW | tests/test_readme_alternative_outputs.py | 187 | def test_visual_weekly_section_uses_asset_prefix(tmp_path: Path) -> None: |
| LOW | tests/test_category_utils.py | 80 | def test_get_category_prefixes() -> None: |
| LOW | tests/test_category_utils.py | 94 | def test_get_category_by_name() -> None: |
| 202 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/readme_tree/update_readme_tree.py | 568 | except Exception: |
| LOW | …ces/claude.md-files/claude-code-mcp-enhanced/CLAUDE.md | 88 | except Exception as e: |
| LOW | …ces/claude.md-files/claude-code-mcp-enhanced/CLAUDE.md | 144 | except Exception as e: |
| LOW | tests/test_category_utils.py | 342 | except Exception as e: |
| LOW | tests/test_badge_notification_validation.py | 181 | except Exception as e: |
| LOW | scripts/resources/download_resources.py | 228 | except Exception as e: |
| LOW | scripts/resources/download_resources.py | 313 | except Exception as e: |
| LOW | scripts/resources/download_resources.py | 439 | except Exception as e: |
| LOW | scripts/resources/resource_utils.py | 26 | except Exception as e: |
| MEDIUM | scripts/resources/resource_utils.py | 27 | print(f"Error reading CSV header: {e}") |
| MEDIUM | scripts/resources/resource_utils.py | 31 | print("Error reading CSV header: missing header row") |
| MEDIUM | scripts/resources/resource_utils.py | 60 | print(f"Error reading CSV header: missing columns {', '.join(missing_headers)}") |
| LOW | scripts/resources/resource_utils.py | 70 | except Exception as e: |
| MEDIUM | scripts/resources/resource_utils.py | 71 | print(f"Error writing to CSV: {e}") |
| LOW | scripts/resources/create_resource_pr.py | 107 | except Exception as e: |
| LOW | scripts/resources/create_resource_pr.py | 218 | except Exception as e: |
| LOW | scripts/resources/create_resource_pr.py | 295 | except Exception as e: |
| MEDIUM | scripts/resources/create_resource_pr.py | 296 | print(f"Error in create_resource_pr: {e}", file=sys.stderr) |
| LOW | scripts/resources/sort_resources.py | 30 | except Exception as e: |
| MEDIUM | scripts/resources/sort_resources.py | 126 | print(f"Error: CSV file not found at {csv_path}", file=sys.stderr) |
| LOW | scripts/utils/git_utils.py | 58 | except Exception as e: |
| LOW | scripts/utils/git_utils.py | 83 | except Exception: |
| LOW | scripts/readme/generate_readme.py | 93 | except Exception as e: |
| LOW | scripts/readme/generate_readme.py | 116 | except Exception as e: |
| LOW | scripts/readme/generate_readme.py | 138 | except Exception as e: |
| LOW | scripts/readme/generators/flat.py | 254 | except Exception as e: |
| MEDIUM | scripts/readme/generators/flat.py | 256 | print(f"Error writing {resolved_path}: {e}") |
| LOW | scripts/readme/generators/base.py | 265 | except Exception as e: |
| MEDIUM | scripts/testing/test_regenerate_cycle.py | 89 | print("Error: working tree must be clean before running test-regenerate-cycle") |
| MEDIUM | scripts/testing/test_regenerate_cycle.py | 140 | print(f"Error: command failed: {exc}", file=sys.stderr) |
| LOW | scripts/testing/test_regenerate_cycle.py | 145 | except Exception as exc: |
| MEDIUM | scripts/testing/test_regenerate_cycle.py | 146 | print(f"Error: {exc}", file=sys.stderr) |
| LOW | scripts/maintenance/check_repo_health.py | 181 | except Exception as e: |
| MEDIUM | scripts/categories/add_category.py | 72 | print("Error: Invalid categories.yaml structure") |
| MEDIUM | scripts/categories/add_category.py | 155 | print("Error: Could not find category options in issue template") |
| MEDIUM | scripts/categories/add_category.py | 200 | print("Error generating README:") |
| MEDIUM | scripts/categories/add_category.py | 209 | print("Error: 'make' command not found") |
| MEDIUM | scripts/categories/add_category.py | 255 | print("Error creating commit:") |
| MEDIUM | scripts/categories/add_category.py | 265 | print(f"Error with git operations: {e}") |
| MEDIUM | scripts/categories/add_category.py | 279 | print("Error: Name is required") |
| MEDIUM | scripts/badges/badge_notification.py | 40 | print("Error: REPOSITORY_URL environment variable is required") |
| MEDIUM | scripts/badges/badge_notification.py | 46 | print("Error: AWESOME_CC_PAT_PUBLIC_REPO environment variable is required") |
| LOW | scripts/badges/badge_notification.py | 101 | except Exception as e: |
| LOW | scripts/badges/badge_notification_core.py | 51 | except Exception as e: |
| LOW | scripts/badges/badge_notification_core.py | 308 | except Exception as e: |
| LOW | scripts/badges/badge_notification_core.py | 400 | except Exception as e: |
| LOW | scripts/badges/badge_notification_core.py | 420 | except Exception as e: |
| LOW | scripts/badges/badge_notification_core.py | 429 | except Exception as e: |
| LOW | scripts/badges/badge_notification_core.py | 454 | except Exception: |
| MEDIUM | scripts/validation/validate_links.py | 281 | print(f"Error fetching last modified date for {owner}/{repo}: {e}") |
| MEDIUM | scripts/validation/validate_links.py | 331 | print(f"Error fetching commit dates for {owner}/{repo}: {e}") |
| MEDIUM | scripts/validation/validate_links.py | 472 | print(f"Error fetching PyPI release for {package_name}: {e}") |
| MEDIUM | scripts/validation/validate_links.py | 501 | print(f"Error fetching crates.io release for {crate_name}: {e}") |
| MEDIUM | scripts/validation/validate_links.py | 531 | print(f"Error fetching Homebrew release for {formula_name}: {e}") |
| MEDIUM | scripts/validation/validate_links.py | 373 | print(f"Error fetching GitHub release for {owner}/{repo}: {e}") |
| MEDIUM | scripts/validation/validate_links.py | 408 | print(f"Error fetching GitHub tags for {owner}/{repo}: {e}") |
| MEDIUM | scripts/validation/validate_links.py | 440 | print(f"Error fetching npm release for {package_name}: {e}") |
| MEDIUM | scripts/validation/validate_links.py | 573 | print(f"Error fetching README for {owner}/{repo}: {e}") |
| MEDIUM | scripts/validation/validate_links.py | 984 | print(f"Error: CSV file not found at {csv_file}") |
| MEDIUM | scripts/validation/validate_links.py | 1010 | print(f"Error during validation: {e}") |
| 13 more matches not shown… | |||
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | acc-config.yaml | 4 | # ============================================================================= |
| MEDIUM | acc-config.yaml | 6 | # ============================================================================= |
| MEDIUM | acc-config.yaml | 13 | # ============================================================================= |
| MEDIUM | acc-config.yaml | 15 | # ============================================================================= |
| MEDIUM | .github/workflows/close-resource-pr.yml | 28 | // ── High-signal title patterns ────────────────────────── |
| MEDIUM | .github/workflows/close-resource-pr.yml | 47 | // ── Body phrase patterns (medium signal) ──────────────── |
| MEDIUM | .github/workflows/close-resource-pr.yml | 66 | // ── CSV / README file changes (very high signal) ──────── |
| MEDIUM | .github/workflows/close-resource-pr.yml | 88 | // ── Decision logic ────────────────────────────────────── |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/readme_tree/update_readme_tree.py | 462 | |
| LOW | scripts/resources/download_resources.py | 107 | |
| LOW | scripts/resources/download_resources.py | 251 | |
| LOW | scripts/resources/download_resources.py | 284 | |
| LOW | scripts/resources/parse_issue_form.py | 22 | |
| LOW | scripts/resources/parse_issue_form.py | 116 | |
| LOW | scripts/resources/parse_issue_form.py | 201 | |
| LOW | scripts/resources/create_resource_pr.py | 91 | |
| LOW | scripts/utils/github_utils.py | 70 | |
| LOW | scripts/utils/github_utils.py | 132 | |
| LOW | scripts/readme/generate_readme.py | 63 | |
| LOW | scripts/readme/markup/shared.py | 46 | |
| LOW | scripts/readme/markup/awesome.py | 52 | |
| LOW | scripts/readme/markup/visual.py | 139 | |
| LOW | scripts/readme/markup/visual.py | 249 | |
| LOW | scripts/readme/markup/minimal.py | 61 | |
| LOW | scripts/readme/generators/base.py | 44 | |
| LOW | scripts/readme/helpers/readme_assets.py | 235 | |
| LOW | scripts/maintenance/check_repo_health.py | 104 | |
| LOW | scripts/maintenance/update_github_release_data.py | 112 | |
| LOW | scripts/categories/add_category.py | 121 | |
| LOW | scripts/categories/add_category.py | 212 | |
| LOW | scripts/badges/badge_notification.py | 31 | |
| LOW | scripts/badges/badge_notification_core.py | 312 | |
| LOW | scripts/badges/badge_notification_core.py | 443 | |
| LOW | scripts/validation/validate_links.py | 93 | |
| LOW | scripts/validation/validate_links.py | 189 | |
| LOW | scripts/validation/validate_links.py | 205 | |
| LOW | scripts/validation/validate_links.py | 285 | |
| LOW | scripts/validation/validate_links.py | 378 | |
| LOW | scripts/validation/validate_links.py | 413 | |
| LOW | scripts/validation/validate_links.py | 445 | |
| LOW | scripts/validation/validate_links.py | 536 | |
| LOW | scripts/validation/validate_links.py | 662 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | tools/readme_tree/update_readme_tree.py | 4 | |
| LOW | tests/test_readme_generators_minimal_visual.py | 4 | |
| LOW | tests/test_fetch_repo_ticker_data.py | 4 | |
| LOW | tests/test_validate_single_resource.py | 4 | |
| LOW | tests/conftest.py | 3 | |
| LOW | tests/test_readme_alternative_outputs.py | 4 | |
| LOW | tests/test_git_utils.py | 4 | |
| LOW | tests/test_validate_links.py | 4 | |
| LOW | tests/test_github_utils.py | 4 | |
| LOW | tests/test_detect_informal_submission.py | 3 | |
| LOW | tests/test_toc_anchor_validation.py | 16 | |
| LOW | scripts/resources/detect_informal_submission.py | 19 | |
| LOW | scripts/resources/resource_utils.py | 4 | |
| LOW | scripts/utils/repo_root.py | 3 | |
| LOW | scripts/utils/github_utils.py | 3 | |
| LOW | scripts/readme/markup/flat.py | 3 | |
| LOW | scripts/readme/markup/shared.py | 3 | |
| LOW | scripts/readme/markup/awesome.py | 3 | |
| LOW | scripts/readme/markup/visual.py | 3 | |
| LOW | scripts/readme/markup/minimal.py | 3 | |
| LOW | scripts/readme/generators/flat.py | 3 | |
| LOW | scripts/readme/generators/base.py | 3 | |
| LOW | scripts/readme/helpers/readme_paths.py | 3 | |
| LOW | scripts/readme/helpers/readme_utils.py | 3 | |
| LOW | scripts/readme/helpers/readme_assets.py | 3 | |
| LOW | scripts/testing/test_regenerate_cycle.py | 4 | |
| LOW | scripts/testing/validate_toc_anchors.py | 30 | |
| LOW | scripts/categories/category_utils.py | 16 |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | scripts/resources/detect_informal_submission.py | 178 | # Output results for GitHub Actions |
| LOW | scripts/resources/download_resources.py | 137 | # Write file content |
| LOW | scripts/resources/download_resources.py | 334 | # Check if we've reached the download limit |
| LOW | scripts/resources/parse_issue_form.py | 149 | # Check if slash command display name was modified |
| LOW | scripts/resources/parse_issue_form.py | 164 | # Check if there are multiple slashes anywhere in the command |
| LOW | scripts/resources/parse_issue_form.py | 242 | # Check if --validate flag is passed |
| LOW | scripts/resources/create_resource_pr.py | 222 | # Check if README was modified |
| LOW | scripts/resources/create_resource_pr.py | 287 | # Output result |
| LOW | scripts/utils/github_utils.py | 94 | # Check if this looks like the start of a file path |
| LOW | scripts/utils/github_utils.py | 120 | # Check if it's a repository root URL |
| LOW | scripts/ticker/generate_ticker_svg.py | 683 | # Check if CSV exists |
| LOW | scripts/maintenance/check_repo_health.py | 122 | # Check if Active is TRUE |
| LOW | scripts/maintenance/check_repo_health.py | 156 | # Check if repo is problematic |
| LOW | scripts/graphics/generate_logo_svgs.py | 75 | # Write files |
| LOW | scripts/categories/add_category.py | 75 | # Check if category already exists |
| LOW | scripts/categories/add_category.py | 165 | # Check if category already exists |
| LOW | scripts/validation/validate_links.py | 689 | # Check if we hit GitHub rate limit |
| LOW | scripts/validation/validate_links.py | 857 | # Check if this is a newly discovered broken link |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | tests/test_category_utils.py | 67 | # Create a new instance with test data |
| MEDIUM | tests/test_category_utils.py | 240 | # Create a temporary YAML file with test data |
| MEDIUM | tests/test_category_utils.py | 257 | # Create a fresh instance (reset singleton) |
| MEDIUM | scripts/resources/sort_resources.py | 34 | # Create a mapping for sort order |
| MEDIUM | scripts/badges/badge_notification_core.py | 363 | # Create the issue body (this will validate inputs and throw if unsafe) |
| MEDIUM | scripts/badges/badge_notification_core.py | 375 | # Create the issue |
| MEDIUM | …thub/workflows/handle-resource-submission-commands.yml | 75 | # Create the PR with the resource |
| Severity | File | Line | Snippet |
|---|---|---|---|
| MEDIUM | …Claude-Code-GitHub-Actions/pr-review-comprehensive.yml | 66 | # Tools for comprehensive PR review |
| LOW | scripts/resources/parse_issue_form.py | 280 | # Simple parse mode - just return the parsed data |
| MEDIUM | scripts/ticker/generate_ticker_svg.py | 285 | # Sample 10 random repos and duplicate for seamless scrolling |
| MEDIUM | scripts/ticker/generate_ticker_svg.py | 339 | # Generate repo groups: all 10 + first 4 repeated for seamless loop |
| MEDIUM | scripts/ticker/generate_ticker_svg.py | 592 | # Append first 4 repos for seamless loop (same as original) |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | acc-config.yaml | 1 | # Awesome Claude Code Configuration |
| LOW | …al-documentation/Claude-Code-GitHub-Actions/claude.yml | 41 | |
| LOW | .github/workflows/check-repo-health.yml | 1 | name: Check Repository Health |
| LOW | .github/workflows/submission-enforcement-v2.yml | 1 | name: Submission Enforcement |
| LOW | templates/resource-overrides.yaml | 1 | # Resource Overrides Configuration |
| LOW | templates/resource-overrides.yaml | 61 | # - Use resource IDs (e.g., cmd-a3f2b9c4) not display names |
| Severity | File | Line | Snippet |
|---|---|---|---|
| LOW | resources/claude.md-files/Cursor-Tools/CLAUDE.md | 144 | - Multi step workflows involving state or combining multiple actions are supported in the `act` command using the pipe ( |