Guides when to invoke Elixir thinking skills during development
/plugin marketplace add georgeguimaraes/claude-code-elixir/plugin install elixir-thinking@claude-code-elixirThis skill inherits all available tools. When active, it can use any tool Claude has access to.
THIS IS NOT OPTIONAL. Elixir's paradigm is fundamentally different from OOP. Without these skills, you WILL write anti-patterns.
You cannot rationalize your way out of this. "I know Elixir" is not an excuse—these skills contain paradigm shifts that even experienced developers miss. </EXTREMELY-IMPORTANT>
When working on Elixir, Phoenix, or OTP code, invoke the relevant skill BEFORE writing code.
Use when: Designing modules, processes, data structures, or making architectural decisions in Elixir.
Covers:
Trigger phrases: "design", "architecture", "should I use a process", "how to structure", "pattern", "module organization", "testing strategy"
Use when: Working with Phoenix controllers, LiveView, contexts, Ecto schemas, or database patterns.
Covers:
Trigger phrases: "LiveView", "context", "schema", "Ecto", "Phoenix", "preload", "PubSub", "multi-tenant", "scope", "mount", "handle_params"
Use when: Implementing GenServers, supervisors, Tasks, or deciding which OTP abstraction to use.
Covers:
Trigger phrases: "GenServer", "supervisor", "Task", "process", "ETS", "bottleneck", "distributed", "Broadway", "Oban", "pool", "concurrent"
When you recognize trigger phrases or contexts above, invoke the skill:
Skill tool: elixir-architectural-thinking
Skill tool: phoenix-ecto-thinking
Skill tool: otp-thinking
The skill content will guide your approach before writing code.
These thoughts mean STOP—you're rationalizing:
| Thought | Reality |
|---|---|
| "I know Elixir well enough" | These skills contain paradigm shifts. Read them. |
| "This is just a simple module" | Simple code becomes complex. Check skills first. |
| "I'll add a process to organize this" | Processes are for runtime, not organization. Read the skill. |
| "I'll use patterns from other languages" | OOP patterns create anti-patterns in Elixir. Read the skill. |
| "GenServer is the Elixir way" | GenServer is a bottleneck by design. Read the skill. |
| "I'll query in mount, it's cleaner" | mount is called twice. Read the skill. |
| "I don't need contexts for this" | Contexts are about meaning, not size. Read the skill. |
| "Task.async is simpler" | Fine for experiments; use Task.Supervisor for async_nolink and production. |
| "I'll figure it out as I go" | Elixir rewards upfront design. Read the skill first. |
| "This is obvious" | If it were obvious, these skills wouldn't exist. |
Elixir/Phoenix/OTP code → Invoke skill FIRST → Then write code
Otherwise → You're writing OOP in Elixir syntax
No exceptions without your human partner's permission.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.