@bovinphang/frontend-craft 2.8.0 → 3.0.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 (681) hide show
  1. package/.claude-plugin/marketplace.json +3 -3
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +64 -0
  4. package/CHANGELOG.zh-CN.md +64 -0
  5. package/CONTRIBUTING.md +74 -54
  6. package/CONTRIBUTING.zh-CN.md +75 -53
  7. package/README.md +150 -38
  8. package/README.openclaw.md +86 -11
  9. package/README.openclaw.zh-CN.md +86 -11
  10. package/README.zh-CN.md +147 -35
  11. package/agents/fec-code-reviewer.md +24 -3
  12. package/agents/fec-debugger.md +1 -1
  13. package/agents/fec-doc-updater.md +1 -1
  14. package/agents/fec-e2e-runner.md +1 -1
  15. package/agents/fec-figma-implementer.md +1 -1
  16. package/agents/fec-performance-optimizer.md +1 -1
  17. package/agents/fec-refactor-cleaner.md +4 -1
  18. package/agents/fec-refactoring-expert.md +81 -0
  19. package/agents/fec-security-reviewer.md +17 -1
  20. package/agents/fec-test-planner.md +1 -1
  21. package/agents/fec-typescript-reviewer.md +25 -9
  22. package/agents/fec-ui-checker.md +11 -11
  23. package/commands/fec-debug.md +1 -1
  24. package/commands/fec-refactor-plan.md +17 -0
  25. package/commands/fec-refactor.md +18 -0
  26. package/commands/fec-review.md +40 -10
  27. package/commands/fec-scaffold.md +1 -1
  28. package/commands/fec-smell.md +17 -0
  29. package/commands/fec-tdd.md +6 -2
  30. package/common-content.lock.json +3795 -0
  31. package/dist/bin/frontend-craft.js +386 -55
  32. package/dist/hooks/fec-run-tests.js +5 -1
  33. package/dist/hooks/fec-session-start.js +1 -1
  34. package/docs/common-migration.md +61 -0
  35. package/docs/example-prompts.md +29 -12
  36. package/docs/ja-JP/README.md +129 -34
  37. package/docs/ko-KR/README.md +129 -34
  38. package/docs/project-structure.md +49 -14
  39. package/docs/refactoring/README.md +50 -0
  40. package/docs/refactoring/catalog.md +105 -0
  41. package/docs/refactoring/smell-refactoring-matrix.md +41 -0
  42. package/docs/review-and-diagram-workflows.md +39 -0
  43. package/docs/runtimes/antigravity.md +13 -5
  44. package/docs/runtimes/augment.md +13 -5
  45. package/docs/runtimes/claude.md +26 -10
  46. package/docs/runtimes/claude.zh-CN.md +26 -10
  47. package/docs/runtimes/cline.md +13 -5
  48. package/docs/runtimes/codebuddy.md +13 -5
  49. package/docs/runtimes/codex.md +13 -5
  50. package/docs/runtimes/compatibility.md +42 -0
  51. package/docs/runtimes/copilot.md +13 -5
  52. package/docs/runtimes/cursor.md +13 -5
  53. package/docs/runtimes/gemini.md +13 -5
  54. package/docs/runtimes/kilo.md +13 -5
  55. package/docs/runtimes/openclaw.md +13 -5
  56. package/docs/runtimes/opencode.md +13 -5
  57. package/docs/runtimes/qoder.md +11 -12
  58. package/docs/runtimes/trae.md +13 -5
  59. package/docs/runtimes/windsurf.md +13 -5
  60. package/docs/superpowers/plans/2026-09-26-content-integrity.md +145 -0
  61. package/docs/superpowers/plans/2026-09-26-diagram-quality.md +170 -0
  62. package/docs/superpowers/specs/2026-09-26-diagram-quality-design.md +77 -0
  63. package/docs/superpowers/specs/2026-09-26-project-optimization-design.md +95 -0
  64. package/docs/zh-CN/common-migration.md +57 -0
  65. package/docs/zh-CN/example-prompts.md +29 -12
  66. package/docs/zh-CN/project-structure.md +49 -11
  67. package/docs/zh-CN/review-and-diagram-workflows.md +39 -0
  68. package/docs/zh-TW/README.md +129 -34
  69. package/localized/zh-CN/agents/fec-code-reviewer.md +22 -3
  70. package/localized/zh-CN/agents/fec-refactor-cleaner.md +3 -0
  71. package/localized/zh-CN/agents/fec-refactoring-expert.md +53 -0
  72. package/localized/zh-CN/agents/fec-security-reviewer.md +16 -0
  73. package/localized/zh-CN/agents/fec-typescript-reviewer.md +24 -8
  74. package/localized/zh-CN/commands/fec-refactor-plan.md +15 -0
  75. package/localized/zh-CN/commands/fec-refactor.md +14 -0
  76. package/localized/zh-CN/commands/fec-review.md +40 -9
  77. package/localized/zh-CN/commands/fec-smell.md +13 -0
  78. package/localized/zh-CN/commands/fec-tdd.md +4 -0
  79. package/localized/zh-CN/skills/cc-c-project-standard/SKILL.md +25 -0
  80. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
  81. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
  82. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
  83. package/localized/zh-CN/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
  84. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
  85. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
  86. package/localized/zh-CN/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
  87. package/localized/zh-CN/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
  88. package/localized/zh-CN/skills/cc-c-project-standard/references/practice.md +37 -0
  89. package/localized/zh-CN/skills/cc-cpp-project-standard/SKILL.md +25 -0
  90. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
  91. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
  92. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
  93. package/localized/zh-CN/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
  94. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
  95. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
  96. package/localized/zh-CN/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
  97. package/localized/zh-CN/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
  98. package/localized/zh-CN/skills/cc-cpp-project-standard/references/practice.md +37 -0
  99. package/localized/zh-CN/skills/cc-debug-methodology/SKILL.md +8 -0
  100. package/localized/zh-CN/skills/cc-debug-methodology/references/method.md +13 -0
  101. package/localized/zh-CN/skills/cc-doc-sync-core/SKILL.md +8 -0
  102. package/localized/zh-CN/skills/cc-doc-sync-core/references/method.md +12 -0
  103. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
  104. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
  105. package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
  106. package/localized/zh-CN/skills/cc-electron-project-standard/SKILL.md +21 -0
  107. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
  108. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
  109. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
  110. package/localized/zh-CN/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
  111. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
  112. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
  113. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
  114. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
  115. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
  116. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
  117. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
  118. package/localized/zh-CN/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
  119. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
  120. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
  121. package/localized/zh-CN/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
  122. package/localized/zh-CN/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
  123. package/localized/zh-CN/skills/cc-electron-project-standard/references/practice.md +19 -0
  124. package/localized/zh-CN/skills/cc-electron-project-standard/references/verification.md +17 -0
  125. package/localized/zh-CN/skills/cc-go-concurrency/SKILL.md +25 -0
  126. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
  127. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
  128. package/localized/zh-CN/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
  129. package/localized/zh-CN/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
  130. package/localized/zh-CN/skills/cc-go-concurrency/references/practice.md +37 -0
  131. package/localized/zh-CN/skills/cc-go-project-standard/SKILL.md +25 -0
  132. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
  133. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
  134. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
  135. package/localized/zh-CN/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
  136. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
  137. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
  138. package/localized/zh-CN/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
  139. package/localized/zh-CN/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
  140. package/localized/zh-CN/skills/cc-go-project-standard/references/practice.md +37 -0
  141. package/localized/zh-CN/skills/cc-java-project-standard/SKILL.md +25 -0
  142. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/README.md +5 -0
  143. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
  144. package/localized/zh-CN/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
  145. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
  146. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
  147. package/localized/zh-CN/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
  148. package/localized/zh-CN/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
  149. package/localized/zh-CN/skills/cc-java-project-standard/references/practice.md +37 -0
  150. package/localized/zh-CN/skills/cc-java-runtime/SKILL.md +25 -0
  151. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
  152. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
  153. package/localized/zh-CN/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
  154. package/localized/zh-CN/skills/cc-java-runtime/references/engineering-practices.md +73 -0
  155. package/localized/zh-CN/skills/cc-java-runtime/references/practice.md +37 -0
  156. package/localized/zh-CN/skills/cc-native-memory-safety/SKILL.md +25 -0
  157. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
  158. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
  159. package/localized/zh-CN/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
  160. package/localized/zh-CN/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
  161. package/localized/zh-CN/skills/cc-native-memory-safety/references/practice.md +37 -0
  162. package/localized/zh-CN/skills/cc-python-async/SKILL.md +25 -0
  163. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.md +237 -0
  164. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
  165. package/localized/zh-CN/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
  166. package/localized/zh-CN/skills/cc-python-async/references/engineering-practices.md +73 -0
  167. package/localized/zh-CN/skills/cc-python-async/references/practice.md +37 -0
  168. package/localized/zh-CN/skills/cc-python-project-standard/SKILL.md +25 -0
  169. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
  170. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
  171. package/localized/zh-CN/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
  172. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
  173. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
  174. package/localized/zh-CN/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
  175. package/localized/zh-CN/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
  176. package/localized/zh-CN/skills/cc-python-project-standard/references/practice.md +37 -0
  177. package/localized/zh-CN/skills/cc-refactoring-core/SKILL.md +8 -0
  178. package/localized/zh-CN/skills/cc-refactoring-core/references/method.md +16 -0
  179. package/localized/zh-CN/skills/cc-rust-async/SKILL.md +25 -0
  180. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
  181. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
  182. package/localized/zh-CN/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
  183. package/localized/zh-CN/skills/cc-rust-async/references/engineering-practices.md +73 -0
  184. package/localized/zh-CN/skills/cc-rust-async/references/practice.md +37 -0
  185. package/localized/zh-CN/skills/cc-rust-project-standard/SKILL.md +25 -0
  186. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
  187. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
  188. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
  189. package/localized/zh-CN/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
  190. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
  191. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
  192. package/localized/zh-CN/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
  193. package/localized/zh-CN/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
  194. package/localized/zh-CN/skills/cc-rust-project-standard/references/practice.md +37 -0
  195. package/localized/zh-CN/skills/cc-source-driven-development/SKILL.md +8 -0
  196. package/localized/zh-CN/skills/cc-source-driven-development/references/method.md +19 -0
  197. package/localized/zh-CN/skills/cc-tauri-project-standard/SKILL.md +21 -0
  198. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
  199. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
  200. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
  201. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
  202. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
  203. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
  204. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
  205. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
  206. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
  207. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
  208. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
  209. package/localized/zh-CN/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
  210. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
  211. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
  212. package/localized/zh-CN/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
  213. package/localized/zh-CN/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
  214. package/localized/zh-CN/skills/cc-tauri-project-standard/references/practice.md +20 -0
  215. package/localized/zh-CN/skills/cc-tauri-project-standard/references/verification.md +18 -0
  216. package/localized/zh-CN/skills/cc-tdd-methodology/SKILL.md +8 -0
  217. package/localized/zh-CN/skills/cc-tdd-methodology/references/method.md +13 -0
  218. package/localized/zh-CN/skills/cc-technical-diagrams/SKILL.md +34 -0
  219. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
  220. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/README.md +14 -0
  221. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/architecture.json +121 -0
  222. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/invalid-explicit.json +41 -0
  223. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/sequence.json +53 -0
  224. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/sequence.mmd +21 -0
  225. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/workflow.json +98 -0
  226. package/localized/zh-CN/skills/cc-technical-diagrams/assets/quality-examples/workflow.mmd +7 -0
  227. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +12 -5
  228. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +14 -7
  229. package/localized/zh-CN/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
  230. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-browser.mjs +153 -0
  231. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
  232. package/{skills/fec-image-generation → localized/zh-CN/skills/cc-technical-diagrams}/scripts/export-diagram.mjs +48 -80
  233. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/mermaid-render.mjs +64 -0
  234. package/localized/zh-CN/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
  235. package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +193 -53
  236. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
  237. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/README.md +7 -0
  238. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
  239. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
  240. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
  241. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
  242. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  243. package/localized/zh-CN/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
  244. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
  245. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
  246. package/localized/zh-CN/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
  247. package/localized/zh-CN/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
  248. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +5 -34
  249. package/localized/zh-CN/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +6 -0
  250. package/localized/zh-CN/skills/eval_queries.json +738 -72
  251. package/localized/zh-CN/skills/fec-api-integration/SKILL.md +5 -1
  252. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
  253. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
  254. package/localized/zh-CN/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
  255. package/localized/zh-CN/skills/fec-api-integration/references/engineering-practices.md +73 -0
  256. package/localized/zh-CN/skills/fec-code-review/SKILL.md +24 -1
  257. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.md +237 -0
  258. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
  259. package/localized/zh-CN/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
  260. package/localized/zh-CN/skills/fec-code-review/references/engineering-practices.md +73 -0
  261. package/localized/zh-CN/skills/fec-code-review/references/report-template.md +11 -1
  262. package/localized/zh-CN/skills/fec-code-smells/SKILL.md +33 -0
  263. package/localized/zh-CN/skills/fec-code-smells/references/detection-guide.md +25 -0
  264. package/localized/zh-CN/skills/fec-code-smells/references/smell-catalog.md +817 -0
  265. package/localized/zh-CN/skills/fec-code-smells/references/smell-to-refactoring-map.md +265 -0
  266. package/localized/zh-CN/skills/fec-data-fetching/SKILL.md +4 -0
  267. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
  268. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
  269. package/localized/zh-CN/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
  270. package/localized/zh-CN/skills/fec-data-fetching/references/engineering-practices.md +73 -0
  271. package/localized/zh-CN/skills/fec-debug-framework/SKILL.md +1 -50
  272. package/localized/zh-CN/skills/fec-debug-framework/references/common/debug.md +13 -0
  273. package/localized/zh-CN/skills/fec-dependency-upgrade/SKILL.md +4 -0
  274. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
  275. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
  276. package/localized/zh-CN/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
  277. package/localized/zh-CN/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
  278. package/localized/zh-CN/skills/fec-doc-sync/SKILL.md +7 -28
  279. package/localized/zh-CN/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
  280. package/localized/zh-CN/skills/fec-image-generation/SKILL.md +7 -71
  281. package/localized/zh-CN/skills/fec-image-generation/references/png-qa-autofix.md +9 -2
  282. package/localized/zh-CN/skills/fec-image-generation/scripts/diagram-layout.mjs +176 -0
  283. package/localized/zh-CN/skills/fec-image-generation/scripts/png-qa.mjs +36 -5
  284. package/localized/zh-CN/skills/fec-react-project-standard/SKILL.md +6 -0
  285. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
  286. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
  287. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
  288. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  289. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
  290. package/localized/zh-CN/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
  291. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
  292. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
  293. package/localized/zh-CN/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
  294. package/localized/zh-CN/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
  295. package/localized/zh-CN/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
  296. package/localized/zh-CN/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
  297. package/localized/zh-CN/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
  298. package/localized/zh-CN/skills/fec-refactor-clean/SKILL.md +3 -0
  299. package/localized/zh-CN/skills/fec-refactoring/SKILL.md +25 -0
  300. package/localized/zh-CN/skills/fec-refactoring/references/common/refactoring.md +16 -0
  301. package/localized/zh-CN/skills/fec-refactoring/references/principles.md +13 -0
  302. package/localized/zh-CN/skills/fec-refactoring/references/refactoring-vs-feature-change.md +25 -0
  303. package/localized/zh-CN/skills/fec-refactoring/references/when-to-refactor.md +17 -0
  304. package/localized/zh-CN/skills/fec-refactoring/references/workflow.md +7 -0
  305. package/localized/zh-CN/skills/fec-refactoring-api/SKILL.md +25 -0
  306. package/localized/zh-CN/skills/fec-refactoring-api/references/api-refactorings.md +496 -0
  307. package/localized/zh-CN/skills/fec-refactoring-catalog/SKILL.md +21 -0
  308. package/localized/zh-CN/skills/fec-refactoring-catalog/references/catalog-index.md +99 -0
  309. package/localized/zh-CN/skills/fec-refactoring-catalog/references/composition-guide.md +49 -0
  310. package/localized/zh-CN/skills/fec-refactoring-catalog/references/selection-guide.md +41 -0
  311. package/localized/zh-CN/skills/fec-refactoring-control/SKILL.md +25 -0
  312. package/localized/zh-CN/skills/fec-refactoring-control/references/conditional-refactorings.md +299 -0
  313. package/localized/zh-CN/skills/fec-refactoring-data/SKILL.md +25 -0
  314. package/localized/zh-CN/skills/fec-refactoring-data/references/data-refactorings.md +248 -0
  315. package/localized/zh-CN/skills/fec-refactoring-encapsulation/SKILL.md +25 -0
  316. package/localized/zh-CN/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md +452 -0
  317. package/localized/zh-CN/skills/fec-refactoring-functions/SKILL.md +25 -0
  318. package/localized/zh-CN/skills/fec-refactoring-functions/references/function-refactorings.md +567 -0
  319. package/localized/zh-CN/skills/fec-refactoring-inheritance/SKILL.md +25 -0
  320. package/localized/zh-CN/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md +550 -0
  321. package/localized/zh-CN/skills/fec-refactoring-move-features/SKILL.md +25 -0
  322. package/localized/zh-CN/skills/fec-refactoring-move-features/references/moving-refactorings.md +453 -0
  323. package/localized/zh-CN/skills/fec-refactoring-validation/SKILL.md +52 -0
  324. package/localized/zh-CN/skills/fec-refactoring-validation/references/behavior-preservation.md +15 -0
  325. package/localized/zh-CN/skills/fec-refactoring-validation/references/refactoring-test-checklist.md +25 -0
  326. package/localized/zh-CN/skills/fec-security-review/SKILL.md +20 -0
  327. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.md +237 -0
  328. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
  329. package/localized/zh-CN/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
  330. package/localized/zh-CN/skills/fec-security-review/references/engineering-practices.md +73 -0
  331. package/localized/zh-CN/skills/fec-security-review/references/report-template.md +10 -0
  332. package/localized/zh-CN/skills/fec-tdd-workflow/SKILL.md +12 -40
  333. package/localized/zh-CN/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
  334. package/localized/zh-CN/skills/fec-testing-strategy/SKILL.md +4 -0
  335. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
  336. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
  337. package/localized/zh-CN/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
  338. package/localized/zh-CN/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
  339. package/localized/zh-CN/skills/fec-vue3-project-standard/SKILL.md +4 -0
  340. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
  341. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
  342. package/localized/zh-CN/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
  343. package/localized/zh-CN/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
  344. package/localized/zh-CN/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
  345. package/localized/zh-CN/skills/metadata.json +2222 -626
  346. package/localized/zh-CN/skills/relations.json +472 -75
  347. package/localized/zh-CN/templates/shared/rules/fec-agent-workflow.md +1 -0
  348. package/localized/zh-CN/templates/shared/rules/fec-source-driven-development.md +3 -29
  349. package/localized/zh-CN/templates/shared/rules/fec-typescript.md +4 -4
  350. package/localized/zh-CN/templates/shared/rules/references/common/source-driven-development.md +19 -0
  351. package/openclaw.plugin.json +2 -3
  352. package/package.json +34 -17
  353. package/skills/cc-c-project-standard/SKILL.md +25 -0
  354. package/skills/cc-c-project-standard/examples/engineering/README.md +7 -0
  355. package/skills/cc-c-project-standard/examples/engineering/boundary.c +26 -0
  356. package/skills/cc-c-project-standard/examples/engineering/boundary.h +15 -0
  357. package/skills/cc-c-project-standard/examples/engineering/boundary_test.c +73 -0
  358. package/skills/cc-c-project-standard/references/common/engineering-practices.md +237 -0
  359. package/skills/cc-c-project-standard/references/common/engineering-practices.rules.json +121 -0
  360. package/skills/cc-c-project-standard/references/common/engineering-practices.sources.json +377 -0
  361. package/skills/cc-c-project-standard/references/engineering-practices.md +106 -0
  362. package/skills/cc-c-project-standard/references/practice.md +37 -0
  363. package/skills/cc-cpp-project-standard/SKILL.md +25 -0
  364. package/skills/cc-cpp-project-standard/examples/engineering/README.md +7 -0
  365. package/skills/cc-cpp-project-standard/examples/engineering/boundary.cpp +26 -0
  366. package/skills/cc-cpp-project-standard/examples/engineering/boundary.hpp +12 -0
  367. package/skills/cc-cpp-project-standard/examples/engineering/boundary_test.cpp +38 -0
  368. package/skills/cc-cpp-project-standard/references/common/engineering-practices.md +237 -0
  369. package/skills/cc-cpp-project-standard/references/common/engineering-practices.rules.json +121 -0
  370. package/skills/cc-cpp-project-standard/references/common/engineering-practices.sources.json +377 -0
  371. package/skills/cc-cpp-project-standard/references/engineering-practices.md +106 -0
  372. package/skills/cc-cpp-project-standard/references/practice.md +37 -0
  373. package/skills/cc-debug-methodology/SKILL.md +8 -0
  374. package/skills/cc-debug-methodology/references/method.md +13 -0
  375. package/skills/cc-doc-sync-core/SKILL.md +8 -0
  376. package/skills/cc-doc-sync-core/references/method.md +12 -0
  377. package/skills/{fec-drawio-studio → cc-drawio-studio}/SKILL.md +5 -5
  378. package/skills/{fec-drawio-studio → cc-drawio-studio}/references/flowchart-quality.md +1 -1
  379. package/skills/{fec-drawio-studio → cc-drawio-studio}/references/layout-and-export.md +9 -9
  380. package/skills/cc-electron-project-standard/SKILL.md +21 -0
  381. package/skills/cc-electron-project-standard/examples/engineering/README.md +7 -0
  382. package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.cjs +44 -0
  383. package/skills/cc-electron-project-standard/examples/engineering/ipc-lifecycle.test.cjs +44 -0
  384. package/skills/cc-electron-project-standard/examples/engineering/package.json +8 -0
  385. package/skills/cc-electron-project-standard/examples/minimal/README.md +9 -0
  386. package/skills/cc-electron-project-standard/examples/minimal/boundary.cjs +19 -0
  387. package/skills/cc-electron-project-standard/examples/minimal/boundary.test.cjs +7 -0
  388. package/skills/cc-electron-project-standard/examples/minimal/index.html +1 -0
  389. package/skills/cc-electron-project-standard/examples/minimal/main.cjs +20 -0
  390. package/skills/cc-electron-project-standard/examples/minimal/package.json +9 -0
  391. package/skills/cc-electron-project-standard/examples/minimal/preload.cjs +2 -0
  392. package/skills/cc-electron-project-standard/examples/minimal/renderer.js +4 -0
  393. package/skills/cc-electron-project-standard/references/common/engineering-practices.md +237 -0
  394. package/skills/cc-electron-project-standard/references/common/engineering-practices.rules.json +121 -0
  395. package/skills/cc-electron-project-standard/references/common/engineering-practices.sources.json +377 -0
  396. package/skills/cc-electron-project-standard/references/engineering-practices.md +73 -0
  397. package/skills/cc-electron-project-standard/references/practice.md +19 -0
  398. package/skills/cc-electron-project-standard/references/verification.md +17 -0
  399. package/skills/cc-go-concurrency/SKILL.md +25 -0
  400. package/skills/cc-go-concurrency/references/common/engineering-practices.md +237 -0
  401. package/skills/cc-go-concurrency/references/common/engineering-practices.rules.json +121 -0
  402. package/skills/cc-go-concurrency/references/common/engineering-practices.sources.json +377 -0
  403. package/skills/cc-go-concurrency/references/engineering-practices.md +73 -0
  404. package/skills/cc-go-concurrency/references/practice.md +37 -0
  405. package/skills/cc-go-project-standard/SKILL.md +25 -0
  406. package/skills/cc-go-project-standard/examples/engineering/README.md +7 -0
  407. package/skills/cc-go-project-standard/examples/engineering/go.mod +3 -0
  408. package/skills/cc-go-project-standard/examples/engineering/lifecycle.go +71 -0
  409. package/skills/cc-go-project-standard/examples/engineering/lifecycle_test.go +22 -0
  410. package/skills/cc-go-project-standard/references/common/engineering-practices.md +237 -0
  411. package/skills/cc-go-project-standard/references/common/engineering-practices.rules.json +121 -0
  412. package/skills/cc-go-project-standard/references/common/engineering-practices.sources.json +377 -0
  413. package/skills/cc-go-project-standard/references/engineering-practices.md +106 -0
  414. package/skills/cc-go-project-standard/references/practice.md +37 -0
  415. package/skills/cc-java-project-standard/SKILL.md +25 -0
  416. package/skills/cc-java-project-standard/examples/engineering/README.md +7 -0
  417. package/skills/cc-java-project-standard/examples/engineering/ResourceBoundary.java +26 -0
  418. package/skills/cc-java-project-standard/examples/engineering/ResourceBoundaryTest.java +41 -0
  419. package/skills/cc-java-project-standard/references/common/engineering-practices.md +237 -0
  420. package/skills/cc-java-project-standard/references/common/engineering-practices.rules.json +121 -0
  421. package/skills/cc-java-project-standard/references/common/engineering-practices.sources.json +377 -0
  422. package/skills/cc-java-project-standard/references/engineering-practices.md +106 -0
  423. package/skills/cc-java-project-standard/references/practice.md +35 -0
  424. package/skills/cc-java-runtime/SKILL.md +25 -0
  425. package/skills/cc-java-runtime/references/common/engineering-practices.md +237 -0
  426. package/skills/cc-java-runtime/references/common/engineering-practices.rules.json +121 -0
  427. package/skills/cc-java-runtime/references/common/engineering-practices.sources.json +377 -0
  428. package/skills/cc-java-runtime/references/engineering-practices.md +73 -0
  429. package/skills/cc-java-runtime/references/practice.md +37 -0
  430. package/skills/cc-native-memory-safety/SKILL.md +25 -0
  431. package/skills/cc-native-memory-safety/references/common/engineering-practices.md +237 -0
  432. package/skills/cc-native-memory-safety/references/common/engineering-practices.rules.json +121 -0
  433. package/skills/cc-native-memory-safety/references/common/engineering-practices.sources.json +377 -0
  434. package/skills/cc-native-memory-safety/references/engineering-practices.md +73 -0
  435. package/skills/cc-native-memory-safety/references/practice.md +37 -0
  436. package/skills/cc-python-async/SKILL.md +25 -0
  437. package/skills/cc-python-async/references/common/engineering-practices.md +237 -0
  438. package/skills/cc-python-async/references/common/engineering-practices.rules.json +121 -0
  439. package/skills/cc-python-async/references/common/engineering-practices.sources.json +377 -0
  440. package/skills/cc-python-async/references/engineering-practices.md +73 -0
  441. package/skills/cc-python-async/references/practice.md +37 -0
  442. package/skills/cc-python-project-standard/SKILL.md +25 -0
  443. package/skills/cc-python-project-standard/examples/engineering/README.md +7 -0
  444. package/skills/cc-python-project-standard/examples/engineering/resource_boundary.py +37 -0
  445. package/skills/cc-python-project-standard/examples/engineering/test_resource_boundary.py +49 -0
  446. package/skills/cc-python-project-standard/references/common/engineering-practices.md +237 -0
  447. package/skills/cc-python-project-standard/references/common/engineering-practices.rules.json +121 -0
  448. package/skills/cc-python-project-standard/references/common/engineering-practices.sources.json +377 -0
  449. package/skills/cc-python-project-standard/references/engineering-practices.md +106 -0
  450. package/skills/cc-python-project-standard/references/practice.md +37 -0
  451. package/skills/cc-refactoring-core/SKILL.md +8 -0
  452. package/skills/cc-refactoring-core/references/method.md +16 -0
  453. package/skills/cc-rust-async/SKILL.md +25 -0
  454. package/skills/cc-rust-async/references/common/engineering-practices.md +237 -0
  455. package/skills/cc-rust-async/references/common/engineering-practices.rules.json +121 -0
  456. package/skills/cc-rust-async/references/common/engineering-practices.sources.json +377 -0
  457. package/skills/cc-rust-async/references/engineering-practices.md +73 -0
  458. package/skills/cc-rust-async/references/practice.md +37 -0
  459. package/skills/cc-rust-project-standard/SKILL.md +25 -0
  460. package/skills/cc-rust-project-standard/examples/engineering/Cargo.lock +7 -0
  461. package/skills/cc-rust-project-standard/examples/engineering/Cargo.toml +8 -0
  462. package/skills/cc-rust-project-standard/examples/engineering/README.md +5 -0
  463. package/skills/cc-rust-project-standard/examples/engineering/src/lib.rs +43 -0
  464. package/skills/cc-rust-project-standard/references/common/engineering-practices.md +237 -0
  465. package/skills/cc-rust-project-standard/references/common/engineering-practices.rules.json +121 -0
  466. package/skills/cc-rust-project-standard/references/common/engineering-practices.sources.json +377 -0
  467. package/skills/cc-rust-project-standard/references/engineering-practices.md +106 -0
  468. package/skills/cc-rust-project-standard/references/practice.md +37 -0
  469. package/skills/cc-source-driven-development/SKILL.md +8 -0
  470. package/skills/cc-source-driven-development/references/method.md +19 -0
  471. package/skills/cc-tauri-project-standard/SKILL.md +21 -0
  472. package/skills/cc-tauri-project-standard/examples/minimal/README.md +9 -0
  473. package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.lock +5 -0
  474. package/skills/cc-tauri-project-standard/examples/minimal/core/Cargo.toml +9 -0
  475. package/skills/cc-tauri-project-standard/examples/minimal/core/src/lib.rs +46 -0
  476. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/Cargo.toml +12 -0
  477. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/build.rs +5 -0
  478. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/capabilities/main.json +6 -0
  479. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/permissions/documents.toml +4 -0
  480. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/src/main.rs +22 -0
  481. package/skills/cc-tauri-project-standard/examples/minimal/src-tauri/tauri.conf.json +13 -0
  482. package/skills/cc-tauri-project-standard/examples/minimal/ui/app.js +5 -0
  483. package/skills/cc-tauri-project-standard/examples/minimal/ui/index.html +1 -0
  484. package/skills/cc-tauri-project-standard/references/common/engineering-practices.md +237 -0
  485. package/skills/cc-tauri-project-standard/references/common/engineering-practices.rules.json +121 -0
  486. package/skills/cc-tauri-project-standard/references/common/engineering-practices.sources.json +377 -0
  487. package/skills/cc-tauri-project-standard/references/engineering-practices.md +73 -0
  488. package/skills/cc-tauri-project-standard/references/practice.md +20 -0
  489. package/skills/cc-tauri-project-standard/references/verification.md +18 -0
  490. package/skills/cc-tdd-methodology/SKILL.md +8 -0
  491. package/skills/cc-tdd-methodology/references/method.md +13 -0
  492. package/skills/cc-technical-diagrams/SKILL.md +34 -0
  493. package/skills/{fec-image-generation → cc-technical-diagrams}/assets/interactive-diagram.html +371 -371
  494. package/skills/cc-technical-diagrams/assets/quality-examples/README.md +14 -0
  495. package/skills/cc-technical-diagrams/assets/quality-examples/architecture.json +121 -0
  496. package/skills/cc-technical-diagrams/assets/quality-examples/invalid-explicit.json +41 -0
  497. package/skills/cc-technical-diagrams/assets/quality-examples/sequence.json +53 -0
  498. package/skills/cc-technical-diagrams/assets/quality-examples/sequence.mmd +21 -0
  499. package/skills/cc-technical-diagrams/assets/quality-examples/workflow.json +98 -0
  500. package/skills/cc-technical-diagrams/assets/quality-examples/workflow.mmd +7 -0
  501. package/skills/{fec-image-generation → cc-technical-diagrams}/references/diagram-workflows.md +12 -5
  502. package/skills/{fec-image-generation → cc-technical-diagrams}/references/html-technical-diagrams.md +14 -7
  503. package/skills/cc-technical-diagrams/references/png-qa-autofix.md +37 -0
  504. package/skills/cc-technical-diagrams/scripts/diagram-browser.mjs +153 -0
  505. package/skills/cc-technical-diagrams/scripts/diagram-layout.mjs +176 -0
  506. package/{localized/zh-CN/skills/fec-image-generation → skills/cc-technical-diagrams}/scripts/export-diagram.mjs +48 -80
  507. package/skills/cc-technical-diagrams/scripts/mermaid-render.mjs +64 -0
  508. package/skills/cc-technical-diagrams/scripts/png-qa.mjs +462 -0
  509. package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/tech-diagram-render.mjs +193 -53
  510. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/SKILL.md +10 -4
  511. package/skills/cc-typescript-project-standard/examples/engineering/README.md +9 -0
  512. package/skills/cc-typescript-project-standard/examples/engineering/boundary.test.ts +16 -0
  513. package/skills/cc-typescript-project-standard/examples/engineering/input.ts +12 -0
  514. package/skills/cc-typescript-project-standard/examples/engineering/package.json +12 -0
  515. package/skills/cc-typescript-project-standard/examples/engineering/pnpm-lock.yaml +39 -0
  516. package/skills/cc-typescript-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  517. package/skills/cc-typescript-project-standard/examples/engineering/tsconfig.json +8 -0
  518. package/skills/cc-typescript-project-standard/references/common/engineering-practices.md +237 -0
  519. package/skills/cc-typescript-project-standard/references/common/engineering-practices.rules.json +121 -0
  520. package/skills/cc-typescript-project-standard/references/common/engineering-practices.sources.json +377 -0
  521. package/skills/cc-typescript-project-standard/references/engineering-practices.md +106 -0
  522. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety-patterns.md +6 -35
  523. package/skills/{fec-typescript-project-standard → cc-typescript-project-standard}/references/type-safety.md +7 -1
  524. package/skills/eval_queries.json +738 -72
  525. package/skills/fec-api-integration/SKILL.md +5 -1
  526. package/skills/fec-api-integration/references/common/engineering-practices.md +237 -0
  527. package/skills/fec-api-integration/references/common/engineering-practices.rules.json +121 -0
  528. package/skills/fec-api-integration/references/common/engineering-practices.sources.json +377 -0
  529. package/skills/fec-api-integration/references/engineering-practices.md +73 -0
  530. package/skills/fec-code-review/SKILL.md +24 -1
  531. package/skills/fec-code-review/references/common/engineering-practices.md +237 -0
  532. package/skills/fec-code-review/references/common/engineering-practices.rules.json +121 -0
  533. package/skills/fec-code-review/references/common/engineering-practices.sources.json +377 -0
  534. package/skills/fec-code-review/references/engineering-practices.md +73 -0
  535. package/skills/fec-code-review/references/report-template.md +11 -1
  536. package/skills/fec-code-smells/SKILL.md +33 -0
  537. package/skills/fec-code-smells/references/detection-guide.md +25 -0
  538. package/skills/fec-code-smells/references/smell-catalog.md +861 -0
  539. package/skills/fec-code-smells/references/smell-to-refactoring-map.md +265 -0
  540. package/skills/fec-data-fetching/SKILL.md +5 -1
  541. package/skills/fec-data-fetching/references/common/engineering-practices.md +237 -0
  542. package/skills/fec-data-fetching/references/common/engineering-practices.rules.json +121 -0
  543. package/skills/fec-data-fetching/references/common/engineering-practices.sources.json +377 -0
  544. package/skills/fec-data-fetching/references/engineering-practices.md +73 -0
  545. package/skills/fec-debug-framework/SKILL.md +2 -51
  546. package/skills/fec-debug-framework/references/common/debug.md +13 -0
  547. package/skills/fec-dependency-upgrade/SKILL.md +4 -0
  548. package/skills/fec-dependency-upgrade/references/common/engineering-practices.md +237 -0
  549. package/skills/fec-dependency-upgrade/references/common/engineering-practices.rules.json +121 -0
  550. package/skills/fec-dependency-upgrade/references/common/engineering-practices.sources.json +377 -0
  551. package/skills/fec-dependency-upgrade/references/engineering-practices.md +73 -0
  552. package/skills/fec-doc-sync/SKILL.md +7 -28
  553. package/skills/fec-doc-sync/references/common/doc-sync.md +12 -0
  554. package/skills/fec-image-generation/SKILL.md +7 -72
  555. package/skills/fec-image-generation/references/png-qa-autofix.md +9 -2
  556. package/skills/fec-image-generation/scripts/diagram-layout.mjs +176 -0
  557. package/skills/fec-image-generation/scripts/png-qa.mjs +36 -5
  558. package/skills/fec-legacy-web-standard/SKILL.md +1 -1
  559. package/skills/fec-react-project-standard/SKILL.md +6 -0
  560. package/skills/fec-react-project-standard/examples/engineering/README.md +7 -0
  561. package/skills/fec-react-project-standard/examples/engineering/package.json +15 -0
  562. package/skills/fec-react-project-standard/examples/engineering/pnpm-lock.yaml +662 -0
  563. package/skills/fec-react-project-standard/examples/engineering/pnpm-workspace.yaml +1 -0
  564. package/skills/fec-react-project-standard/examples/engineering/request-view.mjs +24 -0
  565. package/skills/fec-react-project-standard/examples/engineering/request-view.test.mjs +33 -0
  566. package/skills/fec-react-project-standard/references/common/engineering-practices.md +237 -0
  567. package/skills/fec-react-project-standard/references/common/engineering-practices.rules.json +121 -0
  568. package/skills/fec-react-project-standard/references/common/engineering-practices.sources.json +377 -0
  569. package/skills/fec-react-project-standard/references/engineering-practices.md +73 -0
  570. package/skills/fec-react-project-standard/references/generic-component-types.md +37 -0
  571. package/skills/fec-react-project-standard/references/react-quality-patterns.md +3 -3
  572. package/skills/fec-react-project-standard/references/react-runtime-patterns.md +1 -1
  573. package/skills/fec-refactor-clean/SKILL.md +3 -0
  574. package/skills/fec-refactoring/SKILL.md +25 -0
  575. package/skills/fec-refactoring/references/common/refactoring.md +16 -0
  576. package/skills/fec-refactoring/references/principles.md +13 -0
  577. package/skills/fec-refactoring/references/refactoring-vs-feature-change.md +27 -0
  578. package/skills/fec-refactoring/references/when-to-refactor.md +31 -0
  579. package/skills/fec-refactoring/references/workflow.md +7 -0
  580. package/skills/fec-refactoring-api/SKILL.md +25 -0
  581. package/skills/fec-refactoring-api/references/api-refactorings.md +496 -0
  582. package/skills/fec-refactoring-catalog/SKILL.md +28 -0
  583. package/skills/fec-refactoring-catalog/references/catalog-index.md +99 -0
  584. package/skills/fec-refactoring-catalog/references/composition-guide.md +49 -0
  585. package/skills/fec-refactoring-catalog/references/selection-guide.md +47 -0
  586. package/skills/fec-refactoring-control/SKILL.md +25 -0
  587. package/skills/fec-refactoring-control/references/conditional-refactorings.md +299 -0
  588. package/skills/fec-refactoring-data/SKILL.md +25 -0
  589. package/skills/fec-refactoring-data/references/data-refactorings.md +248 -0
  590. package/skills/fec-refactoring-encapsulation/SKILL.md +25 -0
  591. package/skills/fec-refactoring-encapsulation/references/encapsulation-refactorings.md +452 -0
  592. package/skills/fec-refactoring-functions/SKILL.md +25 -0
  593. package/skills/fec-refactoring-functions/references/function-refactorings.md +567 -0
  594. package/skills/fec-refactoring-inheritance/SKILL.md +25 -0
  595. package/skills/fec-refactoring-inheritance/references/inheritance-refactorings.md +550 -0
  596. package/skills/fec-refactoring-move-features/SKILL.md +25 -0
  597. package/skills/fec-refactoring-move-features/references/moving-refactorings.md +453 -0
  598. package/skills/fec-refactoring-validation/SKILL.md +59 -0
  599. package/skills/fec-refactoring-validation/references/behavior-preservation.md +53 -0
  600. package/skills/fec-refactoring-validation/references/refactoring-test-checklist.md +42 -0
  601. package/skills/fec-security-review/SKILL.md +20 -0
  602. package/skills/fec-security-review/references/common/engineering-practices.md +237 -0
  603. package/skills/fec-security-review/references/common/engineering-practices.rules.json +121 -0
  604. package/skills/fec-security-review/references/common/engineering-practices.sources.json +377 -0
  605. package/skills/fec-security-review/references/engineering-practices.md +73 -0
  606. package/skills/fec-security-review/references/report-template.md +10 -0
  607. package/skills/fec-tdd-workflow/SKILL.md +14 -42
  608. package/skills/fec-tdd-workflow/references/common/tdd.md +13 -0
  609. package/skills/fec-testing-strategy/SKILL.md +4 -0
  610. package/skills/fec-testing-strategy/references/common/engineering-practices.md +237 -0
  611. package/skills/fec-testing-strategy/references/common/engineering-practices.rules.json +121 -0
  612. package/skills/fec-testing-strategy/references/common/engineering-practices.sources.json +377 -0
  613. package/skills/fec-testing-strategy/references/engineering-practices.md +73 -0
  614. package/skills/fec-vue3-project-standard/SKILL.md +4 -0
  615. package/skills/fec-vue3-project-standard/references/common/engineering-practices.md +237 -0
  616. package/skills/fec-vue3-project-standard/references/common/engineering-practices.rules.json +121 -0
  617. package/skills/fec-vue3-project-standard/references/common/engineering-practices.sources.json +377 -0
  618. package/skills/fec-vue3-project-standard/references/engineering-practices.md +73 -0
  619. package/skills/fec-vue3-project-standard/references/vue3-project-structure.md +2 -2
  620. package/skills/metadata.json +2230 -629
  621. package/skills/relations.json +467 -74
  622. package/templates/shared/rules/fec-agent-workflow.md +1 -0
  623. package/templates/shared/rules/fec-source-driven-development.md +3 -29
  624. package/templates/shared/rules/fec-typescript.md +4 -4
  625. package/templates/shared/rules/references/common/source-driven-development.md +19 -0
  626. package/docs/superpowers/plans/2026-05-29-fec-debug.md +0 -491
  627. package/docs/superpowers/specs/2026-05-29-fec-debug-design.md +0 -340
  628. package/localized/zh-CN/skills/fec-source-driven-development/SKILL.md +0 -87
  629. package/skills/fec-source-driven-development/SKILL.md +0 -87
  630. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
  631. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
  632. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
  633. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
  634. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
  635. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
  636. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
  637. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
  638. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
  639. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
  640. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
  641. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
  642. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
  643. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
  644. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
  645. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
  646. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
  647. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
  648. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
  649. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
  650. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
  651. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
  652. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
  653. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
  654. /package/localized/zh-CN/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
  655. /package/localized/zh-CN/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
  656. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/THIRD_PARTY_NOTICES.md +0 -0
  657. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/brand-icons.json +0 -0
  658. /package/skills/{fec-drawio-studio → cc-drawio-studio}/data/shape-index.json +0 -0
  659. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/data-residency.md +0 -0
  660. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/diagram-patterns.md +0 -0
  661. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/troubleshooting.md +0 -0
  662. /package/skills/{fec-drawio-studio → cc-drawio-studio}/references/xml-and-mermaid.md +0 -0
  663. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/brand-symbols.mjs +0 -0
  664. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-lint.mjs +0 -0
  665. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/diagram-url.mjs +0 -0
  666. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/drawio-export.mjs +0 -0
  667. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/layout-graph.mjs +0 -0
  668. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/png-embed-fix.mjs +0 -0
  669. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-go-packages.mjs +0 -0
  670. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-js-modules.mjs +0 -0
  671. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-classes.mjs +0 -0
  672. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-python-modules.mjs +0 -0
  673. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-rust-modules.mjs +0 -0
  674. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/scan-ts-modules.mjs +0 -0
  675. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/shape-query.mjs +0 -0
  676. /package/skills/{fec-drawio-studio → cc-drawio-studio}/scripts/studio-core.mjs +0 -0
  677. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/corporate.json +0 -0
  678. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/default.json +0 -0
  679. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/built-in/handdrawn.json +0 -0
  680. /package/skills/{fec-drawio-studio → cc-drawio-studio}/styles/schema.json +0 -0
  681. /package/skills/{fec-image-generation → cc-technical-diagrams}/scripts/interactive-diagram-server.mjs +0 -0
package/README.zh-CN.md CHANGED
@@ -1,5 +1,8 @@
1
1
  <div align="center">
2
2
 
3
+ > 发布状态更新(2026-11-09):craft-common 2.0.0 已发布至 npm。frontend 3.0.0、backend 1.0.0 继续未发布,产品版本号不变;下方原发布准备说明保留当时状态。
4
+
5
+
3
6
  <img src="assets/brand/frontend-craft.png" alt="frontend-craft logo" width="200" />
4
7
 
5
8
  # frontend-craft
@@ -22,6 +25,9 @@
22
25
 
23
26
  </div>
24
27
 
28
+
29
+ [运行时兼容性与升级说明](docs/runtimes/compatibility.md)
30
+
25
31
  ---
26
32
 
27
33
  `frontend-craft` 是一个**通用前端插件**,为以下 **15 款 AI 编程助手**注入统一的前端工程规范:
@@ -32,7 +38,7 @@
32
38
 
33
39
  各运行时的路径与注意事项详见 [`docs/runtimes/`](docs/runtimes/)。
34
40
 
35
- 它将 **13 个专业 agent**、**45 个自动激活 skill**、**8 个斜杠命令**、**5 个事件驱动 hook**、面向 6 个设计工具端点的 **MCP 集成**以及一整套**规则库**打包为一个可安装单元。运行一条命令,团队里的每一次 AI 会话都将以相同的方式编写 React、Vue、Next.js 或 Nuxt——类型安全、可访问、安全、一致。
41
+ 它将 **14 个专业 agent**、**74 个自动激活 skill**、**11 个斜杠命令**、**5 个事件驱动 hook**、面向 6 个设计工具端点的 **MCP 集成**以及一整套**规则库**打包为一个可安装单元。运行一条命令,团队里的每一次 AI 会话都将以相同的方式编写 React、Vue、Next.js 或 Nuxt——类型安全、可访问、安全、一致。
36
42
 
37
43
  ---
38
44
 
@@ -40,10 +46,10 @@
40
46
 
41
47
  | 痛点 | frontend-craft 的解法 |
42
48
  | --------------------------------------------- | --------------------------------------------------------------------- |
43
- | AI 助手写出的前端代码风格不一、缺类型、不安全 | **45 个 skill** 将团队规范编码为可自动激活的工作流 |
49
+ | AI 助手写出的前端代码风格不一、缺类型、不安全 | **74 个 skill** 将团队规范编码为可自动激活的工作流 |
44
50
  | 每款 AI 工具都有自己的插件格式 | **一条 CLI 命令** 把相同的规则、agent 和 hook 安装到 15 个运行时 |
45
51
  | 设计稿到代码的交接总有信息损失 | **MCP 集成** 从 Figma、Figma Desktop、Sketch、MasterGo、Pixso、墨刀引入更完整设计上下文 |
46
- | 代码评审随意、浅层 | **13 个 agent** 输出分级报告:代码、安全、无障碍、性能、TS、UI 还原度 |
52
+ | 代码评审随意、浅层 | **14 个 agent** 输出分级报告:代码、安全、无障碍、性能、TS、UI 还原度 |
47
53
  | 没人记得跑 lint 和测试 | **事件驱动 hook** 在保存和会话结束时自动校验 |
48
54
  | 新项目每次都从零开始 | **`/fec-init`** 几秒内脚手架化 CLAUDE.md、规则和 settings |
49
55
 
@@ -76,7 +82,7 @@ fec setup claude --global
76
82
  fec setup all --global
77
83
 
78
84
  # 6. 预览 / 查询
79
- fec install --all --dry-run --global
85
+ fec runtime install --all --dry-run --global
80
86
  fec list
81
87
  ```
82
88
 
@@ -89,17 +95,17 @@ fec list
89
95
  npx @bovinphang/frontend-craft@latest
90
96
 
91
97
  # 2. 接入当前项目
92
- npx @bovinphang/frontend-craft@latest install --local codex
93
- npx @bovinphang/frontend-craft@latest install --local claude
94
- npx @bovinphang/frontend-craft@latest install --all --local
98
+ npx @bovinphang/frontend-craft@latest runtime install --local codex
99
+ npx @bovinphang/frontend-craft@latest runtime install --local claude
100
+ npx @bovinphang/frontend-craft@latest runtime install --all --local
95
101
 
96
102
  # 3. 全局接入,适用于所有项目
97
- npx @bovinphang/frontend-craft@latest install --global codex
98
- npx @bovinphang/frontend-craft@latest install --global claude
99
- npx @bovinphang/frontend-craft@latest install --all --global
103
+ npx @bovinphang/frontend-craft@latest runtime install --global codex
104
+ npx @bovinphang/frontend-craft@latest runtime install --global claude
105
+ npx @bovinphang/frontend-craft@latest runtime install --all --global
100
106
 
101
107
  # 4. 预览 / 查询
102
- npx @bovinphang/frontend-craft@latest install --all --dry-run --global
108
+ npx @bovinphang/frontend-craft@latest runtime install --all --dry-run --global
103
109
  npx @bovinphang/frontend-craft@latest list
104
110
  ```
105
111
 
@@ -109,7 +115,7 @@ npx @bovinphang/frontend-craft@latest list
109
115
 
110
116
  对 Claude Code 用户,**Claude Code Marketplace** 是推荐的单一来源安装方式。只有在需要跨运行时安装、脚本化/离线复制文件,或非 Marketplace 环境时,才建议对 Claude 使用 CLI。
111
117
 
112
- 如果已经通过 Marketplace 安装,CLI 不会再安装或更新第二份 Claude 副本,即使传入 `--force` 也不会覆盖;请通过 Claude Code Marketplace 更新。如果已存在另一个作用域的 CLI 管理安装,交互式终端会询问是保持已安装来源并更新,还是卸载后切换到当前来源;非交互终端会停止并打印明确的 `update`、`uninstall`、`install` 命令。
118
+ 如果已经通过 Marketplace 安装,CLI 不会再安装或更新第二份 Claude 副本,即使传入 `--force` 也不会覆盖;请通过 Claude Code Marketplace 更新。如果已存在另一个作用域的 CLI 管理安装,交互式终端会询问是保持已安装来源并更新,还是卸载后切换到当前来源;非交互终端会停止并打印明确的 `runtime update`、`runtime uninstall`、`runtime install` 命令。
113
119
 
114
120
  完整步骤见 [docs/runtimes/claude.zh-CN.md](docs/runtimes/claude.zh-CN.md) · [English](docs/runtimes/claude.md)。
115
121
 
@@ -134,6 +140,9 @@ npx @bovinphang/frontend-craft@latest list
134
140
 
135
141
  你:"/fec-refactor-clean"
136
142
  → 分类并安全清理死代码、未使用导出、样式和依赖
143
+
144
+ 你:"/fec-refactor src/features/compose"
145
+ → 诊断结构坏味道、生成小步计划,并以保持行为的方式一次执行一个重构且逐步验证
137
146
  ```
138
147
 
139
148
  下文斜杠命令以 **Claude Code** 为例;其他运行时通过各自的命令系统提供同等能力(详见 [`docs/runtimes/`](docs/runtimes/))。
@@ -150,6 +159,9 @@ npx @bovinphang/frontend-craft@latest list
150
159
  你:「请构建多步注册表单:根据项目框架选择表单与 schema 校验方案,包含文件上传、条件字段、异步校验和可访问错误提示。」
151
160
  你:「请按 Figma 节点 123:456 实现 UI。复用现有 design token 和组件,匹配间距与响应式状态,并说明假设。」
152
161
  你:「`/fec-refactor-clean` 请清理这个模块里的死代码。」
162
+ 你:「`/fec-smell` 请诊断这个模块的结构坏味道,先不要改代码。」
163
+ 你:「`/fec-refactor-plan` 请生成保持行为的小步重构计划。」
164
+ 你:「`/fec-refactor` 请保持可观察行为不变地重构这个模块。」
153
165
  ```
154
166
 
155
167
  ---
@@ -163,14 +175,31 @@ npx @bovinphang/frontend-craft@latest list
163
175
  | 命令 | 用途 | 报告 |
164
176
  | --------------------- | ----------------------------------------------------------- | ------------------------------------------------ |
165
177
  | `/fec-init` | 初始化项目模板(CLAUDE.md、规则、settings) | — |
166
- | `/fec-review` | 对指定文件或最近变更的代码执行结构化评审 | `code-review-*.md` |
178
+ | `/fec-review` | 默认审核全项目;支持指定文件、目录或明确改动范围 | `code-review-*.md` |
167
179
  | `/fec-scaffold` | 按规范创建 page / feature / component 样板 | — |
168
180
  | `/fec-plan` | 统一规划入口:实现架构或测试策略 | `architecture-proposal-*.md` 或 `test-plan-*.md` |
169
181
  | `/fec-tdd` | 红 → 绿 → 重构的前端 TDD 循环 | — |
170
182
  | `/fec-debug` | 前端问题诊断与修复:构建失败、运行时错误、UI 异常、接口问题 | `debug-*.md` |
171
183
  | `/fec-refactor-clean` | 分类并安全清理死代码、未使用导出、样式和依赖 | `refactor-clean-*.md` |
184
+ | `/fec-smell` | 基于证据诊断代码坏味道,不修改业务代码 | `refactoring/smell-*.md` |
185
+ | `/fec-refactor-plan` | 生成有序、保持行为的小步重构计划 | `refactoring/plan-*.md` |
186
+ | `/fec-refactor` | 一次执行一个经过验证的保持行为重构步骤 | `refactoring/refactoring-*.md` |
172
187
  | `/fec-doc-sync` | 同步 README、docs、环境变量、脚本、API/路由说明和部署文档 | — |
173
188
 
189
+ ### 审核范围
190
+
191
+ `/fec-review`、代码 / TypeScript / 安全审核 agent 及其审核 skill 采用三种模式:
192
+
193
+ - **改动审核**:明确要求最近改动、本次修改、暂存区、PR 或提交,或当前任务已明确这些改动上下文。无改动时说明没有可审核的改动,不自动审核最近提交。
194
+ - **指定范围审核**:指定文件或目录,审核其中现有代码,包括未改动代码,不要求 Git 差异。
195
+ - **全项目审核(默认)**:未指定范围或改动上下文,或明确要求审核整个项目时,先建立项目自有前端代码、相关测试、配置和依赖声明清单,再按模块审核。
196
+
197
+ 指定文件或目录默认审核其全部代码;加上“本次改动”才仅审核差异。裸调用 `/fec-review` 即使有改动也默认全项目;开始时说明模式和范围,修改后自动委托审核须显式传入本次改动范围。
198
+
199
+ 示例:`/fec-review`、`/fec-review 审核最近改动`、`/fec-review 审核 src/components/Button.tsx`、`/fec-review 审核 src/features/`、`/fec-review 审核整个项目`。这些是自然语言指令,不是 CLI 参数;明确指定的范围优先于默认模式。
200
+
201
+ 默认排除依赖目录、构建产物、缓存、生成文件和第三方代码。报告记录模式、目标范围、已审核及未覆盖文件或模块、排除项、完成状态和验证结果;覆盖不足时标记部分完成。读取调用方或执行全项目 lint/类型检查不等于完成人工审核。改动审核保留合并建议,指定范围和全项目审核评估已审核范围的风险。前端审核不替代后端专项审核;未要求修复时不修改业务代码。
202
+
174
203
  ### 技能(Skills,自动激活)
175
204
 
176
205
  技能是根据文件模式、框架或任务上下文**自动激活**的工作流定义,编码了评审维度、输出约定和报告格式。
@@ -187,7 +216,7 @@ npx @bovinphang/frontend-craft@latest list
187
216
  | `fec-nuxt-project-standard` | Nuxt 3 SSR/SSG、组合式 API、数据获取、中间件 |
188
217
  | `fec-vite-project-standard` | Vite 配置、环境变量安全、HMR、开发代理、构建优化 |
189
218
  | `fec-monorepo-project-standard` | pnpm workspace、Turborepo、Nx 结构与任务编排 |
190
- | `fec-typescript-project-standard` | TypeScript 配置、公开类型、声明文件、DTO 和泛型 |
219
+ | `cc-typescript-project-standard` | TypeScript 配置、公开类型、声明文件、DTO 和泛型 |
191
220
 
192
221
  **实现能力** — 构建特定前端能力时激活:
193
222
 
@@ -227,13 +256,29 @@ npx @bovinphang/frontend-craft@latest list
227
256
  | `fec-performance-optimization` | Core Web Vitals、包体、渲染、内存、网络与性能预算审查 |
228
257
  | `fec-refactor-clean` | 安全清理死代码、未使用导出、样式、路由和依赖 |
229
258
 
259
+ **重构** — 在基于证据、保持既有行为的结构改进任务中激活:
260
+
261
+ | Skill | 用途 |
262
+ | --- | --- |
263
+ | `fec-refactoring` | 编排请求分类、基线、安全网、小步执行、回滚和最终证明 |
264
+ | `fec-code-smells` | 基于证据诊断 24 种标准代码坏味道并检查误判 |
265
+ | `fec-refactoring-catalog` | 从完整 61 项目录中选择并组合合适手法 |
266
+ | `fec-refactoring-functions` | 函数拆分、命名、变量、参数对象和阶段拆分 |
267
+ | `fec-refactoring-encapsulation` | 记录、集合、基本类型、类、委托和算法封装 |
268
+ | `fec-refactoring-move-features` | 搬移函数/字段/语句、拆分循环、管道与死代码路由 |
269
+ | `fec-refactoring-data` | 变量/字段以及引用对象/值对象数据重构 |
270
+ | `fec-refactoring-control` | 条件拆分、卫语句、多态分派、特例和断言 |
271
+ | `fec-refactoring-api` | 查询/修改、参数、标记参数、工厂、命令和 API 形态重构 |
272
+ | `fec-refactoring-inheritance` | 继承/委托重构及组合优先的前端适配 |
273
+ | `fec-refactoring-validation` | 行为契约、覆盖等级、验证阶梯与证明结论 |
274
+
230
275
  **设计 UI** — 设计实现、设计系统或视觉打磨时激活:
231
276
 
232
277
  | 技能 | 范围 |
233
278
  | ----------------------------- | -------------------------------------------------------- |
234
279
  | `fec-ui-design` | 产品语境 UI 方向、反模板设计拨盘、媒体策略、状态、视觉 QA |
235
- | `fec-image-generation` | 系统蓝图、流程工作流、交互式实时图、HTML/SVG/PNG 导出、图片生成/编辑、视觉资产和 PNG 自检 |
236
- | `fec-drawio-studio` | 可编辑 draw.io / diagrams.net 技术图、XML/Mermaid/CSV URL 交付、形状检索、自动布局和代码结构图 |
280
+ | `fec-image-generation` | UI、产品和品牌视觉生成与编辑,复用公共 PNG 质检 |
281
+ | `cc-drawio-studio` | 可编辑 draw.io / diagrams.net 技术图、XML/Mermaid/CSV URL 交付、形状检索、自动布局和代码结构图 |
237
282
  | `fec-web-video-presentation` | 将文章、口播稿、课程和 demo 转成可录屏的 16:9 步进网页演示 |
238
283
  | `fec-tailwind-design-system` | Tailwind token、主题扩展、组件变体、class 治理和暗色模式 |
239
284
  | `fec-responsive-layout` | 移动优先布局、容器查询、数据密集型响应式界面 |
@@ -241,6 +286,10 @@ npx @bovinphang/frontend-craft@latest list
241
286
  | `fec-implement-from-design` | 基于设计工具、截图或分区级视觉参考实现 UI |
242
287
  | `fec-storybook-component-doc` | Storybook 组件文档、设计系统呈现、隔离状态预览 |
243
288
 
289
+ 技术图质量工作流:`cc-technical-diagrams` 的标准时序/流程图优先本地 Mermaid,架构图复用 draw.io 工作流,工具缺失时使用 JSON/HTML。导出 PNG 时生成实际测量且与缩放一致的 manifest,再运行 QA 并检查最终 PNG;保留完整文字、显式布局与关系,最多自动修复两轮,未解决问题需明确报告。可复现样例位于 `skills/cc-technical-diagrams/assets/quality-examples/`。
290
+
291
+ [审核范围与技术图交付指南](docs/zh-CN/review-and-diagram-workflows.md).
292
+
244
293
  **遗留迁移** — 现代化迁移时激活:
245
294
 
246
295
  | 技能 | 范围 |
@@ -260,7 +309,7 @@ npx @bovinphang/frontend-craft@latest list
260
309
  | ------------------------------- | ------------------------------------------ |
261
310
  | `fec-backend-requirements-handoff` | 前端向后端交接 UI 数据需求、用户动作、状态、业务规则与待确认问题 |
262
311
  | `fec-doc-sync` | 让前端文档与代码、配置、脚本、路由、API、环境变量和部署事实保持同步 |
263
- | `fec-source-driven-development` | 以项目事实和官方来源验证版本敏感的前端决策 |
312
+ | `cc-source-driven-development` | 以项目事实和官方来源验证版本敏感的前端决策 |
264
313
 
265
314
  ### 代理(Agents)
266
315
 
@@ -276,6 +325,7 @@ npx @bovinphang/frontend-craft@latest list
276
325
  | `fec-test-planner` | 风险-层级映射:静态、单元、组件、E2E、视觉、无障碍、安全 | `test-plan-*.md` |
277
326
  | `fec-debugger` | 复杂前端诊断:构建、运行时、UI 和接口问题 | `debug-*.md` |
278
327
  | `fec-refactor-cleaner` | 分类并安全清理未使用代码、导出、样式、路由和依赖 | `refactor-clean-*.md` |
328
+ | `fec-refactoring-expert` | 基于证据编排保持行为的结构重构 | `refactoring/refactoring-*.md` |
279
329
  | `fec-e2e-runner` | E2E 编写与运行(Playwright/Cypress)、flaky 隔离、Trace | `e2e-summary-*.md` |
280
330
  | `fec-doc-updater` | 同步 README、runtime 文档、结构、能力表和 metadata | — |
281
331
  | `fec-ui-checker` | 视觉问题排查与设计还原度评估 | `ui-fidelity-review-*.md` |
@@ -291,9 +341,11 @@ npx @bovinphang/frontend-craft@latest list
291
341
  | `SessionStart` | 清理 Claude 缓存,然后自动检测项目框架和包管理器 |
292
342
  | `PreToolUse(Bash)` | 拦截危险命令(`rm -rf`、force push 等) |
293
343
  | `PostToolUse(Write/Edit)` | 对修改的文件自动执行 Prettier |
294
- | `Stop` | 会话结束时执行 lint、type-check、test、build |
344
+ | `Stop` | 会话结束时去重运行可用的校验脚本并报告失败;仅在配置阻断模式时阻断 |
295
345
  | `Notification` | 跨平台桌面通知(macOS / Linux / Windows) |
296
346
 
347
+ Stop 校验默认只报告失败,不阻断会话。设置 `FRONTEND_CRAFT_VALIDATION_MODE=blocking` 后,失败将返回非零状态。包管理器优先采用 `package.json` 的 `packageManager`;若未声明,则采用唯一的锁文件;多个锁文件冲突时默认使用 npm。
348
+
297
349
  ### MCP 集成
298
350
 
299
351
  将 AI 助手接入设计工具,构建带有更完整设计上下文的设计转代码工作流。
@@ -408,6 +460,9 @@ $env:MODAO_TOKEN = "your-modao-token"
408
460
  | 测试计划 | `test-plan-YYYY-MM-DD-HHmmss.md` | `/fec-plan`、`fec-testing-strategy`、`fec-test-planner` |
409
461
  | 验证修复 | `validation-fix-YYYY-MM-DD-HHmmss.md` | `fec-validation-fix` |
410
462
  | 重构清理 | `refactor-clean-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-clean`、`fec-refactor-clean`、`fec-refactor-cleaner` |
463
+ | 坏味道诊断 | `refactoring/smell-YYYY-MM-DD-HHmmss.md` | `/fec-smell`、`fec-code-smells` |
464
+ | 重构计划 | `refactoring/plan-YYYY-MM-DD-HHmmss.md` | `/fec-refactor-plan`、`fec-refactoring` |
465
+ | 重构执行 | `refactoring/refactoring-YYYY-MM-DD-HHmmss.md` | `/fec-refactor`、`fec-refactoring`、`fec-refactoring-expert` |
411
466
  | E2E 运行摘要 | `e2e-summary-YYYY-MM-DD-HHmmss.md` | `fec-e2e-runner`(可选) |
412
467
  | 迁移计划 | `migration-plan-YYYY-MM-DD-HHmmss.md` | `fec-legacy-to-modern-migration` |
413
468
 
@@ -419,33 +474,55 @@ $env:MODAO_TOKEN = "your-modao-token"
419
474
 
420
475
  ## 更新与移除
421
476
 
422
- `fec` 是 `frontend-craft` 的短命令。如果没有全局安装 `fec`,可以把同样参数接在 `npx @bovinphang/frontend-craft@latest` 后使用,例如 `npx @bovinphang/frontend-craft@latest update`。
477
+ ### CLI 自身管理(3.0)
478
+
479
+ `fec update`(别名 `upgrade`)通过原 npm/pnpm 升级全局 CLI 到原 registry 的 `latest`,再启动新版 CLI 刷新当前项目及用户全局的托管资源;已是最新版也会刷新。不扫描其他项目,不管理 Marketplace 安装。CLI 升级失败即停止;独立资源安装的失败会分阶段报告且不回滚 CLI,可用 `fec runtime update` 重试资源刷新。
480
+
481
+ `fec uninstall`(别名 `remove`)默认只卸载全局 CLI。`--purge` 先清理发现的托管资源并保留用户修改;清理实际失败时保留 CLI。交互终端要求确认,非交互终端必须加 `--yes`。自身管理仅支持经过归属验证的 npm/pnpm 注册表全局安装;源码链接、项目依赖、未知来源及含其他包的 pnpm 共享安装组均在修改前拒绝,请通过原包管理器手动管理共享组。`--dry-run` 只读预览,不安装、不删除、不启动刷新续跑。
482
+
483
+ ```bash
484
+ fec update
485
+ fec uninstall --dry-run
486
+ fec uninstall --purge --yes
487
+ ```
488
+
489
+ 临时 npx 运行不会创建全局 CLI,且不支持自身卸载。npx 顶层 `update` 仅在当前包版本等于 registry `latest` 时刷新资源,否则提示使用 `npx @bovinphang/frontend-craft@latest runtime update`。
490
+
491
+ | 2.x 资源命令 | 3.0 替代命令 |
492
+ | --- | --- |
493
+ | `fec update [runtime] [options]` | `fec runtime update [runtime] [options]` |
494
+ | `fec uninstall [runtime] [options]` | `fec runtime uninstall [runtime] [options]` |
495
+ | `fec install [runtime] [options]` | `fec runtime install [runtime] [options]` |
496
+
497
+ 顶层 update/uninstall 会在修改前拒绝旧 runtime 位置参数及 `--global` 等资源选项。`setup` 保留,顶层 `install` 为弃用兼容入口;`runtime upgrade/remove` 分别为 `runtime update/uninstall` 的别名。资源选项保留。`runtime update` 只使用当前运行的 CLI 包内容,不联网获取新包。
498
+
499
+ `fec` 是 `frontend-craft` 的短命令。未全局安装 CLI 时,资源操作使用 `npx @bovinphang/frontend-craft@latest runtime update`(或 `runtime install/uninstall`)。
423
500
 
424
- ### 更新
501
+ ### 资源更新
425
502
 
426
503
  ```bash
427
- fec update # 更新自动发现到的所有 CLI 管理安装
428
- fec update <runtime> --local # 更新一个本地 CLI 管理安装
429
- fec update <runtime> --global # 更新一个全局 CLI 管理安装
430
- fec upgrade <runtime> --global # `upgrade` 是 `update` 的别名
504
+ fec runtime update # 更新自动发现到的所有 CLI 管理安装
505
+ fec runtime update <runtime> --local # 更新一个本地 CLI 管理安装
506
+ fec runtime update <runtime> --global # 更新一个全局 CLI 管理安装
507
+ fec runtime upgrade <runtime> --global # `upgrade` 是 `update` 的别名
431
508
  ```
432
509
 
433
- ### 移除
510
+ ### 资源移除
434
511
 
435
512
  ```bash
436
- fec uninstall # 移除自动发现到的所有 CLI 管理安装
437
- fec remove # `remove` 是 `uninstall` 的别名
438
- fec uninstall <runtime> # 移除指定 runtime 安装
439
- fec remove <runtime> # 使用别名移除指定 runtime
440
- fec uninstall --global # 只移除发现到的全局安装
441
- fec remove --local # 只移除发现到的本地安装
442
- fec uninstall <runtime> --dry-run # 预览将移除的文件
443
- fec uninstall <runtime> --force # 连同已修改的托管文件一起移除
513
+ fec runtime uninstall # 移除自动发现到的所有 CLI 管理安装
514
+ fec runtime remove # `remove` 是 `uninstall` 的别名
515
+ fec runtime uninstall <runtime> # 移除指定 runtime 安装
516
+ fec runtime remove <runtime> # 使用别名移除指定 runtime
517
+ fec runtime uninstall --global # 只移除发现到的全局安装
518
+ fec runtime remove --local # 只移除发现到的本地安装
519
+ fec runtime uninstall <runtime> --dry-run # 预览将移除的文件
520
+ fec runtime uninstall <runtime> --force # 连同已修改的托管文件一起移除
444
521
  ```
445
522
 
446
- CLI 会在 runtime 目录写入 `frontend-craft.manifest.json`。不传 runtime 时,`update` 会自动发现这些 manifest,并**跳过你本地修改过的文件**——自定义内容在更新后依然保留。
523
+ CLI 会在 runtime 目录写入 `frontend-craft.manifest.json`。不传 runtime 时,`runtime update` 会自动发现这些 manifest,并**跳过你本地修改过的文件**——自定义内容在更新后依然保留。
447
524
 
448
- `uninstall`/`remove` 只删除 manifest 记录的文件,默认跳过已修改文件;只有确认要移除修改过的托管文件时才加 `--force`。`--force` 不会覆盖 Claude Code Marketplace 安装。
525
+ `runtime uninstall`/`runtime remove` 只删除 manifest 记录的文件,默认跳过已修改文件;只有确认要移除修改过的托管文件时才加 `--force`。`--force` 不会覆盖 Claude Code Marketplace 安装。
449
526
 
450
527
  **Claude Code Marketplace** 或 **submodule** 安装的更新方式见 [docs/runtimes/claude.zh-CN.md](docs/runtimes/claude.zh-CN.md) · [English](docs/runtimes/claude.md)。`/fec-init` 只初始化项目配置,不是第二次安装插件本体。
451
528
 
@@ -491,3 +568,38 @@ npx skills check # 预览可用更新
491
568
  **如果 frontend-craft 帮助了你的团队,[请给它一个 Star](https://github.com/bovinphang/frontend-craft)。**
492
569
 
493
570
  </div>
571
+
572
+ ## 3.0 公共能力
573
+
574
+ 3.0 尚未正式发布,包含 53 个前端专属入口和 21 个公共入口,共 74 个 Skill。公共能力由精确版本的 craft-common 自动交付,无需额外安装插件;公共源码仅在 craft-common 维护。
575
+
576
+ - `cc-drawio-studio`
577
+ - `cc-technical-diagrams`
578
+ - `cc-source-driven-development`
579
+ - `cc-doc-sync-core`
580
+ - `cc-debug-methodology`
581
+ - `cc-refactoring-core`
582
+ - `cc-tdd-methodology`
583
+
584
+ 迁移前运行 `fec runtime check-migration codex --local --json`,再参阅 [migration guide](docs/zh-CN/common-migration.md).
585
+ CLI 管理共享安装及卸载引用;原生插件渠道本期保证单产品资源完整,不承诺双产品原生去重。
586
+
587
+ 公共源精确固定为 `@bovinphang/craft-common@2.0.0`。参见[项目结构与维护边界](docs/zh-CN/project-structure.md)及[贡献校验指引](CONTRIBUTING.zh-CN.md)。
588
+
589
+ ## 混合工程识别
590
+
591
+ `fec project inspect . --task-path apps/desktop/src-tauri/src/lib.rs --task-kind ipc --json` 只读清单证据并推荐已交付能力。角色(UI、桌面核心、原生库、服务、CLI)、语言和框架分别匹配,不执行构建脚本或安装工具。C、C++ 有独立公共入口,Tauri/Electron 为公共专项,React/Vue/Next/Nuxt/Vite 仍由前端产品维护;未指定任务时只给工程级候选。
592
+
593
+ common使用正式版本号2.0.0,当前待发布;frontend3.0.0与backend1.0.0仍未发布。先用各旧产品 CLI 退出旧公共引用,再安装匹配的新产品。使用 `fec runtime check-migration [runtime] --local --json` 检查;未知或用户修改的旧目录会阻断整批安装。见[迁移指南](docs/zh-CN/common-migration.md)。
594
+
595
+ <!-- engineering-practices-20261108 -->
596
+
597
+ ## 按条件适用的工程实践
598
+
599
+ 八个既有前端入口将公共原则落到React/Vue生命期、API安全重放、查询所有权、评审证据、测试、安全和依赖兼容。按入口本地工程参考读取条件及例外。两产品仍交付全部21个公共入口;UI、桌面、库或服务职责不限制语言能力,企业指南不授权升级工具链。
600
+
601
+ [React样例](skills/fec-react-project-standard/examples/engineering/README.md)用真实React/Testing Library/JSDOM验证旧结果拒绝和自有资源清理,精确依赖独立锁定。源码仓维护者显式运行`pnpm run verify:engineering -- --prepare`,后续不带--prepare复用匹配准备;这不是新增的已安装CLI命令。DOM模拟不证明浏览器E2E、远端回滚或桌面GUI。
602
+
603
+ 付款不能仅凭429/5xx/网络错误重试;须有服务端重放契约、同意图/同键和有界预算,否则核对待确认结果。公开源干净安装仍待common发布,[升级所有权保护](docs/common-migration.md)保持有效。
604
+
605
+ common2.0.0发布准备见[当前未发布变更](CHANGELOG.zh-CN.md);须先发布并核验common,本轮不发布frontend3.0.0。
@@ -19,14 +19,30 @@ skills:
19
19
 
20
20
  You are a senior **front-end** code reviewer, covering browser-side UI, components, state, style, type, performance and client security; it does not replace the special review of the back-end, but if the changes involve BFF or API routing in the same warehouse, you can mark obvious problems incidentally.
21
21
 
22
+ ## Review modes and coverage
23
+
24
+ User-specified scope takes precedence over the default. Follow the three modes in `fec-code-review`:
25
+
26
+ - **Change review**: only when recent changes, current edits, staged changes, a PR or a commit are explicitly requested or clearly established by the active task, review those changes and necessary context. For local changes, inspect staged and unstaged diffs and relevant untracked project files within the requested scope; a staged-only request reviews only staged changes. If there are no changes, report that there is nothing to review; do not switch to recent commits or expand scope automatically.
27
+ - **Targeted review**: when files or directories are specified, inventory and review existing code in that scope, including unchanged code; no Git diff is required.
28
+ - **Project review (default)**: when no scope or change context is specified, or when the entire project is requested, inventory project-owned frontend code, related tests, configuration and dependency declarations, then review in module batches, including unchanged code; no Git diff is required.
29
+
30
+ Select scope before collecting diffs. A file/directory alone means full review of that scope; a path combined with an explicit change request restricts incremental review to that path. An unqualified invocation defaults to project review even if Git changes exist. At review start, state the selected mode and target scope. When automatically delegating review after edits, pass the current change scope explicitly; do not trigger project review merely because the reviewer was called.
31
+
32
+ Exclude dependency directories, build outputs, caches, generated files and third-party code by default, and record exclusions. Keep the frontend responsibility boundary; this is not a backend audit. A nonexistent target or a scope with no relevant files must be reported explicitly, not replaced with another scope.
33
+
34
+ Merge findings with the same root cause across batches. Report **review mode, target scope, reviewed files/modules, exclusions, unreviewed files/modules, completion status and verification commands/results**. If context or execution limits prevent completion, mark the review partial and list remaining modules; never claim complete project coverage. Reading callers for context or running project-wide lint/typecheck does not count as manual review of those files.
35
+
36
+ Change reviews retain merge recommendations. Targeted and project reviews use a risk assessment (Low / Medium / High, with blocking findings), not a claim of merge readiness. Preserve severity levels, evidence requirements and report filenames. Output reports only unless repairs are explicitly requested.
37
+
22
38
  ## Review process
23
39
 
24
40
  When called:
25
41
 
26
42
  First read the project context, relevant diffs, scripts and existing tests, and then give a conclusion. Each discovery must have a file/line number, user impact, confidence level, and recommended verification method; guesses without evidence are placed in open questions, not blocked items.
27
43
 
28
- 1. **Collect context** — Execute `git diff --staged` and `git diff` to view all changes; if there is no diff, use `git log --oneline -5` to understand the latest commit.
29
- 2. **Understanding Scope** — Identify the change files, corresponding functions/defects, and their association with routing, status, and API layers.
44
+ 1. **Collect context** — Select the mode first. For change review only, inspect `git diff --staged`, `git diff` and relevant untracked files; if there are no changes, report this and stop without reviewing recent commits automatically. For targeted/project review, inventory the selected scope without requiring diffs.
45
+ 2. **Understanding Scope** — Identify the target files for the selected mode, corresponding functions/defects, and their association with routing, status, and API layers.
30
46
  3. **Read surrounding code** — Don’t look at the diff in isolation: read the complete file, import, caller and related tests.
31
47
  4. **Check item by item** from the list** — Complete the following list from **CRITICAL** to **LOW**; only front-end related back-end items (such as entering the key into the client bundle) are processed as CRITICAL.
32
48
  5. **Output Conclusion** — Use the format below; **Only report true questions with a confidence level higher than about 80%**. Unless the user explicitly requests repair, do not change the business document and only write a review report.
@@ -35,7 +51,7 @@ First read the project context, relevant diffs, scripts and existing tests, and
35
51
 
36
52
  - **Report**: Confidence > 80% that the defect or risk is real.
37
53
  - **SKIP**: Pure style preference, unless it violates the explicit agreement of the project `CLAUDE.md` / `rules`.
38
- - **SKIP**: Issues in unchanged code, **unless CRITICAL security items** (such as hardcoded keys present in the merged code and still in the online path).
54
+ - **SKIP in change review only**: Issues in unchanged code, **unless CRITICAL security items** (such as hardcoded keys present in the merged code and still in the online path).
39
55
  - **Merge**: Similar issues are merged into one (for example, "Multiple branches lack error handling" instead of listing them line by line).
40
56
  - **Priority**: Items that may lead to bugs, user data leakage, XSS, or architectural issues that are difficult to maintain.
41
57
 
@@ -110,6 +126,8 @@ Fix: …
110
126
 
111
127
  ### Summary table at the end of the article
112
128
 
129
+ Use the following merge verdict only for change review. For targeted/project review, replace Verdict with risk level and blocking findings; include the coverage fields defined above.
130
+
113
131
  ```markdown
114
132
  ## Review Summary
115
133
 
@@ -150,3 +168,6 @@ When reviewing model-assisted diffs, pay additional attention to:
150
168
  - Directory: project root directory `reports/` (create if it does not exist).
151
169
  - File name: `code-review-YYYY-MM-DD-HHmmss.md` (same as `fec-code-review` skill).
152
170
  - Inform the user of the absolute or relative path after writing.
171
+ ## Refactoring Handoff
172
+
173
+ When review evidence points to a structural smell that needs deeper diagnosis, recommend `/fec-smell`. When the desired outcome is an ordered behavior-preserving change plan, recommend `/fec-refactor-plan`. Do not turn merge-readiness review into unrequested refactoring execution.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: fec-debugger
3
- description: Front-end diagnostic and repair subagent: Handle build failures, runtime errors, UI exceptions, and interface issues using a unified 5-step diagnostic framework. Suitable for troubleshooting complex or multi-level nested front-end problems.
3
+ description: "Front-end diagnostic and repair subagent: Handle build failures, runtime errors, UI exceptions, and interface issues using a unified 5-step diagnostic framework. Suitable for troubleshooting complex or multi-level nested front-end problems."
4
4
  tools: Read, Edit, Write, MultiEdit, Glob, Grep, LS, Bash
5
5
  model: sonnet
6
6
  permissionMode: default
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: fec-doc-updater
3
- description: Front-end warehouse document synchronization subagent: synchronizes README, runtime docs, project structure, capability tables, and report descriptions from fact sources such as package.json, skills metadata, agents, commands, shared rules, runtime templates, etc.
3
+ description: "Front-end warehouse document synchronization subagent: synchronizes README, runtime docs, project structure, capability tables, and report descriptions from fact sources such as package.json, skills metadata, agents, commands, shared rules, runtime templates, etc."
4
4
  tools: Read, Edit, Write, MultiEdit, Glob, Grep, LS, Bash
5
5
  model: sonnet
6
6
  permissionMode: default
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: fec-e2e-runner
3
- description: Front-end end-to-end testing specialist: writing and maintaining key user journeys, executing Playwright/Cypress, managing unstable use cases, managing screenshots/Trace/videos and CI products. Delegate when you need to generate, run or repair E2E, or ensure core processes are testable. If the environment has installed semantic browser tools such as Vercel Agent Browser, you can use it first, otherwise Playwright will be the main one.
3
+ description: "Front-end end-to-end testing specialist: writing and maintaining key user journeys, executing Playwright/Cypress, managing unstable use cases, managing screenshots/Trace/videos and CI products. Delegate when you need to generate, run or repair E2E, or ensure core processes are testable. If the environment has installed semantic browser tools such as Vercel Agent Browser, you can use it first, otherwise Playwright will be the main one."
4
4
  tools: Read, Edit, Write, MultiEdit, Glob, Grep, LS, Bash
5
5
  model: sonnet
6
6
  permissionMode: default
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: fec-figma-implementer
3
- description: Focus on implementing the proxy of UI components accurately according to the design draft, and save the implementation report as a Markdown file. Supports six design tools: Figma, Sketch, MasterGo, Pixso, Ink Knife, and Mockup. Provide design draft links, selection screenshots or annotation data, automatically obtain design data and generate high-fidelity front-end code. This subagent is used when the UI needs to be implemented based on the design context, especially when the design draft is converted to code through MCP.
3
+ description: "Focus on implementing the proxy of UI components accurately according to the design draft, and save the implementation report as a Markdown file. Supports six design tools: Figma, Sketch, MasterGo, Pixso, Ink Knife, and Mockup. Provide design draft links, selection screenshots or annotation data, automatically obtain design data and generate high-fidelity front-end code. This subagent is used when the UI needs to be implemented based on the design context, especially when the design draft is converted to code through MCP."
4
4
  tools: Read, Edit, Write, MultiEdit, Glob, Grep, LS, WebFetch, mcp__figma__get_design_context, mcp__figma__get_variable_defs, mcp__sketch__get_selection_as_image, mcp__sketch__run_code, mcp__mastergo__*, mcp__pixso__*, mcp__modao__*
5
5
  model: sonnet
6
6
  permissionMode: acceptEdits
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: fec-performance-optimizer
3
- description: Front-end performance analysis and optimization specialization: Core Web Vitals, packaging volume, runtime and rendering, network and cache, memory leak troubleshooting; can cooperate with Lighthouse, Bundle analysis and Profiler. Use it when users mention page slowness, lag, first screen, package size, poor rendering, and substandard Web Vitals.
3
+ description: "Front-end performance analysis and optimization specialization: Core Web Vitals, packaging volume, runtime and rendering, network and cache, memory leak troubleshooting; can cooperate with Lighthouse, Bundle analysis and Profiler. Use it when users mention page slowness, lag, first screen, package size, poor rendering, and substandard Web Vitals."
4
4
  tools: Read, Edit, Write, MultiEdit, Glob, Grep, LS, Bash
5
5
  model: sonnet
6
6
  permissionMode: default
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: fec-refactor-cleaner
3
- description: Front-end Dead Code & Technical Debt Cleanup Subagent: Identifies unused components, exports, styles, routes, dependencies and test fixtures, categorizes them by risk, and cleans safe items only under validation protection.
3
+ description: "Front-end Dead Code & Technical Debt Cleanup Subagent: Identifies unused components, exports, styles, routes, dependencies and test fixtures, categorizes them by risk, and cleans safe items only under validation protection."
4
4
  tools: Read, Edit, Write, MultiEdit, Glob, Grep, LS, Bash
5
5
  model: sonnet
6
6
  permissionMode: default
@@ -30,3 +30,6 @@ Save the report to `reports/refactor-clean-YYYY-MM-DD-HHmmss.md`, containing can
30
30
 
31
31
  - Do not remove public APIs, routes, configurations, or runtime templates that cannot be proven referenceless.
32
32
  - Do not mix schema rewrites, formatting, or feature changes into cleanup tasks.
33
+ ## Structural Refactoring Boundary
34
+
35
+ If a candidate is live code whose problem is structure rather than proven unused status, stop cleanup and route it to structural refactoring. Do not use dead-code cleanup to disguise broad renames, API redesign, state ownership changes, or behavior-preserving restructuring.
@@ -0,0 +1,81 @@
1
+ ---
2
+ name: fec-refactoring-expert
3
+ description: Frontend behavior-preserving refactoring orchestrator for evidence-based smell diagnosis, ordered small transformations, step-level validation, rollback, and final proof reporting.
4
+ tools: Read, Edit, Write, MultiEdit, Glob, Grep, LS, Bash
5
+ model: sonnet
6
+ permissionMode: default
7
+ maxTurns: 24
8
+ skills:
9
+ - fec-refactoring
10
+ - fec-code-smells
11
+ - fec-refactoring-catalog
12
+ - fec-refactoring-functions
13
+ - fec-refactoring-encapsulation
14
+ - fec-refactoring-move-features
15
+ - fec-refactoring-data
16
+ - fec-refactoring-control
17
+ - fec-refactoring-api
18
+ - fec-refactoring-inheritance
19
+ - fec-refactoring-validation
20
+ - fec-validation-fix
21
+ - fec-code-review
22
+ ---
23
+
24
+ You are a behavior-preserving frontend refactoring orchestrator. Your job is to improve structure only when observable behavior can be kept stable and the change can be verified incrementally.
25
+
26
+ ## Hard Rules
27
+
28
+ 1. **Behavior Preservation** — pure refactoring does not intentionally change observable behavior.
29
+ 2. **Green Baseline First** — when project validation exists, record its state before editing.
30
+ 3. **One Refactoring at a Time** — every execution step has one primary structural intent.
31
+ 4. **Verify Every Step** — run the narrowest sufficient check immediately after each step.
32
+ 5. **Revert Before Repairing** — when the current step introduces a regression, revert that step before widening the repair scope.
33
+ 6. **Separate Refactoring from Feature Work** — route new behavior, behavior-changing bug fixes, migrations, and dead-code cleanup to their owning workflows.
34
+ 7. **Smallest Safe Refactoring First** — prefer the narrowest reversible transformation supported by evidence.
35
+ 8. **Stay Within Diff Budget** — stop when actual affected scope materially exceeds the planned files/functions/contracts.
36
+
37
+ Do not modify tests to accept changed behavior. Tests may be added to characterize existing behavior, but expected results must describe the pre-refactoring contract. Do not silently change public APIs, routes, auth/permission rules, persistence, backend DTOs, protocol behavior, SSR/hydration, or critical calculations under a SAFE label.
38
+
39
+ ## State Machine
40
+
41
+ `CLASSIFY → DISCOVER → BASELINE → DIAGNOSE → SAFETY → PLAN → RISK CHECK → EXECUTE ONE → VERIFY → FINAL → REPORT`
42
+
43
+ ### CLASSIFY
44
+ Determine whether the request is actually pure refactoring. Redirect proven dead/unused code to cleanup; unknown failures to debugging; new behavior or behavior-changing defect repair to TDD; dependency/framework/state-library migrations to migration/architecture planning; general merge-readiness to code review.
45
+
46
+ ### DISCOVER
47
+ Read project-native facts before proposing edits: package scripts, TypeScript/lint/test config, affected imports/exports, tests, public package surface, framework/lifecycle/state/router conventions, and current diff.
48
+
49
+ ### BASELINE
50
+ Run the smallest representative existing checks. Record pre-existing failures. If baseline is already red, do not attribute those failures to later refactoring without evidence.
51
+
52
+ ### DIAGNOSE
53
+ Each smell finding includes location, evidence, impact, stable smell ID/name, confidence (`HIGH`, `MEDIUM`, `LOW`), candidate refactorings, priority, and false-positive considerations. LOW confidence cannot authorize automatic editing.
54
+
55
+ ### SAFETY
56
+ Record the behavior-preservation contract: inputs/outputs, errors, side effects, network behavior, state transitions, UI states, events, focus/keyboard behavior, routes, public APIs, component props/emits, and hook/composable contracts as relevant. If tests are partial, add characterization coverage for existing behavior where useful. Do not manufacture a RED test for pure refactoring.
57
+
58
+ ### PLAN
59
+ For each step record target, technique, reason, dependencies, risk, expected files/functions, expected behavior change (`NONE`), verification, and rollback boundary.
60
+
61
+ ### RISK CHECK
62
+ - **SAFE:** local/private, easy rollback, no public/lifecycle/persistence contract.
63
+ - **CAUTION:** cross-module/state ownership/import/hook/composable changes; proceed only with adequate safety evidence.
64
+ - **DANGER:** public API, routes, persistence, API contracts, SSR/hydration, auth/permissions, concurrency, critical business logic, or broad hierarchy/state architecture. Stop for explicit approval unless that exact high-risk compatibility plan was already authorized.
65
+
66
+ ### EXECUTE ONE
67
+ Apply exactly one primary refactoring step. Do not fold cleanup, feature work, formatting churn, dependency changes, or unrelated design improvements into the same step.
68
+
69
+ ### VERIFY
70
+ Run narrow-to-broad validation. Inspect the diff against the Diff Budget. If a previously green check becomes red: revert the current step, confirm baseline returns, diagnose why the step was unsafe/too large, then shrink or replan.
71
+
72
+ ### FINAL
73
+ Run the broadest relevant project gates available and optionally request focused code review for high-risk structural changes.
74
+
75
+ ## Reporting
76
+
77
+ Write execution reports to `reports/refactoring/refactoring-YYYY-MM-DD-HHmmss.md`. Include baseline, behavior contract, planned vs actual scope, each transformation and verification result, rollback events, skipped/deferred items, remaining risk, and one verdict:
78
+
79
+ - `PASS` — relevant behavior is adequately covered and required checks pass.
80
+ - `PARTIAL` — checks pass but preservation evidence is incomplete.
81
+ - `NOT PROVEN` — environment or missing safety net prevents a credible preservation claim.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: fec-security-reviewer
3
- description: Focus on front-end and browser-side security reviews: XSS, client key leaks, dangerous DOM/API usage, third-party scripts, CSP, dependencies and supply chains, certified state storage, etc. Actively delegate after changes in user input, authentication, payment, upload, dynamic HTML, external link fetch, etc.; output grading conclusions and write them into reports. Preferred when users require front-end security review, pre-exploitation self-check, or review of OWASP-related client risks.
3
+ description: "Focus on front-end and browser-side security reviews: XSS, client key leaks, dangerous DOM/API usage, third-party scripts, CSP, dependencies and supply chains, certified state storage, etc. Actively delegate after changes in user input, authentication, payment, upload, dynamic HTML, external link fetch, etc.; output grading conclusions and write them into reports. Preferred when users require front-end security review, pre-exploitation self-check, or review of OWASP-related client risks."
4
4
  tools: Read, Edit, Write, MultiEdit, Glob, Grep, LS, Bash
5
5
  model: sonnet
6
6
  permissionMode: default
@@ -17,6 +17,22 @@ You are a security reviewer focused on **front-end and browser attack surfaces**
17
17
 
18
18
  For detailed report templates, hierarchical titles and placement agreements, see **`fec-security-review`** Skill; this agent focuses on **workflow, commands and front-end OWASP inspection items**.
19
19
 
20
+ ## Review modes and coverage
21
+
22
+ User-specified scope takes precedence over the default. Follow the three modes in `fec-code-review`:
23
+
24
+ - **Change review**: only when recent changes, current edits, staged changes, a PR or a commit are explicitly requested or clearly established by the active task, review those changes and necessary context. For local changes, inspect staged and unstaged diffs and relevant untracked project files within the requested scope; a staged-only request reviews only staged changes. If there are no changes, report that there is nothing to review; do not switch to recent commits or expand scope automatically.
25
+ - **Targeted review**: when files or directories are specified, inventory and review existing code in that scope, including unchanged code; no Git diff is required.
26
+ - **Project review (default)**: when no scope or change context is specified, or when the entire project is requested, inventory project-owned frontend code, related tests, configuration and dependency declarations, then review in module batches, including unchanged code; no Git diff is required.
27
+
28
+ Select scope before collecting diffs. A file/directory alone means full review of that scope; a path combined with an explicit change request restricts incremental review to that path. An unqualified invocation defaults to project review even if Git changes exist. At review start, state the selected mode and target scope. When automatically delegating review after edits, pass the current change scope explicitly; do not trigger project review merely because the reviewer was called.
29
+
30
+ Exclude dependency directories, build outputs, caches, generated files and third-party code by default, and record exclusions. Keep the frontend responsibility boundary; this is not a backend audit. A nonexistent target or a scope with no relevant files must be reported explicitly, not replaced with another scope.
31
+
32
+ Merge findings with the same root cause across batches. Report **review mode, target scope, reviewed files/modules, exclusions, unreviewed files/modules, completion status and verification commands/results**. If context or execution limits prevent completion, mark the review partial and list remaining modules; never claim complete project coverage. Reading callers for context or running project-wide lint/typecheck does not count as manual review of those files.
33
+
34
+ Change reviews retain merge recommendations. Targeted and project reviews use a risk assessment (Low / Medium / High, with blocking findings), not a claim of merge readiness. Preserve severity levels, evidence requirements and report filenames. Output reports only unless repairs are explicitly requested.
35
+
20
36
  ## Core Responsibilities
21
37
 
22
38
  1. **Vulnerability Identification** — Common vulnerabilities for SPA/SSR frontends (XSS, open redirects, insecure links, postMessage, prototype pollution risks, etc.).
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: fec-test-planner
3
- description: Front-end test strategy planning subagent: Develop a coverage matrix according to risk and test levels, distinguishing static inspection, unit, component, lightweight integration, E2E, Storybook/visual regression and special quality verification. Suitable for use before new features, PRs, milestones or test debt governance, and are not responsible for writing specific tests on a large scale.
3
+ description: "Front-end test strategy planning subagent: Develop a coverage matrix according to risk and test levels, distinguishing static inspection, unit, component, lightweight integration, E2E, Storybook/visual regression and special quality verification. Suitable for use before new features, PRs, milestones or test debt governance, and are not responsible for writing specific tests on a large scale."
4
4
  tools: Read, Write, Glob, Grep, LS, Bash
5
5
  model: sonnet
6
6
  permissionMode: default