.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 heredevelopment
Verify Elixir/Phoenix changes — compile, format, and test in one loop. Use after implementation, before PRs, or after fixing bugs.
development
OTP/BEAM patterns and Elixir idioms — GenServer, Supervisor, Task, Registry, pattern matching, with chains, pipes. Use when designing processes or debugging BEAM issues.
tools
Self-improving loop for plugin skills. Reads program.md, proposes one mutation per iteration, evaluates against deterministic scorer, keeps improvements via git, reverts failures. Targets weakest skill+dimension. Use with /loop for overnight runs.
development
Project health audit and health check — architecture, performance, tests, dependencies, code quality. Use when assessing overall project health, before releases, or after refactors.