ethan-skill 1.15.3 → 1.15.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -5
- package/dist/agents/orchestrator.test.js +13 -12
- package/dist/agents/orchestrator.test.js.map +1 -1
- package/dist/agents/presets.d.ts.map +1 -1
- package/dist/agents/presets.js +57 -0
- package/dist/agents/presets.js.map +1 -1
- package/dist/skills/39-competitive-analysis.d.ts +3 -0
- package/dist/skills/39-competitive-analysis.d.ts.map +1 -0
- package/dist/skills/39-competitive-analysis.js +187 -0
- package/dist/skills/39-competitive-analysis.js.map +1 -0
- package/dist/skills/40-solution-proposal.d.ts +3 -0
- package/dist/skills/40-solution-proposal.d.ts.map +1 -0
- package/dist/skills/40-solution-proposal.js +196 -0
- package/dist/skills/40-solution-proposal.js.map +1 -0
- package/dist/skills/41-test-plan.d.ts +3 -0
- package/dist/skills/41-test-plan.d.ts.map +1 -0
- package/dist/skills/41-test-plan.js +255 -0
- package/dist/skills/41-test-plan.js.map +1 -0
- package/dist/skills/42-bug-report.d.ts +3 -0
- package/dist/skills/42-bug-report.d.ts.map +1 -0
- package/dist/skills/42-bug-report.js +224 -0
- package/dist/skills/42-bug-report.js.map +1 -0
- package/dist/skills/43-ops-runbook.d.ts +3 -0
- package/dist/skills/43-ops-runbook.d.ts.map +1 -0
- package/dist/skills/43-ops-runbook.js +282 -0
- package/dist/skills/43-ops-runbook.js.map +1 -0
- package/dist/skills/index.d.ts +5 -0
- package/dist/skills/index.d.ts.map +1 -1
- package/dist/skills/index.js +21 -1
- package/dist/skills/index.js.map +1 -1
- package/dist/skills/pipeline.d.ts.map +1 -1
- package/dist/skills/pipeline.js +46 -0
- package/dist/skills/pipeline.js.map +1 -1
- package/dist/skills/skills.test.js +3 -3
- package/dist/skills/skills.test.js.map +1 -1
- package/package.json +1 -1
- package/rules/claude-code/CLAUDE.md +1034 -3
- package/rules/cline/.clinerules +958 -2
- package/rules/codebuddy/CODEBUDDY.md +1008 -2
- package/rules/continue/.continuerules +958 -2
- package/rules/copilot/copilot-instructions.md +993 -2
- package/rules/cursor/.cursorrules +1028 -2
- package/rules/cursor/smart-flow.mdc +1028 -2
- package/rules/jetbrains/smart-flow.md +993 -2
- package/rules/lingma/smart-flow.md +1004 -3
- package/rules/windsurf/.windsurf/rules/smart-flow.md +994 -3
- package/rules/zed/smart-flow.rules +952 -1
package/README.md
CHANGED
|
@@ -14,9 +14,10 @@
|
|
|
14
14
|
|
|
15
15
|
| 模块 | 内容 |
|
|
16
16
|
|------|------|
|
|
17
|
-
| **
|
|
17
|
+
| **43 个 Skill** | 标准化工作流节点,覆盖需求→接口设计→安全→部署→PRD→Git→测试→系统设计→数据库→Docker→CI/CD→性能→重构→可观测性→设计模式→OpenSpec→技术债→Mock→数据迁移→LLM设计→威胁建模→绿色编码→服务目录→移动审查→数据管道→ML实验→自动修复→Agent记忆→竞品分析→售前方案→测试计划→缺陷管理→运维手册 |
|
|
18
18
|
| **11 个平台** | Cursor / Copilot / Cline / Windsurf / Zed / JetBrains / Continue / Claude Code 等 |
|
|
19
|
-
| **
|
|
19
|
+
| **15 个 Pipeline** | 链式工作流(开发 / 汇报 / 质量 / 完整周期 / 故障响应 / 新功能 / Spec规范 / Bug修复 / 安全审计 / 开源发布 / review-loop / 售前 / 产品 / 测试 / 运维),有状态持久化推进 |
|
|
20
|
+
| **12 个 Agent** | Multi-Agent 编排:architect🏗️ / coder💻 / reviewer🔍 / devops🚀 / pm📊 / qa🧪 / security🔒 / data📈 / presales🤝 / product📱 / tester🔬 / ops🛠️ |
|
|
20
21
|
| **31 个 MCP 工具** | AI 编辑器原生调用 Skill、Pipeline、Git、记忆库、估算、DORA 指标、PR 分析、故障复盘、脚手架、合规证据、版本升级检查 |
|
|
21
22
|
| **60+ CLI 命令** | Git 集成、开发工具、记忆库、估算、分析工具(diff/deps/dora/mermaid/adr/i18n/migrate/onboard/compliance 等)、插件 OS 全覆盖 |
|
|
22
23
|
| **Slash 命令生成** | `ethan slash` 一键为 Claude Code 生成 `/ethan-xxx` 原生命令,其他平台生成速查表 |
|
|
@@ -24,12 +25,12 @@
|
|
|
24
25
|
| **自定义 Skill** | `.ethan/skills/*.yaml/.md`,YAML frontmatter + Markdown body |
|
|
25
26
|
| **自定义 Pipeline** | `.ethan/pipelines/*.yaml`,引用内置或自定义 Skill 自由组合 |
|
|
26
27
|
| **浏览器扩展** | Chrome/Edge MV3,GitHub PR 一键 Review + 右键菜单 |
|
|
27
|
-
| **VS Code 扩展** | 侧边栏树、20 个命令、
|
|
28
|
+
| **VS Code 扩展** | 侧边栏树、20 个命令、43 个 @ethan 斜杠命令 |
|
|
28
29
|
| **插件 OS** | 发布/搜索/安装社区 Skill 插件,支持私有注册表 |
|
|
29
30
|
|
|
30
31
|
---
|
|
31
32
|
|
|
32
|
-
##
|
|
33
|
+
## 43 个 Skill
|
|
33
34
|
|
|
34
35
|
| # | Skill | 分类 | 触发词(示例) | 说明 |
|
|
35
36
|
|---|-------|------|--------------|------|
|
|
@@ -69,10 +70,17 @@
|
|
|
69
70
|
| 34 | **移动端审查** | 质量侧 | `移动端审查`、`mobile review`、`flutter review` | iOS/Android 平台合规、性能专项、无障碍 VoiceOver/TalkBack、崩溃防护 |
|
|
70
71
|
| 35 | **数据管道** | 执行侧 | `数据管道`、`data pipeline`、`etl` | Batch/Streaming 架构选型、数据质量规则、容错重试、血缘可观测性 |
|
|
71
72
|
| 36 | **ML 实验管理** | 执行侧 | `ml experiment`、`mlops`、`model training` | MLflow/W&B 追踪配置、DVC 数据版本控制、Model Card、A/B 部署监控 |
|
|
73
|
+
| 37 | **自动修复** | 质量侧 | `自动修复`、`auto-fix`、`CI失败` | 读取 CI/测试/Lint 失败信息,自动分析根因、生成修复方案并迭代验证(最多3轮)|
|
|
74
|
+
| 38 | **Agent 记忆** | 执行侧 | `agent memory`、`持久化记忆`、`@ethan agent-memory` | 提取并持久化项目关键决策、架构约束与已解决问题,跨会话注入 Agent 上下文 |
|
|
75
|
+
| 39 | **竞品分析** | 需求侧 | `竞品分析`、`竞品对比`、`competitive analysis` | 系统收集竞品信息,构建功能矩阵、定价对比、SWOT 分析 + Battle Card |
|
|
76
|
+
| 40 | **售前方案** | 需求侧 | `售前方案`、`solution proposal`、`方案建议书` | 需求痛点梳理 → 方案架构设计 → ROI 测算 → 实施路径 → 方案文档 |
|
|
77
|
+
| 41 | **测试计划** | 质量侧 | `测试计划`、`test plan`、`QA 计划` | 测试策略 + 用例设计矩阵 + 环境准备 + 自动化策略 + 发布质量标准 |
|
|
78
|
+
| 42 | **缺陷管理** | 质量侧 | `缺陷管理`、`bug report`、`提 bug` | 高质量 Bug Report、优先级评估、根因分析(5 Why)+ 质量数据看板 |
|
|
79
|
+
| 43 | **运维手册** | 执行侧 | `运维手册`、`runbook`、`ops runbook` | 服务档案 + 操作 SOP + 变更管理流程 + 故障响应 + 值班手册 |
|
|
72
80
|
|
|
73
81
|
---
|
|
74
82
|
|
|
75
|
-
##
|
|
83
|
+
## 15 个 Pipeline(链式工作流)
|
|
76
84
|
|
|
77
85
|
| Pipeline ID | Skills | 适用场景 |
|
|
78
86
|
|-------------|--------|---------|
|
|
@@ -86,11 +94,37 @@
|
|
|
86
94
|
| `bugfix-workflow` | 故障排查 → **Spec Proposal** → 执行实现 → 单元测试 → **Spec Review** | 规范化 Bug 修复 |
|
|
87
95
|
| `security-audit-workflow` | **威胁建模** → **安全审查** → **Spec Proposal** → 执行实现 → **Spec Review** | 端到端安全审计 |
|
|
88
96
|
| `open-source-release` | 技术调研 → 代码审查 → 单元测试 → 部署上线 | 开源项目规范发布 |
|
|
97
|
+
| `review-loop` | 执行实现 → 代码审查 → 自动修复 → 单元测试 → Spec Review | AI 驱动闭环质量保障 |
|
|
98
|
+
| `presales-workflow` | 竞品分析 → 售前方案 → PRD → 系统设计 → 任务拆解 | 售前完整流程 |
|
|
99
|
+
| `product-workflow` | 需求理解 → PRD → 任务拆解 → 变更提案 → 进度跟踪 | 产品管理流程 |
|
|
100
|
+
| `testing-workflow` | 测试计划 → 单元测试 → 自动修复 → 缺陷管理 | 质量保障流程 |
|
|
101
|
+
| `ops-workflow` | 运维手册 → 部署上线 → 可观测性 → 故障排查 | 运维标准流程 |
|
|
89
102
|
|
|
90
103
|
自定义 Pipeline:在 `.ethan/pipelines/` 目录创建 YAML 文件,`ethan pipeline-init` 生成模板。
|
|
91
104
|
|
|
92
105
|
---
|
|
93
106
|
|
|
107
|
+
## 12 个 Agent(Multi-Agent 编排)
|
|
108
|
+
|
|
109
|
+
| Agent | Emoji | 职责 | 负责 Skill |
|
|
110
|
+
|-------|-------|------|-----------|
|
|
111
|
+
| Architect Agent | 🏗️ | 需求分析、系统设计、接口设计与技术方案 | 需求理解、任务拆解、方案设计、接口设计、系统设计、PRD、Spec Proposal |
|
|
112
|
+
| Code Agent | 💻 | 代码实现、单元测试、重构与设计模式应用 | 执行实现、单元测试、重构、设计模式、数据库优化、API Mock、数据迁移、LLM功能设计、Agent记忆 |
|
|
113
|
+
| Review Agent | 🔍 | 代码审查、安全审查、Spec 对齐验证与 Git 规范 | 代码审查、安全审查、Spec Review、Git工作流、Spec Proposal |
|
|
114
|
+
| DevOps Agent | 🚀 | 部署上线、容器化、CI/CD、可观测性与性能优化 | 部署上线、Docker、CI/CD、性能优化 |
|
|
115
|
+
| PM Agent | 📊 | 进度跟踪、任务报告、周报生成、技术调研与故障排查 | 进度跟踪、任务报告、周报、技术调研、故障排查 |
|
|
116
|
+
| QA Agent | 🧪 | 质量保障:单元测试、代码审查、Spec 审查与移动端合规 | 单元测试、代码审查、Spec Review、移动端审查、安全审查 |
|
|
117
|
+
| Security Agent | 🔐 | 安全专项:威胁建模、安全审查与安全变更提案 | 威胁建模、安全审查、Spec Proposal |
|
|
118
|
+
| Data Agent | 📈 | 数据工程:数据管道、ML 实验、数据库优化与可观测性 | 数据管道、ML实验、数据库优化、可观测性、LLM功能设计 |
|
|
119
|
+
| PreSales Agent | 🤝 | 售前支持:竞品分析、方案建议书、ROI 测算与客户演示材料 | 竞品分析、售前方案、技术调研、PRD、系统设计 |
|
|
120
|
+
| Product Agent | 📱 | 产品管理:需求理解、PRD 编写、任务拆解与变更提案 | 需求理解、PRD、任务拆解、Spec Proposal、进度跟踪 |
|
|
121
|
+
| Tester Agent | 🔬 | 质量保障:测试计划、缺陷管理、单元测试与自动修复 | 测试计划、缺陷管理、单元测试、自动修复、性能优化 |
|
|
122
|
+
| Ops Agent | 🛠️ | 运维与 SRE:运维手册、部署上线、可观测性与故障排查 | 运维手册、部署上线、可观测性、CI/CD、故障排查 |
|
|
123
|
+
|
|
124
|
+
使用 `ethan agent list` 查看所有 Agent,`ethan agent run <pipelineId>` 编排 Multi-Agent 自动执行。
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
94
128
|
## 快速开始
|
|
95
129
|
|
|
96
130
|
### 方式一:规则文件(推荐)
|
|
@@ -59,16 +59,16 @@ const mockPipeline = {
|
|
|
59
59
|
});
|
|
60
60
|
(0, vitest_1.it)('contains Agent roster table', () => {
|
|
61
61
|
(0, vitest_1.expect)(prompt).toContain('Agent 阵容');
|
|
62
|
-
(0, vitest_1.expect)(prompt).toContain('
|
|
62
|
+
(0, vitest_1.expect)(prompt).toContain('Product Agent');
|
|
63
63
|
(0, vitest_1.expect)(prompt).toContain('Code Agent');
|
|
64
|
-
// dev-workflow uses
|
|
64
|
+
// dev-workflow uses product+coder+qa with updated routing
|
|
65
65
|
});
|
|
66
66
|
(0, vitest_1.it)('contains collaboration protocol', () => {
|
|
67
67
|
(0, vitest_1.expect)(prompt).toContain('协作协议');
|
|
68
68
|
(0, vitest_1.expect)(prompt).toContain('Handoff 摘要');
|
|
69
69
|
});
|
|
70
70
|
(0, vitest_1.it)('contains step headings with agent names', () => {
|
|
71
|
-
(0, vitest_1.expect)(prompt).toContain('
|
|
71
|
+
(0, vitest_1.expect)(prompt).toContain('📱 Product Agent');
|
|
72
72
|
(0, vitest_1.expect)(prompt).toContain('💻 Code Agent');
|
|
73
73
|
});
|
|
74
74
|
(0, vitest_1.it)('contains handoff markers between different agents', () => {
|
|
@@ -96,8 +96,8 @@ const mockPipeline = {
|
|
|
96
96
|
});
|
|
97
97
|
});
|
|
98
98
|
(0, vitest_1.describe)('BUILT_IN_AGENTS', () => {
|
|
99
|
-
(0, vitest_1.it)('has
|
|
100
|
-
(0, vitest_1.expect)(presets_1.BUILT_IN_AGENTS).toHaveLength(
|
|
99
|
+
(0, vitest_1.it)('has 12 agents', () => {
|
|
100
|
+
(0, vitest_1.expect)(presets_1.BUILT_IN_AGENTS).toHaveLength(12);
|
|
101
101
|
});
|
|
102
102
|
(0, vitest_1.it)('all agents have required fields', () => {
|
|
103
103
|
for (const agent of presets_1.BUILT_IN_AGENTS) {
|
|
@@ -108,7 +108,7 @@ const mockPipeline = {
|
|
|
108
108
|
(0, vitest_1.expect)(agent.skillIds.length).toBeGreaterThan(0);
|
|
109
109
|
}
|
|
110
110
|
});
|
|
111
|
-
(0, vitest_1.it)('covers all
|
|
111
|
+
(0, vitest_1.it)('covers all 43 skills across agents', () => {
|
|
112
112
|
const ALL_SKILL_IDS = [
|
|
113
113
|
'requirement-understanding', 'task-breakdown', 'solution-design', 'implementation',
|
|
114
114
|
'progress-tracking', 'task-report', 'weekly-report', 'code-review', 'debug',
|
|
@@ -117,7 +117,8 @@ const mockPipeline = {
|
|
|
117
117
|
'cicd', 'performance', 'refactoring', 'observability', 'design-patterns',
|
|
118
118
|
'spec-proposal', 'spec-review', 'tech-debt', 'api-mock', 'data-migration',
|
|
119
119
|
'llm-feature', 'threat-model', 'green-code', 'service-catalog', 'mobile-review',
|
|
120
|
-
'data-pipeline', 'ml-experiment',
|
|
120
|
+
'data-pipeline', 'ml-experiment', 'auto-fix', 'agent-memory',
|
|
121
|
+
'competitive-analysis', 'solution-proposal', 'test-plan', 'bug-report', 'ops-runbook',
|
|
121
122
|
];
|
|
122
123
|
const coveredIds = new Set(presets_1.BUILT_IN_AGENTS.flatMap((a) => a.skillIds));
|
|
123
124
|
const uncovered = ALL_SKILL_IDS.filter((id) => !coveredIds.has(id));
|
|
@@ -127,23 +128,23 @@ const mockPipeline = {
|
|
|
127
128
|
(0, vitest_1.describe)('buildSkillRouting', () => {
|
|
128
129
|
(0, vitest_1.it)('maps each skillId to its agent', () => {
|
|
129
130
|
const routing = (0, presets_1.buildSkillRouting)(presets_1.BUILT_IN_AGENTS);
|
|
130
|
-
(0, vitest_1.expect)(routing['requirement-understanding']).toBe('
|
|
131
|
+
(0, vitest_1.expect)(routing['requirement-understanding']).toBe('product'); // product overrides architect (last-writer-wins)
|
|
131
132
|
(0, vitest_1.expect)(routing['implementation']).toBe('coder');
|
|
132
133
|
(0, vitest_1.expect)(routing['code-review']).toBe('qa'); // qa overrides reviewer (last-writer-wins)
|
|
133
|
-
(0, vitest_1.expect)(routing['deployment']).toBe('
|
|
134
|
-
(0, vitest_1.expect)(routing['debug']).toBe('
|
|
134
|
+
(0, vitest_1.expect)(routing['deployment']).toBe('ops'); // ops overrides devops (last-writer-wins)
|
|
135
|
+
(0, vitest_1.expect)(routing['debug']).toBe('ops'); // ops overrides pm (last-writer-wins)
|
|
135
136
|
});
|
|
136
137
|
});
|
|
137
138
|
(0, vitest_1.describe)('getAgentsForPipeline', () => {
|
|
138
139
|
(0, vitest_1.it)('returns only agents participating in the pipeline', () => {
|
|
139
140
|
const routing = (0, presets_1.buildSkillRouting)(presets_1.BUILT_IN_AGENTS);
|
|
140
141
|
const agents = (0, presets_1.getAgentsForPipeline)(['requirement-understanding', 'implementation', 'code-review'], presets_1.BUILT_IN_AGENTS, routing);
|
|
141
|
-
(0, vitest_1.expect)(agents.map((a) => a.id)).toEqual(['
|
|
142
|
+
(0, vitest_1.expect)(agents.map((a) => a.id)).toEqual(['product', 'coder', 'qa']);
|
|
142
143
|
});
|
|
143
144
|
(0, vitest_1.it)('deduplicates consecutive same-agent steps', () => {
|
|
144
145
|
const routing = (0, presets_1.buildSkillRouting)(presets_1.BUILT_IN_AGENTS);
|
|
145
146
|
// Both solution-design and api-design belong to architect
|
|
146
|
-
const agents = (0, presets_1.getAgentsForPipeline)(['
|
|
147
|
+
const agents = (0, presets_1.getAgentsForPipeline)(['solution-design', 'api-design'], presets_1.BUILT_IN_AGENTS, routing);
|
|
147
148
|
(0, vitest_1.expect)(agents.map((a) => a.id)).toEqual(['architect']); // deduped
|
|
148
149
|
});
|
|
149
150
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.test.js","sourceRoot":"","sources":["../../src/agents/orchestrator.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,iDAAuD;AACvD,uCAAqF;AAGrF,+EAA+E;AAE/E,MAAM,UAAU,GAAsB;IACpC;QACE,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,2BAA2B;QACnC,WAAW,EAAE,oBAAoB;QACjC,iBAAiB,EAAE,MAAM;QACzB,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QACtD,YAAY,EAAE,gBAAgB;QAC9B,KAAK,EAAE,CAAC;KACT;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,gBAAgB;QACxB,WAAW,EAAE,aAAa;QAC1B,iBAAiB,EAAE,MAAM;QACzB,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;QACrD,YAAY,EAAE,aAAa;QAC3B,KAAK,EAAE,CAAC;KACT;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,aAAa;QACrB,WAAW,EAAE,WAAW;QACxB,iBAAiB,EAAE,MAAM;QACzB,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;QACpD,YAAY,EAAE,eAAe;QAC7B,KAAK,EAAE,CAAC;KACT;CACF,CAAC;AAEF,MAAM,YAAY,GAAuB;IACvC,EAAE,EAAE,cAAc;IAClB,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,oBAAoB;IACjC,QAAQ,EAAE,CAAC,2BAA2B,EAAE,gBAAgB,EAAE,aAAa,CAAC;CACzE,CAAC;AAEF,+EAA+E;AAE/E,IAAA,iBAAQ,EAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,MAAM,MAAM,GAAG,IAAA,oCAAqB,EAAC,YAAY,EAAE,UAAU,EAAE,yBAAe,EAAE;QAC9E,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,kBAAkB,EAAE,GAAG,EAAE;QAC1B,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACrC,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"orchestrator.test.js","sourceRoot":"","sources":["../../src/agents/orchestrator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/agents/presets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,eAAe,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/agents/presets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,eAAe,EAAE,eAAe,EAoL5C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQnF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,EAAE,eAAe,EAAE,EACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,eAAe,EAAE,CAcnB"}
|
package/dist/agents/presets.js
CHANGED
|
@@ -39,6 +39,7 @@ exports.BUILT_IN_AGENTS = [
|
|
|
39
39
|
'api-mock',
|
|
40
40
|
'data-migration',
|
|
41
41
|
'llm-feature',
|
|
42
|
+
'agent-memory',
|
|
42
43
|
],
|
|
43
44
|
},
|
|
44
45
|
{
|
|
@@ -130,6 +131,62 @@ exports.BUILT_IN_AGENTS = [
|
|
|
130
131
|
'llm-feature',
|
|
131
132
|
],
|
|
132
133
|
},
|
|
134
|
+
{
|
|
135
|
+
id: 'presales',
|
|
136
|
+
name: 'PreSales Agent',
|
|
137
|
+
nameEn: 'presales-agent',
|
|
138
|
+
emoji: '🤝',
|
|
139
|
+
role: '负责售前支持:竞品分析、方案建议书、ROI 测算与客户演示材料',
|
|
140
|
+
skillIds: [
|
|
141
|
+
'competitive-analysis',
|
|
142
|
+
'solution-proposal',
|
|
143
|
+
'tech-research',
|
|
144
|
+
'prd',
|
|
145
|
+
'system-design',
|
|
146
|
+
],
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
id: 'product',
|
|
150
|
+
name: 'Product Agent',
|
|
151
|
+
nameEn: 'product-agent',
|
|
152
|
+
emoji: '📱',
|
|
153
|
+
role: '负责产品管理:需求理解、PRD 编写、任务拆解与变更提案',
|
|
154
|
+
skillIds: [
|
|
155
|
+
'requirement-understanding',
|
|
156
|
+
'prd',
|
|
157
|
+
'task-breakdown',
|
|
158
|
+
'spec-proposal',
|
|
159
|
+
'progress-tracking',
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
id: 'tester',
|
|
164
|
+
name: 'Tester Agent',
|
|
165
|
+
nameEn: 'tester-agent',
|
|
166
|
+
emoji: '🔬',
|
|
167
|
+
role: '负责质量保障:测试计划、缺陷管理、单元测试与自动修复',
|
|
168
|
+
skillIds: [
|
|
169
|
+
'test-plan',
|
|
170
|
+
'bug-report',
|
|
171
|
+
'unit-testing',
|
|
172
|
+
'auto-fix',
|
|
173
|
+
'performance',
|
|
174
|
+
],
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
id: 'ops',
|
|
178
|
+
name: 'Ops Agent',
|
|
179
|
+
nameEn: 'ops-agent',
|
|
180
|
+
emoji: '🛠️',
|
|
181
|
+
role: '负责运维与 SRE:运维手册、部署上线、可观测性与故障排查',
|
|
182
|
+
skillIds: [
|
|
183
|
+
'ops-runbook',
|
|
184
|
+
'deployment',
|
|
185
|
+
'observability',
|
|
186
|
+
'cicd',
|
|
187
|
+
'debug',
|
|
188
|
+
],
|
|
189
|
+
},
|
|
133
190
|
];
|
|
134
191
|
/**
|
|
135
192
|
* 构建 skillId → agentId 的路由映射表
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/agents/presets.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;
|
|
1
|
+
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../../src/agents/presets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"39-competitive-analysis.d.ts","sourceRoot":"","sources":["../../src/skills/39-competitive-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,wBAAwB,EAAE,eAsLtC,CAAC"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.competitiveAnalysisSkill = void 0;
|
|
4
|
+
exports.competitiveAnalysisSkill = {
|
|
5
|
+
id: 'competitive-analysis',
|
|
6
|
+
name: '竞品分析',
|
|
7
|
+
nameEn: 'competitive_analysis',
|
|
8
|
+
order: 39,
|
|
9
|
+
category: '需求侧',
|
|
10
|
+
description: '系统收集竞品信息,构建多维对比矩阵,识别差异化机会,输出可执行的竞品洞察报告',
|
|
11
|
+
descriptionEn: 'Systematically collect competitor info, build multi-dimensional comparison matrix, identify differentiation opportunities',
|
|
12
|
+
detailDescription: `售前和产品决策的核心输入之一是竞品情报。
|
|
13
|
+
本 Skill 帮助团队系统化地收集竞品信息,通过功能矩阵、定价对比、用户口碑分析,
|
|
14
|
+
找出我方产品的差异化优势和薄弱环节,为方案制定、定价策略和产品路线图提供数据支撑。`,
|
|
15
|
+
triggers: [
|
|
16
|
+
'竞品分析',
|
|
17
|
+
'竞品对比',
|
|
18
|
+
'competitive analysis',
|
|
19
|
+
'竞争对手',
|
|
20
|
+
'市场分析',
|
|
21
|
+
'对标分析',
|
|
22
|
+
'竞品调研',
|
|
23
|
+
'competitor research',
|
|
24
|
+
'市场竞争',
|
|
25
|
+
'@ethan 竞品',
|
|
26
|
+
'@ethan competitive',
|
|
27
|
+
'/competitive-analysis',
|
|
28
|
+
],
|
|
29
|
+
steps: [
|
|
30
|
+
{
|
|
31
|
+
title: '1. 界定分析范围',
|
|
32
|
+
content: `明确竞品分析的边界和目标:
|
|
33
|
+
|
|
34
|
+
**确认以下信息**
|
|
35
|
+
- **分析目的**:售前支撑 / 产品规划 / 定价策略 / 功能取舍
|
|
36
|
+
- **目标客户群**:哪类客户在同时考察我方和竞品?
|
|
37
|
+
- **核心场景**:客户最关心哪 3-5 个使用场景?
|
|
38
|
+
- **分析时效**:一次性深度分析 vs 持续监测
|
|
39
|
+
|
|
40
|
+
**竞品分层**
|
|
41
|
+
\`\`\`
|
|
42
|
+
直接竞品(核心战场):
|
|
43
|
+
- 相同目标客户、相似产品形态、直接争抢同一笔预算
|
|
44
|
+
- 通常 3-5 个,重点深入分析
|
|
45
|
+
|
|
46
|
+
间接竞品(边缘防御):
|
|
47
|
+
- 不同产品形态但解决同一问题
|
|
48
|
+
- 通常 2-3 个,了解即可
|
|
49
|
+
|
|
50
|
+
替代方案(需求层竞争):
|
|
51
|
+
- 客户可能选择的完全不同的路径(如自研、外包)
|
|
52
|
+
- 列出但不做深度分析
|
|
53
|
+
\`\`\``,
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
title: '2. 信息收集',
|
|
57
|
+
content: `系统化收集竞品多维度信息:
|
|
58
|
+
|
|
59
|
+
**官方渠道**
|
|
60
|
+
- 官网产品页、定价页、案例页(截图留存,注明日期)
|
|
61
|
+
- 产品文档/帮助中心(了解功能边界)
|
|
62
|
+
- 官方博客/发布说明(了解产品方向)
|
|
63
|
+
- LinkedIn / 招聘信息(判断团队规模和技术方向)
|
|
64
|
+
|
|
65
|
+
**用户反馈渠道**
|
|
66
|
+
- G2 / Capterra / 产品猎人(Product Hunt)评分与评论
|
|
67
|
+
- App Store / 各应用市场用户评价
|
|
68
|
+
- 知乎、Reddit、Twitter 用户讨论
|
|
69
|
+
- 重点提取:**高频好评**(核心优势)和**高频差评**(核心痛点)
|
|
70
|
+
|
|
71
|
+
**公开数据**
|
|
72
|
+
- SimilarWeb / Alexa 流量数据
|
|
73
|
+
- GitHub Stars / 开源活跃度(技术产品)
|
|
74
|
+
- 融资信息(Crunchbase)— 判断竞品资源投入
|
|
75
|
+
|
|
76
|
+
**第一手情报**(如可获取)
|
|
77
|
+
- 试用竞品产品(免费版 / Demo)
|
|
78
|
+
- 竞品销售人员对话记录
|
|
79
|
+
- 客户提供的竞品方案 / RFP 评估
|
|
80
|
+
|
|
81
|
+
> ⚠️ 所有信息注明来源和收集时间,竞品信息时效性强,超过 3 个月需重新验证`,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
title: '3. 构建对比矩阵',
|
|
85
|
+
content: `将收集信息结构化为多维对比矩阵:
|
|
86
|
+
|
|
87
|
+
**功能对比矩阵**
|
|
88
|
+
|
|
89
|
+
| 功能/场景 | 权重 | 我方 | 竞品A | 竞品B | 竞品C |
|
|
90
|
+
|---------|------|------|-------|-------|-------|
|
|
91
|
+
| 核心功能1 | 高 | ✅全支持 | ✅全支持 | ⚠️部分 | ❌不支持 |
|
|
92
|
+
| 核心功能2 | 高 | ⚠️部分 | ✅全支持 | ✅全支持 | ⚠️部分 |
|
|
93
|
+
| 差异功能X | 中 | ✅独有 | ❌ | ❌ | ❌ |
|
|
94
|
+
|
|
95
|
+
评分说明:✅全支持(5) ⚠️部分支持(3) 🔧需定制(2) ❌不支持(0)
|
|
96
|
+
|
|
97
|
+
**定价对比**
|
|
98
|
+
|
|
99
|
+
| 维度 | 我方 | 竞品A | 竞品B |
|
|
100
|
+
|------|------|-------|-------|
|
|
101
|
+
| 起步价 | XXX | XXX | XXX |
|
|
102
|
+
| 计费模式 | 按座席 | 按用量 | 按功能包 |
|
|
103
|
+
| 企业版价格 | 询价 | 公开 | 询价 |
|
|
104
|
+
| 免费版 | 有 | 有 | 无 |
|
|
105
|
+
|
|
106
|
+
**非功能对比**
|
|
107
|
+
|
|
108
|
+
| 维度 | 我方 | 竞品A | 竞品B |
|
|
109
|
+
|------|------|-------|-------|
|
|
110
|
+
| 部署方式 | SaaS+私有化 | 仅SaaS | 私有化 |
|
|
111
|
+
| 数据合规 | 等保三级 | SOC2 | ISO27001 |
|
|
112
|
+
| 技术栈/集成 | 开放API | 封闭 | 部分开放 |`,
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
title: '4. 优劣势分析(SWOT)',
|
|
116
|
+
content: `基于对比矩阵提炼我方竞争态势:
|
|
117
|
+
|
|
118
|
+
**竞争优势(Where We Win)**
|
|
119
|
+
- 哪些功能维度我们明显领先?
|
|
120
|
+
- 什么场景下客户更倾向选择我们?
|
|
121
|
+
- 我们独有哪些能力(竞品无法快速复制)?
|
|
122
|
+
|
|
123
|
+
**竞争劣势(Where We Lose)**
|
|
124
|
+
- 哪些功能维度我们明显落后?
|
|
125
|
+
- 客户最常拿哪些点质疑我们?
|
|
126
|
+
- 竞品有哪些"杀手锏"功能我们缺失?
|
|
127
|
+
|
|
128
|
+
**竞争机会(Gaps to Exploit)**
|
|
129
|
+
- 竞品用户高频差评的问题,我们能更好解决吗?
|
|
130
|
+
- 有哪些细分市场/场景竞品没有覆盖?
|
|
131
|
+
|
|
132
|
+
**竞争威胁(What to Watch)**
|
|
133
|
+
- 竞品近期有哪些重大产品发布/融资?
|
|
134
|
+
- 哪些竞品正在往我方核心场景延伸?
|
|
135
|
+
|
|
136
|
+
**竞争定位声明**(用于售前演讲)
|
|
137
|
+
> "相比 [竞品],我们在 [场景] 下通过 [差异化能力] 为客户实现 [业务价值]。
|
|
138
|
+
> 对于看重 [竞品优势点] 的客户,我们的应对是 [我方策略]。"`,
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
title: '5. 输出竞品洞察报告',
|
|
142
|
+
content: `输出结构化的竞品分析报告:
|
|
143
|
+
|
|
144
|
+
\`\`\`markdown
|
|
145
|
+
# 竞品分析报告 — [产品/场景名称]
|
|
146
|
+
|
|
147
|
+
**分析日期**:YYYY-MM-DD
|
|
148
|
+
**分析目的**:[售前支撑 / 产品规划 / 定价策略]
|
|
149
|
+
**主要竞品**:[竞品A、竞品B、竞品C]
|
|
150
|
+
|
|
151
|
+
## 核心结论(TL;DR)
|
|
152
|
+
- 🥇 我们的核心优势:[2-3句话]
|
|
153
|
+
- ⚠️ 需正视的差距:[1-2句话]
|
|
154
|
+
- 🎯 最佳竞争场景:[哪类客户/哪种场景最利于我们赢单]
|
|
155
|
+
|
|
156
|
+
## 功能对比矩阵
|
|
157
|
+
[表格]
|
|
158
|
+
|
|
159
|
+
## 定价对比
|
|
160
|
+
[表格]
|
|
161
|
+
|
|
162
|
+
## 赢单话术(Battle Card)
|
|
163
|
+
### 遇到"竞品A"时
|
|
164
|
+
- **他们的优势**:[客观承认]
|
|
165
|
+
- **我们的应对**:[差异化切入]
|
|
166
|
+
- **杀手问题**(引导客户质疑竞品):[具体问题]
|
|
167
|
+
|
|
168
|
+
### 遇到"竞品B"时
|
|
169
|
+
...
|
|
170
|
+
|
|
171
|
+
## 产品团队建议
|
|
172
|
+
- 短期(本季度):[紧急补强点]
|
|
173
|
+
- 中期(半年):[规划差异化功能]
|
|
174
|
+
- 长期监测:[持续关注的竞品动向]
|
|
175
|
+
\`\`\``,
|
|
176
|
+
},
|
|
177
|
+
],
|
|
178
|
+
outputFormat: 'Markdown 竞品分析报告:功能矩阵 + 定价对比 + SWOT 分析 + Battle Card(赢单话术)+ 产品建议',
|
|
179
|
+
notes: [
|
|
180
|
+
'竞品信息必须注明日期,超过3个月的数据需重新核实',
|
|
181
|
+
'Battle Card 是售前最实用的产出,优先完成',
|
|
182
|
+
'保持客观,诚实面对我方劣势,只有清楚弱点才能针对性应对',
|
|
183
|
+
'竞品分析不是一次性工作,建议每季度更新一次',
|
|
184
|
+
],
|
|
185
|
+
nextSkill: 'solution-proposal',
|
|
186
|
+
};
|
|
187
|
+
//# sourceMappingURL=39-competitive-analysis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"39-competitive-analysis.js","sourceRoot":"","sources":["../../src/skills/39-competitive-analysis.ts"],"names":[],"mappings":";;;AAEa,QAAA,wBAAwB,GAAoB;IACvD,EAAE,EAAE,sBAAsB;IAC1B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,sBAAsB;IAC9B,KAAK,EAAE,EAAE;IACT,QAAQ,EAAE,KAAK;IACf,WAAW,EAAE,wCAAwC;IACrD,aAAa,EAAE,2HAA2H;IAC1I,iBAAiB,EAAE;;0CAEqB;IACxC,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,sBAAsB;QACtB,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,qBAAqB;QACrB,MAAM;QACN,WAAW;QACX,oBAAoB;QACpB,uBAAuB;KACxB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;OAqBR;SACF;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;yCAwB0B;SACpC;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA2BgB;SAC1B;QACD;YACE,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;mCAsBoB;SAC9B;QACD;YACE,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCR;SACF;KACF;IACD,YAAY,EAAE,iEAAiE;IAC/E,KAAK,EAAE;QACL,0BAA0B;QAC1B,4BAA4B;QAC5B,6BAA6B;QAC7B,uBAAuB;KACxB;IACD,SAAS,EAAE,mBAAmB;CAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"40-solution-proposal.d.ts","sourceRoot":"","sources":["../../src/skills/40-solution-proposal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,qBAAqB,EAAE,eA+LnC,CAAC"}
|