@huicai/cli 2026.814.0 → 2026.1019.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 (485) hide show
  1. package/LICENSE +391 -32
  2. package/README.md +137 -8
  3. package/bin/huicai.js +146 -73
  4. package/package.json +27 -8
  5. package/skills/ab-testing/trigger-cases.json +30 -0
  6. package/skills/academic-writing/trigger-cases.json +30 -0
  7. package/skills/accounting-ops/trigger-cases.json +30 -0
  8. package/skills/ai-agent/trigger-cases.json +30 -0
  9. package/skills/ai-aiops/trigger-cases.json +30 -0
  10. package/skills/ai-coding/trigger-cases.json +30 -0
  11. package/skills/ai-compliance/trigger-cases.json +30 -0
  12. package/skills/ai-eval/trigger-cases.json +30 -0
  13. package/skills/ai-llm-app/trigger-cases.json +30 -0
  14. package/skills/ai-mlops/trigger-cases.json +30 -0
  15. package/skills/ai-multimodal/trigger-cases.json +30 -0
  16. package/skills/ai-prompt/trigger-cases.json +30 -0
  17. package/skills/ai-rag/trigger-cases.json +30 -0
  18. package/skills/anomaly-detection/trigger-cases.json +30 -0
  19. package/skills/api-design/trigger-cases.json +31 -0
  20. package/skills/api-integration/trigger-cases.json +31 -0
  21. package/skills/arch-design/trigger-cases.json +12 -0
  22. package/skills/arch-diagram/SKILL.md +118 -0
  23. package/skills/arch-diagram/trigger-cases.json +30 -0
  24. package/skills/arch-distributed/trigger-cases.json +30 -0
  25. package/skills/arch-multitenant/trigger-cases.json +30 -0
  26. package/skills/audio-brief/SKILL.md +65 -0
  27. package/skills/audio-brief/trigger-cases.json +30 -0
  28. package/skills/audit-assist/trigger-cases.json +30 -0
  29. package/skills/audit-chain/trigger-cases.json +31 -0
  30. package/skills/banking-credit/trigger-cases.json +30 -0
  31. package/skills/brand-design/trigger-cases.json +30 -0
  32. package/skills/business-plan/trigger-cases.json +30 -0
  33. package/skills/capital-ops/trigger-cases.json +30 -0
  34. package/skills/cicd-pipeline/trigger-cases.json +31 -0
  35. package/skills/code-archaeology/SKILL.md +55 -0
  36. package/skills/code-archaeology/trigger-cases.json +9 -0
  37. package/skills/code-quality/SKILL.md +138 -0
  38. package/skills/code-quality/references/languages.md +107 -0
  39. package/skills/code-quality/scripts/__pycache__/code_battery.cpython-312.pyc +0 -0
  40. package/skills/code-quality/scripts/__pycache__/code_check.cpython-312.pyc +0 -0
  41. package/skills/code-quality/scripts/__pycache__/code_check.cpython-313.pyc +0 -0
  42. package/skills/code-quality/scripts/__pycache__/code_csharp.cpython-312.pyc +0 -0
  43. package/skills/code-quality/scripts/__pycache__/code_csharp.cpython-313.pyc +0 -0
  44. package/skills/code-quality/scripts/__pycache__/code_fix.cpython-312.pyc +0 -0
  45. package/skills/code-quality/scripts/__pycache__/code_fix.cpython-313.pyc +0 -0
  46. package/skills/code-quality/scripts/__pycache__/code_java.cpython-312.pyc +0 -0
  47. package/skills/code-quality/scripts/__pycache__/code_java.cpython-313.pyc +0 -0
  48. package/skills/code-quality/scripts/__pycache__/code_jsts.cpython-312.pyc +0 -0
  49. package/skills/code-quality/scripts/__pycache__/code_jsts.cpython-313.pyc +0 -0
  50. package/skills/code-quality/scripts/__pycache__/code_lens.cpython-312.pyc +0 -0
  51. package/skills/code-quality/scripts/__pycache__/code_lens.cpython-313.pyc +0 -0
  52. package/skills/code-quality/scripts/__pycache__/code_python.cpython-312.pyc +0 -0
  53. package/skills/code-quality/scripts/__pycache__/code_python.cpython-313.pyc +0 -0
  54. package/skills/code-quality/scripts/__pycache__/code_testplan.cpython-312.pyc +0 -0
  55. package/skills/code-quality/scripts/code_battery.py +1072 -0
  56. package/skills/code-quality/scripts/code_check.py +1269 -0
  57. package/skills/code-quality/scripts/code_csharp.py +371 -0
  58. package/skills/code-quality/scripts/code_fix.py +201 -0
  59. package/skills/code-quality/scripts/code_java.py +695 -0
  60. package/skills/code-quality/scripts/code_jsts.py +313 -0
  61. package/skills/code-quality/scripts/code_lens.py +1079 -0
  62. package/skills/code-quality/scripts/code_python.py +536 -0
  63. package/skills/code-quality/scripts/code_testplan.py +239 -0
  64. package/skills/code-quality/trigger-cases.json +45 -0
  65. package/skills/code-review/SKILL.md +24 -0
  66. package/skills/code-review/trigger-cases.json +35 -0
  67. package/skills/commit-and-pr/trigger-cases.json +31 -0
  68. package/skills/content-creation/trigger-cases.json +30 -0
  69. package/skills/corporate-governance/trigger-cases.json +30 -0
  70. package/skills/crawl-chain/trigger-cases.json +31 -0
  71. package/skills/customer-service/trigger-cases.json +30 -0
  72. package/skills/data-analysis/trigger-cases.json +30 -0
  73. package/skills/data-chain/SKILL.md +1 -1
  74. package/skills/data-chain/trigger-cases.json +31 -0
  75. package/skills/data-governance/trigger-cases.json +30 -0
  76. package/skills/data-report-pro/trigger-cases.json +30 -0
  77. package/skills/data-streaming/trigger-cases.json +30 -0
  78. package/skills/data-wrangling/SKILL.md +1 -1
  79. package/skills/data-wrangling/trigger-cases.json +30 -0
  80. package/skills/db-es/trigger-cases.json +30 -0
  81. package/skills/db-migration/trigger-cases.json +30 -0
  82. package/skills/db-mysql/trigger-cases.json +30 -0
  83. package/skills/db-postgres/trigger-cases.json +30 -0
  84. package/skills/db-redis/trigger-cases.json +30 -0
  85. package/skills/debug-root-cause/trigger-cases.json +30 -0
  86. package/skills/dependency-audit/SKILL.md +56 -0
  87. package/skills/dependency-audit/trigger-cases.json +7 -0
  88. package/skills/dependency-upgrade/trigger-cases.json +31 -0
  89. package/skills/dev-cpp/trigger-cases.json +30 -0
  90. package/skills/dev-cross-platform/trigger-cases.json +30 -0
  91. package/skills/dev-csharp/SKILL.md +23 -0
  92. package/skills/dev-csharp/trigger-cases.json +30 -0
  93. package/skills/dev-frontend/SKILL.md +19 -0
  94. package/skills/dev-frontend/trigger-cases.json +30 -0
  95. package/skills/dev-go/trigger-cases.json +30 -0
  96. package/skills/dev-harmony/trigger-cases.json +30 -0
  97. package/skills/dev-java/SKILL.md +20 -0
  98. package/skills/dev-java/trigger-cases.json +30 -0
  99. package/skills/dev-mobile/trigger-cases.json +30 -0
  100. package/skills/dev-node/trigger-cases.json +30 -0
  101. package/skills/dev-php/trigger-cases.json +30 -0
  102. package/skills/dev-python/SKILL.md +21 -0
  103. package/skills/dev-python/trigger-cases.json +30 -0
  104. package/skills/dev-rust/trigger-cases.json +30 -0
  105. package/skills/dev-toolchain/trigger-cases.json +31 -0
  106. package/skills/doc-chain/trigger-cases.json +31 -0
  107. package/skills/doc-compare/trigger-cases.json +30 -0
  108. package/skills/docx-author/SKILL.md +127 -25
  109. package/skills/docx-author/scripts/__pycache__/docx_battery.cpython-312.pyc +0 -0
  110. package/skills/docx-author/scripts/__pycache__/docx_build.cpython-312.pyc +0 -0
  111. package/skills/docx-author/scripts/__pycache__/docx_check.cpython-312.pyc +0 -0
  112. package/skills/docx-author/scripts/__pycache__/docx_layout.cpython-312.pyc +0 -0
  113. package/skills/docx-author/scripts/__pycache__/zh_prose.cpython-312.pyc +0 -0
  114. package/skills/docx-author/scripts/docx_battery.py +586 -0
  115. package/skills/docx-author/scripts/docx_build.py +995 -0
  116. package/skills/docx-author/scripts/docx_check.py +1306 -0
  117. package/skills/docx-author/scripts/docx_doc.py +14 -154
  118. package/skills/docx-author/scripts/docx_layout.py +490 -0
  119. package/skills/docx-author/scripts/zh_prose.py +639 -0
  120. package/skills/docx-author/trigger-cases.json +58 -0
  121. package/skills/echo-brief/SKILL.md +84 -0
  122. package/skills/echo-brief/references/echo-format.md +68 -0
  123. package/skills/echo-brief/trigger-cases.json +40 -0
  124. package/skills/ecommerce-ops/trigger-cases.json +30 -0
  125. package/skills/education-training/trigger-cases.json +30 -0
  126. package/skills/ehs-safety/trigger-cases.json +30 -0
  127. package/skills/email-writing/trigger-cases.json +30 -0
  128. package/skills/eng-ai/trigger-cases.json +30 -0
  129. package/skills/eng-architecture/trigger-cases.json +31 -0
  130. package/skills/eng-automation/trigger-cases.json +31 -0
  131. package/skills/eng-collaboration/trigger-cases.json +30 -0
  132. package/skills/eng-complex-env/trigger-cases.json +30 -0
  133. package/skills/eng-data-platform/trigger-cases.json +31 -0
  134. package/skills/eng-database/trigger-cases.json +31 -0
  135. package/skills/eng-develop/trigger-cases.json +30 -0
  136. package/skills/eng-docs/SKILL.md +24 -0
  137. package/skills/eng-docs/trigger-cases.json +30 -0
  138. package/skills/eng-efficiency/trigger-cases.json +30 -0
  139. package/skills/eng-infra/trigger-cases.json +30 -0
  140. package/skills/eng-integration/trigger-cases.json +31 -0
  141. package/skills/eng-legacy/trigger-cases.json +31 -0
  142. package/skills/eng-observability/trigger-cases.json +31 -0
  143. package/skills/eng-ops/trigger-cases.json +31 -0
  144. package/skills/eng-performance/trigger-cases.json +31 -0
  145. package/skills/eng-planning/trigger-cases.json +31 -0
  146. package/skills/eng-quality/SKILL.md +8 -0
  147. package/skills/eng-quality/trigger-cases.json +31 -0
  148. package/skills/eng-release/trigger-cases.json +31 -0
  149. package/skills/eng-reliability/trigger-cases.json +31 -0
  150. package/skills/eng-requirements/trigger-cases.json +12 -0
  151. package/skills/eng-research/trigger-cases.json +30 -0
  152. package/skills/eng-security/trigger-cases.json +31 -0
  153. package/skills/eng-ux/trigger-cases.json +30 -0
  154. package/skills/engineering-chain/trigger-cases.json +30 -0
  155. package/skills/env-offline/trigger-cases.json +31 -0
  156. package/skills/env-private-deploy/trigger-cases.json +31 -0
  157. package/skills/env-xinchuang/trigger-cases.json +31 -0
  158. package/skills/equipment-tpm/trigger-cases.json +30 -0
  159. package/skills/esg-report/trigger-cases.json +30 -0
  160. package/skills/event-management/trigger-cases.json +30 -0
  161. package/skills/excel-analysis-chain/SKILL.md +17 -4
  162. package/skills/excel-analysis-chain/trigger-cases.json +31 -0
  163. package/skills/explain-codebase/trigger-cases.json +11 -0
  164. package/skills/file-ingest/trigger-cases.json +30 -0
  165. package/skills/finance-analysis/trigger-cases.json +31 -0
  166. package/skills/finance-chain/trigger-cases.json +31 -0
  167. package/skills/financial-modeling/trigger-cases.json +31 -0
  168. package/skills/find-simplifications/SKILL.md +43 -0
  169. package/skills/find-simplifications/trigger-cases.json +23 -0
  170. package/skills/foreign-trade/trigger-cases.json +30 -0
  171. package/skills/funnel-cohort/trigger-cases.json +30 -0
  172. package/skills/gov-document/trigger-cases.json +30 -0
  173. package/skills/gui-change-evidence/SKILL.md +47 -0
  174. package/skills/gui-change-evidence/trigger-cases.json +23 -0
  175. package/skills/hr-chain/trigger-cases.json +31 -0
  176. package/skills/hr-operations/trigger-cases.json +30 -0
  177. package/skills/info-disclosure/trigger-cases.json +31 -0
  178. package/skills/infra-gateway/trigger-cases.json +31 -0
  179. package/skills/infra-k8s/trigger-cases.json +31 -0
  180. package/skills/infra-mq/trigger-cases.json +30 -0
  181. package/skills/insurance-advisory/trigger-cases.json +30 -0
  182. package/skills/internal-audit/trigger-cases.json +30 -0
  183. package/skills/ip-management/trigger-cases.json +31 -0
  184. package/skills/ipo-listing/trigger-cases.json +31 -0
  185. package/skills/it-audit/trigger-cases.json +31 -0
  186. package/skills/itsm-ops/trigger-cases.json +31 -0
  187. package/skills/knowledge-sop/trigger-cases.json +31 -0
  188. package/skills/legal-chain/trigger-cases.json +31 -0
  189. package/skills/legal-contract/trigger-cases.json +30 -0
  190. package/skills/litigation-support/trigger-cases.json +31 -0
  191. package/skills/logistics-warehouse/trigger-cases.json +30 -0
  192. package/skills/long-doc-analysis/trigger-cases.json +31 -0
  193. package/skills/management-accounting/trigger-cases.json +30 -0
  194. package/skills/manufacturing-chain/trigger-cases.json +31 -0
  195. package/skills/manufacturing-quality/trigger-cases.json +30 -0
  196. package/skills/marketing-analytics/trigger-cases.json +31 -0
  197. package/skills/marketing-chain/trigger-cases.json +31 -0
  198. package/skills/meeting-minutes/trigger-cases.json +30 -0
  199. package/skills/metrics-system/trigger-cases.json +31 -0
  200. package/skills/negotiation-prep/trigger-cases.json +30 -0
  201. package/skills/obs-prometheus/trigger-cases.json +31 -0
  202. package/skills/office-automation/trigger-cases.json +31 -0
  203. package/skills/okr-review/trigger-cases.json +30 -0
  204. package/skills/ops-fleet/trigger-cases.json +31 -0
  205. package/skills/ops-linux/trigger-cases.json +31 -0
  206. package/skills/optimization-solver/trigger-cases.json +30 -0
  207. package/skills/patent-disclosure/SKILL.md +105 -0
  208. package/skills/patent-disclosure/references/figures.md +110 -0
  209. package/skills/patent-disclosure/references/outline.md +162 -0
  210. package/skills/patent-disclosure/scripts/patent_docx.py +230 -0
  211. package/skills/patent-disclosure/trigger-cases.json +31 -0
  212. package/skills/patent-drafting/SKILL.md +108 -0
  213. package/skills/patent-drafting/trigger-cases.json +31 -0
  214. package/skills/patent-portfolio/SKILL.md +81 -0
  215. package/skills/patent-portfolio/trigger-cases.json +31 -0
  216. package/skills/pdf-toolkit/trigger-cases.json +31 -0
  217. package/skills/perf-optimize/trigger-cases.json +31 -0
  218. package/skills/pivot-crosstab/trigger-cases.json +30 -0
  219. package/skills/policy-analysis/trigger-cases.json +31 -0
  220. package/skills/portfolio-analysis/trigger-cases.json +31 -0
  221. package/skills/ppt-chain/SKILL.md +14 -6
  222. package/skills/ppt-chain/trigger-cases.json +31 -0
  223. package/skills/pptx-author/SKILL.md +86 -33
  224. package/skills/pptx-author/scripts/__pycache__/pptx_check.cpython-312.pyc +0 -0
  225. package/skills/pptx-author/scripts/__pycache__/pptx_deck.cpython-312.pyc +0 -0
  226. package/skills/pptx-author/scripts/__pycache__/pptx_layout.cpython-312.pyc +0 -0
  227. package/skills/pptx-author/scripts/pptx_battery.py +178 -0
  228. package/skills/pptx-author/scripts/pptx_build.py +119 -0
  229. package/skills/pptx-author/scripts/pptx_check.py +1182 -0
  230. package/skills/pptx-author/scripts/pptx_deck.py +736 -145
  231. package/skills/pptx-author/scripts/pptx_layout.py +384 -0
  232. package/skills/pptx-author/trigger-cases.json +15 -0
  233. package/skills/pr-comms/trigger-cases.json +30 -0
  234. package/skills/procurement-supply/trigger-cases.json +31 -0
  235. package/skills/product-design/trigger-cases.json +31 -0
  236. package/skills/production-planning/trigger-cases.json +31 -0
  237. package/skills/project-management/trigger-cases.json +31 -0
  238. package/skills/project-proposal/trigger-cases.json +31 -0
  239. package/skills/prose-standard/SKILL.md +53 -0
  240. package/skills/prose-standard/trigger-cases.json +23 -0
  241. package/skills/qa-api-automation/trigger-cases.json +31 -0
  242. package/skills/qa-mobile-automation/trigger-cases.json +31 -0
  243. package/skills/qa-ui-automation/trigger-cases.json +31 -0
  244. package/skills/quant-analysis/trigger-cases.json +31 -0
  245. package/skills/rag-triage/SKILL.md +64 -0
  246. package/skills/rag-triage/evals.json +57 -0
  247. package/skills/rag-triage/references/triage-playbook.md +75 -0
  248. package/skills/rag-triage/trigger-cases.json +31 -0
  249. package/skills/real-estate-property/trigger-cases.json +30 -0
  250. package/skills/refactor-safely/SKILL.md +1 -1
  251. package/skills/refactor-safely/trigger-cases.json +30 -0
  252. package/skills/regression-forecast/trigger-cases.json +31 -0
  253. package/skills/release-checklist/trigger-cases.json +31 -0
  254. package/skills/report-craft/SKILL.md +76 -0
  255. package/skills/report-craft/references/feasibility.md +118 -0
  256. package/skills/report-craft/references/review-checklist.md +51 -0
  257. package/skills/report-craft/references/visuals.md +114 -0
  258. package/skills/report-craft/references/writing.md +80 -0
  259. package/skills/report-craft/scripts/__pycache__/chart_render.cpython-312.pyc +0 -0
  260. package/skills/report-craft/scripts/__pycache__/fin_model.cpython-312.pyc +0 -0
  261. package/skills/report-craft/scripts/__pycache__/project_facts.cpython-312.pyc +0 -0
  262. package/skills/report-craft/scripts/chart_render.py +1222 -0
  263. package/skills/report-craft/scripts/fin_model.py +602 -0
  264. package/skills/report-craft/scripts/project_facts.py +580 -0
  265. package/skills/report-craft/scripts/report_battery.py +349 -0
  266. package/skills/report-craft/trigger-cases.json +15 -0
  267. package/skills/retail-store-ops/trigger-cases.json +30 -0
  268. package/skills/risk-compliance/trigger-cases.json +31 -0
  269. package/skills/scope-creep/SKILL.md +45 -0
  270. package/skills/scope-creep/trigger-cases.json +7 -0
  271. package/skills/sec-auth/trigger-cases.json +31 -0
  272. package/skills/sec-compliance/trigger-cases.json +31 -0
  273. package/skills/securities-chain/trigger-cases.json +31 -0
  274. package/skills/securities-research/trigger-cases.json +31 -0
  275. package/skills/security-audit/trigger-cases.json +31 -0
  276. package/skills/slides-html/SKILL.md +25 -10
  277. package/skills/slides-html/trigger-cases.json +11 -0
  278. package/skills/sql-analysis/SKILL.md +110 -0
  279. package/skills/sql-analysis/trigger-cases.json +34 -0
  280. package/skills/sql-tuning/trigger-cases.json +31 -0
  281. package/skills/statistical-testing/trigger-cases.json +31 -0
  282. package/skills/strategy-planning/trigger-cases.json +30 -0
  283. package/skills/supply-chain/trigger-cases.json +31 -0
  284. package/skills/tax-compliance/trigger-cases.json +30 -0
  285. package/skills/tech-doc/SKILL.md +262 -0
  286. package/skills/tech-doc/scripts/__pycache__/archive_battery.cpython-312.pyc +0 -0
  287. package/skills/tech-doc/scripts/__pycache__/archive_build.cpython-312.pyc +0 -0
  288. package/skills/tech-doc/scripts/__pycache__/archive_check.cpython-312.pyc +0 -0
  289. package/skills/tech-doc/scripts/__pycache__/archive_spec.cpython-312.pyc +0 -0
  290. package/skills/tech-doc/scripts/__pycache__/doc_templates.cpython-312.pyc +0 -0
  291. package/skills/tech-doc/scripts/archive_battery.py +860 -0
  292. package/skills/tech-doc/scripts/archive_build.py +599 -0
  293. package/skills/tech-doc/scripts/archive_check.py +1307 -0
  294. package/skills/tech-doc/scripts/archive_spec.py +499 -0
  295. package/skills/tech-doc/scripts/doc_templates.py +624 -0
  296. package/skills/tech-doc/trigger-cases.json +57 -0
  297. package/skills/tech-research/trigger-cases.json +31 -0
  298. package/skills/tender-bidding/trigger-cases.json +31 -0
  299. package/skills/translation-pro/trigger-cases.json +30 -0
  300. package/skills/treasury-mgmt/trigger-cases.json +31 -0
  301. package/skills/trim-cot-leakage/SKILL.md +58 -0
  302. package/skills/trim-cot-leakage/trigger-cases.json +23 -0
  303. package/skills/web-craft/SKILL.md +103 -0
  304. package/skills/web-craft/references/craft-checklist.md +75 -0
  305. package/skills/web-craft/references/design-direction.md +122 -0
  306. package/skills/web-craft/references/h5-mobile.md +100 -0
  307. package/skills/web-craft/references/motion.md +136 -0
  308. package/skills/web-craft/references/recipes.md +74 -0
  309. package/skills/web-craft/templates/wedding-invitation.html +1180 -0
  310. package/skills/web-craft/trigger-cases.json +14 -0
  311. package/skills/web-scraping/trigger-cases.json +34 -0
  312. package/skills/web-search/SKILL.md +11 -10
  313. package/skills/web-search/trigger-cases.json +31 -0
  314. package/skills/weekly-report/SKILL.md +134 -0
  315. package/skills/weekly-report/trigger-cases.json +11 -0
  316. package/skills/write-tests/trigger-cases.json +31 -0
  317. package/skills/xlsx-analysis/SKILL.md +143 -77
  318. package/skills/xlsx-analysis/scripts/__pycache__/data_profile.cpython-312.pyc +0 -0
  319. package/skills/xlsx-analysis/scripts/__pycache__/xlsx_build.cpython-312.pyc +0 -0
  320. package/skills/xlsx-analysis/scripts/__pycache__/xlsx_check.cpython-312.pyc +0 -0
  321. package/skills/xlsx-analysis/scripts/__pycache__/xlsx_layout.cpython-312.pyc +0 -0
  322. package/skills/xlsx-analysis/scripts/__pycache__/xlsx_toolkit.cpython-312.pyc +0 -0
  323. package/skills/xlsx-analysis/scripts/data_profile.py +391 -0
  324. package/skills/xlsx-analysis/scripts/xlsx_battery.py +389 -0
  325. package/skills/xlsx-analysis/scripts/xlsx_build.py +522 -0
  326. package/skills/xlsx-analysis/scripts/xlsx_check.py +924 -0
  327. package/skills/xlsx-analysis/scripts/xlsx_layout.py +235 -0
  328. package/skills/xlsx-analysis/scripts/xlsx_style.py +28 -66
  329. package/skills/xlsx-analysis/scripts/xlsx_toolkit.py +61 -5
  330. package/skills/xlsx-analysis/trigger-cases.json +59 -0
  331. package/squads/hc-defense.md +47 -0
  332. package/squads/hc-rdarchive.md +110 -0
  333. package/squads/hc-redteam.md +50 -0
  334. package/squads/hc-weekly.md +125 -0
  335. package/src/account.js +1 -1
  336. package/src/acp.js +1 -0
  337. package/src/advisor.js +1 -1
  338. package/src/agent.js +1 -1
  339. package/src/api.js +1 -1
  340. package/src/archaeology.js +1 -0
  341. package/src/ask-ui.js +1 -0
  342. package/src/assets-import.js +1 -1
  343. package/src/autofix.js +1 -1
  344. package/src/automation-tools.js +1 -1
  345. package/src/automation.js +1 -1
  346. package/src/autorun.js +1 -1
  347. package/src/banner.js +1 -1
  348. package/src/capability-probe.js +1 -0
  349. package/src/checkpoints.js +1 -1
  350. package/src/code-tools.js +1 -0
  351. package/src/codeindex.js +1 -1
  352. package/src/codemode.js +1 -0
  353. package/src/command-bridge.js +1 -0
  354. package/src/command-ui.js +1 -0
  355. package/src/commands.js +1 -1
  356. package/src/compaction.js +1 -1
  357. package/src/computer.js +1 -1
  358. package/src/config.js +1 -1
  359. package/src/consult.js +1 -1
  360. package/src/context-report.js +1 -1
  361. package/src/context-window.js +1 -0
  362. package/src/context.js +1 -1
  363. package/src/crew.js +1 -0
  364. package/src/crush.js +1 -0
  365. package/src/daemon.js +1 -1
  366. package/src/decisions.js +1 -1
  367. package/src/depaudit.js +1 -0
  368. package/src/device.js +1 -1
  369. package/src/diagram-draw.js +1 -0
  370. package/src/diagram-layouts.js +1 -0
  371. package/src/diagram-raster.js +1 -0
  372. package/src/diagram.js +1 -0
  373. package/src/dictation.js +1 -0
  374. package/src/diffview.js +1 -1
  375. package/src/doctor.js +1 -1
  376. package/src/docx-tools.js +1 -0
  377. package/src/errkind.js +1 -1
  378. package/src/evidence.js +1 -0
  379. package/src/executors.js +1 -1
  380. package/src/expert-catalog.js +1 -1
  381. package/src/experts-store.js +1 -1
  382. package/src/experts.js +1 -1
  383. package/src/external-agents.js +1 -0
  384. package/src/forks.js +1 -1
  385. package/src/fs-observe.js +1 -0
  386. package/src/gitflow.js +1 -1
  387. package/src/goalround.js +1 -0
  388. package/src/hooks.js +1 -1
  389. package/src/input.js +1 -1
  390. package/src/insights.js +1 -1
  391. package/src/jobs.js +1 -0
  392. package/src/kbsync.js +1 -1
  393. package/src/lsp.js +1 -0
  394. package/src/mcp-apps.js +1 -0
  395. package/src/mcp.js +1 -1
  396. package/src/memory.js +1 -1
  397. package/src/notify.js +1 -1
  398. package/src/permissions.js +1 -1
  399. package/src/plan-limits.js +1 -0
  400. package/src/policy.js +1 -0
  401. package/src/pptx-tools.js +1 -0
  402. package/src/presence.js +1 -1
  403. package/src/privatedir.js +1 -0
  404. package/src/pyruntime.js +1 -1
  405. package/src/radar.js +1 -0
  406. package/src/render.js +1 -1
  407. package/src/repl.js +1 -1
  408. package/src/report-tools.js +1 -0
  409. package/src/routing.js +1 -0
  410. package/src/sandbox-probe.js +1 -0
  411. package/src/sandbox-win-launcher.mjs +156 -0
  412. package/src/sandbox.js +1 -0
  413. package/src/scan.js +1 -1
  414. package/src/schedule.js +1 -1
  415. package/src/scopecreep.js +1 -0
  416. package/src/sdk.js +1 -0
  417. package/src/selection.js +1 -0
  418. package/src/session-events.js +1 -0
  419. package/src/session.js +1 -1
  420. package/src/sessionindex.js +1 -0
  421. package/src/sessionlog.js +1 -0
  422. package/src/skill-catalog.js +1 -0
  423. package/src/skill-lint.js +1 -0
  424. package/src/skill-optimize.js +1 -0
  425. package/src/skill-scan.js +1 -0
  426. package/src/skills.js +1 -1
  427. package/src/spill.js +1 -0
  428. package/src/squad.js +1 -1
  429. package/src/subagent.js +1 -1
  430. package/src/surface-state.js +1 -0
  431. package/src/tapd.js +1 -0
  432. package/src/terminal-select.js +1 -0
  433. package/src/terminal.js +1 -0
  434. package/src/test-runner.js +1 -0
  435. package/src/todo.js +1 -1
  436. package/src/toolpipe.js +1 -0
  437. package/src/tools.js +1 -1
  438. package/src/toon.js +1 -0
  439. package/src/transcript.js +1 -1
  440. package/src/tui/app.js +1 -1
  441. package/src/tui/command-menu.js +1 -0
  442. package/src/tui/progress.js +1 -0
  443. package/src/tui/scroll.js +1 -0
  444. package/src/tui/welcome.js +1 -0
  445. package/src/tui/workbench.js +1 -0
  446. package/src/ui-spec.js +1 -0
  447. package/src/uitree.js +1 -0
  448. package/src/uninstall.js +1 -1
  449. package/src/visual.js +1 -1
  450. package/src/voice-form.js +1 -0
  451. package/src/voice.js +1 -0
  452. package/src/watch.js +1 -1
  453. package/src/web-audit.js +1 -0
  454. package/src/web-cdp.js +1 -0
  455. package/src/web-inspect.js +1 -0
  456. package/src/websearch.js +1 -0
  457. package/src/weekly.js +1 -0
  458. package/src/workflow.js +1 -0
  459. package/src/worklog.js +1 -0
  460. package/src/xlsx-tools.js +1 -0
  461. package/ui/command-picker.js +79 -0
  462. package/skills/ab-testing/scripts/__pycache__/ab_test.cpython-312.pyc +0 -0
  463. package/skills/accounting-ops/scripts/__pycache__/acct_tools.cpython-312.pyc +0 -0
  464. package/skills/anomaly-detection/scripts/__pycache__/anomaly.cpython-312.pyc +0 -0
  465. package/skills/audit-assist/scripts/__pycache__/audit_sampling.cpython-312.pyc +0 -0
  466. package/skills/banking-credit/scripts/__pycache__/credit_metrics.cpython-312.pyc +0 -0
  467. package/skills/data-report-pro/scripts/__pycache__/bigdata.cpython-312.pyc +0 -0
  468. package/skills/data-wrangling/scripts/__pycache__/join_tools.cpython-312.pyc +0 -0
  469. package/skills/ecommerce-ops/scripts/__pycache__/gmv_decompose.cpython-312.pyc +0 -0
  470. package/skills/funnel-cohort/scripts/__pycache__/funnel.cpython-312.pyc +0 -0
  471. package/skills/management-accounting/scripts/__pycache__/costing.cpython-312.pyc +0 -0
  472. package/skills/manufacturing-quality/scripts/__pycache__/spc.cpython-312.pyc +0 -0
  473. package/skills/marketing-analytics/scripts/__pycache__/rfm.cpython-312.pyc +0 -0
  474. package/skills/optimization-solver/scripts/__pycache__/solver.cpython-312.pyc +0 -0
  475. package/skills/pivot-crosstab/scripts/__pycache__/pivot_tools.cpython-312.pyc +0 -0
  476. package/skills/portfolio-analysis/scripts/__pycache__/portfolio.cpython-312.pyc +0 -0
  477. package/skills/procurement-supply/scripts/__pycache__/supply.cpython-312.pyc +0 -0
  478. package/skills/production-planning/scripts/__pycache__/mrp_capacity.cpython-312.pyc +0 -0
  479. package/skills/project-management/scripts/__pycache__/cpm.cpython-312.pyc +0 -0
  480. package/skills/quant-analysis/scripts/__pycache__/quant.cpython-312.pyc +0 -0
  481. package/skills/real-estate-property/scripts/__pycache__/property_calc.cpython-312.pyc +0 -0
  482. package/skills/regression-forecast/scripts/__pycache__/regress.cpython-312.pyc +0 -0
  483. package/skills/securities-research/scripts/__pycache__/valuation.cpython-312.pyc +0 -0
  484. package/skills/statistical-testing/scripts/__pycache__/stat_tests.cpython-312.pyc +0 -0
  485. package/skills/treasury-mgmt/scripts/__pycache__/cashflow_forecast.cpython-312.pyc +0 -0
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "ai-aiops",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "告警风暴太多了,想上智能降噪",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "值班 Copilot 怎么落地,根因推荐靠谱吗",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "AIOps 立项怎么评估成熟度",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "写一份 Prometheus 告警规则",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "做一次数据库慢查询优化",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "ai-coding",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "团队想引入 AI 编码助手,怎么落地",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "AI 写的代码质量怎么治理和评审",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "AI 提效说不清楚,怎么度量接受率",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "帮我审查这个 PR 的逻辑错误",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "设计一套 CI 流水线缓存策略",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "ai-compliance",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "AI 功能要上线对外,要不要做双备案",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "生成式 AI 的内容标识义务怎么落",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "语料来源和个人信息授权链怎么合规",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "做一次等保三级整改",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "起草一份数据处理协议",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "ai-eval",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "建一套模型评测集,冒烟回归全量怎么分层",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "总感觉模型变笨了,怎么定量化",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "LLM-as-judge 怎么校准才可信",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "跑一次显著性检验看实验结论",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "写一份接口自动化测试用例",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "ai-llm-app",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "LLM 接口又慢又贵,怎么做缓存和降级",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "结构化输出老是不稳,怎么加防线",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "上下文窗口超限了怎么做预算",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "设计一套 HTTP 接口的鉴权签名",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "做一次前端首屏性能优化",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "ai-mlops",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "自部署推理怎么做量化和批处理",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "AI 账单失控了,怎么做成本归因",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "模型效果悄悄衰减,怎么监控漂移",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "写一份容器编排的部署清单",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "做一次数据仓库分层设计",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "ai-multimodal",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "发票合同扫描件识别,OCR 置信度怎么分级转人工",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "语音转写热词和 OCR 置信度分级怎么配",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "图表问答读数不准怎么办",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "写一段爬虫抓取网页正文",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "做一份视频号内容规划",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "ai-prompt",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "系统提示越写越长失控了,怎么重构",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "输出不稳定,提示怎么一次一变量迭代",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "提示资产怎么版本化做回归",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "写一份产品需求文档",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "设计一个数据库表结构",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "ai-rag",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "知识库问答答非所问,怎么排查检索质量",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "要不要上 RAG 还是微调还是长上下文",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "检索要做权限过滤和引用溯源",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "训练一个分类模型调参",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "做一次全文检索的分词优化",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "anomaly-detection",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "帮我找出这批数据里的离群值",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "这些交易有没有造假,用本福特定律查一下",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "数据突然波动,做个可疑筛查",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "设计一个 AB 实验的样本量",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "写一份年度审计计划",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "skill": "api-design",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "帮我设计一个 REST 接口的端点和契约",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "评审一下这个 API 的资源建模",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "要加个接口,路径和状态码怎么定",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "调用第三方接口需要 HMAC 签名怎么写",
22
+ "shouldTrigger": false,
23
+ "lexical": false
24
+ },
25
+ {
26
+ "id": "neg-2",
27
+ "prompt": "设计一张订单表的索引",
28
+ "shouldTrigger": false
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "skill": "api-integration",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "对接这个第三方 API,文档在这,需要 AK SK 签名",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "调用要加时间戳和 nonce 防重放怎么写",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "接口限流了,分页和重试怎么处理",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "设计一套对外开放的 REST 接口契约",
22
+ "shouldTrigger": false,
23
+ "lexical": false
24
+ },
25
+ {
26
+ "id": "neg-2",
27
+ "prompt": "做一次网页正文的结构化抽取",
28
+ "shouldTrigger": false
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "skill": "arch-design",
3
+ "purpose": "触发行为规格。与 eng-architecture 是刻意分层:方案文档与画图细则在本技能,子链深耕在 eng-architecture。",
4
+ "intentionalOverlap": ["eng-architecture"],
5
+ "cases": [
6
+ { "id": "design-arch", "prompt": "帮我设计一下这个系统的架构方案", "shouldTrigger": true },
7
+ { "id": "adr", "prompt": "选型定了,怎么把这个决策记录下来", "shouldTrigger": true },
8
+ { "id": "tech-debt", "prompt": "技术债台账怎么建", "shouldTrigger": true },
9
+ { "id": "near-miss-draw", "prompt": "把这个架构画成图放进评审材料", "shouldTrigger": false },
10
+ { "id": "near-miss-api", "prompt": "这几个接口的出入参怎么定", "shouldTrigger": false }
11
+ ]
12
+ }
@@ -0,0 +1,118 @@
1
+ ---
2
+ name: arch-diagram
3
+ description: 工程绘图(系统总体架构图/技术架构图/业务架构图、部署拓扑、业务流程与数据流、接口时序图、数据模型图、功能结构图、演进路线图)。当用户说"画架构图/画个图/出一套图/把方案画出来/根据源码画架构/概要设计的图"时使用。产出矢量 SVG + 高清 PNG,放大不模糊。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 工程绘图(从方案/设计/源码到能进评审材料的图)
8
+
9
+ 工具:`render_diagram(spec)` 出图,`diagram_schema(type)` 查字段。
10
+ **你只出内容结构,版式由引擎负责**——绝不手写 SVG/HTML/mermaid,也不要用 matplotlib 画架构图。
11
+
12
+ ## 先定图型(选错图型,画得再漂亮也白搭)
13
+
14
+ | 要表达什么 | 图型 | 典型出处 |
15
+ |---|---|---|
16
+ | 系统由哪些层/哪些部件构成、各自职责 | `layered` | 概要设计「系统总体架构」、技术方案 |
17
+ | 用什么技术栈、各层选型 | `layered`(节点用 tags 挂技术) | 技术架构章节 |
18
+ | 业务分几个域、每域有哪些能力 | `layered`(层=业务域,组=子域,节点=能力) | 业务架构、能力地图 |
19
+ | 部署在哪些节点、走什么链路 | `flow`(LR)或 `layered` | 部署方案、运维手册 |
20
+ | 事情按什么顺序流转、谁在什么条件下做什么 | `flow`(多角色时加 lanes 泳道) | 业务流程、数据流 |
21
+ | 一次调用里各方怎么来回交互 | `sequence` | 详细设计的接口时序 |
22
+ | 有哪些表、字段、表间关系 | `er` | 详细设计、数据库设计说明书 |
23
+ | 功能怎么逐级分解 | `tree` | 功能结构图、WBS、模块分解 |
24
+ | 分几期做、每期交付什么 | `timeline` | 可研报告、项目建议书、实施方案 |
25
+
26
+ 一份完整交付通常是**一套图**,不是一张:
27
+ 总体架构 + 技术架构 + 业务架构 + 关键流程 + 核心时序 + 数据模型 + 功能结构 + 演进路线。
28
+ 多张图相互独立时,**同一轮里并行多次调用 render_diagram**,别一张张串行等。
29
+
30
+ ## 先读懂,再动笔(图错了比图丑严重得多)
31
+
32
+ - **有设计文档**:读全文,抽出「模块清单 / 层次划分 / 依赖关系 / 技术选型 / 接口清单 / 表清单 / 分期计划」。
33
+ 文档里的名词直接用,不要自己改名(评审时对不上就是事故)。
34
+ - **只有源码**:`list_files` 看目录骨架 → `search_code` 按概念找入口/分层 → `read_file` 确认关键依赖。
35
+ 按「目录结构 + 依赖方向 + 部署单元」三条线还原架构,别照着想象画。
36
+ Java 看 pom/模块划分与 `@FeignClient`;Node 看 package.json workspaces 与 import;前端看路由与 store。
37
+ - **既有文档又有源码**:以源码为准,文档与代码不一致的地方在 `notes` 里点出来(这是很高的附加值)。
38
+ - 拿不准的部件**宁可不画**,也不要臆造;确实需要但尚未实现的,用 `style:"dashed"` 标成规划中。
39
+
40
+ ## 画到「精致详细」的硬标准
41
+
42
+ 一张能进评审材料的图,下面每条都要满足:
43
+
44
+ 1. **有图名**:`title` 必填,写成「XX系统总体架构图」这种正式名;`subtitle` 一句话点明视角。
45
+ `meta:["V1.0","2026-08"]` 挂版本与日期,正式交付材料都要。
46
+ 2. **节点不是光秃秃的方块**:每个节点给 `desc`(一句话职责,≤20 字)+ `tags`(技术栈/协议/规格,1~3 个)。
47
+ 只有名字的方块是草图,不是交付物。
48
+ 3. **层/域的职责写进 `layer.desc`**,别塞进节点名。层名 2~6 字(接入层/应用层/服务层/数据层/基础设施层)。
49
+ 4. **一层 3~6 个节点**最耐看;超过 8 个说明这层该拆组(`groups`)或该拆图。
50
+ 5. **配色有含义**:同层同色,用 `legend` 说明色彩代表什么(自研/外采/复用/待建)。不要为了花哨换色。
51
+ 6. **贯穿性支撑体系走 `sidebars`**:安全保障体系、标准规范体系、运维保障体系——中国式架构图的标配,
52
+ 放右侧竖栏比硬塞进某一层准确得多。
53
+ 7. **`notes` 写关键约定**:数据流向、部署边界、与既有系统的关系、图与代码不一致之处。
54
+ 8. **重点节点 `emphasis:true`** 实底强调(本次新建/本次改造的部分),一张图不超过 3 个。
55
+
56
+ ## 各图型的实操要点
57
+
58
+ ### layered:三种架构图的层次惯例
59
+
60
+ - **总体架构**:用户/终端层 → 接入层(网关、负载)→ 应用层(业务模块)→ 服务层(公共服务/中台)→ 数据层 → 基础设施层。
61
+ - **技术架构**:同样分层,但节点写**技术组件**(Nginx / Spring Cloud Gateway / Redis / Kafka…),`tags` 写版本。
62
+ - **业务架构**:层 = 业务域(获客域/交易域/履约域/结算域/管理域),组 = 子域,节点 = 业务能力(动词短语,如"额度审批")。
63
+ 业务架构图里**不出现任何技术名词**——出现了就说明画串了。
64
+ - 需要表达自上而下的调用/数据方向时加 `"flow":"down"`。
65
+
66
+ ### flow:流程图
67
+
68
+ - 起止用 `shape:"round"`,判断用 `"diamond"`,存储用 `"cylinder"`,输入输出用 `"parallelogram"`。
69
+ - 判断节点必须**每个分支都有出边且带 label**("是/否"、"通过/驳回"),没有出口的判断是错误。
70
+ - 涉及多个角色/部门 → 加 `lanes` 变成跨职能泳道图,每个节点标 `lane`。
71
+ - 主干竖着走(TB),链路型/部署型横着走(LR)。回边(重试、驳回)引擎会自动虚线绕行,直接写就行。
72
+
73
+ ### sequence:时序图
74
+
75
+ - `actors` 按调用顺序从左到右排(用户 → 前端 → 网关 → 服务 → 存储),排乱了线会来回穿。
76
+ - 一图一场景("登录鉴权"而不是"用户模块"),消息 8~15 条最佳,超过 20 条就拆图。
77
+ - 返回消息用 `kind:"return"`,异步用 `"async"`;重要约束写进 `note`(超时、重试、幂等、锁定策略)。
78
+ - 分支/循环用 `frames`(alt/loop/opt/par),`from`/`to` 填消息下标。
79
+
80
+ ### er:数据模型图
81
+
82
+ - 字段只保留**主键、外键、业务关键字段**,别把 40 个字段全塞进去(`comment` 补说明)。
83
+ - `pk:true` / `fk:true` 一定标;`kind` 用 `1-n` / `n-m` 并给 `label`("拥有"/"包含"/"引用")。
84
+ - 一张图 ≤ 12 张表,超了按业务域拆(订单域一张、用户域一张)。分库分表的表在 `comment` 里注明分片键。
85
+
86
+ ### tree:功能结构图
87
+
88
+ - 三层为宜:系统 → 一级模块 → 二级功能。四层以上改用多张图。
89
+ - 一级模块给 `color` 区分,下级自动继承分支色;叶子多时引擎自动竖排成列。
90
+ - 节点名用**名词短语**("权限管理"而非"管理权限"),同级粒度要一致。
91
+
92
+ ### timeline:演进路线图
93
+
94
+ - 3~4 期最好读。每期给 `period`(时间)、`items`(交付物清单)、`goal`(验收目标,要有数字)。
95
+ - 已完成项标 `done:true`。`goal` 里写"日均 1 万单、可用性 99.9%"这类可验收的话,别写"提升效率"。
96
+
97
+ ## 出图与交付
98
+
99
+ ```
100
+ render_diagram(path="docs/diagrams/总体架构图.svg", spec={...})
101
+ ```
102
+ - 默认同时产出 **SVG(矢量,放大任意倍率不模糊,Word/WPS/PPT 都能直接插入并无损缩放)**
103
+ 和 **PNG(3 倍设备像素比,贴微信/邮件/网页不糊)**。
104
+ - 印刷/投标材料:`scale=4`;黑白复印件:`theme="print"`;深色汇报底:`theme="dark"`。
105
+ - 要 PDF 单页矢量:`format="pdf"`。
106
+ - **改图就改 spec 重新生成,绝不手改 SVG**。把 spec 存成 `docs/diagrams/<图名>.json`,
107
+ 以后文档变更只改 JSON 重跑一次,图和文档就不会脱节。
108
+
109
+ ## 交付前自查
110
+
111
+ - [ ] 图名/版本齐全,一眼能看出这是什么系统的什么视角
112
+ - [ ] 名词与源码/设计文档完全一致,没有臆造的模块
113
+ - [ ] 每个节点有职责说明,关键节点有技术栈标注
114
+ - [ ] 分层/分域逻辑自洽,同层粒度一致,没有"一层只有一个方块"
115
+ - [ ] 判断分支都有出口且有标注;时序图角色顺序不来回穿
116
+ - [ ] 有图例说明配色含义,有注记说明关键约定
117
+ - [ ] 工具返回的「提醒」(名称过长、连线悬空)已逐条处理
118
+ - [ ] 一套图之间口径一致(总体架构里的模块名 = 功能结构里的模块名)
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "arch-diagram",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "帮我画一张系统总体架构图",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "根据源码出一套部署拓扑和时序图",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "把这个方案画成业务流程图",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "做一份 PPT 汇报材料",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "写一段前端组件的样式",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "arch-distributed",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "跨服务事务怎么设计,要不要上 TCC",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "分布式 ID 怎么生成,时钟回拨怎么办",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "要不要上分布式锁,数据不一致怎么排查",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "做一次单机 JVM 调优",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "设计一张宽表的分区策略",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "arch-multitenant",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "SaaS 多租户怎么做数据隔离,共表还是分库",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "大客户要独立部署,租户定制边界怎么定",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "noisy neighbor 怎么做配额治理",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "设计一个用户登录的鉴权流程",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "做一次缓存穿透的防护",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,65 @@
1
+ ---
2
+ name: audio-brief
3
+ description: 把文稿改写成口播稿并合成音频简报(日报/周报/监视简报转成能在路上听的音频)。当用户说"念给我听/做成音频/语音播报/路上听/生成播客/口播稿",或要求定时任务的产出附一份音频时使用。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 音频简报:把要看的东西变成能听的东西
8
+
9
+ 自动化任务每天产出日报、周报、监视简报,而这些东西的阅读场景恰恰是**上班路上、会议间隙**——
10
+ 两个不方便看屏幕的场景。这个技能把已有的文字产出加一路音频输出。
11
+
12
+ **它是文字简报的附加物,不是替代物。**音频不可检索、不可引用、不能跳读,
13
+ 文字版必须照旧产出。
14
+
15
+ ## 两步走,分工不能混
16
+
17
+ | 步骤 | 谁做 | 为什么 |
18
+ |---|---|---|
19
+ | ① 把文稿改写成**口播稿** | **你(模型)** | 需要判断哪些能省、数字怎么读、段落怎么过渡 |
20
+ | ② 切分 → 逐段合成 → 拼接 | **内核工具** | 纯确定性工作,交给模型编排只会每次做法都不一样 |
21
+
22
+ 不要自己写循环去调 TTS,也不要让用户手动拼音频。
23
+
24
+ ## 第一步:改写口播稿
25
+
26
+ **直接把 Markdown 丢进 TTS 是不行的**——听众会听到「井号井号 三 本周概况」「星号星号 重点 星号星号」。
27
+ 清理标记内核会做,但**语体**要你改。六条规则:
28
+
29
+ 1. **短句**。书面语一句能套三个从句,听觉一次只能装一个意思。见到长句就断开。
30
+ 2. **数字读法**。`23.5%` 写成「百分之二十三点五」;`2026-08-20` 写成「八月二十号」;
31
+ `¥1,234,567` 写成「一百二十三万四千多」——**听众记不住精确到个位的大数**,播报要给量级。
32
+ 3. **去掉纯视觉元素**。表格改叙述(「三个部门里销售部涨得最多」),图表引用改结论,
33
+ 链接直接删(念一串 URL 是灾难)。
34
+ 4. **补过渡**。文字靠标题分节,语音没有标题。段落之间要有「先说第一件事」「接下来是本周的异常」
35
+ 这类路标,否则听众三十秒后就不知道听到哪了。
36
+ 5. **开头一句话说清这是什么**。「这是八月二十号的经营日报,一共三件事。」
37
+ 听众按下播放时没有屏幕给他上下文。
38
+ 6. **结尾给行动**。「需要你今天确认的是第二件事。」听完不知道要干嘛的播报等于没听。
39
+
40
+ **长度纪律**:口播稿控制在原文的三到五成。一份两千字的日报,口播稿六百到一千字(约三到五分钟)。
41
+ 超过五分钟的播报没人听得完——宁可只播「今天最要紧的三件事」,也不要把全文念一遍。
42
+
43
+ ## 第二步:合成
44
+
45
+ 改写完的口播稿交给内核工具合成。工具会:按句切分(默认每段 400 字)→ 逐段调 TTS →
46
+ 按序拼接成一个音频文件。三条内建纪律:
47
+
48
+ - **超上限直接拒绝**,不静默截断(默认 120 段,约四万八千字)。
49
+ 用户以为整份都念了、实际只念了三分之一,比明确报错糟得多——他不会去核对音频长度。
50
+ - **任一段失败即整体失败**,不返回半截音频。一段没合成上的播报听起来只是「跳了一句」,
51
+ 听的人根本不知道自己漏了什么。
52
+ - **不支持 wav / pcm**:每段自带文件头,裸拼只有开头能播,故直接拒绝而不是给一个坏文件。
53
+
54
+ ## 什么时候不要用
55
+
56
+ - **需要引用、需要检索、需要跳着看的内容**——那是文字的活。
57
+ - **一次性的短回答**(几十个字):交互式朗读就够了,不必走这条链路。
58
+ - **默认给所有定时任务加音频**:一份日报要几十次 TTS 调用,按次计费。
59
+ 应当由用户对**特定任务**显式开启。
60
+
61
+ ## 与其它技能的接力
62
+
63
+ - 上游:`office-automation`(定时产出日报/周报)、`meeting-minutes`(纪要)、
64
+ `data-report-pro`(数据简报)——它们出文字,本技能出音频。
65
+ - 投递:音频作为交付物落盘;要发给别人走通知中心的邮件渠道(附链接,不要附几 MB 的音频体)。