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.
Files changed (136) 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 +363 -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/server/dashboard.d.ts +2 -0
  23. package/dist/server/dashboard.d.ts.map +1 -0
  24. package/dist/server/dashboard.js +272 -0
  25. package/dist/server/dashboard.js.map +1 -0
  26. package/dist/skills/01-requirement.d.ts.map +1 -1
  27. package/dist/skills/01-requirement.js +4 -0
  28. package/dist/skills/01-requirement.js.map +1 -1
  29. package/dist/skills/02-task-breakdown.d.ts.map +1 -1
  30. package/dist/skills/02-task-breakdown.js +4 -0
  31. package/dist/skills/02-task-breakdown.js.map +1 -1
  32. package/dist/skills/03-design.d.ts.map +1 -1
  33. package/dist/skills/03-design.js +4 -0
  34. package/dist/skills/03-design.js.map +1 -1
  35. package/dist/skills/04-implementation.d.ts.map +1 -1
  36. package/dist/skills/04-implementation.js +4 -0
  37. package/dist/skills/04-implementation.js.map +1 -1
  38. package/dist/skills/05-progress-tracking.d.ts.map +1 -1
  39. package/dist/skills/05-progress-tracking.js +4 -0
  40. package/dist/skills/05-progress-tracking.js.map +1 -1
  41. package/dist/skills/06-task-report.d.ts.map +1 -1
  42. package/dist/skills/06-task-report.js +4 -0
  43. package/dist/skills/06-task-report.js.map +1 -1
  44. package/dist/skills/07-weekly-report.d.ts.map +1 -1
  45. package/dist/skills/07-weekly-report.js +3 -0
  46. package/dist/skills/07-weekly-report.js.map +1 -1
  47. package/dist/skills/08-code-review.d.ts.map +1 -1
  48. package/dist/skills/08-code-review.js +2 -0
  49. package/dist/skills/08-code-review.js.map +1 -1
  50. package/dist/skills/09-debug.d.ts.map +1 -1
  51. package/dist/skills/09-debug.js +3 -0
  52. package/dist/skills/09-debug.js.map +1 -1
  53. package/dist/skills/10-tech-research.d.ts.map +1 -1
  54. package/dist/skills/10-tech-research.js +4 -0
  55. package/dist/skills/10-tech-research.js.map +1 -1
  56. package/dist/skills/types.d.ts +4 -0
  57. package/dist/skills/types.d.ts.map +1 -1
  58. package/dist/templates/copilot-md.template.d.ts.map +1 -1
  59. package/dist/templates/copilot-md.template.js +107 -26
  60. package/dist/templates/copilot-md.template.js.map +1 -1
  61. package/dist/vscode/router/trigger-router.d.ts +16 -0
  62. package/dist/vscode/router/trigger-router.d.ts.map +1 -0
  63. package/dist/vscode/router/trigger-router.js +45 -0
  64. package/dist/vscode/router/trigger-router.js.map +1 -0
  65. package/dist/vscode/skills/01-requirement.d.ts +3 -0
  66. package/dist/vscode/skills/01-requirement.d.ts.map +1 -0
  67. package/dist/vscode/skills/01-requirement.js +104 -0
  68. package/dist/vscode/skills/01-requirement.js.map +1 -0
  69. package/dist/vscode/skills/02-task-breakdown.d.ts +3 -0
  70. package/dist/vscode/skills/02-task-breakdown.d.ts.map +1 -0
  71. package/dist/vscode/skills/02-task-breakdown.js +86 -0
  72. package/dist/vscode/skills/02-task-breakdown.js.map +1 -0
  73. package/dist/vscode/skills/03-design.d.ts +3 -0
  74. package/dist/vscode/skills/03-design.d.ts.map +1 -0
  75. package/dist/vscode/skills/03-design.js +84 -0
  76. package/dist/vscode/skills/03-design.js.map +1 -0
  77. package/dist/vscode/skills/04-implementation.d.ts +3 -0
  78. package/dist/vscode/skills/04-implementation.d.ts.map +1 -0
  79. package/dist/vscode/skills/04-implementation.js +81 -0
  80. package/dist/vscode/skills/04-implementation.js.map +1 -0
  81. package/dist/vscode/skills/05-progress-tracking.d.ts +3 -0
  82. package/dist/vscode/skills/05-progress-tracking.d.ts.map +1 -0
  83. package/dist/vscode/skills/05-progress-tracking.js +82 -0
  84. package/dist/vscode/skills/05-progress-tracking.js.map +1 -0
  85. package/dist/vscode/skills/06-task-report.d.ts +3 -0
  86. package/dist/vscode/skills/06-task-report.d.ts.map +1 -0
  87. package/dist/vscode/skills/06-task-report.js +79 -0
  88. package/dist/vscode/skills/06-task-report.js.map +1 -0
  89. package/dist/vscode/skills/07-weekly-report.d.ts +3 -0
  90. package/dist/vscode/skills/07-weekly-report.d.ts.map +1 -0
  91. package/dist/vscode/skills/07-weekly-report.js +104 -0
  92. package/dist/vscode/skills/07-weekly-report.js.map +1 -0
  93. package/dist/vscode/skills/08-code-review.d.ts +3 -0
  94. package/dist/vscode/skills/08-code-review.d.ts.map +1 -0
  95. package/dist/vscode/skills/08-code-review.js +138 -0
  96. package/dist/vscode/skills/08-code-review.js.map +1 -0
  97. package/dist/vscode/skills/09-debug.d.ts +3 -0
  98. package/dist/vscode/skills/09-debug.d.ts.map +1 -0
  99. package/dist/vscode/skills/09-debug.js +154 -0
  100. package/dist/vscode/skills/09-debug.js.map +1 -0
  101. package/dist/vscode/skills/10-tech-research.d.ts +3 -0
  102. package/dist/vscode/skills/10-tech-research.d.ts.map +1 -0
  103. package/dist/vscode/skills/10-tech-research.js +145 -0
  104. package/dist/vscode/skills/10-tech-research.js.map +1 -0
  105. package/dist/vscode/skills/index.d.ts +18 -0
  106. package/dist/vscode/skills/index.d.ts.map +1 -0
  107. package/dist/vscode/skills/index.js +51 -0
  108. package/dist/vscode/skills/index.js.map +1 -0
  109. package/dist/vscode/skills/pipeline.d.ts +15 -0
  110. package/dist/vscode/skills/pipeline.d.ts.map +1 -0
  111. package/dist/vscode/skills/pipeline.js +55 -0
  112. package/dist/vscode/skills/pipeline.js.map +1 -0
  113. package/dist/vscode/skills/types.d.ts +64 -0
  114. package/dist/vscode/skills/types.d.ts.map +1 -0
  115. package/dist/vscode/skills/types.js +7 -0
  116. package/dist/vscode/skills/types.js.map +1 -0
  117. package/dist/vscode/vscode/commands.d.ts +63 -0
  118. package/dist/vscode/vscode/commands.d.ts.map +1 -0
  119. package/dist/vscode/vscode/commands.js +428 -0
  120. package/dist/vscode/vscode/commands.js.map +1 -0
  121. package/dist/vscode/vscode/extension.d.ts +4 -0
  122. package/dist/vscode/vscode/extension.d.ts.map +1 -0
  123. package/dist/vscode/vscode/extension.js +103 -0
  124. package/dist/vscode/vscode/extension.js.map +1 -0
  125. package/package.json +7 -3
  126. package/rules/claude-code/CLAUDE.md +12 -12
  127. package/rules/cline/.clinerules +3 -3
  128. package/rules/codebuddy/CODEBUDDY.md +12 -12
  129. package/rules/continue/.continuerules +3 -3
  130. package/rules/copilot/copilot-instructions.md +12 -12
  131. package/rules/cursor/.cursorrules +12 -12
  132. package/rules/cursor/smart-flow.mdc +12 -12
  133. package/rules/jetbrains/smart-flow.md +12 -12
  134. package/rules/lingma/smart-flow.md +2 -2
  135. package/rules/windsurf/.windsurf/rules/smart-flow.md +12 -12
  136. package/rules/zed/smart-flow.rules +1 -1
@@ -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"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.routeTrigger = routeTrigger;
4
+ exports.getTriggerMap = getTriggerMap;
5
+ const index_1 = require("../skills/index");
6
+ /**
7
+ * 根据用户输入路由到对应 Skill
8
+ * 优先精确匹配,其次模糊匹配
9
+ */
10
+ function routeTrigger(input) {
11
+ const normalized = input.trim().toLowerCase();
12
+ if (normalized.length === 0)
13
+ return null;
14
+ // 精确匹配:输入完全等于某个触发词
15
+ for (const skill of index_1.ALL_SKILLS) {
16
+ for (const trigger of skill.triggers) {
17
+ if (normalized === trigger.toLowerCase()) {
18
+ return { skill, matchedTrigger: trigger, confidence: 'exact' };
19
+ }
20
+ }
21
+ }
22
+ // 部分匹配:输入包含触发词,或触发词包含在输入中
23
+ for (const skill of index_1.ALL_SKILLS) {
24
+ for (const trigger of skill.triggers) {
25
+ const t = trigger.toLowerCase();
26
+ if (normalized.includes(t) || t.includes(normalized)) {
27
+ return { skill, matchedTrigger: trigger, confidence: 'partial' };
28
+ }
29
+ }
30
+ }
31
+ return null;
32
+ }
33
+ /**
34
+ * 获取所有触发词映射表(用于展示和调试)
35
+ */
36
+ function getTriggerMap() {
37
+ const map = new Map();
38
+ for (const skill of index_1.ALL_SKILLS) {
39
+ for (const trigger of skill.triggers) {
40
+ map.set(trigger.toLowerCase(), skill);
41
+ }
42
+ }
43
+ return map;
44
+ }
45
+ //# sourceMappingURL=trigger-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger-router.js","sourceRoot":"","sources":["../../../src/router/trigger-router.ts"],"names":[],"mappings":";;AAaA,oCAwBC;AAKD,sCAQC;AAjDD,2CAA6C;AAQ7C;;;GAGG;AACH,SAAgB,YAAY,CAAC,KAAa;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,mBAAmB;IACnB,KAAK,MAAM,KAAK,IAAI,kBAAU,EAAE,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,UAAU,KAAK,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,KAAK,MAAM,KAAK,IAAI,kBAAU,EAAE,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa;IAC3B,MAAM,GAAG,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,kBAAU,EAAE,CAAC;QAC/B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { SkillDefinition } from './types';
2
+ export declare const requirementSkill: SkillDefinition;
3
+ //# sourceMappingURL=01-requirement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"01-requirement.d.ts","sourceRoot":"","sources":["../../../src/skills/01-requirement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,gBAAgB,EAAE,eAoG9B,CAAC"}
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.requirementSkill = void 0;
4
+ exports.requirementSkill = {
5
+ id: 'requirement-understanding',
6
+ name: '需求理解',
7
+ nameEn: 'requirement_understanding',
8
+ order: 1,
9
+ description: '深度解析用户需求,消除歧义,输出结构化需求文档',
10
+ descriptionEn: 'Deeply analyze requirements, eliminate ambiguity, output structured requirement doc',
11
+ detailDescription: `当用户提出需求时,执行深度需求理解流程:分析核心目标、识别隐含需求、
12
+ 消除歧义点,最终输出结构化的需求确认文档,确保开发方向正确。`,
13
+ triggers: [
14
+ '需求理解',
15
+ '理解需求',
16
+ '分析需求',
17
+ '需求分析',
18
+ '我需要',
19
+ '帮我做',
20
+ '实现一个',
21
+ '开发一个',
22
+ '/需求理解',
23
+ '@ethan 需求',
24
+ 'requirement analysis',
25
+ 'analyze requirements',
26
+ '@ethan requirement',
27
+ ],
28
+ steps: [
29
+ {
30
+ title: '1. 提取核心诉求',
31
+ content: `- 用一句话总结用户最终想实现的**业务目标**
32
+ - 区分"功能需求"(要做什么)与"非功能需求"(性能、安全、兼容性等)
33
+ - 识别隐含的技术约束(语言栈、框架版本、部署环境)`,
34
+ },
35
+ {
36
+ title: '2. 识别歧义与缺失信息',
37
+ content: `- 列出所有**不明确**的地方(用 ❓ 标记)
38
+ - 列出**缺失**但必须明确的信息(用 ⚠️ 标记)
39
+ - 最多提出 3 个最关键的澄清问题,避免信息过载`,
40
+ },
41
+ {
42
+ title: '3. 假设声明',
43
+ content: `- 对于无法立即澄清的歧义,明确列出你的**假设前提**
44
+ - 格式:「假设 X,如果实际是 Y,则需要调整 Z」`,
45
+ },
46
+ {
47
+ title: '4. 输出结构化需求文档',
48
+ content: `按以下模板输出:
49
+
50
+ \`\`\`markdown
51
+ ## 需求理解确认
52
+
53
+ ### 核心目标
54
+ [一句话描述]
55
+
56
+ ### 功能需求
57
+ - [ ] 功能点 1
58
+ - [ ] 功能点 2
59
+
60
+ ### 非功能需求
61
+ - 性能:[描述]
62
+ - 兼容性:[描述]
63
+
64
+ ### 技术约束
65
+ - [约束条件]
66
+
67
+ ### 待澄清问题
68
+ ❓ 1. [问题]
69
+ ⚠️ 2. [缺失信息]
70
+
71
+ ### 当前假设
72
+ - 假设 [A],如果实际是 [B],则 [调整]
73
+ \`\`\``,
74
+ },
75
+ ],
76
+ outputFormat: 'Markdown 结构化文档,包含核心目标、功能需求列表、非功能需求、技术约束、待澄清问题和假设声明',
77
+ examples: [
78
+ {
79
+ input: '帮我做一个用户登录功能',
80
+ output: `## 需求理解确认
81
+
82
+ ### 核心目标
83
+ 实现安全的用户身份认证,允许用户通过账号密码登录系统。
84
+
85
+ ### 功能需求
86
+ - [ ] 用户名/邮箱 + 密码登录
87
+ - [ ] 登录失败错误提示
88
+ - [ ] 登录状态持久化(记住登录)
89
+
90
+ ### 待澄清问题
91
+ ❓ 1. 是否需要支持第三方登录(微信、GitHub)?
92
+ ❓ 2. Token 有效期要求?
93
+ ⚠️ 3. 后端 API 是否已有,还是需要一起实现?`,
94
+ },
95
+ ],
96
+ notes: [
97
+ '不要急于给出解决方案,先确保完全理解需求',
98
+ '澄清问题不超过 3 个,聚焦最关键的',
99
+ '假设声明必须明确,避免隐式假设导致方向偏差',
100
+ ],
101
+ category: '需求侧',
102
+ nextSkill: 'task-breakdown',
103
+ };
104
+ //# sourceMappingURL=01-requirement.js.map