mcpField
E
elicitation

elicitation

github.com/fusengine测试与质量3445 次安装2 周前更新
代码仓库

关于 elicitation

elicitation 是 APEX 流程中供专家 Agent 使用的代码自审技能,涵盖 12 个领域的 75 种技术。它提供手动、自动和跳过模式,并保存审查结果供后续比较。

主要功能

  1. 01涵盖 12 个领域的 75 种审查技术
  2. 02手动、自动和跳过模式
  3. 03根据代码类型选择技术
  4. 04按评分标准自我修正
  5. 05保存 JSON 结果供后续比较

适用场景

  1. 01在 Execute 阶段后审查代码
  2. 02按代码类型自动调整检查项
  3. 03跟踪不同审查轮次的变化

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/fusengine/agents --skill elicitation

安装后在 Claude Code 中输入/elicitation确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
artifact-contract.md
elicit-profile.md
techniques-catalog.md
steps/
step-00-init.md
step-01-analyze-code.md
step-02-select-techniques.md
step-03-apply-review.md
step-04-self-correct.md
step-05-report.md

详细介绍

Elicitation 让专家 Agent 在外部验证前自行审查并修正代码,借鉴 BMAD-METHOD 的 75 种 Elicitation 技术,涵盖 12 个类别(代码质量、安全、性能、架构、测试、文档、用户体验、数据、并发、集成、可观测性、可维护性)。三种模式控制技术的选择方式:MANUAL(默认,用户从提供的 5 个选项中选择)、AUTO(自动检测并静默应用)和 SKIP(直接跳过并进入 sniper)。

它位于 APEX 流程中的 Execute 与 eXamine 之间,会根据退出阈值进行自评分(>=90% 时继续,70-89% 时记录差距,<70% 时迭代),并将结果保存到 .claude/apex/docs/elicit-{task-slug}.json,以便后续检查与之前的判断进行比较,而不是从头开始。

Elicitation 技能

目的

让专家 Agent 在外部验证(sniper)前自行审查并修正代码。基于 BMAD-METHOD 的 75 种 Elicitation 技术。


3 种执行模式

模式 1:MANUAL(默认)
Expert presents 5 relevant techniques → User chooses → Expert applies
模式 2:AUTO(--auto)
Expert auto-detects code type → Auto-selects techniques → Applies silently
模式 3:SKIP(--skip)
Skip elicitation → Go directly to sniper validation

快速开始

Execute 阶段结束后,专家运行:

# Manual mode (default)
> Apply elicitation skill

# Auto mode (no prompts)
> Apply elicitation skill --auto

# Skip self-review
> Apply elicitation skill --skip

工作流概览

┌─────────────────────────────────────────────────────────┐
│              ELICITATION WORKFLOW                       │
│                                                         │
│  Step 0: Init           → Load context                 │
│  Step 1: Analyze Code   → Detect code type             │
│  Step 2: Select         → Choose techniques (or auto)  │
│  Step 3: Apply Review   → Execute techniques           │
│  Step 4: Self-Correct   → Fix own issues               │
│  Step 5: Report         → Summary before sniper        │
└─────────────────────────────────────────────────────────┘

自动检测矩阵

检测到的代码类型自动选择的技术
身份验证/安全安全审计、OWASP 检查、输入验证
API 端点错误处理、类型覆盖率、API 契约
数据库/ORMN+1 检测、迁移安全性、数据完整性
UI 组件无障碍性、边界情况、加载状态
业务逻辑SOLID 合规性、单元测试覆盖率、边界情况
重构破坏性变更、回归分析、向后兼容性
性能关键代码性能分析、内存分析、复杂度检查
配置/文档/插件文件(.md agents/skills、hooks.json、frontmatter YAML)CQ-01、DOC-01、INT-01 + 使用消费链中最严格的解析器进行验证(例如,frontmatter 使用严格模式的 js-yaml,JSON 使用 json.tool)——切勿仅凭“看起来格式正确”就判定通过

技术类别(12 类)

完整目录:references/techniques-catalog.md

  1. 代码质量(7 项):代码审查、模式检测、复杂度分析……
  2. 安全(7 项):OWASP 审计、输入验证、身份验证检查……
  3. 性能(6 项):性能分析、N+1 检测、内存分析……
  4. 架构(6 项):SOLID 检查、依赖分析、耦合审查……
  5. 测试(6 项):边界情况、边界测试、错误路径……
  6. 文档(6 项):API 审查、注释检查、类型覆盖率……
  7. 用户体验(6 项):无障碍性、错误消息、加载状态……
  8. 数据(6 项):架构验证、迁移安全性、数据完整性……
  9. 并发(6 项):竞态条件、死锁分析、状态同步……
  10. 集成(7 项):API 契约、向后兼容性、破坏性变更……
  11. 可观测性(6 项):日志记录、指标、错误跟踪……
  12. 可维护性(6 项):可读性、命名、文件组织……

总计:75 种技术


与 APEX 集成

A-nalyze → P-lan → E-xecute → [ELICIT] → X-amine
                       │          │           │
                       ▼          ▼           ▼
                    Expert    Expert       sniper
                     code    self-review   (final)

优点:

  • 专家可在 sniper 检查前发现自身错误
  • 验证更快(sniper 需要修正的问题更少)
  • 保留知识(专家可从自我审查中学习)

禁止事项

  • ❌ 跳过初始化步骤(必须加载上下文)
  • ❌ 未了解代码类型就应用技术
  • ❌ 未记录变更就自行修正
  • ❌ 未列出已应用的技术就提交报告
  • ❌ 使用专业领域以外的技术

退出标准(步骤 5:报告)

得分 = 已应用的技术 / 已选择的技术,按关键类别(安全、架构)加权。

得分状态操作
≥ 90%🟢继续进行狙击
70-89%🟡记录差距,然后继续
< 70%🔴先迭代,再进行狙击

自我纠正失败:如果自我纠正导致代码出错 → 撤销该次纠正,并将发现保留为报告条目。


产物约定

步骤 5 会将 .claude/apex/docs/elicit-{task-slug}.json 保存下来,以便后续流程与先前的判定进行差异比较,而不是从头开始。完整约定、{task-slug} 的生成方式和 JSON 架构详见:references/artifact-contract.md。


步骤参考

步骤文件用途
0steps/step-00-init.md加载上下文、检测模式,并在存在先前产物时加载
1steps/step-01-analyze-code.md分析已编写的代码
2steps/step-02-select-techniques.md选择技术
3steps/step-03-apply-review.md应用审查
4steps/step-04-self-correct.md自我纠正
5steps/step-05-report.md生成报告,并保存 elicit-{task-slug}.json

评论

支持 Markdown