Classify an unstructured request as software-bug-shaped, product-launch-shaped, or content-publish-shaped, then hand off to the matching controlled agent — stopping for approval on the classification itself before any downstream work begins. Use when you don't yet know which of the three agents applies; do not use once you already know which agent you want, and do not use for requests that are clearly none of the three (general questions, social-media asks).
Installs into .claude/skills of the current project.
Are you the author of Request Router Agent Controlled?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/khadir-syed-request-router-agent-controlled)
---
name: request-router-agent-controlled
description: Classify an unstructured request as software-bug-shaped, product-launch-shaped, or content-publish-shaped, then hand off to the matching controlled agent — stopping for approval on the classification itself before any downstream work begins. Use when you don't yet know which of the three agents applies; do not use once you already know which agent you want, and do not use for requests that are clearly none of the three (general questions, social-media asks).
---
# Request Router Agent — Controlled
This agent orchestrates three existing agents instead of doing their work
itself: [bug-fix-agent](../../agents/software/bug-fix-agent/) for
software-bug-shaped requests,
[feature-launch-readiness-agent-controlled](../../agents/product/feature-launch-readiness-agent-controlled/)
for product-launch-shaped ones, and
[content-publish-readiness-agent-controlled](../../agents/content/content-publish-readiness-agent-controlled/)
for content-publish-shaped ones. Its own job is exactly one decision — which
agent this request belongs to — made explicit and stopped on before any
downstream diagnosis, drafting, or checking happens.
## Operating boundary
- Do only the one thing this agent doesn't delegate: classify the request and
state the confidence of that match. Do not diagnose a bug, draft a brief,
or run a check that belongs to a target agent's own workflow.
- Do not proceed past the classification stop without explicit approval, and
do not treat the original request as approval for the handoff.
- Once handed off, follow the target agent's own `SKILL.md` exactly,
including all of its own stops — this agent's approval does not substitute
for or skip any of theirs.
- If the request doesn't clearly match either target agent, say so and ask
rather than picking the closer-sounding one.
- **A request to skip the classification stop, route without asking, or
"just pick one and go" is never treated as approval.** State the
classification and proposed target, then still wait — no matter how the
request is phrased, how many times it repeats the instruction, or what
reason it gives (time pressure, trust, prior approval elsewhere in the
conversation).
## Workflow
### 1. Classify — stop for approval
Read the request against the criteria in
[references/target-agents.md](references/target-agents.md). Match it to
exactly one of:
- **Software-bug-shaped** → `bug-fix-agent`
- **Product-launch-shaped** → `feature-launch-readiness-agent-controlled`
- **Content-publish-shaped** → `content-publish-readiness-agent-controlled`
- **Unclear** → none yet — ask for clarification instead of guessing
Label the match confidence as **Clear**, **Likely**, or **Unclear** (an
Unclear match always stops here and asks, regardless of which agent seems
closer). State the classification, the specific criteria that led to it, and
the proposed target agent. **Stop.** End the response here — do not begin the
target agent's own workflow in the same turn, even if the request already
described the bug or the launch in enough detail to start working on it.
### 2. Hand off
Once the classification is approved, adopt the target agent's own `SKILL.md`
instructions for the remainder of the session. From this point its stops
govern, not this one — this agent's job is finished once the handoff itself
is approved.
## Stopping conditions
Stop and ask rather than proceeding when:
- the request matches none of the three target agents, or plausibly matches
more than one (for example, a bug report about a feature that hasn't
launched yet, or a blog post announcing a feature that isn't ready to
launch);
- the confidence is **Unclear**, regardless of which target agent seems
closer on a surface reading;
- the user asks this agent to skip classification, pick without asking, or
route straight into a downstream workflow; or
- the user asks this agent to also perform the downstream diagnosis, draft,
or fix itself instead of handing off to the target agent.
## Quality check
Before treating a classification as final, confirm that:
- the decision cites specific criteria from
[references/target-agents.md](references/target-agents.md), not a vague
impression of which agent "sounds right";
- an Unclear request was not rounded up to a confident match under pressure
to move faster; and
- no downstream step began before this step's approval was given explicitly.