Official, Anthropic-managed directory of high quality Claude Code Plugins.
This report presents the forensic synthetic code analysis of anthropics/claude-plugins-official, a Python project with 32,111 GitHub stars. SynthScan v2.0 examined 68,116 lines of code across 352 source files, recording 405 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 9.4 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 405 distinct pattern matches across 14 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 |
|---|---|---|---|---|
| MEDIUM | …-server-dev/skills/build-mcp-server/references/auth.md | 50 | ┌─────────┐ client_id=https://... ┌──────────────┐ upstream OAuth ┌──────────┐ | CODE |
| MEDIUM | …/learning-output-style/hooks-handlers/session-start.sh | 10 | "additionalContext": "You are in 'learning' output style mode, which combines interactive learning with educational | CODE |
| MEDIUM | …or/skills/skill-creator/eval-viewer/generate_review.py | 284 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …or/skills/skill-creator/eval-viewer/generate_review.py | 286 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/_base.py | 112 | # ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 294 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 296 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 444 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 446 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 448 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 450 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 508 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 510 | # ===================================================================== | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 376 | # ===================================================================== | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 385 | # ===================================================================== | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 703 | # ─── push-sweep ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/patterns.py | 165 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/patterns.py | 167 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 21 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 23 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 39 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 41 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 222 | # ─── push-sweep reviewed-commit tracking ──────────────────────────────────── | COMMENT |
| MEDIUM⚡ | plugins/security-guidance/hooks/diffstate.py | 238 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | plugins/security-guidance/hooks/diffstate.py | 240 | # ===================================================================== | COMMENT |
| MEDIUM⚡ | plugins/security-guidance/hooks/diffstate.py | 242 | # ─── push-sweep reviewed-commit tracking ──────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 327 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/diffstate.py | 329 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 23 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 25 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 67 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 69 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 179 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 181 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 286 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/review_api.py | 288 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 145 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 147 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 211 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 213 | # ===================================================================== | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 310 | # ── 3rd-party provider routing (Bedrock / Vertex / Foundry / Mantle) ───── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/extensibility.py | 43 | # ── caps ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/extensibility.py | 57 | # ── public API ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/extensibility.py | 89 | # ── claude-security-guidance.md ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/extensibility.py | 144 | # ── security-patterns.{yaml,json} ──────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 122 | // ── Layout: circle-pack in a fixed world space ───────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 181 | // ── Colors ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 201 | // ── State ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 208 | // ── Render ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 324 | // ── Zoom / pan / hit-testing ──────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 386 | // ── Sidebar ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 431 | // ── Search ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 445 | // ── Edge-kind toggles & legend ────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 457 | // ── Flows ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 494 | // ── Observations ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | plugins/code-modernization/assets/topology-viewer.html | 501 | // ── Boot ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …planatory-output-style/hooks-handlers/session-start.sh | 10 | "additionalContext": "You are in 'explanatory' output style mode, where you should provide educational insights abou | CODE |
| MEDIUM | .github/workflows/scan-plugins.yml | 385 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/scan-plugins.yml | 414 | # ───────────────────────────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …gins/claude-md-management/commands/revise-claude-md.md | 8 | ## Step 1: Reflect | COMMENT |
| LOW⚡ | …gins/claude-md-management/commands/revise-claude-md.md | 17 | ## Step 2: Find CLAUDE.md Files | COMMENT |
| LOW⚡ | …gins/claude-md-management/commands/revise-claude-md.md | 27 | ## Step 3: Draft Additions | COMMENT |
| LOW | …gins/claude-md-management/commands/revise-claude-md.md | 38 | ## Step 4: Show Proposed Changes | COMMENT |
| LOW | …gins/claude-md-management/commands/revise-claude-md.md | 52 | ## Step 5: Apply with Approval | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 24 | ## Step 1: Fetch PR Details | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 27 | ## Step 2: Review Files | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 35 | ## Step 3: Run Checks | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 43 | ## Step 4: Provide Feedback | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 216 | ## Step 1: Get test results | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 221 | ## Step 2: Categorize failures | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 226 | ## Step 3: Prioritize | COMMENT |
| LOW⚡ | …s/command-development/references/advanced-workflows.md | 232 | ## Step 4: Generate fix plan | COMMENT |
| LOW | …s/command-development/references/advanced-workflows.md | 530 | ## Step 1: Tests | COMMENT |
| LOW | …s/command-development/references/advanced-workflows.md | 546 | ## Step 2: Build | COMMENT |
| LOW | …command-development/references/interactive-commands.md | 82 | ## Step 1: Gather Configuration | COMMENT |
| LOW | …command-development/references/interactive-commands.md | 113 | ## Step 2: Process Answers | COMMENT |
| LOW | …command-development/references/interactive-commands.md | 122 | ## Step 3: Generate Configuration | COMMENT |
| LOW | …command-development/references/interactive-commands.md | 144 | ## Step 4: Confirm and Next Steps | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 91 | ### Step 1: Understanding the Skill with Concrete Examples | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 108 | ### Step 2: Planning the Reusable Skill Contents | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 137 | ### Step 3: Create Skill Structure | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 148 | ### Step 4: Edit the Skill | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 212 | ### Step 5: Validate and Test | COMMENT |
| LOW | plugins/plugin-dev/skills/skill-development/SKILL.md | 232 | ### Step 6: Iterate | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 91 | ### Step 1: Understanding the Skill with Concrete Examples | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 108 | ### Step 2: Planning the Reusable Skill Contents | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 132 | ### Step 3: Initializing the Skill | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 155 | ### Step 4: Edit the Skill | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 175 | ### Step 5: Packaging a Skill | COMMENT |
| LOW | …skill-development/references/skill-creator-original.md | 201 | ### Step 6: Iterate | COMMENT |
| LOW | …ls/plugin-settings/examples/create-settings-command.md | 12 | ### Step 1: Ask User for Preferences | COMMENT |
| LOW | …ls/plugin-settings/examples/create-settings-command.md | 57 | ### Step 2: Parse Answers | COMMENT |
| LOW | …ls/plugin-settings/examples/create-settings-command.md | 64 | ### Step 3: Create Settings File | COMMENT |
| LOW | …ls/plugin-settings/examples/create-settings-command.md | 83 | ### Step 4: Inform User | COMMENT |
| LOW | …ls/agent-development/examples/agent-creation-prompt.md | 7 | ### Step 1: Describe Your Agent Need | COMMENT |
| LOW | …ls/agent-development/examples/agent-creation-prompt.md | 15 | ### Step 2: Use the Generation Prompt | COMMENT |
| LOW | …ls/agent-development/examples/agent-creation-prompt.md | 27 | ### Step 3: Claude Returns JSON | COMMENT |
| LOW | …ls/agent-development/examples/agent-creation-prompt.md | 41 | ### Step 4: Convert to Agent File | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 169 | ### Step 1: Spawn all runs (with-skill AND baseline) in the same turn | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 199 | ### Step 2: While runs are in progress, draft assertions | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 207 | ### Step 3: As runs complete, capture timing data | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 221 | ### Step 4: Grade, aggregate, and launch the viewer | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 267 | ### Step 5: Read the feedback | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 337 | ### Step 1: Generate trigger eval queries | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 360 | ### Step 2: Review with user | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 375 | ### Step 3: Run the optimization loop | COMMENT |
| LOW | plugins/skill-creator/skills/skill-creator/SKILL.md | 402 | ### Step 4: Apply the result | COMMENT |
| LOW⚡ | …ns/skill-creator/skills/skill-creator/agents/grader.md | 21 | ### Step 1: Read the Transcript | COMMENT |
| LOW⚡ | …ns/skill-creator/skills/skill-creator/agents/grader.md | 27 | ### Step 2: Examine Output Files | COMMENT |
| LOW⚡ | …ns/skill-creator/skills/skill-creator/agents/grader.md | 33 | ### Step 3: Evaluate Each Assertion | COMMENT |
| LOW⚡ | …ns/skill-creator/skills/skill-creator/agents/grader.md | 43 | ### Step 4: Extract and Verify Claims | COMMENT |
| LOW | …ns/skill-creator/skills/skill-creator/agents/grader.md | 61 | ### Step 5: Read User Notes | COMMENT |
| LOW | …ns/skill-creator/skills/skill-creator/agents/grader.md | 68 | ### Step 6: Critique the Evals | COMMENT |
| LOW | …ns/skill-creator/skills/skill-creator/agents/grader.md | 81 | ### Step 7: Write Grading Results | COMMENT |
| LOW | …ns/skill-creator/skills/skill-creator/agents/grader.md | 101 | ### Step 8: Read Executor Metrics and Timing | COMMENT |
| LOW⚡ | …kill-creator/skills/skill-creator/agents/comparator.md | 22 | ### Step 1: Read Both Outputs | COMMENT |
| LOW⚡ | …kill-creator/skills/skill-creator/agents/comparator.md | 29 | ### Step 2: Understand the Task | COMMENT |
| LOW⚡ | …kill-creator/skills/skill-creator/agents/comparator.md | 37 | ### Step 3: Generate Evaluation Rubric | COMMENT |
| LOW⚡ | …kill-creator/skills/skill-creator/agents/comparator.md | 60 | ### Step 4: Evaluate Each Output Against the Rubric | COMMENT |
| 21 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ls/build-mcp-server/references/remote-http-scaffold.md | 194 | **Fastest path:** Cloudflare Workers — two commands from zero to a live `https://` URL on the free tier. Uses a Workers- | CODE |
| MEDIUM | plugins/plugin-dev/skills/plugin-settings/SKILL.md | 426 | ### multi-agent-swarm Plugin | COMMENT |
| MEDIUM | …ills/plugin-settings/references/real-world-examples.md | 5 | ## multi-agent-swarm Plugin | COMMENT |
| MEDIUM | …ev/skills/plugin-structure/examples/advanced-plugin.md | 225 | ### agents/orchestration/deployment-orchestrator.md | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 1399 | # `agentic` = which path produced the result, not which was attempted. | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 1400 | # On race-loss the _fallback() metrics dict has agentic=False — emitting | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 1402 | # `agentic=true` queries and overstates agentic yield. | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 1409 | # 1 = agentic won, 2 = single-shot fallback won. review_ms already | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 73 | # review_api is the importable surface for the agentic-review prompts, | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 74 | # schemas, and pure filters. External callers (e.g. agentic review harnesses) | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 156 | # Lets multi-agent / shared-worktree deployments keep the commit reviewer | COMMENT |
| MEDIUM⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 981 | return # agentic finished within the delay — never start fallback | CODE |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 1345 | # Fall back to single-shot only on agentic FAILURE (SDK/investigate | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 1346 | # crash). If agentic completed and returned 0 findings, trust that. | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 1749 | # Metrics — keep within the 10-key cap; agentic sub-metrics are dropped | COMMENT |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 1751 | # to the per-commit fires for agentic detail). rewake_summary must ride | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/gitutil.py | 553 | # single-shot and agentic reviews disagree on most (auth, routing, IPC, | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/ensure_agent_sdk.py | 48 | # recovers the agentic reviewer for them instead of degrading to pattern + | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/ensure_agent_sdk.py | 801 | # One-time user-visible notice when the agentic reviewer is dead on | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 363 | # the agentic path to have run first. | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 1115 | # core.pager, core.sshCommand, or an inherited GIT_* var. The agentic | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 1322 | # cause of agentic fallbacks in remote sessions. Clearing them | COMMENT |
| MEDIUM | plugins/code-modernization/README.md | 117 | ## Dynamic workflow orchestration | COMMENT |
| MEDIUM | …ins/code-modernization/workflows/reimagine-scaffold.js | 25 | // could traverse out of the scaffold directory, whatever upstream produced. | COMMENT |
| MEDIUM | …ugins/code-modernization/workflows/portfolio-assess.js | 94 | // person-months / weeks / dates (agentic transformation breaks COCOMO's | COMMENT |
| MEDIUM | …code-modernization/commands/modernize-extract-rules.md | 14 | ## Method A — Workflow orchestration (preferred when available) | COMMENT |
| MEDIUM | …ins/code-modernization/commands/modernize-reimagine.md | 80 | ## Phase E — Parallel scaffolding | COMMENT |
| MEDIUM | .github/workflows/revert-failed-bumps.yml | 10 | # Scope and guardrails — this job has contents:write so it must be tight: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ver-dev/skills/build-mcpb/references/local-security.md | 71 | except Exception: | CODE |
| MEDIUM | …or/skills/skill-creator/eval-viewer/generate_review.py | 408 | print(f"Error: {workspace} is not a directory", file=sys.stderr) | CODE |
| LOW | …skill-creator/skills/skill-creator/scripts/run_eval.py | 223 | except Exception as e: | CODE |
| MEDIUM | …skill-creator/skills/skill-creator/scripts/run_eval.py | 276 | print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr) | CODE |
| LOW | …-creator/skills/skill-creator/scripts/package_skill.py | 106 | except Exception as e: | CODE |
| MEDIUM | …or/skills/skill-creator/scripts/improve_description.py | 205 | print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr) | CODE |
| MEDIUM | …skill-creator/skills/skill-creator/scripts/run_loop.py | 265 | print(f"Error: No SKILL.md found at {skill_path}", file=sys.stderr) | CODE |
| LOW | plugins/security-guidance/hooks/_base.py | 79 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/_base.py | 105 | except Exception: | CODE |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 405 | def _sweep(state): | CODE |
| MEDIUM | …gins/security-guidance/hooks/security_reminder_hook.py | 968 | def _agentic() -> None: | CODE |
| LOW⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 437 | except Exception as e: | CODE |
| LOW⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 971 | except Exception as e: # pragma: no cover — crash → let fallback win | CODE |
| LOW⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 987 | except Exception as e: # pragma: no cover | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 465 | except Exception: | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 474 | except Exception: | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 487 | except Exception: | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1373 | except Exception: | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 2149 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/session_state.py | 84 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 317 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 375 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 409 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 422 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 434 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 501 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 656 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 732 | except Exception as exc: | CODE |
| MEDIUM | plugins/security-guidance/hooks/llm.py | 1263 | def _tolerant(data): | CODE |
| LOW⚡ | plugins/security-guidance/hooks/llm.py | 1184 | except Exception as e: # ImportError or transitive failure | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 97 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 360 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 374 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 437 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1165 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1266 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1271 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1379 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1446 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1614 | except Exception: | CODE |
| LOW | plugins/security-guidance/hooks/extensibility.py | 69 | except Exception as e: | CODE |
| LOW | plugins/security-guidance/hooks/extensibility.py | 74 | except Exception as e: | CODE |
| LOW | plugins/hookify/core/config_loader.py | 236 | except Exception as e: | CODE |
| MEDIUM⚡ | plugins/hookify/core/config_loader.py | 264 | print(f"Error: Cannot read {file_path}: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | plugins/hookify/core/config_loader.py | 267 | print(f"Error: Malformed rule file {file_path}: {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | plugins/hookify/core/config_loader.py | 270 | print(f"Error: Invalid encoding in {file_path}: {e}", file=sys.stderr) | CODE |
| LOW⚡ | plugins/hookify/core/config_loader.py | 272 | except Exception as e: | CODE |
| MEDIUM⚡ | plugins/hookify/core/config_loader.py | 273 | print(f"Error: Unexpected error parsing {file_path} ({type(e).__name__}): {e}", file=sys.stderr) | CODE |
| LOW | plugins/hookify/hooks/userpromptsubmit.py | 42 | except Exception as e: | CODE |
| LOW | plugins/hookify/hooks/stop.py | 42 | except Exception as e: | CODE |
| LOW | plugins/hookify/hooks/pretooluse.py | 53 | except Exception as e: | CODE |
| LOW | plugins/hookify/hooks/posttooluse.py | 50 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …creator/skills/skill-creator/scripts/quick_validate.py | 7 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 59 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 60 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 67 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 68 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 69 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 70 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 79 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 80 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 80 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 80 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 80 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 80 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 80 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 80 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 80 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 88 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 88 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 88 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 88 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 88 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 88 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 88 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 94 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 94 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 94 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 94 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 94 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 98 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 112 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 112 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 112 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 112 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 112 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 112 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 112 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 122 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 122 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 122 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 122 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 122 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 122 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 122 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 122 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 122 | CODE | |
| 12 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …h-olympiad/skills/math-olympiad/scripts/check_latex.sh | 1 | #!/bin/bash | COMMENT |
| LOW | plugins/security-guidance/hooks/_base.py | 121 | # HTTP error visibility (#2098 visibility gap — see emit comment in | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 141 | # Pattern-based rules (enabled by default; set to "0" to use only LLM review) | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 541 | # reviewed on every turn until something tracked is dirtied. | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 661 | _COMMIT_SHA_RE = re.compile(r'^\[[^\]]*?\b([0-9a-f]{7,40})\]', re.MULTILINE) | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 701 | ) | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1041 | # emitting labels like `[pre-commit abc1234]`, and on (b) chained | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1121 | COMMENT | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1161 | # future analysis can split on it. | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1181 | # | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1381 | # into CC's 10-key emit cap, pushing files_reviewed/review_ms out of the | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1561 | # | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1681 | sys.exit(0) | COMMENT |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 2201 | COMMENT | |
| LOW | plugins/security-guidance/hooks/diffstate.py | 21 | # ===================================================================== | COMMENT |
| LOW | plugins/security-guidance/hooks/diffstate.py | 221 | COMMENT | |
| LOW | plugins/security-guidance/hooks/diffstate.py | 241 | COMMENT | |
| LOW | plugins/security-guidance/hooks/gitutil.py | 521 | # extensionless not in this set is treated as source (likely a shebang script | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 41 | HOOK_PY_INCOMPATIBLE = 6 # hook interpreter is <3.10 — SDK syntax can't load | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 61 | # session). Keyed by marker mtime. | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 101 | # RLIMIT_AS SIGSEGV, empty streams. The | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 121 | # match a more specific category above | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 441 | err_phase / err_kind are non-empty only on BUILD_FAILED — they let | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 541 | # --prefer-binary: on ARM64 Windows, pip's default resolver picks a | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 561 | # Signal kill (OOM-killer SIGKILL / RLIMIT_AS SIGSEGV) — rc<0, empty | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 741 | # | COMMENT |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 781 | metrics["sdk_bootstrap_rc"] = rc | COMMENT |
| LOW | plugins/security-guidance/hooks/llm.py | 301 | return False | COMMENT |
| LOW | plugins/security-guidance/hooks/llm.py | 1221 | COMMENT | |
| LOW | plugins/security-guidance/hooks/llm.py | 1281 | opts = ClaudeAgentOptions( | COMMENT |
| LOW | plugins/security-guidance/hooks/llm.py | 1301 | # at startup ("Fallback model cannot be the same as the main | COMMENT |
| LOW | plugins/security-guidance/hooks/llm.py | 1321 | # `Control request timeout: initialize`. This was the dominant | COMMENT |
| LOW | plugins/security-guidance/hooks/sg-python.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | plugins/security-guidance/hooks/sg-python.sh | 21 | # bash "${CLAUDE_PLUGIN_ROOT}/hooks/sg-python.sh" \ | COMMENT |
| LOW | .github/workflows/revert-failed-bumps.yml | 1 | name: Revert Failed Bumps | COMMENT |
| LOW | .github/workflows/check-mcp-urls.yml | 1 | name: Check MCP URLs | COMMENT |
| LOW | .github/workflows/external-pr-scope-guard.yml | 1 | name: External PR Scope Guard | COMMENT |
| LOW | .github/workflows/scan-plugins.yml | 1 | name: Scan Plugins | COMMENT |
| LOW | .github/workflows/scan-plugins.yml | 81 | # Federation (anthropic-federation-rule-id input) — the IDs are literal | COMMENT |
| LOW | .github/workflows/scan-plugins.yml | 381 | echo "::error::Scan step failed without a parseable policy verdict (likely an infra error)." | COMMENT |
| LOW | .github/workflows/scan-plugins.yml | 401 | # scan action evaluated this SHA fresh, `cached` when a prior verdict was | COMMENT |
| LOW | .github/workflows/bump-plugin-shas.yml | 1 | name: Bump Plugin SHAs | COMMENT |
| LOW | .github/scripts/external-pr-scope.js | 1 | 'use strict'; | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …or/skills/skill-creator/eval-viewer/generate_review.py | 85 | CODE | |
| LOW | …or/skills/skill-creator/eval-viewer/generate_review.py | 149 | CODE | |
| LOW | …or/skills/skill-creator/eval-viewer/generate_review.py | 288 | CODE | |
| LOW | …skill-creator/skills/skill-creator/scripts/run_eval.py | 35 | CODE | |
| LOW | …-creator/skills/skill-creator/scripts/package_skill.py | 42 | CODE | |
| LOW | …or/skills/skill-creator/scripts/improve_description.py | 50 | CODE | |
| LOW | …or/skills/skill-creator/scripts/aggregate_benchmark.py | 67 | CODE | |
| LOW | …reator/skills/skill-creator/scripts/generate_report.py | 16 | CODE | |
| LOW | …ns/skill-creator/skills/skill-creator/scripts/utils.py | 7 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 398 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 452 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 495 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 742 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1495 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 2152 | CODE | |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 405 | CODE | |
| LOW | plugins/security-guidance/hooks/session_state.py | 49 | CODE | |
| LOW | plugins/security-guidance/hooks/diffstate.py | 265 | CODE | |
| LOW | plugins/security-guidance/hooks/diffstate.py | 282 | CODE | |
| LOW | plugins/security-guidance/hooks/gitutil.py | 389 | CODE | |
| LOW | plugins/security-guidance/hooks/gitutil.py | 727 | CODE | |
| LOW | plugins/security-guidance/hooks/ensure_agent_sdk.py | 438 | CODE | |
| LOW | plugins/security-guidance/hooks/llm.py | 1138 | CODE | |
| LOW | plugins/security-guidance/hooks/extensibility.py | 147 | CODE | |
| LOW | plugins/security-guidance/hooks/extensibility.py | 272 | CODE | |
| LOW | plugins/hookify/core/config_loader.py | 87 | CODE | |
| LOW | plugins/hookify/core/config_loader.py | 198 | CODE | |
| LOW | plugins/hookify/core/rule_engine.py | 144 | CODE | |
| LOW | plugins/hookify/core/rule_engine.py | 182 | CODE | |
| LOW | .github/scripts/discover_bumps.py | 87 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …gin-dev/skills/hook-development/scripts/hook-linter.sh | 3 | # Checks hook scripts for common issues and best practices | COMMENT |
| MEDIUM | plugins/security-guidance/hooks/ensure_agent_sdk.py | 723 | # Tell the harness this is async — venv create + pip install can take | COMMENT |
| MEDIUM⚡ | plugins/security-guidance/hooks/llm.py | 1194 | # eval harness it's a temp dir with ONLY touched_paths — the agent can't | COMMENT |
| MEDIUM⚡ | plugins/security-guidance/hooks/llm.py | 1195 | # trace cross-file data flow. The harness sets SG_AGENTIC_CONTEXT_DIR to a | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 303 | def atomic_check_and_mark_warning(session_id, warning_key): | CODE |
| LOW⚡ | …gins/security-guidance/hooks/security_reminder_hook.py | 512 | def handle_user_prompt_submit(input_data): | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 495 | def extract_content_from_input(tool_name, tool_input): | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 935 | def _agentic_review_with_race( | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1004 | def handle_commit_review_posttooluse(input_data): | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 1495 | def handle_push_sweep_posttooluse(input_data): | CODE |
| LOW | …gins/security-guidance/hooks/security_reminder_hook.py | 2112 | def _maybe_bootstrap_agent_sdk_async(): | CODE |
| LOW | plugins/security-guidance/hooks/diffstate.py | 116 | def restore_unreviewed_stop_state(session_id, paths, baseline_sha): | CODE |
| LOW | plugins/security-guidance/hooks/diffstate.py | 140 | def get_baseline_file_content(session_id, file_path, cwd): | CODE |
| LOW | plugins/security-guidance/hooks/diffstate.py | 423 | def _unchanged_since_baseline(p): | CODE |
| LOW | plugins/security-guidance/hooks/gitutil.py | 267 | def _git_reflog_recent_commits(repo_root, max_age_s=120, max_n=5): | CODE |
| LOW | plugins/security-guidance/hooks/gitutil.py | 657 | def extract_file_paths_from_diff(diff_output): | CODE |
| LOW | plugins/security-guidance/hooks/gitutil.py | 727 | def filter_preexisting_from_diff(diff_files, cwd, baseline_sha): | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 34 | def _inject_agent_sdk_venv_into_syspath(state_dir): | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 180 | def _strip_anthropic_from_no_proxy() -> None: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 189 | def ensure_anthropic_reachable() -> bool: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 293 | def _model_supports_adaptive_thinking(model: str) -> bool: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1061 | def _agentic_commit_review_enabled() -> bool: | CODE |
| LOW | plugins/security-guidance/hooks/llm.py | 1639 | def analyze_security_concerns(files: List[Tuple[str, str]], is_diff: bool = False) -> Optional[str]: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 241 | `stderr || stdout` for the model-visible body and only scans stdout | STRING |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 595 | cross-repo case (`cd ../other && git commit --amend && cd -`) where | STRING |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 745 | `git commit -m x && git push` matches both `Bash(git commit:*)` and | STRING |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 847 | that ran *before* the push, e.g. `git fetch && git push`), and end at | STRING |
| HIGH | …gins/security-guidance/hooks/security_reminder_hook.py | 849 | *after* the push, e.g. `git push && git fetch`). | STRING |
| HIGH | plugins/security-guidance/hooks/gitutil.py | 278 | pushed the success line off — `git commit && git push` makes HEAD@{0} | STRING |
| HIGH | plugins/security-guidance/hooks/gitutil.py | 284 | - cross-repo (`cd ../other && git commit`): repo_root's own reflog has | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …n-dev/skills/hook-development/examples/load-context.sh | 17 | # Check if TypeScript | COMMENT |
| LOW | …kills/hook-development/scripts/validate-hook-schema.sh | 123 | # Check if prompt-based hooks are used on supported events | COMMENT |
| LOW | plugins/security-guidance/hooks/diffstate.py | 192 | # Check if HEAD exists (i.e., repo has at least one commit) | COMMENT |
| LOW | plugins/ralph-loop/hooks/stop-hook.sh | 12 | # Check if ralph-loop is active | COMMENT |
| LOW | plugins/ralph-loop/hooks/stop-hook.sh | 60 | # Check if max iterations reached | COMMENT |
| LOW | plugins/ralph-loop/hooks/stop-hook.sh | 118 | # Check if jq succeeded | COMMENT |
| LOW | plugins/hookify/core/config_loader.py | 163 | # Check if this is an inline dict (key: value on same line) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …gins/pr-review-toolkit/agents/silent-failure-hunter.md | 3 | description: Use this agent when reviewing code changes in a pull request to identify silent failures, inadequate error | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | external_plugins/greptile/README.md | 22 | export GREPTILE_API_KEY="your-api-key-here" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | external_plugins/imessage/skills/access/SKILL.md | 56 | or "user@example.com"). Chat IDs are iMessage chat GUIDs (e.g. | CODE |