Skip to content

Guide · Agent skill

How to use the Competition Runtime Routing agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

Competition Runtime Routing is an agent skill for capture-the-flag (CTF) sandbox work. It helps an AI agent work out which host, proxy rule, container or process serves a given web request, and how headers, path prefixes and websocket upgrades change that result. It is written for players, security students and competition operators who are already inside a sandbox challenge. By the end of this guide you will know what the skill does, how to install it, how to trigger it, and what limits to respect.

Competition Runtime Routingzhaoxuya520/reverse-skill · MIT

Quick start

  1. 1Download and unzip the skill. Download the ZIP from this page and unzip it so the folder contains SKILL.md and references/runtime-routing.md.
  2. 2Place it in a skills folder. Move the folder into ~/.claude/skills/ for personal use or into your project's .claude/skills/ folder. Alternatively upload it under Settings → Capabilities → Skills in the Claude apps.
  3. 3Make the parent skill available. Install ctf-sandbox-orchestrator separately, since it is referenced by name and not bundled here.
  4. 4Set up the challenge context. Let the parent skill establish sandbox assumptions and node ownership before asking routing questions.
  5. 5Ask a routing question. Describe the route, host or header you are investigating in plain language, such as which container serves a given route.
  6. 6Provide evidence. Share proxy configs, container details or a real request trace so the agent can prove the route end to end.
  7. 7Review the route map. Check the host-to-proxy-to-service-to-process map and the single input change that altered the result.

What an agent skill is and what this one does

An agent skill is a folder of instructions and reference files that an AI agent loads when a request matches the skill's description. This skill is a downstream helper: it is meant to run only after the parent skill ctf-sandbox-orchestrator has already set up the challenge context and sent the work here.

Once active, the agent maps how a request travels through reverse proxies, Host and X-Forwarded-* headers, path-prefix rewrites and websocket upgrades to reach the right backend. It looks for the smallest change to a request that alters routing, then records the evidence as one compact host-to-proxy-to-service-to-process map.

  • Builds a route map: client host and scheme, proxy rule, service or container, process, then any downstream store or worker.
  • Changes one routing input at a time (Host, forwarded headers, Origin, path prefix, base URL) and compares the results.
  • Separates route resolution from application authentication logic.
  • Replies in Simplified Chinese unless you explicitly ask for English.

Install the skill from the ZIP

Download the skill ZIP from this page and unzip it. The folder contains SKILL.md, references/runtime-routing.md and agents/openai.yaml. Place the folder in one of the locations below so your agent can find it.

You can also upload it through the Claude apps: open Settings, go to Capabilities, then Skills, and upload the skill there.

  • Personal install: unzip into ~/.claude/skills/
  • Project install: unzip into your project's .claude/skills/ folder
  • Claude apps: Settings → Capabilities → Skills, then upload the skill
~/.claude/skills/competition-runtime-routing/

Install the parent skill too

This skill does not work on its own as intended. Its SKILL.md says to use it only after $ctf-sandbox-orchestrator is already active and has set sandbox assumptions. The parent skill is referenced by name and is not bundled in this download, so you need to have it available separately.

Trigger the skill with natural requests

The skill's description lists the kinds of questions it handles. You do not need special syntax; ask the way you would ask a colleague, once the parent skill has set up the challenge. The routing skill may also point you to a different skill if the problem is about parser differentials or request smuggling.

Good triggers focus on which node serves a route, or how a header changes behavior.

  • Which container serves this route on the sandbox?
  • Why does this public-looking domain still belong to the sandbox?
  • How does changing X-Forwarded-Host affect which backend answers?
  • How does this route resolve across the proxy, the container and the worker?
  • Does the websocket upgrade go to the same service as the normal HTTP path?

Example: tracing a route in a challenge

Suppose a challenge exposes a site on a hostname that looks like a public cloud domain. Ask the agent which service answers the request for the /app prefix. The skill tells the agent to treat the hostname as a sandbox fixture unless the evidence disproves it, then to build the route map from the client host to the proxy rule, to the container and process.

Next, it re-sends the same request with one input changed, for example the Host header or a path prefix. If the decisive backend changes, the agent reports the exact request shape that flips the route, with the proxy snippet and headers that support it.

  • Provide proxy configs, container details or traffic traces if you have them, since the agent needs them for analysis.
  • Expect a host-to-proxy-to-service-to-process map as the output.

Safety notes and limits

This skill runs no scripts and makes no network calls, according to its metadata. It works from the files and evidence you give it, such as proxy configs, container details and traffic traces.

The skill tells the agent to treat every hostname as a sandbox fixture unless evidence disproves it. That is appropriate for CTF practice but can mislead a real investigation, so do not use it on production systems or real third-party domains. Parser-differential and request smuggling problems are out of scope and belong to a different skill.

  • Do not use on production systems or real third-party domains.
  • Scripts: none. Network: none.
  • Requires the parent ctf-sandbox-orchestrator skill to be active first.

Tips for better results

Give the agent one complete request and its response before asking broader questions. The reference checklist advises proving one route end to end before widening to other hosts or prefixes.

Keep checked-in config separate from live config when they differ, and say which one you are asking about. Capture a real request as evidence rather than relying only on reading the code.

  • Start with one request that you can reproduce.
  • Change one routing input at a time.
  • Note whether a failure is a routing problem or an auth problem; they are different.

What people use it for

  • Finding which container answers a path prefix behind a reverse proxy in a web CTF challenge.
  • Showing how a forwarded Host or X-Forwarded-Proto header changes the URL an app generates.
  • Checking whether a websocket upgrade reaches the same backend as normal HTTP traffic.
  • Teaching security students how Host headers select a virtual host.
  • Helping a competition operator find which sandbox node serves a given route.

Frequently asked questions

How do I install the competition-runtime-routing skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use or into your project's .claude/skills/ folder. You can also upload it in the Claude apps under Settings → Capabilities → Skills.

Do I need the ctf-sandbox-orchestrator skill to use this?

Yes. The SKILL.md says this skill should only run after ctf-sandbox-orchestrator is already active and has established sandbox assumptions. That parent skill is referenced by name and is not included in this download.

Does this skill run scripts or use the network?

According to its metadata, it runs no scripts and makes no network calls. It works from the proxy configs, container details and traffic traces you provide.

Is this skill free and what is its licence?

The item is listed under the MIT licence. This page does not state any price, so check the directory listing for pricing details.

Can I use this on a real website or production system?

No, the listing says it is not for production systems or real third-party domains. The skill treats hostnames as sandbox fixtures unless evidence disproves that, which could mislead a real investigation.

What should I use for request smuggling or parser-differential problems?

The SKILL.md says those problems should go to a different skill, named $competition-request-normalization-smuggling. This routing skill does not cover them.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

Use this skill if you are working on web CTF challenges with reverse proxies or virtual hosts, or you are a security student learning how Host and forwarded headers change routing. Skip it for production systems, real third-party domains, request smuggling, or any setup where the parent ctf-sandbox-orchestrator skill is not available.

Download the skill