关于 plugin-dev-workflow
为 Elixir/Phoenix Claude Code 插件开发提供维护流程,面向编辑插件技能、Agent、钩子和评估框架的开发者。它列出各类改动对应的检查、测试与提交要求。
主要功能
- 01技能与 Agent 评估流程
- 02Markdown 格式检查
- 03评估框架测试要求
- 04钩子修改验证步骤
- 05提交前检查清单
适用场景
- 01修改技能后检查评分与格式
- 02更新 Agent 配置并运行评估
- 03调整评估框架后运行测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ oliver-kriska/ claude-elixir-phoenix --skill plugin-dev-workflow安装后在 Claude Code 中输入/plugin-dev-workflow确认已加载。
详细介绍
插件开发工作流
此代码库是 Elixir/Phoenix Claude Code 插件。编辑插件文件时,请遵循此工作流以确保质量。
开始之前
运行 make help 查看所有可用命令:
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
对单个文件评分(CLI)
重要:始终使用 -m 模块语法,切勿直接运行 scorer.py。
# 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
编辑技能时(plugins/elixir-phoenix/skills/*/SKILL.md)
- 阅读 CLAUDE.md 中的约定(大小限制、frontmatter 要求)
- 进行更改
- 运行
make eval— 它会自动检测已更改的技能并为其评分 - 如果失败:检查未通过的维度并修复
- 运行
make lint验证 Markdown 格式 - 提交
技能要求(eval 会检查以下所有内容):
- Frontmatter:name、description、effort。Description 必须以动作动词开头,并包含“Use when...”
- 包含 Iron Laws 章节,且至少有 1 个编号条目
- 少于 185 行(命令类技能)或 150 行(参考类技能)
- 每个章节不超过 45 行
- 所有
/phx:引用都指向现有技能 - 所有
references/*.md路径都存在 - Iron Laws 章节之外不得包含危险的代码模式
- 包含代码示例(至少 1 个围栏代码块)
- Description 中包含“Use when...”(确保触发准确性)
编辑 Agent 时(plugins/elixir-phoenix/agents/*.md)
- 进行更改
- 运行
make eval-agents为所有 Agent 评分 - Agent 要求:
- 不得使用
permissionMode(插件 Agent 会忽略它;插件目录会因bypassPermissions而失败) - 对于审查/分析 Agent,使用
disallowedTools: Write, Edit, NotebookEdit - 模型与 effort 匹配:haiku=low、sonnet=medium、opus=high
- 少于 300 行(专家类)或 535 行(编排器类)
- 不得使用
编辑评估框架时(lab/eval/*.py)
- 进行更改
- 运行
make test— 所有 pytest 测试都必须通过 - 运行
make eval-all— 确认技能/Agent 均未退化 - 如果添加新的匹配器:在
lab/eval/tests/test_matchers.py中添加测试
编辑钩子时(plugins/elixir-phoenix/hooks/scripts/*.sh)
- 进行更改
- 运行
make lint(检查钩子注释中的 Markdown) - 手动测试钩子(钩子会在 Edit/Write/Bash 事件上运行)
- 检查 CLAUDE.md 中的钩子文档是否仍然准确
Autoresearch(自我改进循环)
如果 make eval-fix 显示失败,它会建议一条 autoresearch 命令:
# Copy-paste the suggested command from eval-fix output
claude -p 'Run autoresearch. Score all skills...' --allowedTools 'Edit,Read,Write,Bash,Glob,Grep'
这会运行 autoresearch 循环:找到最弱的技能 → 修复一个问题 → 重新评分 → 保留或还原。
提交前检查清单
提交任何插件更改前:
-
make lint通过 -
make eval通过(已更改的文件) -
make test通过(如果评估框架有更改) - 已更新 CHANGELOG.md(如果更改对用户可见)
- 已在 plugin.json 中提升版本号(如果要发布)
参考资料
- CLAUDE.md — 完整约定、大小限制、检查清单
lab/eval/— 评分框架(24 个匹配器、8 个维度)lab/autoresearch/— 自我改进循环lab/findings/interesting.jsonl— 在此记录有趣的发现
评论
支持 Markdown