ethan-skill 1.0.0 → 1.2.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.
Files changed (143) hide show
  1. package/dist/cli/config.d.ts +26 -0
  2. package/dist/cli/config.d.ts.map +1 -0
  3. package/dist/cli/config.js +74 -0
  4. package/dist/cli/config.js.map +1 -0
  5. package/dist/cli/index.d.ts +1 -1
  6. package/dist/cli/index.js +606 -62
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/cli/update-check.d.ts +11 -0
  9. package/dist/cli/update-check.d.ts.map +1 -0
  10. package/dist/cli/update-check.js +128 -0
  11. package/dist/cli/update-check.js.map +1 -0
  12. package/dist/context/detector.d.ts +25 -0
  13. package/dist/context/detector.d.ts.map +1 -0
  14. package/dist/context/detector.js +230 -0
  15. package/dist/context/detector.js.map +1 -0
  16. package/dist/ethan-skill-1.0.0.vsix +0 -0
  17. package/dist/ethan-skill-1.1.0.vsix +0 -0
  18. package/dist/loader/custom-skill-loader.d.ts +15 -0
  19. package/dist/loader/custom-skill-loader.d.ts.map +1 -0
  20. package/dist/loader/custom-skill-loader.js +158 -0
  21. package/dist/loader/custom-skill-loader.js.map +1 -0
  22. package/dist/mcp/server.d.ts.map +1 -1
  23. package/dist/mcp/server.js +152 -2
  24. package/dist/mcp/server.js.map +1 -1
  25. package/dist/server/dashboard.d.ts +2 -0
  26. package/dist/server/dashboard.d.ts.map +1 -0
  27. package/dist/server/dashboard.js +573 -0
  28. package/dist/server/dashboard.js.map +1 -0
  29. package/dist/skills/01-requirement.d.ts.map +1 -1
  30. package/dist/skills/01-requirement.js +4 -0
  31. package/dist/skills/01-requirement.js.map +1 -1
  32. package/dist/skills/02-task-breakdown.d.ts.map +1 -1
  33. package/dist/skills/02-task-breakdown.js +4 -0
  34. package/dist/skills/02-task-breakdown.js.map +1 -1
  35. package/dist/skills/03-design.d.ts.map +1 -1
  36. package/dist/skills/03-design.js +4 -0
  37. package/dist/skills/03-design.js.map +1 -1
  38. package/dist/skills/04-implementation.d.ts.map +1 -1
  39. package/dist/skills/04-implementation.js +4 -0
  40. package/dist/skills/04-implementation.js.map +1 -1
  41. package/dist/skills/05-progress-tracking.d.ts.map +1 -1
  42. package/dist/skills/05-progress-tracking.js +4 -0
  43. package/dist/skills/05-progress-tracking.js.map +1 -1
  44. package/dist/skills/06-task-report.d.ts.map +1 -1
  45. package/dist/skills/06-task-report.js +4 -0
  46. package/dist/skills/06-task-report.js.map +1 -1
  47. package/dist/skills/07-weekly-report.d.ts.map +1 -1
  48. package/dist/skills/07-weekly-report.js +3 -0
  49. package/dist/skills/07-weekly-report.js.map +1 -1
  50. package/dist/skills/08-code-review.d.ts.map +1 -1
  51. package/dist/skills/08-code-review.js +2 -0
  52. package/dist/skills/08-code-review.js.map +1 -1
  53. package/dist/skills/09-debug.d.ts.map +1 -1
  54. package/dist/skills/09-debug.js +3 -0
  55. package/dist/skills/09-debug.js.map +1 -1
  56. package/dist/skills/10-tech-research.d.ts.map +1 -1
  57. package/dist/skills/10-tech-research.js +4 -0
  58. package/dist/skills/10-tech-research.js.map +1 -1
  59. package/dist/skills/types.d.ts +4 -0
  60. package/dist/skills/types.d.ts.map +1 -1
  61. package/dist/templates/copilot-md.template.d.ts.map +1 -1
  62. package/dist/templates/copilot-md.template.js +107 -26
  63. package/dist/templates/copilot-md.template.js.map +1 -1
  64. package/dist/vscode/router/trigger-router.d.ts +16 -0
  65. package/dist/vscode/router/trigger-router.d.ts.map +1 -0
  66. package/dist/vscode/router/trigger-router.js +45 -0
  67. package/dist/vscode/router/trigger-router.js.map +1 -0
  68. package/dist/vscode/skills/01-requirement.d.ts +3 -0
  69. package/dist/vscode/skills/01-requirement.d.ts.map +1 -0
  70. package/dist/vscode/skills/01-requirement.js +104 -0
  71. package/dist/vscode/skills/01-requirement.js.map +1 -0
  72. package/dist/vscode/skills/02-task-breakdown.d.ts +3 -0
  73. package/dist/vscode/skills/02-task-breakdown.d.ts.map +1 -0
  74. package/dist/vscode/skills/02-task-breakdown.js +86 -0
  75. package/dist/vscode/skills/02-task-breakdown.js.map +1 -0
  76. package/dist/vscode/skills/03-design.d.ts +3 -0
  77. package/dist/vscode/skills/03-design.d.ts.map +1 -0
  78. package/dist/vscode/skills/03-design.js +84 -0
  79. package/dist/vscode/skills/03-design.js.map +1 -0
  80. package/dist/vscode/skills/04-implementation.d.ts +3 -0
  81. package/dist/vscode/skills/04-implementation.d.ts.map +1 -0
  82. package/dist/vscode/skills/04-implementation.js +81 -0
  83. package/dist/vscode/skills/04-implementation.js.map +1 -0
  84. package/dist/vscode/skills/05-progress-tracking.d.ts +3 -0
  85. package/dist/vscode/skills/05-progress-tracking.d.ts.map +1 -0
  86. package/dist/vscode/skills/05-progress-tracking.js +82 -0
  87. package/dist/vscode/skills/05-progress-tracking.js.map +1 -0
  88. package/dist/vscode/skills/06-task-report.d.ts +3 -0
  89. package/dist/vscode/skills/06-task-report.d.ts.map +1 -0
  90. package/dist/vscode/skills/06-task-report.js +79 -0
  91. package/dist/vscode/skills/06-task-report.js.map +1 -0
  92. package/dist/vscode/skills/07-weekly-report.d.ts +3 -0
  93. package/dist/vscode/skills/07-weekly-report.d.ts.map +1 -0
  94. package/dist/vscode/skills/07-weekly-report.js +104 -0
  95. package/dist/vscode/skills/07-weekly-report.js.map +1 -0
  96. package/dist/vscode/skills/08-code-review.d.ts +3 -0
  97. package/dist/vscode/skills/08-code-review.d.ts.map +1 -0
  98. package/dist/vscode/skills/08-code-review.js +138 -0
  99. package/dist/vscode/skills/08-code-review.js.map +1 -0
  100. package/dist/vscode/skills/09-debug.d.ts +3 -0
  101. package/dist/vscode/skills/09-debug.d.ts.map +1 -0
  102. package/dist/vscode/skills/09-debug.js +154 -0
  103. package/dist/vscode/skills/09-debug.js.map +1 -0
  104. package/dist/vscode/skills/10-tech-research.d.ts +3 -0
  105. package/dist/vscode/skills/10-tech-research.d.ts.map +1 -0
  106. package/dist/vscode/skills/10-tech-research.js +145 -0
  107. package/dist/vscode/skills/10-tech-research.js.map +1 -0
  108. package/dist/vscode/skills/index.d.ts +18 -0
  109. package/dist/vscode/skills/index.d.ts.map +1 -0
  110. package/dist/vscode/skills/index.js +51 -0
  111. package/dist/vscode/skills/index.js.map +1 -0
  112. package/dist/vscode/skills/pipeline.d.ts +15 -0
  113. package/dist/vscode/skills/pipeline.d.ts.map +1 -0
  114. package/dist/vscode/skills/pipeline.js +55 -0
  115. package/dist/vscode/skills/pipeline.js.map +1 -0
  116. package/dist/vscode/skills/types.d.ts +64 -0
  117. package/dist/vscode/skills/types.d.ts.map +1 -0
  118. package/dist/vscode/skills/types.js +7 -0
  119. package/dist/vscode/skills/types.js.map +1 -0
  120. package/dist/vscode/vscode/commands.d.ts +63 -0
  121. package/dist/vscode/vscode/commands.d.ts.map +1 -0
  122. package/dist/vscode/vscode/commands.js +428 -0
  123. package/dist/vscode/vscode/commands.js.map +1 -0
  124. package/dist/vscode/vscode/extension.d.ts +4 -0
  125. package/dist/vscode/vscode/extension.d.ts.map +1 -0
  126. package/dist/vscode/vscode/extension.js +103 -0
  127. package/dist/vscode/vscode/extension.js.map +1 -0
  128. package/dist/workflow/state.d.ts +48 -0
  129. package/dist/workflow/state.d.ts.map +1 -0
  130. package/dist/workflow/state.js +162 -0
  131. package/dist/workflow/state.js.map +1 -0
  132. package/package.json +7 -3
  133. package/rules/claude-code/CLAUDE.md +12 -12
  134. package/rules/cline/.clinerules +3 -3
  135. package/rules/codebuddy/CODEBUDDY.md +12 -12
  136. package/rules/continue/.continuerules +3 -3
  137. package/rules/copilot/copilot-instructions.md +12 -12
  138. package/rules/cursor/.cursorrules +12 -12
  139. package/rules/cursor/smart-flow.mdc +12 -12
  140. package/rules/jetbrains/smart-flow.md +12 -12
  141. package/rules/lingma/smart-flow.md +2 -2
  142. package/rules/windsurf/.windsurf/rules/smart-flow.md +12 -12
  143. package/rules/zed/smart-flow.rules +1 -1
@@ -1 +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,eA4EzB,CAAC"}
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"}
@@ -7,6 +7,7 @@ exports.designSkill = {
7
7
  nameEn: 'solution_design',
8
8
  order: 3,
9
9
  description: '输出技术方案设计文档,包含架构选择、接口设计、数据模型和关键决策说明',
10
+ descriptionEn: 'Output architecture design, API design, and data model',
10
11
  detailDescription: `在需求明确、任务拆解完成后,进行技术方案设计:选择合适的技术架构、
11
12
  设计 API 接口、规划数据模型、说明关键技术决策和权衡,输出可直接指导实现的设计文档。`,
12
13
  triggers: [
@@ -20,6 +21,9 @@ exports.designSkill = {
20
21
  'API 设计',
21
22
  '/方案设计',
22
23
  '@ethan 设计',
24
+ 'solution design',
25
+ 'tech design',
26
+ '@ethan design',
23
27
  ],
24
28
  steps: [
25
29
  {
@@ -1 +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,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;KACZ;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"}
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"}
@@ -1 +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,eAwEjC,CAAC"}
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"}
@@ -7,6 +7,7 @@ exports.implementationSkill = {
7
7
  nameEn: 'implementation',
8
8
  order: 4,
9
9
  description: '按设计方案逐步实现代码,遵循最佳实践,同步记录实现决策',
10
+ descriptionEn: 'Implement step by step following the design plan with code self-check',
10
11
  detailDescription: `进入编码阶段,按任务拆解的顺序逐一实现功能:先写测试或接口定义,
11
12
  再实现核心逻辑,遵循 SOLID 原则和项目既有规范,对非显而易见的实现决策作简要注释。`,
12
13
  triggers: [
@@ -19,6 +20,9 @@ exports.implementationSkill = {
19
20
  '开始开发',
20
21
  '/执行实现',
21
22
  '@ethan 实现',
23
+ 'implementation',
24
+ 'start implementing',
25
+ '@ethan implement',
22
26
  ],
23
27
  steps: [
24
28
  {
@@ -1 +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,iBAAiB,EAAE;6CACwB;IAC3C,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,WAAW;KACZ;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"}
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"}
@@ -1 +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,eAyEnC,CAAC"}
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"}
@@ -7,6 +7,7 @@ exports.progressTrackingSkill = {
7
7
  nameEn: 'progress_tracking',
8
8
  order: 5,
9
9
  description: '实时更新任务状态,识别阻塞风险,保持项目透明度',
10
+ descriptionEn: 'Real-time task status update, identify blocking risks',
10
11
  detailDescription: `在项目执行过程中持续跟踪进度:更新任务状态、识别延期风险、
11
12
  记录阻塞原因、预测完成时间,确保团队对项目状态保持一致认知。`,
12
13
  triggers: [
@@ -20,6 +21,9 @@ exports.progressTrackingSkill = {
20
21
  '还剩什么',
21
22
  '/进度跟踪',
22
23
  '@ethan 进度',
24
+ 'progress tracking',
25
+ 'progress update',
26
+ '@ethan progress',
23
27
  ],
24
28
  steps: [
25
29
  {
@@ -1 +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,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;KACZ;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"}
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"}
@@ -1 +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,eAuE7B,CAAC"}
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"}
@@ -7,6 +7,7 @@ exports.taskReportSkill = {
7
7
  nameEn: 'task_report',
8
8
  order: 6,
9
9
  description: '任务完成后生成总结报告,记录成果、问题和经验教训',
10
+ descriptionEn: 'Generate outcome report with issue retrospective and lessons learned',
10
11
  detailDescription: `在任务或阶段完成后,生成全面的总结报告:梳理完成情况、
11
12
  遇到的问题和解决方式、技术债务、经验教训,为后续迭代提供参考。`,
12
13
  triggers: [
@@ -19,6 +20,9 @@ exports.taskReportSkill = {
19
20
  '阶段总结',
20
21
  '/任务报告',
21
22
  '@ethan 报告',
23
+ 'task report',
24
+ 'generate report',
25
+ '@ethan report',
22
26
  ],
23
27
  steps: [
24
28
  {
@@ -1 +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,iBAAiB,EAAE;gCACW;IAC9B,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,WAAW;KACZ;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"}
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"}
@@ -1 +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,eAgG/B,CAAC"}
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"}
@@ -7,6 +7,7 @@ exports.weeklyReportSkill = {
7
7
  nameEn: 'weekly_report',
8
8
  order: 7,
9
9
  description: '根据本周工作内容自动生成结构化周报,突出价值而非流水账',
10
+ descriptionEn: 'Auto-generate structured weekly report highlighting business value',
10
11
  detailDescription: `收集本周工作信息,生成专业的周报:聚焦业务价值而非技术细节,
11
12
  突出完成了什么、解决了什么问题、下周计划,让不同层级的读者都能快速获取关键信息。`,
12
13
  triggers: [
@@ -19,6 +20,8 @@ exports.weeklyReportSkill = {
19
20
  'weekly report',
20
21
  '/周报',
21
22
  '@ethan 周报',
23
+ 'generate weekly',
24
+ '@ethan weekly',
22
25
  ],
23
26
  steps: [
24
27
  {
@@ -1 +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,iBAAiB,EAAE;yCACoB;IACvC,QAAQ,EAAE;QACR,IAAI;QACJ,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,KAAK;QACL,eAAe;QACf,KAAK;QACL,WAAW;KACZ;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"}
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"}
@@ -1 +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,eAoI7B,CAAC"}
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"}
@@ -7,6 +7,7 @@ exports.codeReviewSkill = {
7
7
  nameEn: 'code_review',
8
8
  order: 8,
9
9
  description: '系统性审查代码变更,分级输出 Blocker/Major/Minor 问题,提升代码质量',
10
+ descriptionEn: 'Systematic code review with Blocker/Major/Minor classification',
10
11
  detailDescription: `对代码变更进行系统性审查,覆盖正确性、安全性、性能、可维护性和规范性五个维度,
11
12
  按 Blocker/Major/Minor 三级分类输出问题,并给出具体改进建议。`,
12
13
  triggers: [
@@ -20,6 +21,7 @@ exports.codeReviewSkill = {
20
21
  '代码 review',
21
22
  '/代码审查',
22
23
  '@ethan review',
24
+ '@ethan code-review',
23
25
  ],
24
26
  steps: [
25
27
  {
@@ -1 +1 @@
1
- {"version":3,"file":"08-code-review.js","sourceRoot":"","sources":["../../src/skills/08-code-review.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,8CAA8C;IAC3D,iBAAiB,EAAE;0CACqB;IACxC,QAAQ,EAAE;QACR,MAAM;QACN,aAAa;QACb,IAAI;QACJ,WAAW;QACX,QAAQ;QACR,MAAM;QACN,WAAW;QACX,WAAW;QACX,OAAO;QACP,eAAe;KAChB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;oBAGK;SACf;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;gBA0BC;SACX;QACD;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;;;;;;8BAMe;SACzB;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBR;SACF;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;iCAEkB;SAC5B;KACF;IACD,YAAY,EACV,2DAA2D;IAC7D,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,qBAAqB;YAC5B,MAAM,EAAE;;;;;;;;;;;;;;uCAcyB;SAClC;KACF;IACD,KAAK,EAAE;QACL,kCAAkC;QAClC,0BAA0B;QAC1B,6BAA6B;KAC9B;IACD,QAAQ,EAAE,KAAK;CAChB,CAAC"}
1
+ {"version":3,"file":"08-code-review.js","sourceRoot":"","sources":["../../src/skills/08-code-review.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,8CAA8C;IAC3D,aAAa,EAAE,gEAAgE;IAC/E,iBAAiB,EAAE;0CACqB;IACxC,QAAQ,EAAE;QACR,MAAM;QACN,aAAa;QACb,IAAI;QACJ,WAAW;QACX,QAAQ;QACR,MAAM;QACN,WAAW;QACX,WAAW;QACX,OAAO;QACP,eAAe;QACf,oBAAoB;KACrB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;oBAGK;SACf;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;gBA0BC;SACX;QACD;YACE,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE;;;;;;8BAMe;SACzB;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBR;SACF;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;iCAEkB;SAC5B;KACF;IACD,YAAY,EACV,2DAA2D;IAC7D,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,qBAAqB;YAC5B,MAAM,EAAE;;;;;;;;;;;;;;uCAcyB;SAClC;KACF;IACD,KAAK,EAAE;QACL,kCAAkC;QAClC,0BAA0B;QAC1B,6BAA6B;KAC9B;IACD,QAAQ,EAAE,KAAK;CAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"09-debug.d.ts","sourceRoot":"","sources":["../../src/skills/09-debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,UAAU,EAAE,eAmJxB,CAAC"}
1
+ {"version":3,"file":"09-debug.d.ts","sourceRoot":"","sources":["../../src/skills/09-debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,UAAU,EAAE,eAsJxB,CAAC"}
@@ -7,6 +7,7 @@ exports.debugSkill = {
7
7
  nameEn: 'debug',
8
8
  order: 9,
9
9
  description: '系统性排查故障,通过假设验证和 5 Why 定位根因,输出临时/永久/预防三层方案',
10
+ descriptionEn: 'Hypothesis-driven debugging with 5-Why root cause analysis',
10
11
  detailDescription: `采用结构化方法排查故障:先描述现象建立假设,再逐一验证缩小范围,
11
12
  用 5 Why 挖掘根本原因,最终输出涵盖临时缓解、永久修复和预防措施的完整排查报告。`,
12
13
  triggers: [
@@ -20,6 +21,8 @@ exports.debugSkill = {
20
21
  '程序崩溃',
21
22
  '/故障排查',
22
23
  '@ethan debug',
24
+ 'troubleshoot',
25
+ '@ethan troubleshoot',
23
26
  ],
24
27
  steps: [
25
28
  {
@@ -1 +1 @@
1
- {"version":3,"file":"09-debug.js","sourceRoot":"","sources":["../../src/skills/09-debug.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAoB;IACzC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,2CAA2C;IACxD,iBAAiB,EAAE;4CACuB;IAC1C,QAAQ,EAAE;QACR,MAAM;QACN,OAAO;QACP,MAAM;QACN,KAAK;QACL,MAAM;QACN,QAAQ;QACR,OAAO;QACP,MAAM;QACN,OAAO;QACP,cAAc;KACf;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;kCAMmB;SAC7B;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;;;uBAWQ;SAClB;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;;;2BAWY;SACtB;QACD;YACE,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE;;;;;;;;;;;;gCAYiB;SAC3B;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCR;SACF;KACF;IACD,YAAY,EACV,4DAA4D;IAC9D,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,yDAAyD;YAChE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;kBAmBI;SACb;KACF;IACD,KAAK,EAAE;QACL,8BAA8B;QAC9B,6BAA6B;QAC7B,mBAAmB;KACpB;IACD,QAAQ,EAAE,KAAK;CAChB,CAAC"}
1
+ {"version":3,"file":"09-debug.js","sourceRoot":"","sources":["../../src/skills/09-debug.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GAAoB;IACzC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,OAAO;IACf,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,2CAA2C;IACxD,aAAa,EAAE,4DAA4D;IAC3E,iBAAiB,EAAE;4CACuB;IAC1C,QAAQ,EAAE;QACR,MAAM;QACN,OAAO;QACP,MAAM;QACN,KAAK;QACL,MAAM;QACN,QAAQ;QACR,OAAO;QACP,MAAM;QACN,OAAO;QACP,cAAc;QACd,cAAc;QACd,qBAAqB;KACtB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;kCAMmB;SAC7B;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;;;uBAWQ;SAClB;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;;;2BAWY;SACtB;QACD;YACE,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE;;;;;;;;;;;;gCAYiB;SAC3B;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCR;SACF;KACF;IACD,YAAY,EACV,4DAA4D;IAC9D,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,yDAAyD;YAChE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;kBAmBI;SACb;KACF;IACD,KAAK,EAAE;QACL,8BAA8B;QAC9B,6BAA6B;QAC7B,mBAAmB;KACpB;IACD,QAAQ,EAAE,KAAK;CAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"10-tech-research.d.ts","sourceRoot":"","sources":["../../src/skills/10-tech-research.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,iBAAiB,EAAE,eAyI/B,CAAC"}
1
+ {"version":3,"file":"10-tech-research.d.ts","sourceRoot":"","sources":["../../src/skills/10-tech-research.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,iBAAiB,EAAE,eA6I/B,CAAC"}
@@ -7,6 +7,7 @@ exports.techResearchSkill = {
7
7
  nameEn: 'tech_research',
8
8
  order: 10,
9
9
  description: '结构化技术选型:问题定义→方案收集→加权评分矩阵→POC 验证→明确结论',
10
+ descriptionEn: 'Weighted scoring matrix + POC validation for tech selection',
10
11
  detailDescription: `通过标准化流程完成技术调研:先明确问题和评估标准,再收集候选方案,
11
12
  用加权评分矩阵量化对比,必要时进行 POC 验证,最终输出有据可查的选型结论。`,
12
13
  triggers: [
@@ -20,6 +21,9 @@ exports.techResearchSkill = {
20
21
  '技术评估',
21
22
  '/技术调研',
22
23
  '@ethan 调研',
24
+ 'tech research',
25
+ 'tech selection',
26
+ '@ethan research',
23
27
  ],
24
28
  steps: [
25
29
  {
@@ -1 +1 @@
1
- {"version":3,"file":"10-tech-research.js","sourceRoot":"","sources":["../../src/skills/10-tech-research.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAoB;IAChD,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,sCAAsC;IACnD,iBAAiB,EAAE;wCACmB;IACtC,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,WAAW;KACZ;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;kDASmC;SAC7C;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;gCASiB;SAC3B;QACD;YACE,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE;;;;;;;;;;;;;;;;;wBAiBS;SACnB;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;2BASY;SACtB;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;OAsBR;SACF;KACF;IACD,YAAY,EACV,qDAAqD;IACvD,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,uCAAuC;YAC9C,MAAM,EAAE;;;;;;;;;;;;;;;uBAeS;SAClB;KACF;IACD,KAAK,EAAE;QACL,iCAAiC;QACjC,sBAAsB;QACtB,+BAA+B;KAChC;IACD,QAAQ,EAAE,KAAK;CAChB,CAAC"}
1
+ {"version":3,"file":"10-tech-research.js","sourceRoot":"","sources":["../../src/skills/10-tech-research.ts"],"names":[],"mappings":";;;AAEa,QAAA,iBAAiB,GAAoB;IAChD,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,sCAAsC;IACnD,aAAa,EAAE,6DAA6D;IAC5E,iBAAiB,EAAE;wCACmB;IACtC,QAAQ,EAAE;QACR,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,WAAW;QACX,eAAe;QACf,gBAAgB;QAChB,iBAAiB;KAClB;IACD,KAAK,EAAE;QACL;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;kDASmC;SAC7C;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;gCASiB;SAC3B;QACD;YACE,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE;;;;;;;;;;;;;;;;;wBAiBS;SACnB;QACD;YACE,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE;;;;;;;;;2BASY;SACtB;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;OAsBR;SACF;KACF;IACD,YAAY,EACV,qDAAqD;IACvD,QAAQ,EAAE;QACR;YACE,KAAK,EAAE,uCAAuC;YAC9C,MAAM,EAAE;;;;;;;;;;;;;;;uBAeS;SAClB;KACF;IACD,KAAK,EAAE;QACL,iCAAiC;QACjC,sBAAsB;QACtB,+BAA+B;KAChC;IACD,QAAQ,EAAE,KAAK;CAChB,CAAC"}
@@ -23,6 +23,8 @@ export interface SkillDefinition {
23
23
  nameEn: string;
24
24
  /** 简短描述(一句话),用于 MCP tool description */
25
25
  description: string;
26
+ /** English short description */
27
+ descriptionEn?: string;
26
28
  /** 详细描述,用于规则文件头部 */
27
29
  detailDescription: string;
28
30
  /** 触发关键词列表(用于路由匹配) */
@@ -56,5 +58,7 @@ export interface BuildContext {
56
58
  generatedAt: string;
57
59
  /** 包版本 */
58
60
  version: string;
61
+ /** 输出语言,默认 zh */
62
+ lang?: 'zh' | 'en';
59
63
  }
60
64
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/skills/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe;IACf,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,aAAa;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACjD,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,OAAO,GACP,QAAQ,GACR,WAAW,GACX,UAAU,GACV,KAAK,GACL,WAAW,GACX,UAAU,GACV,aAAa,CAAC;AAElB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU;IACV,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/skills/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,SAAS;IACxB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sBAAsB;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe;IACf,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,aAAa;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe;IACf,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,eAAe;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACjD,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,QAAQ,GAChB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,OAAO,GACP,QAAQ,GACR,WAAW,GACX,UAAU,GACV,KAAK,GACL,WAAW,GACX,UAAU,GACV,aAAa,CAAC;AAElB,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU;IACV,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB;IACjB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-md.template.d.ts","sourceRoot":"","sources":["../../src/templates/copilot-md.template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAyBxD"}
1
+ {"version":3,"file":"copilot-md.template.d.ts","sourceRoot":"","sources":["../../src/templates/copilot-md.template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAYrE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAyBxD"}
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderMarkdown = renderMarkdown;
4
+ /** 取技能描述:有英文版且当前语言为 en 则用英文 */
5
+ function desc(skill, isEn) {
6
+ return isEn && skill.descriptionEn ? skill.descriptionEn : skill.description;
7
+ }
8
+ /** 取技能显示名:英文时用 nameEn(下划线→空格),中文时用 name */
9
+ function skillName(skill, isEn) {
10
+ return isEn ? skill.nameEn.replace(/_/g, ' ') : skill.name;
11
+ }
4
12
  /**
5
13
  * 生成各平台 Markdown 规则文件
6
14
  * 支持:copilot、cline、lingma、codebuddy、windsurf、zed、jetbrains、continue、claude-code
@@ -34,6 +42,7 @@ function renderMarkdown(ctx) {
34
42
  /** VS Code Copilot:.github/copilot-instructions.md */
35
43
  function renderCopilot(ctx) {
36
44
  const { skills, version, generatedAt } = ctx;
45
+ const isEn = ctx.lang === 'en';
37
46
  return `# Ethan - Copilot Instructions (v${version})
38
47
 
39
48
  > Auto-generated from src/skills/ | ${generatedAt}
@@ -43,7 +52,7 @@ You are equipped with the Ethan workflow assistant. When users mention any of th
43
52
 
44
53
  ## Available Skills
45
54
 
46
- ${skills.map((s) => renderCopilotSkill(s)).join('\n\n')}
55
+ ${skills.map((s) => renderCopilotSkill(s, isEn)).join('\n\n')}
47
56
 
48
57
  ## General Rules
49
58
 
@@ -53,15 +62,15 @@ ${skills.map((s) => renderCopilotSkill(s)).join('\n\n')}
53
62
  - When user explicitly names a Skill, execute directly without confirmation
54
63
  `;
55
64
  }
56
- function renderCopilotSkill(skill) {
65
+ function renderCopilotSkill(skill, isEn) {
57
66
  const steps = skill.steps
58
67
  .map((step, i) => `${i + 1}. **${step.title.replace(/^\d+\.\s*/, '')}**: ${step.content.split('\n')[0]}`)
59
68
  .join('\n');
60
- return `### ${skill.order}. ${skill.name} (${skill.nameEn})
69
+ return `### ${skill.order}. ${skillName(skill, isEn)} (${skill.nameEn})
61
70
 
62
71
  **Triggers**: ${skill.triggers.map((t) => `\`${t}\``).join(', ')}
63
72
 
64
- **Goal**: ${skill.description}
73
+ **Goal**: ${desc(skill, isEn)}
65
74
 
66
75
  **Steps**:
67
76
  ${steps}
@@ -71,10 +80,28 @@ ${steps}
71
80
  /** Cline:.clinerules */
72
81
  function renderCline(ctx) {
73
82
  const { skills, version, generatedAt } = ctx;
74
- const skillsContent = skills.map(renderClineSkill).join('\n\n');
83
+ const isEn = ctx.lang === 'en';
84
+ const skillsContent = skills.map((s) => renderClineSkill(s, isEn)).join('\n\n');
85
+ if (isEn) {
86
+ return `# Ethan v${version}
87
+ # Generated: ${generatedAt}
88
+
89
+ Ethan - Your AI Workflow Assistant. When you see any trigger keyword below, execute the corresponding skill workflow.
90
+
91
+ ## Skill Triggers
92
+ ${skills.map((s) => `- **${skillName(s, true)}**: ${s.triggers.slice(0, 4).join(' | ')}`).join('\n')}
93
+
94
+ ---
95
+
96
+ ${skillsContent}
97
+
98
+ ---
99
+ Rules: Follow steps in order. Do not skip. Output per skill template.
100
+ `;
101
+ }
75
102
  return `# Ethan v${version}
76
103
  # Generated: ${generatedAt}
77
- # Source: https://github.com/your-org/ethan-skill
104
+ # Source: https://github.com/aokiz-ek/smart-flow-skill
78
105
 
79
106
  Ethan。当用户输入以下触发词时,按对应 Skill 的步骤执行。
80
107
 
@@ -89,8 +116,18 @@ ${skillsContent}
89
116
  规则:严格按步骤执行,不跳步,输出遵循各 Skill 的格式模板。
90
117
  `;
91
118
  }
92
- function renderClineSkill(skill) {
119
+ function renderClineSkill(skill, isEn) {
93
120
  const stepsContent = skill.steps.map((step) => `${step.title}\n${step.content}`).join('\n\n');
121
+ if (isEn) {
122
+ return `## ${skillName(skill, true)} (${skill.id})
123
+
124
+ Triggers: ${skill.triggers.slice(0, 4).join(' | ')}
125
+ Goal: ${desc(skill, true)}
126
+
127
+ ${stepsContent}
128
+
129
+ Output: ${skill.outputFormat}`;
130
+ }
94
131
  return `## ${skill.name}
95
132
 
96
133
  触发:${skill.triggers.slice(0, 4).join(' | ')}
@@ -103,6 +140,27 @@ ${stepsContent}
103
140
  /** 通义灵码:.lingma/rules/*.md(结构简洁) */
104
141
  function renderLingma(ctx) {
105
142
  const { skills, version, generatedAt } = ctx;
143
+ const isEn = ctx.lang === 'en';
144
+ if (isEn) {
145
+ return `# Ethan v${version}
146
+
147
+ > Generated: ${generatedAt}
148
+
149
+ ## Overview
150
+
151
+ ${skills.length} standardized workflow skills. Match trigger keywords to execute the corresponding workflow.
152
+
153
+ ## Skill List
154
+
155
+ ${skills.map((s) => `### ${s.order}. ${skillName(s, true)}\n- **Triggers**: ${s.triggers.slice(0, 5).join(', ')}\n- **Goal**: ${desc(s, true)}\n- **Steps**: ${s.steps.map((step) => step.title.replace(/^\d+\.\s*/, '')).join(' → ')}`).join('\n\n')}
156
+
157
+ ## Rules
158
+
159
+ 1. Detect intent and match trigger keywords
160
+ 2. Follow Skill steps in order
161
+ 3. Output per skill template
162
+ `;
163
+ }
106
164
  return `# Ethan v${version}
107
165
 
108
166
  > 生成时间:${generatedAt}
@@ -139,29 +197,31 @@ ${stepsList}
139
197
  /** 腾讯 CodeBuddy:CODEBUDDY.md(内容精简) */
140
198
  function renderCodeBuddy(ctx) {
141
199
  const { skills, version, generatedAt } = ctx;
200
+ const isEn = ctx.lang === 'en';
142
201
  return `# Ethan v${version}
143
202
 
144
- Ethan - Your AI Workflow Assistant | 生成时间:${generatedAt}
203
+ Ethan - Your AI Workflow Assistant | Generated: ${generatedAt}
145
204
 
146
205
  ## Skills
147
206
 
148
207
  ${skills
149
- .map((s) => `### ${s.order}. ${s.name}
150
- 触发词:${s.triggers.slice(0, 3).join(' / ')}
151
- 说明:${s.description}
152
- 步骤:${s.steps.map((step) => step.title).join(' → ')}
153
- 输出:${s.outputFormat}`)
208
+ .map((s) => `### ${s.order}. ${skillName(s, isEn)}
209
+ ${isEn ? 'Triggers' : '触发词'}:${s.triggers.slice(0, 3).join(' / ')}
210
+ ${isEn ? 'Goal' : '说明'}:${desc(s, isEn)}
211
+ ${isEn ? 'Steps' : '步骤'}:${s.steps.map((step) => step.title.replace(/^\d+\.\s*/, '')).join(' → ')}
212
+ ${isEn ? 'Output' : '输出'}:${s.outputFormat}`)
154
213
  .join('\n\n')}
155
214
 
156
- ## 规则
157
- - 根据用户输入自动匹配触发词,执行对应 Skill
158
- - 严格按步骤顺序执行,不省略关键步骤
159
- - 输出格式遵循各 Skill 模板定义
215
+ ## ${isEn ? 'Rules' : '规则'}
216
+ - ${isEn ? 'Auto-match trigger keywords and execute the corresponding Skill' : '根据用户输入自动匹配触发词,执行对应 Skill'}
217
+ - ${isEn ? 'Follow steps in order without skipping' : '严格按步骤顺序执行,不省略关键步骤'}
218
+ - ${isEn ? 'Output per skill template' : '输出格式遵循各 Skill 模板定义'}
160
219
  `;
161
220
  }
162
221
  /** Windsurf:.windsurf/rules/smart-flow.md(类 Copilot 格式) */
163
222
  function renderWindsurf(ctx) {
164
223
  const { skills, version, generatedAt } = ctx;
224
+ const isEn = ctx.lang === 'en';
165
225
  return `# Ethan - Windsurf Rules (v${version})
166
226
 
167
227
  > Auto-generated from src/skills/ | ${generatedAt}
@@ -171,7 +231,7 @@ You are equipped with the Ethan workflow assistant for Windsurf. When users ment
171
231
 
172
232
  ## Available Skills
173
233
 
174
- ${skills.map((s) => renderCopilotSkill(s)).join('\n\n')}
234
+ ${skills.map((s) => renderCopilotSkill(s, isEn)).join('\n\n')}
175
235
 
176
236
  ## General Rules
177
237
 
@@ -184,8 +244,9 @@ ${skills.map((s) => renderCopilotSkill(s)).join('\n\n')}
184
244
  /** Zed:smart-flow.rules(精简纯文本,无复杂 Markdown 结构) */
185
245
  function renderZed(ctx) {
186
246
  const { skills, version, generatedAt } = ctx;
247
+ const isEn = ctx.lang === 'en';
187
248
  const skillLines = skills
188
- .map((s) => `${s.order}. ${s.name} [${s.triggers.slice(0, 3).join('/')}]\n ${s.description}\n Steps: ${s.steps.map((step) => step.title.replace(/^\d+\.\s*/, '')).join(' > ')}`)
249
+ .map((s) => `${s.order}. ${skillName(s, isEn)} [${s.triggers.slice(0, 3).join('/')}]\n ${desc(s, isEn)}\n Steps: ${s.steps.map((step) => step.title.replace(/^\d+\.\s*/, '')).join(' > ')}`)
189
250
  .join('\n\n');
190
251
  return `Ethan v${version} | ${generatedAt}
191
252
 
@@ -199,6 +260,7 @@ Rules: Follow steps in order. Output per skill template. Auto-detect intent from
199
260
  /** JetBrains AI:.github/ai-instructions.md(类 Copilot) */
200
261
  function renderJetBrains(ctx) {
201
262
  const { skills, version, generatedAt } = ctx;
263
+ const isEn = ctx.lang === 'en';
202
264
  return `# Ethan - JetBrains AI Instructions (v${version})
203
265
 
204
266
  > Auto-generated from src/skills/ | ${generatedAt}
@@ -208,7 +270,7 @@ You are equipped with the Ethan workflow assistant for JetBrains AI. When users
208
270
 
209
271
  ## Available Skills
210
272
 
211
- ${skills.map((s) => renderCopilotSkill(s)).join('\n\n')}
273
+ ${skills.map((s) => renderCopilotSkill(s, isEn)).join('\n\n')}
212
274
 
213
275
  ## General Rules
214
276
 
@@ -221,10 +283,28 @@ ${skills.map((s) => renderCopilotSkill(s)).join('\n\n')}
221
283
  /** Continue:.continuerules(类 Cline 格式) */
222
284
  function renderContinue(ctx) {
223
285
  const { skills, version, generatedAt } = ctx;
224
- const skillsContent = skills.map(renderClineSkill).join('\n\n');
286
+ const isEn = ctx.lang === 'en';
287
+ const skillsContent = skills.map((s) => renderClineSkill(s, isEn)).join('\n\n');
288
+ if (isEn) {
289
+ return `# Ethan v${version}
290
+ # Generated: ${generatedAt}
291
+
292
+ Ethan (Continue). Execute the matching skill workflow when trigger keywords are detected.
293
+
294
+ ## Skill Triggers
295
+ ${skills.map((s) => `- **${skillName(s, true)}**: ${s.triggers.slice(0, 4).join(' | ')}`).join('\n')}
296
+
297
+ ---
298
+
299
+ ${skillsContent}
300
+
301
+ ---
302
+ Rules: Follow steps in order. Output per skill template.
303
+ `;
304
+ }
225
305
  return `# Ethan v${version}
226
306
  # Generated: ${generatedAt}
227
- # Source: https://github.com/your-org/ethan-skill
307
+ # Source: https://github.com/aokiz-ek/smart-flow-skill
228
308
 
229
309
  Ethan(Continue)。当用户输入以下触发词时,按对应 Skill 的步骤执行。
230
310
 
@@ -242,6 +322,7 @@ ${skillsContent}
242
322
  /** Claude Code:CLAUDE.md(详细步骤格式,充分利用长上下文) */
243
323
  function renderClaudeCode(ctx) {
244
324
  const { skills, version, generatedAt } = ctx;
325
+ const isEn = ctx.lang === 'en';
245
326
  const skillsContent = skills
246
327
  .map((s) => {
247
328
  const stepsContent = s.steps
@@ -249,13 +330,13 @@ function renderClaudeCode(ctx) {
249
330
  .join('\n\n');
250
331
  const triggersLine = s.triggers.map((t) => `\`${t}\``).join(', ');
251
332
  const notesLine = s.notes && s.notes.length > 0
252
- ? `\n\n**注意事项**:\n${s.notes.map((n) => `- ${n}`).join('\n')}`
333
+ ? `\n\n**${isEn ? 'Notes' : '注意事项'}**:\n${s.notes.map((n) => `- ${n}`).join('\n')}`
253
334
  : '';
254
- return `### ${s.order}. ${s.name} (\`${s.id}\`)
335
+ return `### ${s.order}. ${skillName(s, isEn)} (\`${s.id}\`)
255
336
 
256
- **描述**: ${s.description}
337
+ **${isEn ? 'Description' : '描述'}**: ${desc(s, isEn)}
257
338
 
258
- **触发词**: ${triggersLine}
339
+ **${isEn ? 'Triggers' : '触发词'}**: ${triggersLine}
259
340
 
260
341
  **执行步骤**:
261
342
 
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-md.template.js","sourceRoot":"","sources":["../../src/templates/copilot-md.template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copilot-md.template.js","sourceRoot":"","sources":["../../src/templates/copilot-md.template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { SkillDefinition } from '../skills/types';
2
+ export interface RouteResult {
3
+ skill: SkillDefinition;
4
+ matchedTrigger: string;
5
+ confidence: 'exact' | 'partial';
6
+ }
7
+ /**
8
+ * 根据用户输入路由到对应 Skill
9
+ * 优先精确匹配,其次模糊匹配
10
+ */
11
+ export declare function routeTrigger(input: string): RouteResult | null;
12
+ /**
13
+ * 获取所有触发词映射表(用于展示和调试)
14
+ */
15
+ export declare function getTriggerMap(): Map<string, SkillDefinition>;
16
+ //# sourceMappingURL=trigger-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-router.d.ts","sourceRoot":"","sources":["../../../src/router/trigger-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,eAAe,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAwB9D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAQ5D"}