The interface is localized. Skill descriptions and documents are machine-translated by AI into your language; code, commands, paths and technical terms stay in the original, and the author's document governs.
Explore skills
Productivity · SKILL.md

intent-detection

intent-detection

Route ambiguous or mixed Phoenix/LiveView/Ecto requests before choosing a workflow. Use when user is unsure where to start/how to approach work, asks for the right workflow, or combines intents such as fixing and refactoring. NOT for a clear task.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill documentation

GitHub

name: intent-detection description: Route ambiguous or mixed Phoenix/LiveView/Ecto requests before choosing a workflow. Use when user is unsure where to start/how to approach work, asks for the right workflow, or combines intents such as fixing and refactoring. NOT for a clear task.

Intent Detection — Workflow Routing

When user describes work WITHOUT specifying a phx-* command, analyze their intent and suggest the appropriate workflow BEFORE starting work.

Hard guard — check FIRST: if the message starts with any slash command (phx-*, ecto-*, lv-*, or any other /command), this skill does not apply. Follow the invoked command directly — no routing analysis, no suggestion, zero output from this skill.

Routing Table

SignalDetected IntentSuggest
"bug", "error", "crash", "failing", "broken", stack traceBug investigationphx-investigate
"brainstorm", "explore idea", "not sure what I need", "vague idea", "let's discuss", "how to approach"Ideation/requirementsphx-brainstorm
"add", "implement", "build", "create" + multi-stepNew featurephx-plan
"review", "check", "audit" codeCode reviewphx-review
"fix" + small/specific scopeQuick fixhandle directly or phx-quick
"refactor", "clean up", "improve"Refactoringphx-plan (needs scope)
"research", "how to", "what's the best"Researchphx-research
"evaluate", "compare", "adopt", "library", "should we use"Library evaluationphx-research --library
"test", "spec", "coverage"Testinghandle directly or phx-plan
Describes 1-2 file changes, < 50 linesSmall taskhandle directly
"deploy", "release", "production"Deploymentphx-verify then deploy
"performance", "slow", "N+1", "memory"Performancephx-perf
"PR review", "review comments", "address feedback", "respond to PR"PR responsephx-pr-review
"that worked", "fixed it", "problem solved"Knowledge capturephx-compound
"enhance plan", "more detail", "deepen"Plan enhancementphx-plan --existing
"triage", "which findings", "prioritize fixes"Finding triagephx-triage

Behavior

  1. Read user's first message
  2. Match against routing table (use keyword + context signals, not exact match)
  3. If match found with multi-step workflow: "This looks like [intent]. I'd suggest [command] — want me to run it, or should I just dive in?"
  4. If trivial task (typo, single-line fix, config change): skip suggestion, just do it
  5. If user already specified a phx-* command: follow it, don't re-suggest
  6. NEVER block the user — suggestion only, not mandatory

Confidence Signals

High confidence (suggest immediately):

  • Stack trace or error message pasted → phx-investigate
  • "Add [feature] with [multiple components]" → phx-plan
  • "Review my changes" or "check this PR" → phx-review

Medium confidence (suggest with caveat):

  • "Fix [thing]" — could be quick or complex, suggest based on scope description
  • "Update [thing]" — could be small edit or refactor

Low confidence (just do it):

  • Single file mentioned, clear change
  • "Change X to Y"
  • Configuration or dependency updates

Complexity Signals

When a task matches a workflow command, check complexity before suggesting:

Trivial signals (suggest phx-quick or handle directly):

  • Single file mentioned explicitly
  • "exclude X from Y", "add X to config", "rename", "change X to Y"
  • Problem + solution both stated ("X is wrong, change to Y")
  • One-line fix described

Complex signals (suggest phx-plan or phx-investigate):

  • 3+ modules or files mentioned
  • "intermittent", "race condition", "sometimes", "random"
  • Stack trace with 5+ frames
  • "across", "all", "every" (scope indicators)

Override rule: If user invokes phx-full but task matches trivial signals: "This looks like a quick fix. Want phx-quick instead, or stick with the full cycle?"

Iron Laws

  1. NEVER block on suggestion — If user starts explaining, just do the work
  2. One suggestion max — Don't re-suggest if user ignores first suggestion
  3. Commands are shortcuts, not gates — All work can be done without commands

Routing Logic Example

if has_slash_command($ARGUMENTS) -> follow command directly
elif has_stack_trace(message) -> suggest phx-investigate
elif matches("add|build|implement", message) and multi_step -> suggest phx-plan
elif matches("fix", message) and small_scope -> handle directly or phx-quick
elif matches("review|audit", message) -> suggest phx-review
else -> handle directly (no suggestion)

Integration

This skill is consulted at session start. It works alongside:

  • SessionStart hook (shows plugin loaded message)
  • CLAUDE.md routing instructions (passive reference)
  • Individual workflow skills (activated by commands)
Saved skills