mcpField
P
plugin-dev-workflow

plugin-dev-workflow

github.com/oliver-kriskaAgent 工作流57135 次安装1 周前更新
代码仓库

关于 plugin-dev-workflow

为 Elixir/Phoenix Claude Code 插件开发提供维护流程,面向编辑插件技能、Agent、钩子和评估框架的开发者。它列出各类改动对应的检查、测试与提交要求。

主要功能

  1. 01技能与 Agent 评估流程
  2. 02Markdown 格式检查
  3. 03评估框架测试要求
  4. 04钩子修改验证步骤
  5. 05提交前检查清单

适用场景

  1. 01修改技能后检查评分与格式
  2. 02更新 Agent 配置并运行评估
  3. 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)

  1. 阅读 CLAUDE.md 中的约定(大小限制、frontmatter 要求)
  2. 进行更改
  3. 运行 make eval — 它会自动检测已更改的技能并为其评分
  4. 如果失败:检查未通过的维度并修复
  5. 运行 make lint 验证 Markdown 格式
  6. 提交

技能要求(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)

  1. 进行更改
  2. 运行 make eval-agents 为所有 Agent 评分
  3. Agent 要求:
    • 不得使用 permissionMode(插件 Agent 会忽略它;插件目录会因 bypassPermissions 而失败)
    • 对于审查/分析 Agent,使用 disallowedTools: Write, Edit, NotebookEdit
    • 模型与 effort 匹配:haiku=low、sonnet=medium、opus=high
    • 少于 300 行(专家类)或 535 行(编排器类)

编辑评估框架时(lab/eval/*.py)

  1. 进行更改
  2. 运行 make test — 所有 pytest 测试都必须通过
  3. 运行 make eval-all — 确认技能/Agent 均未退化
  4. 如果添加新的匹配器:在 lab/eval/tests/test_matchers.py 中添加测试

编辑钩子时(plugins/elixir-phoenix/hooks/scripts/*.sh)

  1. 进行更改
  2. 运行 make lint(检查钩子注释中的 Markdown)
  3. 手动测试钩子(钩子会在 Edit/Write/Bash 事件上运行)
  4. 检查 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