Plugin Help — Interactive Command Advisor
Helps users find the right command, skill, or agent for their situation.
Usage
/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
$ARGUMENTS — optional description of what the user wants to do
- Empty = analyze current context (git status, existing plans, file patterns)
Execution Flow
Step 1: Gather Context
If $ARGUMENTS is non-empty, use it as primary signal.
Always gather ambient context (run in parallel):
- Check for existing plans: use Glob on
.claude/plans/*/plan.md — active work in progress?
- Check git status: uncommitted changes? which files?
- Check for solution docs: use Glob on
.claude/solutions/**/*.md — prior knowledge?
Step 2: Classify Intent
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) |
Step 3: Respond or Clarify
If high confidence (clear match to one category):
Present the recommendation with:
- The command to run (with exact syntax)
- One-line explanation of what it does
- What artifacts it creates (if any)
- Suggested next step after it completes
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:
- "Are you starting something new or continuing existing work?"
- "Is this a bug fix or a new feature?"
- "How many files do you expect to change?"
Then recommend based on the answer.
Step 4: Offer Follow-up
After recommending, always add:
- "Run
/phx:help anytime to get routing advice"
- If they seem new: "Try
/phx:intro for a full plugin walkthrough"
Iron Laws
- ONE recommendation — don't dump the full catalog, pick the best match
- MAX ONE clarifying question — don't interrogate, make your best guess
- Show exact syntax —
/phx:plan Add user notifications not just "use the plan command"
- Context over keywords — existing plans + git state matter more than word matching
- NEVER block — if user already knows what they want, DO NOT redirect
Integration
- Complements
intent-detection (auto-trigger) with explicit invocation
- References same routing logic but adds interactive clarification
- Can recommend
/phx:intro for onboarding
1---2name: help3description: "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."4argument-hint: "[description of what you want to do]"5effort: low6---78# Plugin Help — Interactive Command Advisor910Helps users find the right command, skill, or agent for their situation.1112## Usage1314```15/phx:help # Analyze context, suggest commands16/phx:help how do I debug this? # Route to /phx:investigate17/phx:help add a new feature # Route to /phx:plan -> /phx:work18```1920## Arguments2122- `$ARGUMENTS` — optional description of what the user wants to do23- Empty = analyze current context (git status, existing plans, file patterns)2425## Execution Flow2627### Step 1: Gather Context2829If `$ARGUMENTS` is non-empty, use it as primary signal.3031Always gather ambient context (run in parallel):32331. Check for existing plans: use Glob on `.claude/plans/*/plan.md` — active work in progress?342. Check git status: uncommitted changes? which files?353. Check for solution docs: use Glob on `.claude/solutions/**/*.md` — prior knowledge?3637### Step 2: Classify Intent3839Read `${CLAUDE_SKILL_DIR}/references/tool-catalog.md` for the full routing table.4041Map the user's situation to one of these categories:4243| Category | Signals | Primary Commands |44|----------|---------|-----------------|45| **Starting out** | No plans, new to plugin | `/phx:intro` |46| **Ideation** | "explore", "brainstorm", "not sure", "how to approach", "vague idea" | `/phx:brainstorm` |47| **New feature** | "add", "build", "implement", multi-file | `/phx:plan` → `/phx:work` |48| **Quick change** | Single file, <50 lines, "fix typo" | `/phx:quick` |49| **Bug** | Error, stack trace, "broken", "failing" | `/phx:investigate` |50| **Review** | "check", "review", PR ready | `/phx:review` |51| **Performance** | "slow", "N+1", "memory" | `/phx:perf`, `/ecto:n1-check`, `/lv:assigns` |52| **Research** | "how to", "best practice", "evaluate lib" | `/phx:research` |53| **Resume work** | Existing plan with unchecked tasks | `/phx:work --continue` |54| **Post-fix** | "that worked", solved a hard bug | `/phx:compound` |55| **Full cycle** | Large feature, new domain area | `/phx:full` |56| **Project health** | "audit", "tech debt", "overall quality" | `/phx:audit`, `/phx:techdebt` |57| **Dep update audit** | "audit deps", "supply chain", "post-`mix deps.update`", "review mix.lock PR" | `/phx:deps-audit` |58| **Manual dep vetting** | "vet this package", "approve dep", "trust ledger", "after /phx:deps-audit findings" | `/phx:deps-vet` |59| **Deployment** | "deploy", "release", "production" | `/phx:verify` then deploy skill |60| **Permissions** | "too many prompts", "allow", "permission fatigue" | `/phx:permissions` |61| **Returning after time off** | "what did I miss", "back from vacation", "catch up", "what changed while I was out" | `/catchup` (companion plugin, separate install) |6263### Step 3: Respond or Clarify6465**If high confidence** (clear match to one category):66Present the recommendation with:6768- The command to run (with exact syntax)69- One-line explanation of what it does70- What artifacts it creates (if any)71- Suggested next step after it completes7273**If medium confidence** (2-3 possible matches):74Use `AskUserQuestion` with the top options, each with a one-line explanation.7576**If low confidence** (vague or no signal):77Ask ONE focused clarifying question. Examples:7879- "Are you starting something new or continuing existing work?"80- "Is this a bug fix or a new feature?"81- "How many files do you expect to change?"8283Then recommend based on the answer.8485### Step 4: Offer Follow-up8687After recommending, always add:8889- "Run `/phx:help` anytime to get routing advice"90- If they seem new: "Try `/phx:intro` for a full plugin walkthrough"9192## Iron Laws93941. **ONE recommendation** — don't dump the full catalog, pick the best match952. **MAX ONE clarifying question** — don't interrogate, make your best guess963. **Show exact syntax** — `/phx:plan Add user notifications` not just "use the plan command"974. **Context over keywords** — existing plans + git state matter more than word matching985. **NEVER block** — if user already knows what they want, DO NOT redirect99100## Integration101102- Complements `intent-detection` (auto-trigger) with explicit invocation103- References same routing logic but adds interactive clarification104- Can recommend `/phx:intro` for onboarding