oliver-kriska/claude-elixir-phoenix-codex-intent-detection
Route ambiguous or mixed Phoenix/LiveView/Ecto requests; Use when user is unsure where to start/how to approach work…
npx skills add https://github.com/oliver-kriska/claude-elixir-phoenix --skill intent-detection
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.
| Signal | Detected Intent | Suggest |
|--------|----------------|---------|
| "bug", "error", "crash", "failing", "broken", stack trace | Bug 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-step | New feature | $elixir-phoenix:phx-plan |
| "review", "check", "audit" code | Code review | $elixir-phoenix:phx-review |
| "fix" + small/specific scope | Quick fix | handle 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" | Testing | handle directly or $elixir-phoenix:phx-plan |
| Describes 1-2 file changes, < 50 lines | Small task | handle 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 |
[command] — want me to run it, or should I just dive in?"$elixir-phoenix:phx-* command: follow it, don't re-suggestHigh confidence (suggest immediately):
$elixir-phoenix:phx-investigate$elixir-phoenix:phx-plan$elixir-phoenix:phx-reviewMedium confidence (suggest with caveat):
Low confidence (just do it):
When a task matches a workflow command, check complexity before suggesting:
Trivial signals (suggest $elixir-phoenix:phx-quick or handle directly):
Complex signals (suggest $elixir-phoenix:phx-plan or $elixir-phoenix:phx-investigate):
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?"
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)
This skill is consulted at session start. It works alongside:
Take oliver-kriska/claude-elixir-phoenix-codex-intent-detection from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.