Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Choose Phoenix review, plan, debug, or test command. Use when user asks which /phx: command or plugin skill handles a task; do not route only to a domain skill. NEVER for bare /help; NOT for ambiguous requests (use intent-detection) or a plugin tour.
.claude/skills/oliver-kriska-help/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 67% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 31% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 168% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 151% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 46% | 0% |
Helps users find the right command, skill, or agent for their situation.
/phx:help # Analyze context, suggest commands
/phx:help how do I debug this? # Route to /phx:investigate
/phx:help add a new feature # Route to /phx:plan -> /phx:work$ARGUMENTS — optional description of what the user wants to doIf $ARGUMENTS is non-empty, use it as primary signal.
Always gather ambient context (run in parallel):
.claude/plans/*/plan.md — active work in progress?.claude/solutions/**/*.md — prior knowledge?Read ${CLAUDE_SKILL_DIR}/references/tool-catalog.md for the full routing table.
Map the user's situation to one of these categories:
| Category | Signals | Primary Commands | |----------|---------|-----------------| | Starting out | No plans, new to plugin | /phx:intro | | Ideation | "explore", "brainstorm", "not sure", "how to approach", "vague idea" | /phx:brainstorm | | New feature | "add", "build", "implement", multi-file | /phx:plan → /phx:work | | Quick change | Single file, <50 lines, "fix typo" | /phx:quick | | Bug | Error, stack trace, "broken", "failing" | /phx:investigate | | Review | "check", "review", PR ready | /phx:review | | Performance | "slow", "N+1", "memory" | /phx:perf, /ecto:n1-check, /lv:assigns | | Research | "how to", "best practice", "evaluate lib" | /phx:research | | Resume work | Existing plan with unchecked tasks | /phx:work --continue | | Post-fix | "that worked", solved a hard bug | /phx:compound | | Full cycle | Large feature, new domain area | /phx:full | | Project health | "audit", "tech debt", "overall quality" | /phx:audit, /phx:techdebt | | Dep update audit | "audit deps", "supply chain", "post-mix deps.update", "review mix.lock PR" | /phx:deps-audit | | Manual dep vetting | "vet this package", "approve dep", "trust ledger", "after /phx:deps-audit findings" | /phx:deps-vet | | Deployment | "deploy", "release", "production" | /phx:verify then deploy skill | | Permissions | "too many prompts", "allow", "permission fatigue" | /phx:permissions | | Returning after time off | "what did I miss", "back from vacation", "catch up", "what changed while I was out" | /catchup (companion plugin, separate install) |
If high confidence (clear match to one category): Present the recommendation with:
If medium confidence (2-3 possible matches): Use AskUserQuestion with the top options, each with a one-line explanation.
If low confidence (vague or no signal): Ask ONE focused clarifying question. Examples:
Then recommend based on the answer.
After recommending, always add:
/phx:help anytime to get routing advice"/phx:intro for a full plugin walkthrough"/phx:plan Add user notifications not just "use the plan command"intent-detection (auto-trigger) with explicit invocation/phx:intro for onboarding| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 5,825 | 4,118 | -29% | 1 | 1 | 0% | 1,009 | 1,419 | +41% | 0 | 0 | — |
case-02 | fail→fail | 7,019 | 4,914 | -30% | 1 | 1 | 0% | 1,081 | 1,241 | +15% | 0 | 0 | — |
case-03 | fail→fail | 9,070 | 6,711 | -26% | 1 | 1 | 0% | 1,534 | 1,633 | +6% | 0 | 0 | — |
case-04 | fail→pass | 6,421 | 2,641 | -59% | 1 | 1 | 0% | 947 | 1,578 | +67% | 0 | 0 | — |
case-05 | fail→fail | 9,345 | 8,589 | -8% | 1 | 1 | 0% | 1,390 | 1,870 | +35% | 0 | 0 | — |
case-06 | fail→fail | 9,470 | 3,445 | -64% | 1 | 1 | 0% | 1,632 | 1,727 | +6% | 0 | 0 | — |
case-07 | fail→pass | 7,645 | 2,908 | -62% | 1 | 1 | 0% | 1,233 | 1,617 | +31% | 0 | 0 | — |
case-08 | fail→pass | 4,450 | 3,859 | -13% | 1 | 1 | 0% | 644 | 1,728 | +168% | 0 | 0 | — |
case-09 | fail→fail | 18,764 | 4,789 | -74% | 1 | 1 | 0% | 3,289 | 1,953 | -41% | 0 | 0 | — |
case-10 | fail→pass | 5,193 | 3,642 | -30% | 1 | 1 | 0% | 728 | 1,826 | +151% | 0 | 0 | — |
case-11 | fail→pass | 8,368 | 3,926 | -53% | 1 | 1 | 0% | 1,286 | 1,879 | +46% | 0 | 0 | — |
case-12 | fail→fail | 10,268 | 3,320 | -68% | 1 | 1 | 0% | 1,637 | 1,709 | +4% | 0 | 0 | — |
case-13 | fail→pass | 10,581 | 3,686 | -65% | 1 | 1 | 0% | 1,754 | 1,856 | +6% | 0 | 0 | — |
case-14 | fail→pass | 7,020 | 3,109 | -56% | 1 | 1 | 0% | 1,170 | 1,691 | +45% | 0 | 0 | — |
case-15 | fail→pass | 5,403 | 2,850 | -47% | 1 | 1 | 0% | 827 | 1,574 | +90% | 0 | 0 | — |
case-16 | fail→pass | 6,947 | 5,314 | -24% | 1 | 1 | 0% | 1,113 | 2,063 | +85% | 0 | 0 | — |
case-17 | fail→pass | 6,640 | 2,167 | -67% | 1 | 1 | 0% | 1,024 | 1,509 | +47% | 0 | 0 | — |
case-18 | pass→pass | 8,473 | 3,020 | -64% | 1 | 1 | 0% | 1,190 | 1,734 | +46% | 0 | 0 | — |
case-19 | pass→pass | 6,634 | 2,030 | -69% | 1 | 1 | 0% | 984 | 1,461 | +48% | 0 | 0 | — |
case-20 | pass→pass | 8,898 | 3,227 | -64% | 1 | 1 | 0% | 1,328 | 1,688 | +27% | 0 | 0 | — |
case-21 | pass→fail | 10,955 | 9,901 | -10% | 1 | 1 | 0% | 2,067 | 3,117 | +51% | 0 | 0 | — |
case-22 | pass→fail | 10,597 | 8,402 | -21% | 1 | 1 | 0% | 1,962 | 1,825 | -7% | 0 | 0 | — |
case-23 | pass→pass | 7,652 | 5,566 | -27% | 1 | 1 | 0% | 1,344 | 2,143 | +59% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 18 counted toward the lift figure. The other 5 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +35 percentage points is the difference between those two pass rates over the 18 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.