From elixir-phoenix
Initializes Elixir/Phoenix plugin by injecting Iron Laws, auto-activation rules, and reference auto-loading into CLAUDE.md. Use for first-time setup or updates with stack detection from mix.exs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/elixir-phoenix:initThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Install the Elixir/Phoenix plugin's behavioral instructions into the project's CLAUDE.md.
Install the Elixir/Phoenix plugin's behavioral instructions into the project's CLAUDE.md.
/phx:init # First-time installation
/phx:init --update # Update existing installation with latest rules
Use Glob to check if CLAUDE.md exists. Then use Grep to check for existing ELIXIR-PHOENIX-PLUGIN:START marker in CLAUDE.md.
Scan the project to customize the injected instructions:
Read mix.exs and use Grep to extract:
phoenix.*"~> in mix.exsecto.*"~> in mix.exs"oban" and "oban_pro" in mix.exs"ash", "surface" in mix.exs"tidewave" in mix.exslib/**/*.ex filesMode A: Fresh Install (no CLAUDE.md or no markers)
Mode B: Update (--update flag or markers exist)
<!-- ELIXIR-PHOENIX-PLUGIN:START --> and <!-- ELIXIR-PHOENIX-PLUGIN:END -->CRITICAL: NEVER overwrite or delete existing CLAUDE.md content outside the plugin markers — user-written rules, project conventions, and other plugin sections must be preserved verbatim
Write the following structure to CLAUDE.md:
<!-- ELIXIR-PHOENIX-PLUGIN:START -->
<!-- Last updated: {date} | Plugin version: 1.0 | Stack: Phoenix {version}, Ecto {version}, {optional: Oban, Tidewave} -->
# Elixir/Phoenix Plugin - Auto-Activation Rules
{Include all sections from the Content Template below, filtered by detected stack}
<!-- ELIXIR-PHOENIX-PLUGIN:END -->
✅ Elixir/Phoenix plugin initialized
Detected stack:
- Phoenix {version}
- Ecto {version}
- {Oban standard | Oban Pro | not detected}
- {Tidewave ✓ | Tidewave not detected}
- {Ash Framework detected - Ecto patterns disabled | not detected}
Added to CLAUDE.md:
- Auto-activation rules (complexity detection, interview mode)
- Agent trigger patterns ({n} agents available)
- Reference auto-loading ({n} reference docs)
- Iron Laws enforcement ({n} laws)
- Verification rules
Run /phx:init --update after plugin updates.
Run /phx:audit for a full project health check.
The exact content to inject is in ${CLAUDE_SKILL_DIR}/references/injectable-template.md.
Key structure:
{OBAN_SECTION} — If Oban detected (not Pro){OBAN_PRO_SECTION} — If Oban Pro detected{ASH_SECTION} — If Ash Framework detected{TIDEWAVE_SECTION} — If Tidewave detectedPlaceholder substitution:
| Placeholder | Source |
|---|---|
{DATE} | Current date |
{PHOENIX_VERSION} | From mix.exs |
{ECTO_VERSION} | From mix.exs |
{OPTIONAL_STACK} | Detected optional deps |
See ${CLAUDE_SKILL_DIR}/references/injectable-template.md for full template with all placeholders and conditional sections.
After running /phx:init:
| Scenario | Action |
|---|---|
| CLAUDE.md read-only | Error: "Cannot modify CLAUDE.md - check permissions" |
| Markers corrupted | Warn, offer to remove and reinstall |
| Unknown Phoenix version | Use conservative defaults (all features enabled) |
| Not an Elixir project | Error: "No mix.exs found - is this an Elixir project?" |
| Command | When to Use |
|---|---|
/phx:init | First time, or after plugin updates |
/phx:audit | Periodic project health check |
/phx:verify | After code changes |
npx claudepluginhub oliver-kriska/claude-elixir-phoenix --plugin elixir-phoenixDelivers interactive 6-section tutorial on Elixir/Phoenix plugin commands, workflow, features, and hooks. Use to onboard new users or refresh on available commands.
Initializes project configuration by auto-detecting framework, replacing CLAUDE.md placeholders, and installing rules, hooks, and scripts.
Routes to appropriate Elixir thinking skills before code exploration in projects with .ex files, mix.exs, or Elixir/Phoenix/Ecto/OTP mentions. Triggers on implement, add, fix, refactor tasks.