# Golden routing: <example user prompt>|<expected target agent/skill>
#
# THIS FILE IS THE WORKING SET, and what it can and cannot prove is worth stating. AGENT_TEMPLATE.md tells the
# author to add the line FIRST and then choose trigger phrases against it — "you're designing the description
# against a concrete prompt" — and the matcher below is a substring test. So a row here proves the trigger was
# chosen for this prompt; it cannot prove the trigger generalises, because the prompt is where the trigger came
# from. `golden-holdout.txt` is the other half: prompts written for the same target WITHOUT looking at its
# triggers. Only a holdout row can fail for the reason this eval exists.
# routing-eval.sh reads this: the expected target's trigger phrase must appear in the prompt (substring).
# If the target isn't installed in this profile, the line is SKIPPED (won't fail a pruned install).
# NEGATIVE line: <prompt>|!<target> asserts the prompt must NOT route to <target> (none of its triggers match) —
# a guard against over-broad triggers. See the "must NOT route" block at the end of this file.
add a new handler for the order endpoint|backend-expert-csk
write a migration for this table|database-expert-csk
build a responsive component for the login screen|frontend-expert-csk
# Positive twins of the seven over-broad-word rows below: the replacement phrase must still route.
cut a release and tag it|release
review the code in this PR|code-review-csk
the page layout is broken on mobile|frontend-design
requests are timing out under load|performance-expert-csk
add client routing to the app|frontend-expert-csk
add a new rn screen with expo router|frontend-rn-expo
run an OWASP check and a full security scan|security-expert-csk
we need a kvkk privacy audit|privacy-agent-csk
commit the changes|commit-agent-csk
run tests and give me a coverage report|test-expert-csk
do a PR review and look at the diff|review-agent-csk
plan first and produce a task breakdown|planner-csk
deploy this and go to production on the VPS|deploy
prepare the changelog and cut a tag|release
set up a ci pipeline with github actions|ci-pipeline
write an adr for this architecture decision|adr
run npm audit for a dependency audit|dependency-audit
check i18n for any missing translation|i18n-integrity
run the sonarqube quality gate|sonarqube-check
prepare a handoff with the current session state|handoff
add a structured log with a correlation id|observability
update the README and write the API docs|docs-writer
run an accessibility audit and check WCAG|a11y
handle api versioning with an openapi contract|api-design
the page is slow, do a performance optimization|performance
write an incident runbook and a postmortem|incident-runbook
red team the prompt injection defenses|red-team
ship to prod and be ready to rollback|devops-expert-csk
set up a reverse proxy and ssl|devops-expert-csk
keep going until the tests pass and the review is clean|iterate
debug this and find the root cause of the intermittent bug|systematic-debugging
improve the visual design — the spacing and typography look off|frontend-design
build an MCP server to expose these tools to Claude|mcp-builder
build a threat model and map the attack surface before we scan|threat-model
set up an eval to measure output quality against a baseline|eval-grader

# --- How a user actually phrases it -> the AGENT that must own the work ---
# Added after a real install where a design request produced good analysis and no delegation. Every case here
# asserts an AGENT, deliberately: the skills already carried this vocabulary ("visual design", "typography",
# "memory leak") so the skill fired and the gate stayed green, while the agent that OWNS the work was
# unreachable by the words anyone actually types. Testing the skill proved the mapping existed; it never proved
# a real sentence reached the delegation layer.
the app does not look premium, improve the visual design|frontend-expert-csk
add a dark mode and a design token layer|frontend-expert-csk
the icons are inconsistent, we need a design system|frontend-expert-csk
we have a memory leak in production|performance-expert-csk
the app feels laggy after the last release|performance-expert-csk
users report the app crashes on startup|systematic-debugging
the login is broken and I do not know why|systematic-debugging
# Narrowing a trigger has to be paid for with a positive case, or the fix for a false route quietly creates an
# unreachable component. token-budget had NO positive case at all before this line.
the context is full, check the token budget before we continue|token-budget

# --- Core components that had NO positive case until 1.11.0 ---
# An audit found 12 skills and one agent that the routing gate never checked — including security-scan,
# code-review, testing and spec-planning, i.e. most of what the kit advertises. A component with no case is a
# component whose reachability is assumed, which is exactly how frontend-expert-csk went unreachable for a whole
# class of request while every gate stayed green.
i am not sure what we want here yet, help me scope it|brainstorm
review the code I just wrote before I push|code-review-csk
write a commit message for the staged changes|commit-message
add column last_login to the users table|db-migration
add a query handler with a validator for this module|devarch-module
the settings screen needs a state management fix|frontend
we need a consent flow before we store any of this|privacy-compliance
let us step back and see what we missed this week|reflect
scan for vulnerabilities in the auth flow|security-scan
how do we split this into tasks with acceptance criteria|spec-planning
are the tests green after that change|testing
check for AI trace before the commit|trace-scan
is a handover needed, the context status looks high|session-manager-csk

# --- Negative: prompt must NOT route to target (over-broad-trigger guard) ---
#
# The seven rows below are the ones that were REPORTED FROM LIVE USE, not invented. Each generic English word
# was a standalone trigger, and a single trigger of six characters or more clears the score floor on its own —
# so any sentence containing the word routed somewhere unrelated. Measured before the fix: all seven misrouted.
#   "context"  -> token-budget            "version"  -> release             "review"  -> review-agent-csk
#   "routing"  -> frontend-expert-csk     "timeout"  -> performance-expert  "screen"  -> frontend-expert-csk
#   "layout"   -> frontend-design
# None of them came from this release's widening: all seven were triggers in 2.6.0 and earlier, which the diff
# against v2.6.0 confirms. Each was replaced by the phrase that carries the intent rather than deleted, and the
# POSITIVE twin of every row sits in the block above — a guard that only proves silence would be satisfied by
# a component with no triggers at all.
give me more context on this bug|!token-budget
review the jira ticket before I send it|!review-agent-csk
the image version is 3.2, rebuild it|!release
the routing table is misconfigured|!frontend-expert-csk
the request timeout is 30 seconds|!performance-expert-csk
the screen froze during the demo|!frontend-expert-csk
fix the layout of this json file|!frontend-design
design the database schema|!frontend-design
read the model context and summarize it|!mcp-builder
optimize the slow sql query performance|!systematic-debugging
# `build` contains `ui`, and `UI` used to be a trigger, so a CI failure routed to the frontend expert. A wrong
# route is worse than none: it looks like the kit worked. Fixed by word-bounded matching AND by retiring the
# bare `UI` trigger for `UI polish`; this line fails if either regresses.
the build fails on CI|!frontend-expert-csk
the docker build is broken in the pipeline|!frontend-expert-csk
# Same class, found while verifying the fix above: a bare `token` trigger sent "design token layer" to the
# session-context skill. A one-word trigger for a word that lives in two vocabularies is not a trigger.
add a dark mode and a design token layer|!token-budget
isolate this work in a git worktree before the parallel agents run|worktree
before I start, am I sure enough to implement this|confidence-check
upgrade dependencies to current versions|dependency-upgrade
is this endpoint fast enough on the hot path|performance-expert-csk
who is working on which sprint item right now|teamboard
audit this against ccpa and lgpd for data protection regulation|privacy-agent-csk
is my auto mode classifier policy still intact|automode-policy

# --- negative guards added with the trigger widening -------------------------------------------------
# Each widening below opened a class of request; each row here is a request that belongs to a NEIGHBOUR
# and must NOT reach the widened component. A widening without its guard is a steal nobody would notice.
add keyboard shortcuts for power users on the dashboard|!a11y
pick a color palette for the dark mode|!a11y
the focus this sprint is the new checkout component|!a11y
add a mouse hover state to the card|!a11y
reorder the tab bar items on the profile screen|!a11y
bump the default text size in the design system|!a11y
add a motion blur transition between routes|!a11y
make the empty state look more premium on the profile page|!a11y
is the lodash version in our lockfile affected by a published CVE|!security-scan
payments are down in production, who owns the incident right now|!security-scan
we have a memory leak in the worker process after the release|!security-scan
map the trust boundaries and entry points before we start the audit|!security-scan
the goroutine leaked memory and the pod restarted|!security-scan
the connection pool leaked connections under load|!security-scan
trim what we store in the session cache so redis stops growing|!privacy-compliance
someone pushed a database password to the repo, rotate the credentials|!privacy-compliance
delete the old event rows from the analytics table to save disk|!privacy-compliance
fix the sql injection in the search filter before release|!red-team
you keep ignoring my instructions about the commit format|!red-team
the importer crashes when it reads a large file|!red-team
the ci build takes 20 minutes and blocks every pr|!performance
the webpack build takes ninety seconds to finish in the pipeline|!performance
add a duration metric and a correlation id to this handler|!performance
the github actions workflow needs a build and test stage before the pr gate|!testing
the docker build step fails in the pipeline but works on my machine|!testing
users hit an intermittent bug on checkout that I cannot reproduce|!testing
add a column chart to the analytics dashboard|!db-migration
the results grid needs an extra column on the settings screen|!db-migration
we are migrating the frontend build to vite next week|!db-migration
the login endpoint throws a 500 for half the requests|!api-design
add a new endpoint that returns the user profile|!api-design
upgrading the sdk to v4 is not backward compatible|!api-design
users get a different response from the cache than the database|!api-design
bump versions of the outdated packages and verify the build|!dependency-audit
wire up a new dependency injection container for the module|!dependency-audit
we send analytics events to a third party service|!dependency-audit
the npm ci step fails on the windows runner|!dependency-audit
the context is full, check the token budget before we continue|!handoff
is it time to clear, how healthy is this session|!handoff
the disk is about to run out of space on the server tonight|!handoff
resume the half-finished migration on the users table|!handoff
run two agents in parallel without them touching the same files|!teamboard
isolate this refactor in a sandbox worktree so the parallel edits do not collide|!teamboard
break the release work down into tasks with acceptance criteria|!teamboard
my two agents are working on the same files|!teamboard
nobody knows why the nightly job fails every other night|!adr
write the README section explaining how the retry queue works|!adr
how do we split this into tasks with acceptance criteria|!adr
explain the reasoning behind this stack trace|!adr
the unit tests are failing after my refactor|!ci-pipeline
cut the release, write the changelog and tag it|!ci-pipeline
the deploy to the server failed last night|!ci-pipeline
add a build step to the github actions workflow|!deploy
we have an outage in production, start the incident runbook|!deploy
bump the version and add the changelog entry|!deploy
tail the nginx logs on the server for me|!deploy
the cron job on the server never fires|!deploy
the tests fail on the server but pass in my ide|!deploy
we push to produce a release candidate every friday|!deploy
add a link to product detail from the search results|!deploy
build a responsive component for the login screen|!i18n-integrity
we picked the wrong language for this service, write an adr|!i18n-integrity
write the README in english for the public repo|!i18n-integrity
the connection strings are missing from appsettings|!i18n-integrity
add language support for kotlin to the parser|!i18n-integrity
