.claude/skills/plugin-dev-workflow/SKILL.md
Guide plugin development workflow — editing skills, agents, hooks, or eval framework in this repo. Use when modifying files in plugins/elixir-phoenix/, lab/eval/, or lab/autoresearch/. Ensures changes pass eval, lint, and tests before committing.
npx skillsauth add oliver-kriska/claude-elixir-phoenix plugin-dev-workflowInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This repo is the Elixir/Phoenix Claude Code plugin. When editing plugin files, follow this workflow to ensure quality.
Run make help to see all available commands:
make eval # Quick: lint + score changed skills/agents
make eval-all # Full: all 40 skills + 20 agents
make eval-fix # Auto-fix + show failures
make test # 52 pytest tests for eval framework
make ci # Full CI pipeline
IMPORTANT: Always use -m module syntax, never run scorer.py directly.
# Score ONE skill (use -m, NOT direct file path)
python3 -m lab.eval.scorer plugins/elixir-phoenix/skills/verify/SKILL.md
# Score ONE skill with pretty output
python3 -m lab.eval.scorer plugins/elixir-phoenix/skills/verify/SKILL.md --pretty
# Score all skills
python3 -m lab.eval.scorer --all
# Score ONE agent
python3 -m lab.eval.agent_scorer plugins/elixir-phoenix/agents/verification-runner.md
# Score all agents
python3 -m lab.eval.agent_scorer --all
make ci # Full CI pipeline
make eval — it auto-detects changed skills and scores themmake lint to verify markdown formattingSkill requirements (eval checks all of these):
/phx: references point to existing skillsreferences/*.md paths existmake eval-agents to score all agentspermissionMode: bypassPermissions (always — background agents need it)disallowedTools: Write, Edit, NotebookEdit for review/analysis agentsmake test — 52 pytest tests must passmake eval-all — verify no skills/agents regressedlab/eval/tests/test_matchers.pymake lint (markdown in hook comments)If make eval-fix shows failures, it suggests an autoresearch command:
# Copy-paste the suggested command from eval-fix output
claude -p 'Run autoresearch. Score all skills...' --allowedTools 'Edit,Read,Write,Bash,Glob,Grep'
This runs the autoresearch loop: find weakest skill → fix ONE issue → re-score → keep/revert.
Before committing any plugin changes:
make lint passesmake eval passes (changed files)make test passes (if eval framework changed)lab/eval/ — scoring framework (24 matchers, 8 dimensions)lab/autoresearch/ — self-improvement looplab/findings/interesting.jsonl — log interesting discoveries heretools
Compatibility alias for the Elixir/Phoenix plugin's LiveView assigns audit. Invoke explicitly with /lv:assigns.
development
Trace Elixir call trees from entry points via mix xref. Use when debugging data flow, planning signature changes, or understanding how a bug reaches code.
tools
Compatibility alias for the Elixir/Phoenix plugin's N+1 query checker. Invoke explicitly with /ecto:n1-check.
tools
Compatibility alias for the Elixir/Phoenix plugin's Ecto constraint debugger. Invoke explicitly with /ecto:constraint-debug.