关于 elicitation
elicitation 是面向专家 Agent 的代码审查技能,可在外部验证前检查并修正自身代码。它提供涵盖 12 个类别的 75 种技术,支持手动选择、自动应用或跳过,并保存发现以供后续比较。
主要功能
- 01涵盖 12 类的 75 种审查技术
- 02手动、自动和跳过模式
- 03按代码类型选择技术
- 04自我修正并记录变更
- 05基于评分的退出标准
- 06保存发现以便后续比较
适用场景
- 01外部验证前审查代码
- 02为身份验证改动选择安全检查
- 03检查 API 端点的错误处理
- 04比较多轮审查结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ fusengine/ claude-plugins --skill elicitation安装后在 Claude Code 中输入/elicitation确认已加载。
详细介绍
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 契约 |
| 数据库/ORM | N+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
- 代码质量(7 项):代码审查、模式检测、复杂度分析……
- 安全(7 项):OWASP 审计、输入验证、身份验证检查……
- 性能(6 项):性能分析、N+1 检测、内存分析……
- 架构(6 项):SOLID 检查、依赖分析、耦合审查……
- 测试(6 项):边界情况、边界测试、错误路径……
- 文档(6 项):API 审查、注释检查、类型覆盖率……
- 用户体验(6 项):无障碍性、错误消息、加载状态……
- 数据(6 项):架构验证、迁移安全性、数据完整性……
- 并发(6 项):竞态条件、死锁分析、状态同步……
- 集成(7 项):API 契约、向后兼容性、破坏性变更……
- 可观测性(6 项):日志记录、指标、错误跟踪……
- 可维护性(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。
步骤参考
| 步骤 | 文件 | 用途 |
|---|---|---|
| 0 | steps/step-00-init.md | 加载上下文、检测模式,并在存在先前产物时加载 |
| 1 | steps/step-01-analyze-code.md | 分析已编写的代码 |
| 2 | steps/step-02-select-techniques.md | 选择技术 |
| 3 | steps/step-03-apply-review.md | 应用审查 |
| 4 | steps/step-04-self-correct.md | 自我纠正 |
| 5 | steps/step-05-report.md | 生成报告,并保存 elicit-{task-slug}.json |
评论
支持 Markdown