ethan-skill 1.0.0 → 1.1.0
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/dist/cli/config.d.ts +26 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +74 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +363 -62
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/update-check.d.ts +11 -0
- package/dist/cli/update-check.d.ts.map +1 -0
- package/dist/cli/update-check.js +128 -0
- package/dist/cli/update-check.js.map +1 -0
- package/dist/context/detector.d.ts +25 -0
- package/dist/context/detector.d.ts.map +1 -0
- package/dist/context/detector.js +230 -0
- package/dist/context/detector.js.map +1 -0
- package/dist/ethan-skill-1.0.0.vsix +0 -0
- package/dist/ethan-skill-1.1.0.vsix +0 -0
- package/dist/loader/custom-skill-loader.d.ts +15 -0
- package/dist/loader/custom-skill-loader.d.ts.map +1 -0
- package/dist/loader/custom-skill-loader.js +158 -0
- package/dist/loader/custom-skill-loader.js.map +1 -0
- package/dist/server/dashboard.d.ts +2 -0
- package/dist/server/dashboard.d.ts.map +1 -0
- package/dist/server/dashboard.js +272 -0
- package/dist/server/dashboard.js.map +1 -0
- package/dist/skills/01-requirement.d.ts.map +1 -1
- package/dist/skills/01-requirement.js +4 -0
- package/dist/skills/01-requirement.js.map +1 -1
- package/dist/skills/02-task-breakdown.d.ts.map +1 -1
- package/dist/skills/02-task-breakdown.js +4 -0
- package/dist/skills/02-task-breakdown.js.map +1 -1
- package/dist/skills/03-design.d.ts.map +1 -1
- package/dist/skills/03-design.js +4 -0
- package/dist/skills/03-design.js.map +1 -1
- package/dist/skills/04-implementation.d.ts.map +1 -1
- package/dist/skills/04-implementation.js +4 -0
- package/dist/skills/04-implementation.js.map +1 -1
- package/dist/skills/05-progress-tracking.d.ts.map +1 -1
- package/dist/skills/05-progress-tracking.js +4 -0
- package/dist/skills/05-progress-tracking.js.map +1 -1
- package/dist/skills/06-task-report.d.ts.map +1 -1
- package/dist/skills/06-task-report.js +4 -0
- package/dist/skills/06-task-report.js.map +1 -1
- package/dist/skills/07-weekly-report.d.ts.map +1 -1
- package/dist/skills/07-weekly-report.js +3 -0
- package/dist/skills/07-weekly-report.js.map +1 -1
- package/dist/skills/08-code-review.d.ts.map +1 -1
- package/dist/skills/08-code-review.js +2 -0
- package/dist/skills/08-code-review.js.map +1 -1
- package/dist/skills/09-debug.d.ts.map +1 -1
- package/dist/skills/09-debug.js +3 -0
- package/dist/skills/09-debug.js.map +1 -1
- package/dist/skills/10-tech-research.d.ts.map +1 -1
- package/dist/skills/10-tech-research.js +4 -0
- package/dist/skills/10-tech-research.js.map +1 -1
- package/dist/skills/types.d.ts +4 -0
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/templates/copilot-md.template.d.ts.map +1 -1
- package/dist/templates/copilot-md.template.js +107 -26
- package/dist/templates/copilot-md.template.js.map +1 -1
- package/dist/vscode/router/trigger-router.d.ts +16 -0
- package/dist/vscode/router/trigger-router.d.ts.map +1 -0
- package/dist/vscode/router/trigger-router.js +45 -0
- package/dist/vscode/router/trigger-router.js.map +1 -0
- package/dist/vscode/skills/01-requirement.d.ts +3 -0
- package/dist/vscode/skills/01-requirement.d.ts.map +1 -0
- package/dist/vscode/skills/01-requirement.js +104 -0
- package/dist/vscode/skills/01-requirement.js.map +1 -0
- package/dist/vscode/skills/02-task-breakdown.d.ts +3 -0
- package/dist/vscode/skills/02-task-breakdown.d.ts.map +1 -0
- package/dist/vscode/skills/02-task-breakdown.js +86 -0
- package/dist/vscode/skills/02-task-breakdown.js.map +1 -0
- package/dist/vscode/skills/03-design.d.ts +3 -0
- package/dist/vscode/skills/03-design.d.ts.map +1 -0
- package/dist/vscode/skills/03-design.js +84 -0
- package/dist/vscode/skills/03-design.js.map +1 -0
- package/dist/vscode/skills/04-implementation.d.ts +3 -0
- package/dist/vscode/skills/04-implementation.d.ts.map +1 -0
- package/dist/vscode/skills/04-implementation.js +81 -0
- package/dist/vscode/skills/04-implementation.js.map +1 -0
- package/dist/vscode/skills/05-progress-tracking.d.ts +3 -0
- package/dist/vscode/skills/05-progress-tracking.d.ts.map +1 -0
- package/dist/vscode/skills/05-progress-tracking.js +82 -0
- package/dist/vscode/skills/05-progress-tracking.js.map +1 -0
- package/dist/vscode/skills/06-task-report.d.ts +3 -0
- package/dist/vscode/skills/06-task-report.d.ts.map +1 -0
- package/dist/vscode/skills/06-task-report.js +79 -0
- package/dist/vscode/skills/06-task-report.js.map +1 -0
- package/dist/vscode/skills/07-weekly-report.d.ts +3 -0
- package/dist/vscode/skills/07-weekly-report.d.ts.map +1 -0
- package/dist/vscode/skills/07-weekly-report.js +104 -0
- package/dist/vscode/skills/07-weekly-report.js.map +1 -0
- package/dist/vscode/skills/08-code-review.d.ts +3 -0
- package/dist/vscode/skills/08-code-review.d.ts.map +1 -0
- package/dist/vscode/skills/08-code-review.js +138 -0
- package/dist/vscode/skills/08-code-review.js.map +1 -0
- package/dist/vscode/skills/09-debug.d.ts +3 -0
- package/dist/vscode/skills/09-debug.d.ts.map +1 -0
- package/dist/vscode/skills/09-debug.js +154 -0
- package/dist/vscode/skills/09-debug.js.map +1 -0
- package/dist/vscode/skills/10-tech-research.d.ts +3 -0
- package/dist/vscode/skills/10-tech-research.d.ts.map +1 -0
- package/dist/vscode/skills/10-tech-research.js +145 -0
- package/dist/vscode/skills/10-tech-research.js.map +1 -0
- package/dist/vscode/skills/index.d.ts +18 -0
- package/dist/vscode/skills/index.d.ts.map +1 -0
- package/dist/vscode/skills/index.js +51 -0
- package/dist/vscode/skills/index.js.map +1 -0
- package/dist/vscode/skills/pipeline.d.ts +15 -0
- package/dist/vscode/skills/pipeline.d.ts.map +1 -0
- package/dist/vscode/skills/pipeline.js +55 -0
- package/dist/vscode/skills/pipeline.js.map +1 -0
- package/dist/vscode/skills/types.d.ts +64 -0
- package/dist/vscode/skills/types.d.ts.map +1 -0
- package/dist/vscode/skills/types.js +7 -0
- package/dist/vscode/skills/types.js.map +1 -0
- package/dist/vscode/vscode/commands.d.ts +63 -0
- package/dist/vscode/vscode/commands.d.ts.map +1 -0
- package/dist/vscode/vscode/commands.js +428 -0
- package/dist/vscode/vscode/commands.js.map +1 -0
- package/dist/vscode/vscode/extension.d.ts +4 -0
- package/dist/vscode/vscode/extension.d.ts.map +1 -0
- package/dist/vscode/vscode/extension.js +103 -0
- package/dist/vscode/vscode/extension.js.map +1 -0
- package/package.json +7 -3
- package/rules/claude-code/CLAUDE.md +12 -12
- package/rules/cline/.clinerules +3 -3
- package/rules/codebuddy/CODEBUDDY.md +12 -12
- package/rules/continue/.continuerules +3 -3
- package/rules/copilot/copilot-instructions.md +12 -12
- package/rules/cursor/.cursorrules +12 -12
- package/rules/cursor/smart-flow.mdc +12 -12
- package/rules/jetbrains/smart-flow.md +12 -12
- package/rules/lingma/smart-flow.md +2 -2
- package/rules/windsurf/.windsurf/rules/smart-flow.md +12 -12
- package/rules/zed/smart-flow.rules +1 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.activate = activate;
|
|
37
|
+
exports.deactivate = deactivate;
|
|
38
|
+
const vscode = __importStar(require("vscode"));
|
|
39
|
+
const index_1 = require("../skills/index");
|
|
40
|
+
const trigger_router_1 = require("../router/trigger-router");
|
|
41
|
+
const commands_1 = require("./commands");
|
|
42
|
+
function activate(context) {
|
|
43
|
+
// Register commands and get back the tree-data providers + status bar item
|
|
44
|
+
const { skillsProvider, pipelinesProvider, statusBarItem } = (0, commands_1.registerCommands)(context);
|
|
45
|
+
// Register sidebar tree views
|
|
46
|
+
context.subscriptions.push(vscode.window.createTreeView('ethan.skillsView', {
|
|
47
|
+
treeDataProvider: skillsProvider,
|
|
48
|
+
showCollapseAll: true,
|
|
49
|
+
}), vscode.window.createTreeView('ethan.pipelinesView', {
|
|
50
|
+
treeDataProvider: pipelinesProvider,
|
|
51
|
+
}), statusBarItem);
|
|
52
|
+
// Register Chat Participant (@ethan)
|
|
53
|
+
const participant = vscode.chat.createChatParticipant('ethan', handleChatRequest);
|
|
54
|
+
participant.iconPath = vscode.Uri.joinPath(context.extensionUri, 'assets', 'icon.png');
|
|
55
|
+
context.subscriptions.push(participant);
|
|
56
|
+
}
|
|
57
|
+
async function handleChatRequest(request, _context, stream, token) {
|
|
58
|
+
const userMessage = request.prompt.trim();
|
|
59
|
+
// Route by explicit /command name or by trigger keyword in the message
|
|
60
|
+
let skill = null;
|
|
61
|
+
if (request.command) {
|
|
62
|
+
// User explicitly selected a Skill via /命令
|
|
63
|
+
skill = index_1.ALL_SKILLS.find((s) => s.name === request.command ||
|
|
64
|
+
s.nameEn === request.command ||
|
|
65
|
+
s.triggers.includes('/' + request.command));
|
|
66
|
+
}
|
|
67
|
+
if (!skill && userMessage) {
|
|
68
|
+
const routeResult = (0, trigger_router_1.routeTrigger)(userMessage);
|
|
69
|
+
skill = routeResult?.skill ?? null;
|
|
70
|
+
}
|
|
71
|
+
if (!skill) {
|
|
72
|
+
// No matching Skill — show the help list
|
|
73
|
+
stream.markdown('## Ethan Skills\n\n');
|
|
74
|
+
stream.markdown('可用 Skill(输入对应触发词或使用 `/命令`):\n\n');
|
|
75
|
+
for (const s of index_1.ALL_SKILLS) {
|
|
76
|
+
stream.markdown(`- **${s.name}**:${s.description}\n`);
|
|
77
|
+
stream.markdown(' 触发词:`' + s.triggers.slice(0, 3).join('`、`') + '`\n\n');
|
|
78
|
+
}
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
if (token.isCancellationRequested)
|
|
82
|
+
return;
|
|
83
|
+
// Stream the Skill execution content
|
|
84
|
+
stream.markdown(`# 执行 Skill:${skill.name}\n\n`);
|
|
85
|
+
stream.markdown(`> ${skill.detailDescription}\n\n`);
|
|
86
|
+
if (userMessage) {
|
|
87
|
+
stream.markdown(`**输入**:${userMessage}\n\n---\n\n`);
|
|
88
|
+
}
|
|
89
|
+
for (const step of skill.steps) {
|
|
90
|
+
if (token.isCancellationRequested)
|
|
91
|
+
return;
|
|
92
|
+
stream.markdown(`${step.title}\n\n${step.content}\n\n`);
|
|
93
|
+
}
|
|
94
|
+
stream.markdown(`---\n\n**输出格式**:${skill.outputFormat}\n`);
|
|
95
|
+
if (skill.notes && skill.notes.length > 0) {
|
|
96
|
+
stream.markdown(`\n**注意事项**:\n`);
|
|
97
|
+
for (const note of skill.notes) {
|
|
98
|
+
stream.markdown(`- ${note}\n`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
function deactivate() { }
|
|
103
|
+
//# sourceMappingURL=extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/vscode/extension.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ethan-skill",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Ethan - Your AI Workflow Assistant",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-skill",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"license": "MIT",
|
|
17
17
|
"main": "dist/cli/index.js",
|
|
18
18
|
"bin": {
|
|
19
|
-
"ethan": "
|
|
19
|
+
"ethan": "dist/cli/index.js"
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
22
|
"dist/",
|
|
@@ -42,17 +42,21 @@
|
|
|
42
42
|
"prepublishOnly": "npm run build:all && npm run lint && npm run test"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
+
"@clack/prompts": "^1.1.0",
|
|
45
46
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
46
47
|
"chalk": "^5.3.0",
|
|
47
48
|
"commander": "^12.0.0",
|
|
48
49
|
"fs-extra": "^11.2.0",
|
|
50
|
+
"js-yaml": "^4.1.1",
|
|
49
51
|
"ora": "^8.0.1"
|
|
50
52
|
},
|
|
51
53
|
"devDependencies": {
|
|
52
54
|
"@changesets/cli": "^2.27.0",
|
|
53
55
|
"@eslint/js": "^9.39.4",
|
|
54
56
|
"@types/fs-extra": "^11.0.4",
|
|
57
|
+
"@types/js-yaml": "^4.0.9",
|
|
55
58
|
"@types/node": "^20.0.0",
|
|
59
|
+
"@types/vscode": "^1.110.0",
|
|
56
60
|
"eslint": "^9.39.4",
|
|
57
61
|
"eslint-config-prettier": "^10.1.8",
|
|
58
62
|
"prettier": "^3.8.1",
|
|
@@ -66,6 +70,6 @@
|
|
|
66
70
|
},
|
|
67
71
|
"repository": {
|
|
68
72
|
"type": "git",
|
|
69
|
-
"url": "https://github.com/aokiz-ek/smart-flow-skill.git"
|
|
73
|
+
"url": "git+https://github.com/aokiz-ek/smart-flow-skill.git"
|
|
70
74
|
}
|
|
71
75
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Ethan v1.
|
|
1
|
+
# Ethan v1.1.0
|
|
2
2
|
|
|
3
|
-
> Auto-generated from src/skills/ | 2026-03-
|
|
3
|
+
> Auto-generated from src/skills/ | 2026-03-21T16:27:34.521Z
|
|
4
4
|
> Do not edit manually. Source: src/skills/
|
|
5
5
|
|
|
6
6
|
## Ethan
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
**描述**: 深度解析用户需求,消除歧义,输出结构化需求文档
|
|
23
23
|
|
|
24
|
-
**触发词**: `需求理解`, `理解需求`, `分析需求`, `需求分析`, `我需要`, `帮我做`, `实现一个`, `开发一个`, `/需求理解`, `@ethan
|
|
24
|
+
**触发词**: `需求理解`, `理解需求`, `分析需求`, `需求分析`, `我需要`, `帮我做`, `实现一个`, `开发一个`, `/需求理解`, `@ethan 需求`, `requirement analysis`, `analyze requirements`, `@ethan requirement`
|
|
25
25
|
|
|
26
26
|
**执行步骤**:
|
|
27
27
|
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
|
|
85
85
|
**描述**: 将复杂需求拆解为可执行的原子任务,建立依赖关系和优先级
|
|
86
86
|
|
|
87
|
-
**触发词**: `任务拆解`, `拆解任务`, `拆分任务`, `制定计划`, `任务规划`, `怎么实现`, `实现步骤`, `/任务拆解`, `@ethan
|
|
87
|
+
**触发词**: `任务拆解`, `拆解任务`, `拆分任务`, `制定计划`, `任务规划`, `怎么实现`, `实现步骤`, `/任务拆解`, `@ethan 拆解`, `task breakdown`, `break down`, `@ethan breakdown`
|
|
88
88
|
|
|
89
89
|
**执行步骤**:
|
|
90
90
|
|
|
@@ -149,7 +149,7 @@ T02 可与 T01 同时进行
|
|
|
149
149
|
|
|
150
150
|
**描述**: 输出技术方案设计文档,包含架构选择、接口设计、数据模型和关键决策说明
|
|
151
151
|
|
|
152
|
-
**触发词**: `方案设计`, `技术方案`, `架构设计`, `设计方案`, `怎么设计`, `数据库设计`, `接口设计`, `API 设计`, `/方案设计`, `@ethan
|
|
152
|
+
**触发词**: `方案设计`, `技术方案`, `架构设计`, `设计方案`, `怎么设计`, `数据库设计`, `接口设计`, `API 设计`, `/方案设计`, `@ethan 设计`, `solution design`, `tech design`, `@ethan design`
|
|
153
153
|
|
|
154
154
|
**执行步骤**:
|
|
155
155
|
|
|
@@ -211,7 +211,7 @@ Response: { code: 0, data: {...}, message: string }
|
|
|
211
211
|
|
|
212
212
|
**描述**: 按设计方案逐步实现代码,遵循最佳实践,同步记录实现决策
|
|
213
213
|
|
|
214
|
-
**触发词**: `执行实现`, `开始实现`, `写代码`, `编写代码`, `实现功能`, `代码实现`, `开始开发`, `/执行实现`, `@ethan
|
|
214
|
+
**触发词**: `执行实现`, `开始实现`, `写代码`, `编写代码`, `实现功能`, `代码实现`, `开始开发`, `/执行实现`, `@ethan 实现`, `implementation`, `start implementing`, `@ethan implement`
|
|
215
215
|
|
|
216
216
|
**执行步骤**:
|
|
217
217
|
|
|
@@ -271,7 +271,7 @@ Response: { code: 0, data: {...}, message: string }
|
|
|
271
271
|
|
|
272
272
|
**描述**: 实时更新任务状态,识别阻塞风险,保持项目透明度
|
|
273
273
|
|
|
274
|
-
**触发词**: `进度跟踪`, `跟踪进度`, `进度更新`, `更新进度`, `项目进展`, `任务状态`, `完成了什么`, `还剩什么`, `/进度跟踪`, `@ethan
|
|
274
|
+
**触发词**: `进度跟踪`, `跟踪进度`, `进度更新`, `更新进度`, `项目进展`, `任务状态`, `完成了什么`, `还剩什么`, `/进度跟踪`, `@ethan 进度`, `progress tracking`, `progress update`, `@ethan progress`
|
|
275
275
|
|
|
276
276
|
**执行步骤**:
|
|
277
277
|
|
|
@@ -331,7 +331,7 @@ Response: { code: 0, data: {...}, message: string }
|
|
|
331
331
|
|
|
332
332
|
**描述**: 任务完成后生成总结报告,记录成果、问题和经验教训
|
|
333
333
|
|
|
334
|
-
**触发词**: `任务报告`, `生成报告`, `任务总结`, `总结报告`, `完成总结`, `项目总结`, `阶段总结`, `/任务报告`, `@ethan
|
|
334
|
+
**触发词**: `任务报告`, `生成报告`, `任务总结`, `总结报告`, `完成总结`, `项目总结`, `阶段总结`, `/任务报告`, `@ethan 报告`, `task report`, `generate report`, `@ethan report`
|
|
335
335
|
|
|
336
336
|
**执行步骤**:
|
|
337
337
|
|
|
@@ -389,7 +389,7 @@ Response: { code: 0, data: {...}, message: string }
|
|
|
389
389
|
|
|
390
390
|
**描述**: 根据本周工作内容自动生成结构化周报,突出价值而非流水账
|
|
391
391
|
|
|
392
|
-
**触发词**: `周报`, `生成周报`, `写周报`, `周报生成`, `本周总结`, `周总结`, `weekly report`, `/周报`, `@ethan
|
|
392
|
+
**触发词**: `周报`, `生成周报`, `写周报`, `周报生成`, `本周总结`, `周总结`, `weekly report`, `/周报`, `@ethan 周报`, `generate weekly`, `@ethan weekly`
|
|
393
393
|
|
|
394
394
|
**执行步骤**:
|
|
395
395
|
|
|
@@ -457,7 +457,7 @@ Response: { code: 0, data: {...}, message: string }
|
|
|
457
457
|
|
|
458
458
|
**描述**: 系统性审查代码变更,分级输出 Blocker/Major/Minor 问题,提升代码质量
|
|
459
459
|
|
|
460
|
-
**触发词**: `代码审查`, `code review`, `CR`, `帮我 review`, `帮我看看代码`, `审查代码`, `review 一下`, `代码 review`, `/代码审查`, `@ethan review`
|
|
460
|
+
**触发词**: `代码审查`, `code review`, `CR`, `帮我 review`, `帮我看看代码`, `审查代码`, `review 一下`, `代码 review`, `/代码审查`, `@ethan review`, `@ethan code-review`
|
|
461
461
|
|
|
462
462
|
**执行步骤**:
|
|
463
463
|
|
|
@@ -556,7 +556,7 @@ Blocker: X 个 | Major: Y 个 | Minor: Z 个
|
|
|
556
556
|
|
|
557
557
|
**描述**: 系统性排查故障,通过假设验证和 5 Why 定位根因,输出临时/永久/预防三层方案
|
|
558
558
|
|
|
559
|
-
**触发词**: `故障排查`, `debug`, `线上故障`, `报错了`, `排查问题`, `定位 bug`, `为什么报错`, `程序崩溃`, `/故障排查`, `@ethan debug`
|
|
559
|
+
**触发词**: `故障排查`, `debug`, `线上故障`, `报错了`, `排查问题`, `定位 bug`, `为什么报错`, `程序崩溃`, `/故障排查`, `@ethan debug`, `troubleshoot`, `@ethan troubleshoot`
|
|
560
560
|
|
|
561
561
|
**执行步骤**:
|
|
562
562
|
|
|
@@ -665,7 +665,7 @@ Why 5: 为什么没有自动化?→ CI/CD 流程中没有这个步骤
|
|
|
665
665
|
|
|
666
666
|
**描述**: 结构化技术选型:问题定义→方案收集→加权评分矩阵→POC 验证→明确结论
|
|
667
667
|
|
|
668
|
-
**触发词**: `技术调研`, `技术选型`, `POC`, `对比方案`, `选哪个好`, `方案对比`, `调研一下`, `技术评估`, `/技术调研`, `@ethan
|
|
668
|
+
**触发词**: `技术调研`, `技术选型`, `POC`, `对比方案`, `选哪个好`, `方案对比`, `调研一下`, `技术评估`, `/技术调研`, `@ethan 调研`, `tech research`, `tech selection`, `@ethan research`
|
|
669
669
|
|
|
670
670
|
**执行步骤**:
|
|
671
671
|
|
package/rules/cline/.clinerules
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
# Ethan v1.
|
|
1
|
+
# Ethan v1.1.0
|
|
2
2
|
|
|
3
|
-
Ethan - Your AI Workflow Assistant |
|
|
3
|
+
Ethan - Your AI Workflow Assistant | Generated: 2026-03-21T16:27:34.521Z
|
|
4
4
|
|
|
5
5
|
## Skills
|
|
6
6
|
|
|
7
7
|
### 1. 需求理解
|
|
8
8
|
触发词:需求理解 / 理解需求 / 分析需求
|
|
9
9
|
说明:深度解析用户需求,消除歧义,输出结构化需求文档
|
|
10
|
-
|
|
10
|
+
步骤:提取核心诉求 → 识别歧义与缺失信息 → 假设声明 → 输出结构化需求文档
|
|
11
11
|
输出:Markdown 结构化文档,包含核心目标、功能需求列表、非功能需求、技术约束、待澄清问题和假设声明
|
|
12
12
|
|
|
13
13
|
### 2. 任务拆解
|
|
14
14
|
触发词:任务拆解 / 拆解任务 / 拆分任务
|
|
15
15
|
说明:将复杂需求拆解为可执行的原子任务,建立依赖关系和优先级
|
|
16
|
-
|
|
16
|
+
步骤:识别主要模块 → 拆解为原子任务 → 建立依赖关系 → 输出任务清单
|
|
17
17
|
输出:Markdown 表格 + 任务列表,含模块概览、分阶段任务、依赖关系、关键路径
|
|
18
18
|
|
|
19
19
|
### 3. 方案设计
|
|
20
20
|
触发词:方案设计 / 技术方案 / 架构设计
|
|
21
21
|
说明:输出技术方案设计文档,包含架构选择、接口设计、数据模型和关键决策说明
|
|
22
|
-
|
|
22
|
+
步骤:技术选型 → 架构设计 → 接口设计(API) → 数据模型 → 关键技术决策记录(ADR)
|
|
23
23
|
输出:Markdown 设计文档,含技术选型表、架构图(Mermaid)、API 接口列表、数据模型、ADR 决策记录
|
|
24
24
|
|
|
25
25
|
### 4. 执行实现
|
|
26
26
|
触发词:执行实现 / 开始实现 / 写代码
|
|
27
27
|
说明:按设计方案逐步实现代码,遵循最佳实践,同步记录实现决策
|
|
28
|
-
|
|
28
|
+
步骤:确认实现前提 → 分层实现顺序 → 编码规范执行 → 每完成一个任务后 → 代码自检清单
|
|
29
29
|
输出:代码实现 + 简要说明(实现思路、关键决策),每个任务完成后输出自检清单结果
|
|
30
30
|
|
|
31
31
|
### 5. 进度跟踪
|
|
32
32
|
触发词:进度跟踪 / 跟踪进度 / 进度更新
|
|
33
33
|
说明:实时更新任务状态,识别阻塞风险,保持项目透明度
|
|
34
|
-
|
|
34
|
+
步骤:状态同步 → 阻塞识别与处理 → 完成度统计 → 风险预警 → 下一步行动
|
|
35
35
|
输出:Markdown 状态看板,含任务状态列表、完成度统计、风险矩阵、下一步行动清单
|
|
36
36
|
|
|
37
37
|
### 6. 任务报告
|
|
38
38
|
触发词:任务报告 / 生成报告 / 任务总结
|
|
39
39
|
说明:任务完成后生成总结报告,记录成果、问题和经验教训
|
|
40
|
-
|
|
40
|
+
步骤:成果汇总 → 问题复盘 → 技术债务记录 → 性能与质量指标 → 经验教训(Lessons Learned)
|
|
41
41
|
输出:Markdown 总结报告,含成果汇总、问题复盘表格、技术债务列表、质量指标、Lessons Learned
|
|
42
42
|
|
|
43
43
|
### 7. 周报生成
|
|
44
44
|
触发词:周报 / 生成周报 / 写周报
|
|
45
45
|
说明:根据本周工作内容自动生成结构化周报,突出价值而非流水账
|
|
46
|
-
|
|
46
|
+
步骤:信息收集 → 内容提炼原则 → 输出周报 → 多版本适配
|
|
47
47
|
输出:Markdown 周报文档,含本周成果、技术攻坚、问题风险、下周计划、协调事项
|
|
48
48
|
|
|
49
49
|
### 8. 代码审查
|
|
50
50
|
触发词:代码审查 / code review / CR
|
|
51
51
|
说明:系统性审查代码变更,分级输出 Blocker/Major/Minor 问题,提升代码质量
|
|
52
|
-
|
|
52
|
+
步骤:理解变更意图 → 逐层审查 → 按级别分类问题 → 输出审查报告 → 跟进确认
|
|
53
53
|
输出:Markdown 审查报告,含总体评价、分级问题列表(Blocker/Major/Minor)、亮点肯定和合并建议
|
|
54
54
|
|
|
55
55
|
### 9. 故障排查
|
|
56
56
|
触发词:故障排查 / debug / 线上故障
|
|
57
57
|
说明:系统性排查故障,通过假设验证和 5 Why 定位根因,输出临时/永久/预防三层方案
|
|
58
|
-
|
|
58
|
+
步骤:现象描述 → 建立假设 → 逐一验证 → 5 Why 根因分析 → 输出排查报告
|
|
59
59
|
输出:Markdown 排查报告,含故障概述、时间线、5 Why 根因分析、临时缓解/永久修复/预防措施三层方案和经验教训
|
|
60
60
|
|
|
61
61
|
### 10. 技术调研
|
|
62
62
|
触发词:技术调研 / 技术选型 / POC
|
|
63
63
|
说明:结构化技术选型:问题定义→方案收集→加权评分矩阵→POC 验证→明确结论
|
|
64
|
-
|
|
64
|
+
步骤:问题定义 → 方案收集 → 对比矩阵(加权评分) → POC 验证 → 明确结论
|
|
65
65
|
输出:Markdown 调研报告,含问题定义、候选方案概述、加权评分矩阵、POC 结果(如有)和最终选型结论
|
|
66
66
|
|
|
67
67
|
## 规则
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Ethan v1.
|
|
2
|
-
# Generated: 2026-03-
|
|
3
|
-
# Source: https://github.com/
|
|
1
|
+
# Ethan v1.1.0
|
|
2
|
+
# Generated: 2026-03-21T16:27:34.521Z
|
|
3
|
+
# Source: https://github.com/aokiz-ek/smart-flow-skill
|
|
4
4
|
|
|
5
5
|
Ethan(Continue)。当用户输入以下触发词时,按对应 Skill 的步骤执行。
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Ethan - Copilot Instructions (v1.
|
|
1
|
+
# Ethan - Copilot Instructions (v1.1.0)
|
|
2
2
|
|
|
3
|
-
> Auto-generated from src/skills/ | 2026-03-
|
|
3
|
+
> Auto-generated from src/skills/ | 2026-03-21T16:27:34.521Z
|
|
4
4
|
> Do not edit manually.
|
|
5
5
|
|
|
6
6
|
You are equipped with the Ethan workflow assistant. When users mention any of the trigger keywords below, execute the corresponding skill workflow precisely.
|
|
@@ -9,7 +9,7 @@ You are equipped with the Ethan workflow assistant. When users mention any of th
|
|
|
9
9
|
|
|
10
10
|
### 1. 需求理解 (requirement_understanding)
|
|
11
11
|
|
|
12
|
-
**Triggers**: `需求理解`, `理解需求`, `分析需求`, `需求分析`, `我需要`, `帮我做`, `实现一个`, `开发一个`, `/需求理解`, `@ethan
|
|
12
|
+
**Triggers**: `需求理解`, `理解需求`, `分析需求`, `需求分析`, `我需要`, `帮我做`, `实现一个`, `开发一个`, `/需求理解`, `@ethan 需求`, `requirement analysis`, `analyze requirements`, `@ethan requirement`
|
|
13
13
|
|
|
14
14
|
**Goal**: 深度解析用户需求,消除歧义,输出结构化需求文档
|
|
15
15
|
|
|
@@ -23,7 +23,7 @@ You are equipped with the Ethan workflow assistant. When users mention any of th
|
|
|
23
23
|
|
|
24
24
|
### 2. 任务拆解 (task_breakdown)
|
|
25
25
|
|
|
26
|
-
**Triggers**: `任务拆解`, `拆解任务`, `拆分任务`, `制定计划`, `任务规划`, `怎么实现`, `实现步骤`, `/任务拆解`, `@ethan
|
|
26
|
+
**Triggers**: `任务拆解`, `拆解任务`, `拆分任务`, `制定计划`, `任务规划`, `怎么实现`, `实现步骤`, `/任务拆解`, `@ethan 拆解`, `task breakdown`, `break down`, `@ethan breakdown`
|
|
27
27
|
|
|
28
28
|
**Goal**: 将复杂需求拆解为可执行的原子任务,建立依赖关系和优先级
|
|
29
29
|
|
|
@@ -37,7 +37,7 @@ You are equipped with the Ethan workflow assistant. When users mention any of th
|
|
|
37
37
|
|
|
38
38
|
### 3. 方案设计 (solution_design)
|
|
39
39
|
|
|
40
|
-
**Triggers**: `方案设计`, `技术方案`, `架构设计`, `设计方案`, `怎么设计`, `数据库设计`, `接口设计`, `API 设计`, `/方案设计`, `@ethan
|
|
40
|
+
**Triggers**: `方案设计`, `技术方案`, `架构设计`, `设计方案`, `怎么设计`, `数据库设计`, `接口设计`, `API 设计`, `/方案设计`, `@ethan 设计`, `solution design`, `tech design`, `@ethan design`
|
|
41
41
|
|
|
42
42
|
**Goal**: 输出技术方案设计文档,包含架构选择、接口设计、数据模型和关键决策说明
|
|
43
43
|
|
|
@@ -52,7 +52,7 @@ You are equipped with the Ethan workflow assistant. When users mention any of th
|
|
|
52
52
|
|
|
53
53
|
### 4. 执行实现 (implementation)
|
|
54
54
|
|
|
55
|
-
**Triggers**: `执行实现`, `开始实现`, `写代码`, `编写代码`, `实现功能`, `代码实现`, `开始开发`, `/执行实现`, `@ethan
|
|
55
|
+
**Triggers**: `执行实现`, `开始实现`, `写代码`, `编写代码`, `实现功能`, `代码实现`, `开始开发`, `/执行实现`, `@ethan 实现`, `implementation`, `start implementing`, `@ethan implement`
|
|
56
56
|
|
|
57
57
|
**Goal**: 按设计方案逐步实现代码,遵循最佳实践,同步记录实现决策
|
|
58
58
|
|
|
@@ -67,7 +67,7 @@ You are equipped with the Ethan workflow assistant. When users mention any of th
|
|
|
67
67
|
|
|
68
68
|
### 5. 进度跟踪 (progress_tracking)
|
|
69
69
|
|
|
70
|
-
**Triggers**: `进度跟踪`, `跟踪进度`, `进度更新`, `更新进度`, `项目进展`, `任务状态`, `完成了什么`, `还剩什么`, `/进度跟踪`, `@ethan
|
|
70
|
+
**Triggers**: `进度跟踪`, `跟踪进度`, `进度更新`, `更新进度`, `项目进展`, `任务状态`, `完成了什么`, `还剩什么`, `/进度跟踪`, `@ethan 进度`, `progress tracking`, `progress update`, `@ethan progress`
|
|
71
71
|
|
|
72
72
|
**Goal**: 实时更新任务状态,识别阻塞风险,保持项目透明度
|
|
73
73
|
|
|
@@ -82,7 +82,7 @@ You are equipped with the Ethan workflow assistant. When users mention any of th
|
|
|
82
82
|
|
|
83
83
|
### 6. 任务报告 (task_report)
|
|
84
84
|
|
|
85
|
-
**Triggers**: `任务报告`, `生成报告`, `任务总结`, `总结报告`, `完成总结`, `项目总结`, `阶段总结`, `/任务报告`, `@ethan
|
|
85
|
+
**Triggers**: `任务报告`, `生成报告`, `任务总结`, `总结报告`, `完成总结`, `项目总结`, `阶段总结`, `/任务报告`, `@ethan 报告`, `task report`, `generate report`, `@ethan report`
|
|
86
86
|
|
|
87
87
|
**Goal**: 任务完成后生成总结报告,记录成果、问题和经验教训
|
|
88
88
|
|
|
@@ -97,7 +97,7 @@ You are equipped with the Ethan workflow assistant. When users mention any of th
|
|
|
97
97
|
|
|
98
98
|
### 7. 周报生成 (weekly_report)
|
|
99
99
|
|
|
100
|
-
**Triggers**: `周报`, `生成周报`, `写周报`, `周报生成`, `本周总结`, `周总结`, `weekly report`, `/周报`, `@ethan
|
|
100
|
+
**Triggers**: `周报`, `生成周报`, `写周报`, `周报生成`, `本周总结`, `周总结`, `weekly report`, `/周报`, `@ethan 周报`, `generate weekly`, `@ethan weekly`
|
|
101
101
|
|
|
102
102
|
**Goal**: 根据本周工作内容自动生成结构化周报,突出价值而非流水账
|
|
103
103
|
|
|
@@ -111,7 +111,7 @@ You are equipped with the Ethan workflow assistant. When users mention any of th
|
|
|
111
111
|
|
|
112
112
|
### 8. 代码审查 (code_review)
|
|
113
113
|
|
|
114
|
-
**Triggers**: `代码审查`, `code review`, `CR`, `帮我 review`, `帮我看看代码`, `审查代码`, `review 一下`, `代码 review`, `/代码审查`, `@ethan review`
|
|
114
|
+
**Triggers**: `代码审查`, `code review`, `CR`, `帮我 review`, `帮我看看代码`, `审查代码`, `review 一下`, `代码 review`, `/代码审查`, `@ethan review`, `@ethan code-review`
|
|
115
115
|
|
|
116
116
|
**Goal**: 系统性审查代码变更,分级输出 Blocker/Major/Minor 问题,提升代码质量
|
|
117
117
|
|
|
@@ -126,7 +126,7 @@ You are equipped with the Ethan workflow assistant. When users mention any of th
|
|
|
126
126
|
|
|
127
127
|
### 9. 故障排查 (debug)
|
|
128
128
|
|
|
129
|
-
**Triggers**: `故障排查`, `debug`, `线上故障`, `报错了`, `排查问题`, `定位 bug`, `为什么报错`, `程序崩溃`, `/故障排查`, `@ethan debug`
|
|
129
|
+
**Triggers**: `故障排查`, `debug`, `线上故障`, `报错了`, `排查问题`, `定位 bug`, `为什么报错`, `程序崩溃`, `/故障排查`, `@ethan debug`, `troubleshoot`, `@ethan troubleshoot`
|
|
130
130
|
|
|
131
131
|
**Goal**: 系统性排查故障,通过假设验证和 5 Why 定位根因,输出临时/永久/预防三层方案
|
|
132
132
|
|
|
@@ -141,7 +141,7 @@ You are equipped with the Ethan workflow assistant. When users mention any of th
|
|
|
141
141
|
|
|
142
142
|
### 10. 技术调研 (tech_research)
|
|
143
143
|
|
|
144
|
-
**Triggers**: `技术调研`, `技术选型`, `POC`, `对比方案`, `选哪个好`, `方案对比`, `调研一下`, `技术评估`, `/技术调研`, `@ethan
|
|
144
|
+
**Triggers**: `技术调研`, `技术选型`, `POC`, `对比方案`, `选哪个好`, `方案对比`, `调研一下`, `技术评估`, `/技术调研`, `@ethan 调研`, `tech research`, `tech selection`, `@ethan research`
|
|
145
145
|
|
|
146
146
|
**Goal**: 结构化技术选型:问题定义→方案收集→加权评分矩阵→POC 验证→明确结论
|
|
147
147
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# Ethan v1.
|
|
1
|
+
# Ethan v1.1.0
|
|
2
2
|
|
|
3
3
|
> 自动生成 - 请勿手动修改,源文件:src/skills/
|
|
4
|
-
> Generated at: 2026-03-
|
|
4
|
+
> Generated at: 2026-03-21T16:27:34.521Z
|
|
5
5
|
|
|
6
6
|
## 触发词一览
|
|
7
7
|
- 需求理解:需求理解、理解需求、分析需求
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
## Skill 1:需求理解
|
|
21
21
|
|
|
22
|
-
**触发词**:`需求理解`、`理解需求`、`分析需求`、`需求分析`、`我需要`、`帮我做`、`实现一个`、`开发一个`、`/需求理解`、`@ethan
|
|
22
|
+
**触发词**:`需求理解`、`理解需求`、`分析需求`、`需求分析`、`我需要`、`帮我做`、`实现一个`、`开发一个`、`/需求理解`、`@ethan 需求`、`requirement analysis`、`analyze requirements`、`@ethan requirement`
|
|
23
23
|
|
|
24
24
|
**描述**:深度解析用户需求,消除歧义,输出结构化需求文档
|
|
25
25
|
|
|
@@ -80,7 +80,7 @@
|
|
|
80
80
|
|
|
81
81
|
## Skill 2:任务拆解
|
|
82
82
|
|
|
83
|
-
**触发词**:`任务拆解`、`拆解任务`、`拆分任务`、`制定计划`、`任务规划`、`怎么实现`、`实现步骤`、`/任务拆解`、`@ethan
|
|
83
|
+
**触发词**:`任务拆解`、`拆解任务`、`拆分任务`、`制定计划`、`任务规划`、`怎么实现`、`实现步骤`、`/任务拆解`、`@ethan 拆解`、`task breakdown`、`break down`、`@ethan breakdown`
|
|
84
84
|
|
|
85
85
|
**描述**:将复杂需求拆解为可执行的原子任务,建立依赖关系和优先级
|
|
86
86
|
|
|
@@ -143,7 +143,7 @@ T02 可与 T01 同时进行
|
|
|
143
143
|
|
|
144
144
|
## Skill 3:方案设计
|
|
145
145
|
|
|
146
|
-
**触发词**:`方案设计`、`技术方案`、`架构设计`、`设计方案`、`怎么设计`、`数据库设计`、`接口设计`、`API 设计`、`/方案设计`、`@ethan
|
|
146
|
+
**触发词**:`方案设计`、`技术方案`、`架构设计`、`设计方案`、`怎么设计`、`数据库设计`、`接口设计`、`API 设计`、`/方案设计`、`@ethan 设计`、`solution design`、`tech design`、`@ethan design`
|
|
147
147
|
|
|
148
148
|
**描述**:输出技术方案设计文档,包含架构选择、接口设计、数据模型和关键决策说明
|
|
149
149
|
|
|
@@ -203,7 +203,7 @@ Response: { code: 0, data: {...}, message: string }
|
|
|
203
203
|
|
|
204
204
|
## Skill 4:执行实现
|
|
205
205
|
|
|
206
|
-
**触发词**:`执行实现`、`开始实现`、`写代码`、`编写代码`、`实现功能`、`代码实现`、`开始开发`、`/执行实现`、`@ethan
|
|
206
|
+
**触发词**:`执行实现`、`开始实现`、`写代码`、`编写代码`、`实现功能`、`代码实现`、`开始开发`、`/执行实现`、`@ethan 实现`、`implementation`、`start implementing`、`@ethan implement`
|
|
207
207
|
|
|
208
208
|
**描述**:按设计方案逐步实现代码,遵循最佳实践,同步记录实现决策
|
|
209
209
|
|
|
@@ -261,7 +261,7 @@ Response: { code: 0, data: {...}, message: string }
|
|
|
261
261
|
|
|
262
262
|
## Skill 5:进度跟踪
|
|
263
263
|
|
|
264
|
-
**触发词**:`进度跟踪`、`跟踪进度`、`进度更新`、`更新进度`、`项目进展`、`任务状态`、`完成了什么`、`还剩什么`、`/进度跟踪`、`@ethan
|
|
264
|
+
**触发词**:`进度跟踪`、`跟踪进度`、`进度更新`、`更新进度`、`项目进展`、`任务状态`、`完成了什么`、`还剩什么`、`/进度跟踪`、`@ethan 进度`、`progress tracking`、`progress update`、`@ethan progress`
|
|
265
265
|
|
|
266
266
|
**描述**:实时更新任务状态,识别阻塞风险,保持项目透明度
|
|
267
267
|
|
|
@@ -319,7 +319,7 @@ Response: { code: 0, data: {...}, message: string }
|
|
|
319
319
|
|
|
320
320
|
## Skill 6:任务报告
|
|
321
321
|
|
|
322
|
-
**触发词**:`任务报告`、`生成报告`、`任务总结`、`总结报告`、`完成总结`、`项目总结`、`阶段总结`、`/任务报告`、`@ethan
|
|
322
|
+
**触发词**:`任务报告`、`生成报告`、`任务总结`、`总结报告`、`完成总结`、`项目总结`、`阶段总结`、`/任务报告`、`@ethan 报告`、`task report`、`generate report`、`@ethan report`
|
|
323
323
|
|
|
324
324
|
**描述**:任务完成后生成总结报告,记录成果、问题和经验教训
|
|
325
325
|
|
|
@@ -375,7 +375,7 @@ Response: { code: 0, data: {...}, message: string }
|
|
|
375
375
|
|
|
376
376
|
## Skill 7:周报生成
|
|
377
377
|
|
|
378
|
-
**触发词**:`周报`、`生成周报`、`写周报`、`周报生成`、`本周总结`、`周总结`、`weekly report`、`/周报`、`@ethan
|
|
378
|
+
**触发词**:`周报`、`生成周报`、`写周报`、`周报生成`、`本周总结`、`周总结`、`weekly report`、`/周报`、`@ethan 周报`、`generate weekly`、`@ethan weekly`
|
|
379
379
|
|
|
380
380
|
**描述**:根据本周工作内容自动生成结构化周报,突出价值而非流水账
|
|
381
381
|
|
|
@@ -441,7 +441,7 @@ Response: { code: 0, data: {...}, message: string }
|
|
|
441
441
|
|
|
442
442
|
## Skill 8:代码审查
|
|
443
443
|
|
|
444
|
-
**触发词**:`代码审查`、`code review`、`CR`、`帮我 review`、`帮我看看代码`、`审查代码`、`review 一下`、`代码 review`、`/代码审查`、`@ethan review`
|
|
444
|
+
**触发词**:`代码审查`、`code review`、`CR`、`帮我 review`、`帮我看看代码`、`审查代码`、`review 一下`、`代码 review`、`/代码审查`、`@ethan review`、`@ethan code-review`
|
|
445
445
|
|
|
446
446
|
**描述**:系统性审查代码变更,分级输出 Blocker/Major/Minor 问题,提升代码质量
|
|
447
447
|
|
|
@@ -538,7 +538,7 @@ Blocker: X 个 | Major: Y 个 | Minor: Z 个
|
|
|
538
538
|
|
|
539
539
|
## Skill 9:故障排查
|
|
540
540
|
|
|
541
|
-
**触发词**:`故障排查`、`debug`、`线上故障`、`报错了`、`排查问题`、`定位 bug`、`为什么报错`、`程序崩溃`、`/故障排查`、`@ethan debug`
|
|
541
|
+
**触发词**:`故障排查`、`debug`、`线上故障`、`报错了`、`排查问题`、`定位 bug`、`为什么报错`、`程序崩溃`、`/故障排查`、`@ethan debug`、`troubleshoot`、`@ethan troubleshoot`
|
|
542
542
|
|
|
543
543
|
**描述**:系统性排查故障,通过假设验证和 5 Why 定位根因,输出临时/永久/预防三层方案
|
|
544
544
|
|
|
@@ -645,7 +645,7 @@ Why 5: 为什么没有自动化?→ CI/CD 流程中没有这个步骤
|
|
|
645
645
|
|
|
646
646
|
## Skill 10:技术调研
|
|
647
647
|
|
|
648
|
-
**触发词**:`技术调研`、`技术选型`、`POC`、`对比方案`、`选哪个好`、`方案对比`、`调研一下`、`技术评估`、`/技术调研`、`@ethan
|
|
648
|
+
**触发词**:`技术调研`、`技术选型`、`POC`、`对比方案`、`选哪个好`、`方案对比`、`调研一下`、`技术评估`、`/技术调研`、`@ethan 调研`、`tech research`、`tech selection`、`@ethan research`
|
|
649
649
|
|
|
650
650
|
**描述**:结构化技术选型:问题定义→方案收集→加权评分矩阵→POC 验证→明确结论
|
|
651
651
|
|