界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
效率与协作 · SKILL.md

intent-detection

intent-detection

【效率与协作】Route ambiguous or mixed Phoenix/LiveView/Ecto requests; Use when user is unsure where to start/how to approach work…

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: intent-detection description: Route ambiguous or mixed Phoenix/LiveView/Ecto requests; Use when user is unsure where to start/how to approach work…

Intent Detection — Workflow Routing

When user describes work WITHOUT specifying a $elixir-phoenix: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 ($elixir-phoenix:phx-*, $elixir-phoenix:ecto-*, $elixir-phoenix: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 investigation$elixir-phoenix:phx-investigate
"brainstorm", "explore idea", "not sure what I need", "vague idea", "let's discuss", "how to approach"Ideation/requirements$elixir-phoenix:phx-brainstorm
"add", "implement", "build", "create" + multi-stepNew feature$elixir-phoenix:phx-plan
"review", "check", "audit" codeCode review$elixir-phoenix:phx-review
"fix" + small/specific scopeQuick fixhandle directly or $elixir-phoenix:phx-quick
"refactor", "clean up", "improve"Refactoring$elixir-phoenix:phx-plan (needs scope)
"research", "how to", "what's the best"Research$elixir-phoenix:phx-research
"evaluate", "compare", "adopt", "library", "should we use"Library evaluation$elixir-phoenix:phx-research --library
"test", "spec", "coverage"Testinghandle directly or $elixir-phoenix:phx-plan
Describes 1-2 file changes, < 50 linesSmall taskhandle directly
"deploy", "release", "production"Deployment$elixir-phoenix:phx-verify then deploy
"performance", "slow", "N+1", "memory"Performance$elixir-phoenix:phx-perf
"PR review", "review comments", "address feedback", "respond to PR"PR response$elixir-phoenix:phx-pr-review
"that worked", "fixed it", "problem solved"Knowledge capture$elixir-phoenix:phx-compound
"enhance plan", "more detail", "deepen"Plan enhancement$elixir-phoenix:phx-plan --existing
"triage", "which findings", "prioritize fixes"Finding triage$elixir-phoenix:phx-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 $elixir-phoenix: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 → $elixir-phoenix:phx-investigate
  • "Add [feature] with [multiple components]" → $elixir-phoenix:phx-plan
  • "Review my changes" or "check this PR" → $elixir-phoenix: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 $elixir-phoenix: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 $elixir-phoenix:phx-plan or $elixir-phoenix: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 $elixir-phoenix:phx-full but task matches trivial signals: "This looks like a quick fix. Want $elixir-phoenix: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 $elixir-phoenix:phx-investigate
elif matches("add|build|implement", message) and multi_step -> suggest $elixir-phoenix:phx-plan
elif matches("fix", message) and small_scope -> handle directly or $elixir-phoenix:phx-quick
elif matches("review|audit", message) -> suggest $elixir-phoenix: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)
我的收藏