plugin-dev-workflow
/plugin-dev-workflow
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.
- Author
- oliver-kriska ↗
- Repository
- claude-elixir-phoenix ↗
- Licence
- MIT
- Last repository change
- 22.10.2026
Assessment and security
- Files in this package
- 1
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 0
No signals detected. Repository changed on 22.10.2026, without references to retired models or APIs.
MIT, open: use and modify while retaining author attribution.
What it does and when to use it
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.
Original author description
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.
How it works
- Before You Start
- Scoring Individual Files (CLI)
- When Editing Skills (plugins/elixir-phoenix/skills//SKILL.md)
- When Editing Agents (plugins/elixir-phoenix/agents/.md)
- When Editing Eval Framework (lab/eval/.py)
- When Editing Hooks (plugins/elixir-phoenix/hooks/scripts/.sh)
- Autoresearch (Self-Improvement Loop)
- Pre-Commit Checklist
- References
SKILL.md preview
--- name: plugin-dev-workflow description: "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." effort: medium --- # Plugin Development Workflow This repo is the Elixir/Phoenix Claude Code plugin. When editing plugin files, follow this workflow to ensure quality. ## Before You Start Run `make help` to see all available commands: ```bash 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 ``` ## Scoring Individual Files (CLI) IMPORTANT: Always use `-m` module syntax, never run scorer.py directly. ```bash # 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 ``` ## When Editing Skills (plugins/elixir-phoenix/skills/*/SKILL.md) 1. **Read CLAUDE.md** conventions (size limits, frontmatter requirements) 2. Make your changes 3. Run `make eval` — it auto-detects changed skills and scores them 4. If FAIL: check the dimension that failed, fix it 5. Run `make lint` to verify markdown formatting 6. Commit **Skill requirements** (eval checks all of these): - Frontmatter: name, description, effort. Description must start with action verb + include "Use when..." - Iron Laws section with 1+ numbered items - Under 185 lines (command skills) or 150 lines (reference skills) - No section exceeds 45 lines - All `/phx:` references point to existing skills - All `references/*.md` paths exist - No dangerous code patterns outside Iron Laws sections - Code examples present (1+ fenced code blocks) - "Use when..." in description (for trigger accuracy) ## When Editing Agents (plugins/elixir-phoenix/agents/*.md) 1. Make your changes 2. Run `make eval-agents` to score all agents 3. Agent requirements: - no `permissionMode` (plugin agents ignore it; the plugin directory fails `bypassPermissions`) - `disallowedTools: Write, Edit, NotebookEdit` for review/analysis agents - model matches effort: haiku=low, sonnet=medium, opus=high - Under 300 lines (specialist) or 535 lines (orchestrator) ## When Editing Eval Framework (lab/eval/*.py) 1. Make your changes 2. Run `make test` — all pytest tests must pass 3. Run `make eval-all` — verify no skills/agents regressed 4. If adding new matchers: add tests in `lab/eval/tests/test_matchers.py` ## When Editing Hooks (plugins/elixir-phoenix/hooks/scripts/*.sh) 1. Make your changes 2. Run `make lint` (markdown in hook comments) 3. Test the hook manually (hooks run on Edit/Write/Bash events) 4. Check CLAUDE.md hook documentation is still accurate ## Autoresearch (Self-Improvement Loop) If `make eval-fix` shows failures, it suggests an autoresearch command: ```bash # 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. ## Pre-Commit Checklist Before committing any plugin changes: - [ ] `make lint` passes - [ ] `make eval` passes (changed files) - [ ] `make test` passes (if eval framework changed) - [ ] CHANGELOG.md updated (if user-visible change) - [ ] Version bumped in plugin.json (if releasing) ## References - CLAUDE.md — full conventions, size limits, checklist - `lab/eval/` — scoring framework (24 matchers, 8 dimensions) - `lab/autoresearch/` — self-improvement loop - `lab/findings/interesting.jsonl` — log interesting discoveries here
Versions
| Repository | Score | Licence |
|---|---|---|
| This page · oliver-kriska/claude-elixir-phoenix | 100 | MIT |
| slbug/claude-ruby-grape-rails | 90 | MIT |
Database snapshot: 13.11.2026 · package version 20488b396964 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 95byted-ark-agent-eval-lab
用于 Agent 评测相关需求,包括评估 Agent 的能力与效果、设计评测方案、 比较不同 Agent 或同一 Agent 的模型、Skill、Tool 配置, 以及准备评测数据、配置运行策略、执行评测、查询和分析结果、 诊断失败、取消、重跑与重评分、分析历史重评分与评分器稳定性、导入外部 Evidence、对已有输出或轨迹评分, 以及评测使用中的问题与体验反馈。 用户提到“评测 Agent”“测试智能体效果”“比较 Agent 表现”等需求时使用, 无需明确提及平台或工具名称。具体操作通过 agent-eval CLI 对接 Agent Eval Lab 服务。 - 100init-plugin-eval
Scaffold the eval directory structure for a plugin's review agents and advisory skills. Use after creating a plugin or adding its first review agent, or when the user says "set up evals for this plugin", "init plugin evals", "scaffold eval fixtures", or "create the eval harness… - 90eval-guide
Entry point for eval work. Use when someone asks for help with evals in general, does not know where to start, asks "what should I do next", or asks for something no other skill in this plugin matches. Do NOT use when a more specific skill in this plugin already matches the… - 90dev-eval
Use when a skill, prompt or workflow change needs a verdict on whether it helps. - 100skills-eval
Evaluate Claude skill quality through auditing. Use when reviewing or auditing skills. - 90estack-review
Review an Elixir/Phoenix diff for correctness, security, concurrency, and regressions. Use when reviewing a PR or checking changes before committing or deployment.