aws-vpc-dns-investigation
Use this skill when a name is not resolving as expected inside a VPC, or before applying a DNS control-plane change.
Skill by ddericcoOfficial
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/aws-aws-vpc-dns-investigation
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, cloud, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/aws-vpc-dns-investigation
What's inside
- Skill name
aws-vpc-dns-investigation- Description
- Use this skill when a name is not resolving as expected inside a VPC, or before applying a DNS control-plane change. Activate on symptoms such as NXDOMAIN or SERVFAIL from an EC2 instance, a hostname resolving to a public address when a private endpoint was expected, an AWS service endpoint that stopped resolving after a VPC endpoint or Route 53 change, an application reaching the wrong IP, resolution that works from one instance but not another, IPv6 or dualstack resolution differences, a suspected on-premises forwarding or hybrid DNS problem, or a request to check whether enabling private DNS, adding a Resolver rule, associating a private hosted zone, attaching DNS Firewall, or associating a Route 53 Profile would break anything. It drives the aws-vpc-dns-diagnostics MCP server to observe live resolution from inside the subnet and to simulate a proposed change before it is applied.
- License
- Apache-2.0
- Metadata
- author: ddericco · version: 1.0.1 · aws-devops-agent-skills.agent-types: CHAT, INCIDENT_RCA · aws-devops-agent-skills.aws-services: Amazon VPC, Amazon Route 53, Amazon EC2, AWS Systems Manager · aws-devops-agent-skills.technical-domains: Networking
- Instructions
- 162 lines in SKILL.md · view on GitHub
Files (9)
- .skilleval.yaml
- CHANGELOG.md
- README.md
- SKILL.md
- benchmark.json · evals/
- eval_queries.json · evals/
- evals.json · evals/
- report.json · evals/
- trigger_report.json · evals/
SKILL.md (first lines)
# Investigate VPC DNS Resolution Use the tools on the connected `aws-vpc-dns-diagnostics` MCP server. ## Step 1: Classify the request as Mode A or Mode B Before calling any tool, determine which mode applies: - **Mode A (live diagnosis):** The operator reports a resolution symptom from a running instance. They provide an instance ID (or you can identify one). The goal is to observe what actually resolves and compare resolvers. - **Mode B (pre-change validation):** The operator asks whether a proposed DNS change is safe. They provide account, region, VPC, and a change descriptor. No instance is required. If the request is ambiguous, ask the operator to clarify. Do not default to Mode A when the input lacks an instance ID, and do not default to Mode B when the operator describes a live symptom. ## Step 2: Load safety rules Regardless of mode, call `get_sop` with slug `A-critical-safety-rules` and follow every rule it contains. These are non-negotiable constraints on how you interpret results, handle opaque constructs, and report findings. --- ## Mode A route: live diagnosis ### Required inputs account_id, region, instance_id, and the failing DNS name. ### Tool sequence (in order) 1. `dns_probe_context` — establishes VPC-attribute preconditions: enableDnsSupport, enableDnsHostnames, address family, DHCP option set. A resolution result means nothing until you know whether the VPC resolver is answering. 2. `dns_probe_compare` — runs the allowlisted probe set inside the instance via SSM. Returns each resolver's answer and the resolver's own identity from `hostname.bind`. The VPC DHCP resolver is auto-added for comparison. 3. `get_sop` — load the pattern runbook matching the observed signature (see trap-to-SOP mapping below). ### Interpretation rules - If `enableDnsSupport` is false: load `A-resolver-disabled-precondition`. The VPC resolver is intentionally dark and every probe failure follows from that. - Compare the instance's `/etc/resolv.conf` (from the probe output) against the DHCP option set. A mismatch means the instance is not using the VPC-intended resolver. - Judge answers by name category (load `A-name-category-classification`), not by whether resolvers agree. Two resolvers returning the same wrong answer is still a failure. ### Mode A trap-to-SOP mapping | Observed signature | SOP slug | | --- | --- | | Custom resolver answers differently from VPC .2 | `A-custom-resolver-divergence` | | FORWARD rule and PHZ both match the name | `A-forward-vs-phz-precedence-collision` | | A record works, AAAA fails (or vice versa) | `A-address-family-divergence` | | enableDnsSupport is false | `A-resolver-disabled-precondition` | | General live comparison procedure | `A-mode-a-live-resolver-comparison` | ### Reporting format for Mode A Label every finding as **Observed** (ground truth from the probe). State which resolver answered and what it returned. When Mode A and Mode B produce different conclusions for the same name, **Mode A wins** because it is ground truth from inside the subnet. --- ## Mode B route: pre-change validation ### Required inputs account_id, region, vpc_id, and a change descriptor (structured dict with `type` and type-specific fields). No instance required. ### Tool sequence (in order) 1. `dns_simulate_effective_config` — returns the VPC's effective DNS config: the union of directly attached resources and anything inherited through an associated Route 53 Profile, each construct tagged by source. 2. `dns_simulate_change` — applies the proposed change symbolically and returns a per-name impact report (before/after, delta, traps, severity, volume). 3. `get_sop` — load runbooks for any traps reported in the impact table (see trap-to-SOP mapping below). ### Interpretation rules - Never recommend applying a change without simulating it first. A broad FORWARD rule, enabling private DNS on an interface endpoint, or a Profile association can silently redirect names that currently resolve correctly. - The candidate set is limited to API-derived names (PHZ records, rule domains, VPCE apexes, Firewall domain lists) or operator-supplied names. It is not exhaustive. State the coverage boundary. - If the operator supplies `volumes` (from Resolver Query Logs), names are ranked by traffic. This is enrichment; absence does not invalidate the simulation. ### Mode B trap-to-SOP mapping | Trap label in impact report | SOP slug | | --- | --- | | VPCE-shadow-NXDOMAIN | `B-vpce-shadow-nxdomain` | | broad-FORWARD-sweep | `B-broad-forward-sweep` | | flag-AND-mismatch | `B-flag-and-mismatch` | | DNS-Firewall-block | `B-dns-firewall-block` | | profile-union-shift | `B-profile-propagation-timing` | | General pre-change procedure | `B-mode-b-pre-change-validation` | ### Reporting format for Mode B Label every finding as **Predicted** (symbolic, not ground truth). State the candidate-set size, its source (API-derived or operator-supplied), and that names outside this set were not evaluated. Include the propagation timing caveat for Profile changes.
From aws/tools-for-devops-agent, Apache-2.0.
More from aws/tools-for-devops-agent
- 0.784score
cloudtrail-cost-optimization
holmallaOfficial
Identify and quantify AWS CloudTrail cost optimization opportunities.
SkillAFreshness: A★ 116Claude Code +9 - 0.784score
agentcore-observability-setup
vggargavOfficial
Validates and bootstraps Amazon Bedrock AgentCore observability so customers can trace agent reasoning, detect silent failures, and measure performance before…
SkillAFreshness: A★ 116Claude Code +9 - 0.784score
agentcore-ops-review
pamvasOfficial
Comprehensive operational review procedures for Amazon Bedrock AgentCore resources aligned with the AWS Well-Architected Framework.
SkillAFreshness: A★ 116Claude Code +9 - 0.784score
aiml-access-diagnostics
tamrishOfficial
Use this skill when diagnosing IAM and access failures for Bedrock and SageMaker.
SkillAFreshness: A★ 116Claude Code +9 - 0.784score
analytics-opensearch-expertise
genealpeOfficial
Amazon OpenSearch Service domain health assessment.
SkillAFreshness: A★ 116Claude Code +9 - 0.784score
aws-backup-coverage-review
vediyappan-kkOfficial
AWS Backup coverage and data protection posture review.
SkillAFreshness: A★ 116Claude Code +9 - 0.784score
aws-eks-operations-review
shyamkulkarniOfficial
Use this skill when someone wants an Amazon EKS cluster graded against best practices.
SkillAFreshness: A★ 116Claude Code +9 - 0.784score
aws-health-events
udid-awsOfficial
ALWAYS use this skill in the beginning of any incident investigation, root cause analysis, or operational troubleshooting.
SkillAFreshness: A★ 116Claude Code +9 - 0.784score
aws-routing
midakinOfficial
Analyze and troubleshoot AWS routing and BGP path selection - how AWS chooses a network path, why traffic takes an unexpected route, and how to steer it.
SkillAFreshness: A★ 116Claude Code +9 - 0.784score
aiml-gpu-training-cluster-investigation
nzureshOfficial
Use this skill for GPU training or inference clusters on SageMaker HyperPod (Slurm or EKS), ParallelCluster, or self-managed EC2/EKS GPU instances.
SkillAFreshness: A★ 116Claude Code +9 - 0.784score
bedrock-operation-review
smnixonOfficial
Comprehensive Amazon Bedrock review aligned with the AWS Well-Architected Framework and Bedrock best practices.
SkillAFreshness: A★ 116Claude Code +9 - 0.784score
config-cost-optimization
holmallaOfficial
Identify and quantify AWS Config cost optimization opportunities.
SkillAFreshness: A★ 116Claude Code +9
Signals
- Stars
- 116
- Forks
- 85
- Open issues
- 8
- Last commit (this folder)
- Oct 21, 2026 (7 days ago)
- Last release
- Sep 25, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.0.1
- License
- Apache-2.0
- Repository
- github.com/aws/tools-for-devops-agent
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Cite this page
aws-vpc-dns-investigation skill. Agent Mart. https://agentmart.dev/skills/aws-aws-vpc-dns-investigation (last updated 2026-10-24)