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 skills add https://github.com/oliver-kriska/claude-elixir-phoenix --skill plugin-dev-workflow
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 51 skills + 26 agents
make eval-fix # Auto-fix + show failures
make test # 220 pytest tests for eval framework and port tooling
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 — all 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 hereUse when the user asks to run Gemini CLI for code review, plan review, or big context (>200k) processing. Ideal for comprehensive analysis requiring large context windows. Uses Gemini 3 Pro by default for state-of-the-art reasoning and coding.
Claude Skills meta-skill: extract domain material (docs/APIs/code/specs) into a reusable Skill (SKILL.md + references/scripts/assets), and refactor existing Skills for clarity, activation reliability, and quality gates.
> Pedantic backend pre-commit and atomic commit Skill for Django/Optimo-style repos. Enforces local AGENTS.md / CLAUDE.md, pre-commit hooks, .security/* helpers, and Monty’s backend engineering taste – with no AI signatures in commit messages.
Automatically backs up files, saves diffs, uses agents/skills, and ensures modular code (<200 lines) before any implementation. Use this skill for ALL code changes to ensure safe, reversible, and clean implementations.
Use when you've developed a broadly useful skill and want to contribute it upstream via pull request - guides process of branching, committing, pushing, and creating PR to contribute skills back to upstream repository
Default reference pipeline for the code-migration taskKind — code-import → design-extract → token-map → rewrite-plan → patch-edit ↔ build-test devloop → diff-review → handoff.
Configure human-in-the-loop gating for AI agent review actions in Claude Code. Use when setting up a project where an agent may post PR reviews, comments, merges, or edit CI configuration, and you want a cryptographically auditable approval trail with Cedar-enforced gates.
> Check installed community skills for updates. Shows a diff and requires explicit approval before applying. Use when the user says "check for updates", "update my skills", "anything new for my installed skills", or when invoked from the registry-sync agent.
Take oliver-kriska/plugin-dev-workflow 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.