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 @@
|
|
|
1
|
+
{"version":3,"file":"01-requirement.js","sourceRoot":"","sources":["../../../src/skills/01-requirement.ts"],"names":[],"mappings":";;;AAEa,QAAA,gBAAgB,GAAoB;IAC/C,EAAE,EAAE,2BAA2B;IAC/B,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,2BAA2B;IACnC,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,yBAAyB;IACtC,aAAa,EAAE,qFAAqF;IACpG,iBAAiB,EAAE;+BACU;IAC7B,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,KAAK;QACL,KAAK;QACL,MAAM;QACN,MAAM;QACN,OAAO;QACP,WAAW;QACX,sBAAsB;QACtB,sBAAsB;QACtB,oBAAoB;KACrB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;2BAEY;SACtB;QACD;YACE,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE;;0BAEW;SACrB;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;4BACa;SACvB;QACD;YACE,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBR;SACF;KACF;IACD,YAAY,EACV,oDAAoD;IACtD,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE;;;;;;;;;;;;;4BAac;SACvB;KACF;IACD,KAAK,EAAE;QACL,sBAAsB;QACtB,oBAAoB;QACpB,uBAAuB;KACxB;IACD,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,gBAAgB;CAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"02-task-breakdown.d.ts","sourceRoot":"","sources":["../../../src/skills/02-task-breakdown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,kBAAkB,EAAE,eAiFhC,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.taskBreakdownSkill = void 0;
|
|
4
|
+
exports.taskBreakdownSkill = {
|
|
5
|
+
id: 'task-breakdown',
|
|
6
|
+
name: '任务拆解',
|
|
7
|
+
nameEn: 'task_breakdown',
|
|
8
|
+
order: 2,
|
|
9
|
+
description: '将复杂需求拆解为可执行的原子任务,建立依赖关系和优先级',
|
|
10
|
+
descriptionEn: 'Break down requirements into atomic tasks with dependency mapping',
|
|
11
|
+
detailDescription: `将已理解的需求拆解为具体可执行的任务列表,建立任务间的依赖关系,
|
|
12
|
+
评估复杂度,制定合理的执行顺序,为后续实现提供清晰路线图。`,
|
|
13
|
+
triggers: [
|
|
14
|
+
'任务拆解',
|
|
15
|
+
'拆解任务',
|
|
16
|
+
'拆分任务',
|
|
17
|
+
'制定计划',
|
|
18
|
+
'任务规划',
|
|
19
|
+
'怎么实现',
|
|
20
|
+
'实现步骤',
|
|
21
|
+
'/任务拆解',
|
|
22
|
+
'@ethan 拆解',
|
|
23
|
+
'task breakdown',
|
|
24
|
+
'break down',
|
|
25
|
+
'@ethan breakdown',
|
|
26
|
+
],
|
|
27
|
+
steps: [
|
|
28
|
+
{
|
|
29
|
+
title: '1. 识别主要模块',
|
|
30
|
+
content: `- 将需求按**功能域**或**技术层**划分为 3-7 个主要模块
|
|
31
|
+
- 每个模块用一行说明其职责
|
|
32
|
+
- 标注模块类型:[前端 UI] [后端 API] [数据库] [基础设施] [测试]`,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
title: '2. 拆解为原子任务',
|
|
36
|
+
content: `- 每个原子任务满足:**单人、半天内可完成**
|
|
37
|
+
- 任务命名格式:「动词 + 对象 + 可选限定」
|
|
38
|
+
- ✅ 「实现用户登录 API(POST /auth/login)」
|
|
39
|
+
- ❌ 「做登录」(太模糊)
|
|
40
|
+
- 标注预估工时:[S=2h] [M=4h] [L=8h] [XL=需再拆]`,
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
title: '3. 建立依赖关系',
|
|
44
|
+
content: `- 用 → 表示依赖:「A → B」意为「完成 A 才能开始 B」
|
|
45
|
+
- 识别可以**并行**执行的任务组
|
|
46
|
+
- 找出**关键路径**(决定最短完成时间的任务链)`,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
title: '4. 输出任务清单',
|
|
50
|
+
content: `按以下格式输出:
|
|
51
|
+
|
|
52
|
+
\`\`\`markdown
|
|
53
|
+
## 任务拆解
|
|
54
|
+
|
|
55
|
+
### 模块概览
|
|
56
|
+
| 模块 | 职责 | 预估任务数 |
|
|
57
|
+
|------|------|-----------|
|
|
58
|
+
| [模块名] | [职责] | [数量] |
|
|
59
|
+
|
|
60
|
+
### 任务列表
|
|
61
|
+
|
|
62
|
+
#### 阶段一:[阶段名](可并行)
|
|
63
|
+
- [ ] T01 [任务名] [S/M/L]
|
|
64
|
+
- [ ] T02 [任务名] [S/M/L]
|
|
65
|
+
|
|
66
|
+
#### 阶段二:[阶段名](依赖阶段一)
|
|
67
|
+
- [ ] T03 [任务名] [S/M/L] 依赖:T01
|
|
68
|
+
|
|
69
|
+
### 关键路径
|
|
70
|
+
T01 → T03 → T05(预估总工时:X 天)
|
|
71
|
+
|
|
72
|
+
### 并行机会
|
|
73
|
+
T02 可与 T01 同时进行
|
|
74
|
+
\`\`\``,
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
outputFormat: 'Markdown 表格 + 任务列表,含模块概览、分阶段任务、依赖关系、关键路径',
|
|
78
|
+
notes: [
|
|
79
|
+
'任务粒度宁细勿粗,XL 任务必须继续拆解',
|
|
80
|
+
'优先识别阻塞性任务(其他任务依赖它的),优先排期',
|
|
81
|
+
'第一阶段任务应尽量可并行,提高效率',
|
|
82
|
+
],
|
|
83
|
+
category: '需求侧',
|
|
84
|
+
nextSkill: 'solution-design',
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=02-task-breakdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"02-task-breakdown.js","sourceRoot":"","sources":["../../../src/skills/02-task-breakdown.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAoB;IACjD,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,6BAA6B;IAC1C,aAAa,EAAE,mEAAmE;IAClF,iBAAiB,EAAE;8BACS;IAC5B,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,WAAW;QACX,gBAAgB;QAChB,YAAY;QACZ,kBAAkB;KACnB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;4CAE6B;SACvC;QACD;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;;;;uCAIwB;SAClC;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;2BAEY;SACtB;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;OAwBR;SACF;KACF;IACD,YAAY,EAAE,0CAA0C;IACxD,KAAK,EAAE;QACL,sBAAsB;QACtB,0BAA0B;QAC1B,mBAAmB;KACpB;IACD,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,iBAAiB;CAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"03-design.d.ts","sourceRoot":"","sources":["../../../src/skills/03-design.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,WAAW,EAAE,eAgFzB,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.designSkill = void 0;
|
|
4
|
+
exports.designSkill = {
|
|
5
|
+
id: 'solution-design',
|
|
6
|
+
name: '方案设计',
|
|
7
|
+
nameEn: 'solution_design',
|
|
8
|
+
order: 3,
|
|
9
|
+
description: '输出技术方案设计文档,包含架构选择、接口设计、数据模型和关键决策说明',
|
|
10
|
+
descriptionEn: 'Output architecture design, API design, and data model',
|
|
11
|
+
detailDescription: `在需求明确、任务拆解完成后,进行技术方案设计:选择合适的技术架构、
|
|
12
|
+
设计 API 接口、规划数据模型、说明关键技术决策和权衡,输出可直接指导实现的设计文档。`,
|
|
13
|
+
triggers: [
|
|
14
|
+
'方案设计',
|
|
15
|
+
'技术方案',
|
|
16
|
+
'架构设计',
|
|
17
|
+
'设计方案',
|
|
18
|
+
'怎么设计',
|
|
19
|
+
'数据库设计',
|
|
20
|
+
'接口设计',
|
|
21
|
+
'API 设计',
|
|
22
|
+
'/方案设计',
|
|
23
|
+
'@ethan 设计',
|
|
24
|
+
'solution design',
|
|
25
|
+
'tech design',
|
|
26
|
+
'@ethan design',
|
|
27
|
+
],
|
|
28
|
+
steps: [
|
|
29
|
+
{
|
|
30
|
+
title: '1. 技术选型',
|
|
31
|
+
content: `- 列出关键技术决策点(框架、数据库、缓存、消息队列等)
|
|
32
|
+
- 每个决策给出 2-3 个候选方案,并说明**选择理由**
|
|
33
|
+
- 格式:「选择 A 而非 B,原因:[理由];权衡:[牺牲了什么]」`,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
title: '2. 架构设计',
|
|
37
|
+
content: `- 用 ASCII 图或 Mermaid 描述系统架构
|
|
38
|
+
- 说明各组件的职责和交互方式
|
|
39
|
+
- 标注关键数据流向
|
|
40
|
+
|
|
41
|
+
\`\`\`mermaid
|
|
42
|
+
graph LR
|
|
43
|
+
Client --> API[API Server]
|
|
44
|
+
API --> DB[(Database)]
|
|
45
|
+
API --> Cache[(Redis)]
|
|
46
|
+
\`\`\``,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
title: '3. 接口设计(API)',
|
|
50
|
+
content: `按 RESTful 或 GraphQL 规范设计接口:
|
|
51
|
+
|
|
52
|
+
\`\`\`
|
|
53
|
+
POST /api/v1/[resource]
|
|
54
|
+
Request: { field1: type, field2: type }
|
|
55
|
+
Response: { code: 0, data: {...}, message: string }
|
|
56
|
+
\`\`\`
|
|
57
|
+
|
|
58
|
+
- 统一错误码规范
|
|
59
|
+
- 鉴权方式(Bearer Token / Cookie / API Key)`,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
title: '4. 数据模型',
|
|
63
|
+
content: `- 核心实体及字段(类型、约束、索引)
|
|
64
|
+
- 实体关系(1:1、1:N、N:M)
|
|
65
|
+
- 关键查询场景和对应索引策略`,
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
title: '5. 关键技术决策记录(ADR)',
|
|
69
|
+
content: `对每个重要决策记录:
|
|
70
|
+
- **背景**:为什么需要做这个决策
|
|
71
|
+
- **决策**:选择了什么
|
|
72
|
+
- **后果**:带来什么影响(正面/负面)`,
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
outputFormat: 'Markdown 设计文档,含技术选型表、架构图(Mermaid)、API 接口列表、数据模型、ADR 决策记录',
|
|
76
|
+
notes: [
|
|
77
|
+
'先设计接口契约,再实现内部逻辑',
|
|
78
|
+
'数据模型是设计的核心,多花时间在这里',
|
|
79
|
+
'ADR 不需要面面俱到,只记录有争议的或重要的决策',
|
|
80
|
+
],
|
|
81
|
+
category: '执行侧',
|
|
82
|
+
nextSkill: 'implementation',
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=03-design.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"03-design.js","sourceRoot":"","sources":["../../../src/skills/03-design.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAoB;IAC1C,EAAE,EAAE,iBAAiB;IACrB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,iBAAiB;IACzB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,oCAAoC;IACjD,aAAa,EAAE,wDAAwD;IACvE,iBAAiB,EAAE;6CACwB;IAC3C,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,MAAM;QACN,QAAQ;QACR,OAAO;QACP,WAAW;QACX,iBAAiB;QACjB,aAAa;QACb,eAAe;KAChB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;oCAEqB;SAC/B;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;OASR;SACF;QACD;YACE,KAAK,EAAE,cAAc;YACrB,OAAO,EAAE;;;;;;;;;wCASyB;SACnC;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;gBAEC;SACX;QACD;YACE,KAAK,EAAE,kBAAkB;YACzB,OAAO,EAAE;;;uBAGQ;SAClB;KACF;IACD,YAAY,EACV,0DAA0D;IAC5D,KAAK,EAAE;QACL,iBAAiB;QACjB,oBAAoB;QACpB,2BAA2B;KAC5B;IACD,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,gBAAgB;CAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"04-implementation.d.ts","sourceRoot":"","sources":["../../../src/skills/04-implementation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,mBAAmB,EAAE,eA4EjC,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.implementationSkill = void 0;
|
|
4
|
+
exports.implementationSkill = {
|
|
5
|
+
id: 'implementation',
|
|
6
|
+
name: '执行实现',
|
|
7
|
+
nameEn: 'implementation',
|
|
8
|
+
order: 4,
|
|
9
|
+
description: '按设计方案逐步实现代码,遵循最佳实践,同步记录实现决策',
|
|
10
|
+
descriptionEn: 'Implement step by step following the design plan with code self-check',
|
|
11
|
+
detailDescription: `进入编码阶段,按任务拆解的顺序逐一实现功能:先写测试或接口定义,
|
|
12
|
+
再实现核心逻辑,遵循 SOLID 原则和项目既有规范,对非显而易见的实现决策作简要注释。`,
|
|
13
|
+
triggers: [
|
|
14
|
+
'执行实现',
|
|
15
|
+
'开始实现',
|
|
16
|
+
'写代码',
|
|
17
|
+
'编写代码',
|
|
18
|
+
'实现功能',
|
|
19
|
+
'代码实现',
|
|
20
|
+
'开始开发',
|
|
21
|
+
'/执行实现',
|
|
22
|
+
'@ethan 实现',
|
|
23
|
+
'implementation',
|
|
24
|
+
'start implementing',
|
|
25
|
+
'@ethan implement',
|
|
26
|
+
],
|
|
27
|
+
steps: [
|
|
28
|
+
{
|
|
29
|
+
title: '1. 确认实现前提',
|
|
30
|
+
content: `在开始写代码前确认:
|
|
31
|
+
- ✅ 设计方案已确认
|
|
32
|
+
- ✅ 依赖的接口/服务已就绪(或已 mock)
|
|
33
|
+
- ✅ 开发环境配置正确
|
|
34
|
+
- ✅ 知道本次实现的完成标准(Definition of Done)`,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
title: '2. 分层实现顺序',
|
|
38
|
+
content: `推荐实现顺序(由内而外):
|
|
39
|
+
1. **数据层**:Model/Schema 定义、数据库迁移
|
|
40
|
+
2. **服务层**:业务逻辑、核心算法
|
|
41
|
+
3. **接口层**:Controller/Route/Resolver
|
|
42
|
+
4. **UI 层**:页面组件、交互逻辑
|
|
43
|
+
5. **集成**:端对端连通、Edge Cases 处理`,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
title: '3. 编码规范执行',
|
|
47
|
+
content: `- 函数单一职责,超过 50 行考虑拆分
|
|
48
|
+
- 命名自文档化:\`getUserByEmail\` > \`getUser\`
|
|
49
|
+
- 错误处理:不吞异常,向上传递有语义的错误
|
|
50
|
+
- 对**非显而易见**的逻辑写注释(解释"为什么"而非"做什么")
|
|
51
|
+
- 涉及安全的操作(SQL 查询、用户输入)必须做参数化/转义`,
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
title: '4. 每完成一个任务后',
|
|
55
|
+
content: `- 执行单元测试(或手动验证)
|
|
56
|
+
- 更新任务状态(参考"进度跟踪" Skill)
|
|
57
|
+
- 如遇到设计偏差,记录变更原因
|
|
58
|
+
- commit 前检查:无 console.log 遗留、无硬编码密钥`,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
title: '5. 代码自检清单',
|
|
62
|
+
content: `\`\`\`
|
|
63
|
+
□ 功能满足需求文档的验收条件
|
|
64
|
+
□ 边界条件已处理(null、空数组、超长输入等)
|
|
65
|
+
□ 错误信息对用户友好(生产环境不暴露内部堆栈)
|
|
66
|
+
□ 无明显性能问题(N+1 查询、无限循环风险)
|
|
67
|
+
□ 敏感数据不出现在日志中
|
|
68
|
+
□ 代码可读性:同事无需解释能看懂
|
|
69
|
+
\`\`\``,
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
outputFormat: '代码实现 + 简要说明(实现思路、关键决策),每个任务完成后输出自检清单结果',
|
|
73
|
+
notes: [
|
|
74
|
+
'不要一次性写完所有代码,小步提交,频繁验证',
|
|
75
|
+
'遇到阻塞(依赖未就绪)立即反馈,不要等待',
|
|
76
|
+
'实现过程中发现设计问题,先暂停讨论,不要随意修改设计',
|
|
77
|
+
],
|
|
78
|
+
category: '执行侧',
|
|
79
|
+
nextSkill: 'progress-tracking',
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=04-implementation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"04-implementation.js","sourceRoot":"","sources":["../../../src/skills/04-implementation.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAoB;IAClD,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,6BAA6B;IAC1C,aAAa,EAAE,uEAAuE;IACtF,iBAAiB,EAAE;6CACwB;IAC3C,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,WAAW;QACX,gBAAgB;QAChB,oBAAoB;QACpB,kBAAkB;KACnB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;oCAIqB;SAC/B;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;8BAKe;SACzB;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;gCAIiB;SAC3B;QACD;YACE,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE;;;qCAGsB;SAChC;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;OAOR;SACF;KACF;IACD,YAAY,EAAE,wCAAwC;IACtD,KAAK,EAAE;QACL,uBAAuB;QACvB,sBAAsB;QACtB,4BAA4B;KAC7B;IACD,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,mBAAmB;CAC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"05-progress-tracking.d.ts","sourceRoot":"","sources":["../../../src/skills/05-progress-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,qBAAqB,EAAE,eA6EnC,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.progressTrackingSkill = void 0;
|
|
4
|
+
exports.progressTrackingSkill = {
|
|
5
|
+
id: 'progress-tracking',
|
|
6
|
+
name: '进度跟踪',
|
|
7
|
+
nameEn: 'progress_tracking',
|
|
8
|
+
order: 5,
|
|
9
|
+
description: '实时更新任务状态,识别阻塞风险,保持项目透明度',
|
|
10
|
+
descriptionEn: 'Real-time task status update, identify blocking risks',
|
|
11
|
+
detailDescription: `在项目执行过程中持续跟踪进度:更新任务状态、识别延期风险、
|
|
12
|
+
记录阻塞原因、预测完成时间,确保团队对项目状态保持一致认知。`,
|
|
13
|
+
triggers: [
|
|
14
|
+
'进度跟踪',
|
|
15
|
+
'跟踪进度',
|
|
16
|
+
'进度更新',
|
|
17
|
+
'更新进度',
|
|
18
|
+
'项目进展',
|
|
19
|
+
'任务状态',
|
|
20
|
+
'完成了什么',
|
|
21
|
+
'还剩什么',
|
|
22
|
+
'/进度跟踪',
|
|
23
|
+
'@ethan 进度',
|
|
24
|
+
'progress tracking',
|
|
25
|
+
'progress update',
|
|
26
|
+
'@ethan progress',
|
|
27
|
+
],
|
|
28
|
+
steps: [
|
|
29
|
+
{
|
|
30
|
+
title: '1. 状态同步',
|
|
31
|
+
content: `对任务列表中每个任务标注状态:
|
|
32
|
+
- ✅ **完成**:已验证通过
|
|
33
|
+
- 🔄 **进行中**:正在开发
|
|
34
|
+
- ⏸️ **阻塞**:有依赖未解除或遇到问题
|
|
35
|
+
- ⏳ **待开始**:排队中
|
|
36
|
+
- ❌ **取消**:不再需要(说明原因)`,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
title: '2. 阻塞识别与处理',
|
|
40
|
+
content: `对每个阻塞任务:
|
|
41
|
+
- 描述阻塞原因(技术问题/依赖等待/需求不清晰)
|
|
42
|
+
- 阻塞开始时间
|
|
43
|
+
- 解除条件:「需要 [谁] 完成 [什么]」
|
|
44
|
+
- 影响评估:「阻塞会导致 [哪些任务] 延期 [多少时间]」`,
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
title: '3. 完成度统计',
|
|
48
|
+
content: `\`\`\`
|
|
49
|
+
总任务数:N
|
|
50
|
+
✅ 完成:X(X%)
|
|
51
|
+
🔄 进行中:Y
|
|
52
|
+
⏸️ 阻塞:Z
|
|
53
|
+
⏳ 待开始:W
|
|
54
|
+
|
|
55
|
+
预估完成时间:[日期] [置信度:高/中/低]
|
|
56
|
+
\`\`\``,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
title: '4. 风险预警',
|
|
60
|
+
content: `识别以下风险并标注优先级:
|
|
61
|
+
- 🔴 **高风险**:当前阻塞影响关键路径,必须立即处理
|
|
62
|
+
- 🟡 **中风险**:有延期可能,需要关注
|
|
63
|
+
- 🟢 **低风险**:有 buffer,暂时观察`,
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
title: '5. 下一步行动',
|
|
67
|
+
content: `明确列出:
|
|
68
|
+
- **立即行动**(今天必须完成)
|
|
69
|
+
- **需要协调**(需要其他人配合)
|
|
70
|
+
- **待决策**(需要产品/技术负责人决定)`,
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
outputFormat: 'Markdown 状态看板,含任务状态列表、完成度统计、风险矩阵、下一步行动清单',
|
|
74
|
+
notes: [
|
|
75
|
+
'每天至少更新一次进度(即使没有变化也要说明)',
|
|
76
|
+
'阻塞问题第一时间暴露,不要等到 deadline 才说',
|
|
77
|
+
'进度更新要诚实,不要因为"看起来不好"而隐瞒风险',
|
|
78
|
+
],
|
|
79
|
+
category: '跟踪侧',
|
|
80
|
+
nextSkill: 'task-report',
|
|
81
|
+
};
|
|
82
|
+
//# sourceMappingURL=05-progress-tracking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"05-progress-tracking.js","sourceRoot":"","sources":["../../../src/skills/05-progress-tracking.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAoB;IACpD,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,mBAAmB;IAC3B,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,yBAAyB;IACtC,aAAa,EAAE,uDAAuD;IACtE,iBAAiB,EAAE;+BACU;IAC7B,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,MAAM;QACN,OAAO;QACP,WAAW;QACX,mBAAmB;QACnB,iBAAiB;QACjB,iBAAiB;KAClB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;sBAKO;SACjB;QACD;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;;;;gCAIiB;SAC3B;QACD;YACE,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE;;;;;;;;OAQR;SACF;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;2BAGY;SACtB;QACD;YACE,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE;;;wBAGS;SACnB;KACF;IACD,YAAY,EAAE,0CAA0C;IACxD,KAAK,EAAE;QACL,wBAAwB;QACxB,6BAA6B;QAC7B,0BAA0B;KAC3B;IACD,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,aAAa;CACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"06-task-report.d.ts","sourceRoot":"","sources":["../../../src/skills/06-task-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,eAAe,EAAE,eA2E7B,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.taskReportSkill = void 0;
|
|
4
|
+
exports.taskReportSkill = {
|
|
5
|
+
id: 'task-report',
|
|
6
|
+
name: '任务报告',
|
|
7
|
+
nameEn: 'task_report',
|
|
8
|
+
order: 6,
|
|
9
|
+
description: '任务完成后生成总结报告,记录成果、问题和经验教训',
|
|
10
|
+
descriptionEn: 'Generate outcome report with issue retrospective and lessons learned',
|
|
11
|
+
detailDescription: `在任务或阶段完成后,生成全面的总结报告:梳理完成情况、
|
|
12
|
+
遇到的问题和解决方式、技术债务、经验教训,为后续迭代提供参考。`,
|
|
13
|
+
triggers: [
|
|
14
|
+
'任务报告',
|
|
15
|
+
'生成报告',
|
|
16
|
+
'任务总结',
|
|
17
|
+
'总结报告',
|
|
18
|
+
'完成总结',
|
|
19
|
+
'项目总结',
|
|
20
|
+
'阶段总结',
|
|
21
|
+
'/任务报告',
|
|
22
|
+
'@ethan 报告',
|
|
23
|
+
'task report',
|
|
24
|
+
'generate report',
|
|
25
|
+
'@ethan report',
|
|
26
|
+
],
|
|
27
|
+
steps: [
|
|
28
|
+
{
|
|
29
|
+
title: '1. 成果汇总',
|
|
30
|
+
content: `- 列出本次完成的所有功能点(对照原始需求)
|
|
31
|
+
- 说明是否满足所有验收条件
|
|
32
|
+
- 对比原计划:提前/按时/延期(延期说明原因)
|
|
33
|
+
- 关键交付物清单(代码链接、文档、部署地址)`,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
title: '2. 问题复盘',
|
|
37
|
+
content: `对本次遇到的主要问题进行复盘:
|
|
38
|
+
|
|
39
|
+
| 问题描述 | 根本原因 | 解决方案 | 预防措施 |
|
|
40
|
+
|---------|---------|---------|---------|
|
|
41
|
+
| [问题] | [原因] | [解决] | [预防] |`,
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
title: '3. 技术债务记录',
|
|
45
|
+
content: `记录本次故意留下的技术债务(TODO/FIXME):
|
|
46
|
+
- 债务描述:[内容]
|
|
47
|
+
- 产生原因:[为什么现在不做]
|
|
48
|
+
- 影响范围:[哪些功能受影响]
|
|
49
|
+
- 计划处理时间:[迭代版本]`,
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
title: '4. 性能与质量指标',
|
|
53
|
+
content: `- 测试覆盖率:[X%]
|
|
54
|
+
- 已知 Bug:[数量及严重程度]
|
|
55
|
+
- 关键路径性能:[响应时间/吞吐量等]
|
|
56
|
+
- 代码审查意见处理:[X 条,已解决 Y 条]`,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
title: '5. 经验教训(Lessons Learned)',
|
|
60
|
+
content: `**做得好的地方:**
|
|
61
|
+
- [值得在下次继续的做法]
|
|
62
|
+
|
|
63
|
+
**可以改进的地方:**
|
|
64
|
+
- [下次应该不同的做法]
|
|
65
|
+
|
|
66
|
+
**给团队的建议:**
|
|
67
|
+
- [可复用的最佳实践或工具]`,
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
outputFormat: 'Markdown 总结报告,含成果汇总、问题复盘表格、技术债务列表、质量指标、Lessons Learned',
|
|
71
|
+
notes: [
|
|
72
|
+
'报告面向不同读者(技术/产品/管理),注意分层表达',
|
|
73
|
+
'技术债务必须记录,不能以"以后再说"带过',
|
|
74
|
+
'Lessons Learned 重在行动可操作性,避免空话',
|
|
75
|
+
],
|
|
76
|
+
category: '输出侧',
|
|
77
|
+
nextSkill: 'weekly-report',
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=06-task-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"06-task-report.js","sourceRoot":"","sources":["../../../src/skills/06-task-report.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAoB;IAC9C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,aAAa;IACrB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,0BAA0B;IACvC,aAAa,EAAE,sEAAsE;IACrF,iBAAiB,EAAE;gCACW;IAC9B,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,eAAe;KAChB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;wBAGS;SACnB;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;8BAIe;SACzB;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;gBAIC;SACX;QACD;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;;;yBAGU;SACpB;QACD;YACE,KAAK,EAAE,0BAA0B;YACjC,OAAO,EAAE;;;;;;;gBAOC;SACX;KACF;IACD,YAAY,EACV,wDAAwD;IAC1D,KAAK,EAAE;QACL,2BAA2B;QAC3B,sBAAsB;QACtB,+BAA+B;KAChC;IACD,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,eAAe;CAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"07-weekly-report.d.ts","sourceRoot":"","sources":["../../../src/skills/07-weekly-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,iBAAiB,EAAE,eAmG/B,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.weeklyReportSkill = void 0;
|
|
4
|
+
exports.weeklyReportSkill = {
|
|
5
|
+
id: 'weekly-report',
|
|
6
|
+
name: '周报生成',
|
|
7
|
+
nameEn: 'weekly_report',
|
|
8
|
+
order: 7,
|
|
9
|
+
description: '根据本周工作内容自动生成结构化周报,突出价值而非流水账',
|
|
10
|
+
descriptionEn: 'Auto-generate structured weekly report highlighting business value',
|
|
11
|
+
detailDescription: `收集本周工作信息,生成专业的周报:聚焦业务价值而非技术细节,
|
|
12
|
+
突出完成了什么、解决了什么问题、下周计划,让不同层级的读者都能快速获取关键信息。`,
|
|
13
|
+
triggers: [
|
|
14
|
+
'周报',
|
|
15
|
+
'生成周报',
|
|
16
|
+
'写周报',
|
|
17
|
+
'周报生成',
|
|
18
|
+
'本周总结',
|
|
19
|
+
'周总结',
|
|
20
|
+
'weekly report',
|
|
21
|
+
'/周报',
|
|
22
|
+
'@ethan 周报',
|
|
23
|
+
'generate weekly',
|
|
24
|
+
'@ethan weekly',
|
|
25
|
+
],
|
|
26
|
+
steps: [
|
|
27
|
+
{
|
|
28
|
+
title: '1. 信息收集',
|
|
29
|
+
content: `请提供以下信息(可以是碎片化描述,我来整理):
|
|
30
|
+
- 本周完成了哪些任务/功能?
|
|
31
|
+
- 遇到了什么困难/问题?怎么解决的?
|
|
32
|
+
- 有没有超出预期完成的事情?
|
|
33
|
+
- 下周计划做什么?
|
|
34
|
+
- 有没有需要协调/升级的事项?`,
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
title: '2. 内容提炼原则',
|
|
38
|
+
content: `- **结果导向**:描述完成了什么,而非做了什么操作
|
|
39
|
+
- ❌「修改了登录接口的代码」
|
|
40
|
+
- ✅「完成登录功能优化,登录响应时间从 800ms 降至 200ms」
|
|
41
|
+
- **量化表达**:能用数字的地方用数字
|
|
42
|
+
- **价值关联**:说明工作对业务的意义`,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
title: '3. 输出周报',
|
|
46
|
+
content: `按以下模板生成:
|
|
47
|
+
|
|
48
|
+
\`\`\`markdown
|
|
49
|
+
# 周报 - [日期范围]
|
|
50
|
+
|
|
51
|
+
## 本周完成
|
|
52
|
+
|
|
53
|
+
### 主要成果
|
|
54
|
+
1. **[功能/项目名]**:[一句话描述成果和价值]
|
|
55
|
+
2. ...
|
|
56
|
+
|
|
57
|
+
### 技术攻坚
|
|
58
|
+
- [解决了什么难题,用了什么方案]
|
|
59
|
+
|
|
60
|
+
## 问题与风险
|
|
61
|
+
- ⚠️ [当前面临的问题或风险,是否需要支持]
|
|
62
|
+
|
|
63
|
+
## 下周计划
|
|
64
|
+
1. [任务] - [预期完成时间]
|
|
65
|
+
2. ...
|
|
66
|
+
|
|
67
|
+
## 需要协调
|
|
68
|
+
- [需要其他人/团队配合的事项]
|
|
69
|
+
\`\`\``,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
title: '4. 多版本适配',
|
|
73
|
+
content: `根据读者不同,调整详细程度:
|
|
74
|
+
- **团队版**:包含技术细节和具体数字
|
|
75
|
+
- **管理层版**:聚焦业务价值和风险,去掉技术细节
|
|
76
|
+
- **外部同步版**:只保留里程碑级进展`,
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
outputFormat: 'Markdown 周报文档,含本周成果、技术攻坚、问题风险、下周计划、协调事项',
|
|
80
|
+
examples: [
|
|
81
|
+
{
|
|
82
|
+
input: '本周做了登录功能,遇到了 token 过期的问题,下周做注册',
|
|
83
|
+
output: `# 周报 - 2024/01/15 - 2024/01/19
|
|
84
|
+
|
|
85
|
+
## 本周完成
|
|
86
|
+
|
|
87
|
+
### 主要成果
|
|
88
|
+
1. **用户登录功能**:完成前后端联调,支持账号密码登录,已上测试环境
|
|
89
|
+
|
|
90
|
+
### 技术攻坚
|
|
91
|
+
- 解决 JWT Token 静默刷新问题:实现 RefreshToken 机制,用户无感知续期,避免频繁重新登录
|
|
92
|
+
|
|
93
|
+
## 下周计划
|
|
94
|
+
1. 用户注册功能 - 周三前完成开发,周五完成测试`,
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
notes: [
|
|
98
|
+
'周报不是日志,不要列流水账,聚焦有意义的事情',
|
|
99
|
+
'困难和风险要如实汇报,不要只报好消息',
|
|
100
|
+
'下周计划要具体且可追溯,不要写「继续推进 XX」',
|
|
101
|
+
],
|
|
102
|
+
category: '输出侧',
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=07-weekly-report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"07-weekly-report.js","sourceRoot":"","sources":["../../../src/skills/07-weekly-report.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAoB;IAChD,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,6BAA6B;IAC1C,aAAa,EAAE,oEAAoE;IACnF,iBAAiB,EAAE;yCACoB;IACvC,QAAQ,EAAE;QACR,IAAI;QACJ,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,KAAK;QACL,eAAe;QACf,KAAK;QACL,WAAW;QACX,iBAAiB;QACjB,eAAe;KAChB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;iBAKE;SACZ;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;sBAIO;SACjB;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;OAuBR;SACF;QACD;YACE,KAAK,EAAE,UAAU;YACjB,OAAO,EAAE;;;sBAGO;SACjB;KACF;IACD,YAAY,EAAE,yCAAyC;IACvD,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,gCAAgC;YACvC,MAAM,EAAE;;;;;;;;;;;2BAWa;SACtB;KACF;IACD,KAAK,EAAE;QACL,wBAAwB;QACxB,oBAAoB;QACpB,0BAA0B;KAC3B;IACD,QAAQ,EAAE,KAAK;CAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"08-code-review.d.ts","sourceRoot":"","sources":["../../../src/skills/08-code-review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,eAAe,EAAE,eAsI7B,CAAC"}
|