Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add paultyng/skill-issue --skill review-infrastructuregit clone --depth 1 https://github.com/paultyng/skill-issueWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/paultyng/skill-issue/review-infrastructure)<a href="https://agentmods.dev/skills/paultyng/skill-issue/review-infrastructure"><img src="https://agentmods.dev/badge/skills/paultyng/skill-issue/review-infrastructure.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00095 | $0.02826 |
| Opus 5 | $0.00048 | $0.01413 |
| Sonnet 5 | $0.00019 | $0.00565 |
| Haiku 4.5 | $0.00010 | $0.00283 |
Grade B, and why
review-infrastructure scanned grade B with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Reads agent configuration directoriesmediumAgent snooping
.claude/, .codex/, .gemini/ hold keys, settings and other credentials a mod has no legitimate need for.
- Findings must cite probed evidence (`path:line`, grep output, command result), not pattern-matched suspicion. Per `~/.claude/rules/probe-not-assume.md`. How it starts
The opening of the file, as written. The whole thing — 190 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Infrastructure Review
Structured infrastructure-as-code review producing actionable, prioritized findings with code-level references. Covers Terraform / OpenTofu, Kubernetes manifests, Dockerfiles, Helm charts, north-south gateway exposure (Envoy as edge gateway, Ingress controllers, Gateway API), and east-west service mesh (Linkerd, Istio).
Out of scope (defer to siblings):
- Pod shutdown / SIGTERM /
preStop/terminationGracePeriodSeconds→review-reliability - IAM policies, secret material, KMS key usage →
review-security(but flag inline plaintext secrets in TF / k8s here) - Application source code (
.go,.proto, etc.) →review-code
Workflow
1. Scope and explore
- Confirm scope with the user: full codebase, specific paths/modules, changed files only (PR or branch diff), or specific concern.
- Resolve scope to a file list. Based on what the user requested:
- Changed files (PR or branch): Run
git diff --name-only --diff-filter=d <base>...HEADto get changed files (default<base>ismain). If the user references a PR number, usegh pr diff <number> --name-onlyinstead. Filter to infrastructure file types (see classification below). - Explicit paths/modules: The user may specify directories (e.g.
terraform/,deploy/k8s/) or individual files. Include all infra files under it. - Full codebase: No filtering. Walk the repo for infra files (default).
- Changed files (PR or branch): Run
- If invoked from review-all: receive
file_list,has_changes,base_ref,REVIEW_DIR, andpr_urlfrom the orchestrator. Skip your own scope confirmation and use the provided values directly. - Pass the resolved scope (file list) to all exploration and investigation subagents so they only read and analyze scoped files.
File classification. Detect by extension and content sniff:
- Terraform / OpenTofu:
*.tf,*.tofu,*.tfvars. Inspectprovider,backend,terraform { required_*_version }blocks. - Kubernetes manifests: YAML with
apiVersion:+kind:keys. Includes raw manifests, Kustomize bases/overlays, ArgoCDApplicationspecs, FluxCDKustomization. - Dockerfile: filename
Dockerfile,Containerfile, or*.Dockerfile. - Helm: directories containing
Chart.yaml. Template files live undertemplates/; values invalues.yamlandvalues-*.yaml. - Gateway (north-south): Envoy bootstrap / config (
envoy.yaml, files referencingnode:,static_resources:,dynamic_resources:,listeners:+filter_chains:). YAML manifests whoseapiVersionmatchesgateway.networking.k8s.io/*(Gateway API),getambassador.io/*(Emissary/Ambassador), orprojectcontour.io/*(Contour). Standard k8sIngressresources. - Service mesh (east-west): YAML manifests whose
apiVersionmatchesnetworking.istio.io/*,security.istio.io/*,policy.linkerd.io/*, orlinkerd.io/*. Namespaces/workloads withlinkerd.io/injectoristio-injectionannotations/labels.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 8d ago First seen · 190 lines · 95 tokens per session scan B ab1eb449bd9b
review-infrastructure is a skill published in the GitHub repository paultyng/skill-issue (9 stars, last pushed 27d ago), licensed MIT. It adds 95 tokens to every session and 2,826 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it B with 1 finding (reads agent configuration directories). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
deep-review
Evidence-based deep code review rubric — severity + confidence findings across maintainability, correctness, security, performance, and testing. Push for ambitious structural simplification (code judo), not just local cleanup. Escalate hands-on triage to the code-reviewer agent.
gh-address-comments
Triage and address open GitHub PR review and conversation comments using the gh CLI. Use when the user wants to "address PR comments", "resolve review threads", or "respond to reviewers" on the current branch's pull request.
pr-alignment-loop
Iterate a PR to its final form by running two opposing reviewer droids (reviewer-robustness and reviewer-minimalist) in a bounded back-and-forth loop. The main orchestrator synthesizes their feedback, makes edits, runs tests, and stops when both approve, on stagnation, or after 3 rounds. Use when the user asks to…
deslop
Remove AI-generated code slop and clean up code style.
margaret-scan
Review focused exclusively on over-engineering. Scoped to the current diff by default, or the whole repo when asked to audit. Finds what to delete: reinvented standard library, unneeded dependencies, speculative abstractions, dead flexibility. One line per finding: location, what to cut, what replaces it. Use when the…
git-review
Review code changes, pull requests, or merge requests for bugs, code quality, security, and maintainability. Use when asked to review a PR, MR, diff, or set of changes. Also handles GitHub PRs and GitLab MRs.