Tools provided
Tools the agent exposes — your AI client calls them automatically when it needs them.
- fetch_dependabot_alerts — Read a repository's OPEN Dependabot alerts from api.github.com and return them as rows review_dependency_audit can judge: package, advisory, CVSS score where GitHub states one, and whether a reference mentions a public exploit. An alert GitHub gave no score is counted as unscored, never as a zero. The read is bounded and says so when it stopped early. Without a connected GITHUB_TOKEN it returns nothing and names the missing credential - it never answers with example alerts.
- scan_security — Review a parsed Terraform or Helm plan you supply for resources this change would expose to the public internet: security-group ingress open to 0.0.0.0/0 or ::/0, and S3 buckets made publicly readable. Returns each exposure with its severity, a merge verdict and a ready-to-post PR comment.
- check_least_privilege — Review a parsed Terraform or Helm plan you supply for IAM policies that grant more than the workload needs: an allow statement with Action "*", Resource "*", or a service-wide wildcard such as "s3:*". Returns each over-broad grant, what it actually permits, and how to scope it down.
- review_dependency_audit — Read the security-audit report you supply and classify every vulnerable package: the semver jump from the installed version to the fixed one, the advisory severity, and whether a usable fix exists at all. Reads only what you pass in — it queries no advisory service.
- plan_upgrades — Turn the audit report you supply into one upgrade proposal per vulnerable package: the version bump, ordered migration steps, a PR title, and whether a human has to review it. A package whose audit row names no upgrade target gets a mitigation plan instead of a bump. Never batches two packages into one PR.
- score_upgrade_risk — Score how likely each upgrade in the audit report you supply is to break the build: the semver jump, the advisory severity, every breaking-change signal found in the version pair and in your own changelog text, and whether a fix exists. Returns the weight table used, so every score can be recomputed by hand.
- triage_scanner_findings — Collapse the same issue reported by Semgrep, Trivy and Snyk into ONE finding, and say how inflated your raw count was - every backlog and board slide quoted off that list carries the multiplication. The CVSS score travels as the VENDOR'S, unchanged: it describes the vulnerability, not your exposure, so a 9.8 in a parser you never call is not a 9.8 for you. Where you supply reachability, findings separate on that instead. Nothing is auto-suppressed.
- run_full — Run every capability you supplied the input for, in registry order, and return one report. Capabilities whose input is missing are listed as skipped with the fields they need — never run against a fixture and never reported as zero.
- list_capabilities — List what this agent can do: every tool it advertises, what each one is for, and the arguments each one reads. Useful for discovery before the first call.
- plan_inputs — Plan the inputs for a tool: returns the questions to ask, the JSON schema of the arguments, and a ready-to-edit example. Every argument it names is an argument the tool actually reads.
- discover_intent — Understand your goal and co-design the exact input through clarifying questions before anything runs.
- open_form — Use this the moment the user wants to run this agent on their own input. It opens an interactive form that collects the run arguments. Do NOT check credentials, do NOT ask clarifying questions in chat, and do NOT run any analysis before calling this — the form is the entry point for running the agent.
- run_form — Internal: invoked by the open_form form when the user submits. Reads exactly the same arguments as run_full and forwards all of them. Not for direct use.