@huicai/cli 2026.804.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 (486) hide show
  1. package/LICENSE +391 -32
  2. package/README.md +176 -10
  3. package/bin/huicai.js +166 -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 -0
  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 -0
  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 -0
  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 -0
  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 -0
  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 -0
  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/vision.js +1 -0
  450. package/src/visual.js +1 -0
  451. package/src/voice-form.js +1 -0
  452. package/src/voice.js +1 -0
  453. package/src/watch.js +1 -1
  454. package/src/web-audit.js +1 -0
  455. package/src/web-cdp.js +1 -0
  456. package/src/web-inspect.js +1 -0
  457. package/src/websearch.js +1 -0
  458. package/src/weekly.js +1 -0
  459. package/src/workflow.js +1 -0
  460. package/src/worklog.js +1 -0
  461. package/src/xlsx-tools.js +1 -0
  462. package/ui/command-picker.js +79 -0
  463. package/skills/ab-testing/scripts/__pycache__/ab_test.cpython-312.pyc +0 -0
  464. package/skills/accounting-ops/scripts/__pycache__/acct_tools.cpython-312.pyc +0 -0
  465. package/skills/anomaly-detection/scripts/__pycache__/anomaly.cpython-312.pyc +0 -0
  466. package/skills/audit-assist/scripts/__pycache__/audit_sampling.cpython-312.pyc +0 -0
  467. package/skills/banking-credit/scripts/__pycache__/credit_metrics.cpython-312.pyc +0 -0
  468. package/skills/data-report-pro/scripts/__pycache__/bigdata.cpython-312.pyc +0 -0
  469. package/skills/data-wrangling/scripts/__pycache__/join_tools.cpython-312.pyc +0 -0
  470. package/skills/ecommerce-ops/scripts/__pycache__/gmv_decompose.cpython-312.pyc +0 -0
  471. package/skills/funnel-cohort/scripts/__pycache__/funnel.cpython-312.pyc +0 -0
  472. package/skills/management-accounting/scripts/__pycache__/costing.cpython-312.pyc +0 -0
  473. package/skills/manufacturing-quality/scripts/__pycache__/spc.cpython-312.pyc +0 -0
  474. package/skills/marketing-analytics/scripts/__pycache__/rfm.cpython-312.pyc +0 -0
  475. package/skills/optimization-solver/scripts/__pycache__/solver.cpython-312.pyc +0 -0
  476. package/skills/pivot-crosstab/scripts/__pycache__/pivot_tools.cpython-312.pyc +0 -0
  477. package/skills/portfolio-analysis/scripts/__pycache__/portfolio.cpython-312.pyc +0 -0
  478. package/skills/procurement-supply/scripts/__pycache__/supply.cpython-312.pyc +0 -0
  479. package/skills/production-planning/scripts/__pycache__/mrp_capacity.cpython-312.pyc +0 -0
  480. package/skills/project-management/scripts/__pycache__/cpm.cpython-312.pyc +0 -0
  481. package/skills/quant-analysis/scripts/__pycache__/quant.cpython-312.pyc +0 -0
  482. package/skills/real-estate-property/scripts/__pycache__/property_calc.cpython-312.pyc +0 -0
  483. package/skills/regression-forecast/scripts/__pycache__/regress.cpython-312.pyc +0 -0
  484. package/skills/securities-research/scripts/__pycache__/valuation.cpython-312.pyc +0 -0
  485. package/skills/statistical-testing/scripts/__pycache__/stat_tests.cpython-312.pyc +0 -0
  486. package/skills/treasury-mgmt/scripts/__pycache__/cashflow_forecast.cpython-312.pyc +0 -0
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "esg-report",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "写一份 ESG 可持续发展报告",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "碳盘查 Scope1 2 3 怎么核算",
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": "event-management",
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
+ }
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: excel-analysis-chain
3
- description: Excel 与数据分析技能链总控(接入→清洗→透视→统计→建模→优化→可视化全链、19 项数据能力路由、原始数据到洞察/自动化报表流/精细化运营三条端到端工作流)。当数据诉求跨环节("从一堆表做出经营看板""这份数据能挖出什么")或不确定用哪个技能时先载入。
3
+ description: Excel 与数据分析技能链总控(接入→清洗→透视→统计→建模→优化→可视化全链、19 项数据能力路由、原始数据到洞察/自动化报表流/精细化运营三条端到端工作流)。当手上已有表格或明细数据要动手做分析("从一堆表做出经营看板""这份数据能挖出什么""帮我透视一下""几十万行 Excel 卡死了")时载入。
4
4
  version: 1.0.0
5
5
  ---
6
6
 
@@ -14,7 +14,7 @@ version: 1.0.0
14
14
  | # | 能力(Excel 里叫什么) | 技能 |
15
15
  |---|---|---|
16
16
  | 1 | 数据清洗与规范化 | **data-wrangling** |
17
- | 2 | 多表关联与匹配(VLOOKUP/INDEX-MATCH) | **data-wrangling** |
17
+ | 2 | 多表关联与匹配(VLOOKUP/INDEX-MATCH) | **data-wrangling**;表大或关联多张改走 **sql-analysis** |
18
18
  | 3 | 维度透视与交叉分析(数据透视表) | **pivot-crosstab** |
19
19
  | 4 | 趋势与对比分析(环比同比) | pivot-crosstab + data-analysis |
20
20
  | 5 | 用户与产品精细化运营(分类分层 RFM) | marketing-analytics + **funnel-cohort** |
@@ -30,7 +30,7 @@ version: 1.0.0
30
30
  | 15 | 非线性与复杂运筹优化 | **optimization-solver** |
31
31
  | 16 | 假设分析与决策模拟(规划求解 What-if) | **optimization-solver** + financial-modeling(情景) |
32
32
  | 17 | 自动化报表与数据流动 | office-automation + xlsx-analysis |
33
- | 18 | 大型复杂报表(百万行/勾稽对账) | **data-report-pro** |
33
+ | 18 | 大型复杂报表(百万行/勾稽对账) | **data-report-pro** + **sql-analysis**(几十万行以上、多表 join:DuckDB 直接对文件跑 SQL,不落库) |
34
34
  | 19 | 真正融合 Python 的高阶数据科学 | 上述脚本组合 + packages 装 sklearn/statsmodels 按需 |
35
35
 
36
36
  ## 端到端工作流
@@ -44,7 +44,7 @@ pivot-crosstab 多维透视)→ 检验(statistical-testing:差异真假 + an
44
44
 
45
45
  ### ② 自动化报表流链(周期常态)
46
46
  数据源约定(落库目录/接口)→ 清洗管道(data-wrangling 固化)→ 指标计算
47
- (pivot-crosstab + metrics-system 驱动树)→ 报表生成(xlsx-analysis 样式回写 + 图)→
47
+ (pivot-crosstab + metrics-system 驱动树)→ 报表生成(xlsx-analysis 的 create_sheet:合计走公式、列宽先量后画 + 图)→
48
48
  **Dashboard**(html 交互看板:内置浏览器可看,或经营仪表盘 slides-html)→
49
49
  分发(office-automation 例程:定时出报表+异常预警+OS 通知)——**一次搭建,长期自动跑**。
50
50
 
@@ -66,6 +66,19 @@ pivot-crosstab 多维透视)→ 检验(statistical-testing:差异真假 + an
66
66
  | 图表 | data-analysis(中文字体规范) |
67
67
  一句话描述你在 Excel 里想做什么,系统自动路由到对应能力——**不需要学新软件**。
68
68
 
69
+ ## 两条必经的闸(放在链的两端,不是可选项)
70
+
71
+ 链再长,头尾这两步跳不得——它们治的是**不报错、只把数字算错**的那类问题:
72
+
73
+ - **入口闸:动手算之前先 `xlsx_inspect(path, profile=true)`。**
74
+ 读进来的东西不是你以为的东西,是数据分析出错误答案的头号原因:金额是文本(SUM 得 0)、
75
+ 编号被读成数字(前导零没了)、明细里混着「合计」行(一汇总就翻倍)、
76
+ 两个「北京」差一个空格(分组分成两组)。这一步 10 秒,省的是整条链重算。
77
+ - **出口闸:报表用 `create_sheet` 产出,交付前 `xlsx_inspect` 必修清零。**
78
+ 引擎把合计写成 `SUBTOTAL` 公式而不是算好的常量——常量合计在下游改了明细后不会更新,
79
+ 也不报错;列宽按内容量,数字列不够宽会显示成 ####;编号列锁文本防前导零丢失。
80
+ 详见 [xlsx-analysis](../xlsx-analysis/SKILL.md)。
81
+
69
82
  ## 使用纪律
70
83
 
71
84
  链上数据同源、可复算(中间表落盘、口径进 data-governance 字典);
@@ -0,0 +1,31 @@
1
+ {
2
+ "skill": "excel-analysis-chain",
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": "几十万行 Excel 卡死了,怎么办",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "设计一套指标口径体系",
22
+ "shouldTrigger": false,
23
+ "lexical": false
24
+ },
25
+ {
26
+ "id": "neg-2",
27
+ "prompt": "写一段数据库的聚合查询",
28
+ "shouldTrigger": false
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "skill": "explain-codebase",
3
+ "purpose": "触发行为规格。与 code-review 是易混对:本技能是「讲清楚这块代码在干嘛」,code-review 是「挑毛病」。",
4
+ "cases": [
5
+ { "id": "how-it-runs", "prompt": "这个项目怎么跑起来的,从哪看起", "shouldTrigger": true },
6
+ { "id": "explain-logic", "prompt": "这段代码是干嘛的,帮我理解一下逻辑", "shouldTrigger": true },
7
+ { "id": "arch-what", "prompt": "这个陌生代码库的架构是什么样的", "shouldTrigger": true },
8
+ { "id": "near-miss-review", "prompt": "提交前自查一下质量,重点看边界和安全", "shouldTrigger": false },
9
+ { "id": "near-miss-write", "prompt": "帮我给这个模块补一批单元测试", "shouldTrigger": false }
10
+ ]
11
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "file-ingest",
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": "OFD 电子发票和扫描件怎么读",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "把这批数据做成透视表",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "写一份 Word 报告",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "skill": "finance-analysis",
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
+ "lexical": false
24
+ },
25
+ {
26
+ "id": "neg-2",
27
+ "prompt": "写一份融资商业计划书",
28
+ "shouldTrigger": false
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "skill": "finance-chain",
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
+ "lexical": false
24
+ },
25
+ {
26
+ "id": "neg-2",
27
+ "prompt": "写一份税务申报表",
28
+ "shouldTrigger": false
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "skill": "financial-modeling",
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
+ "lexical": false
24
+ },
25
+ {
26
+ "id": "neg-2",
27
+ "prompt": "写一份投资尽调清单",
28
+ "shouldTrigger": false
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: find-simplifications
3
+ description: 在一份代码里找出"删掉反而更好"的东西——没有生产消费者的接口、只有测试在用的行为、两处表示同一事实、手写了依赖已经提供的功能。当用户说"看看有什么可以简化的""这块是不是过度设计了""帮我瘦身/清理冗余",或做重构前的摸底时使用。判据是证据不是直觉。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 找简化候选
8
+
9
+ 目标不是「让代码更漂亮」,是**删掉、折叠或降级某个真实存在的东西**,并拿出它「维持的代价大于买到的价值」的证据。
10
+ 宁可给三条证据扎实的候选,也不要给二十条凭感觉的猜测。
11
+
12
+ ## 强候选的判据(命中即值得写下来)
13
+
14
+ 1. **没有生产消费者**:某个公开方法/事件/配置项/注册回调/辅助函数,全仓搜索只有定义和测试。
15
+ 2. **只有测试在用**:测试是唯一消费者,且它钉住的行为不承载任何产品语义。
16
+ 3. **同一事实两处表示**:两个字段/两份状态描述同一件事,必须靠人手动保持同步。
17
+ 4. **无人实现的缝**:一个接口要求所有实现都提供某方法,但没有任何调用方用它。
18
+ 5. **投机式通用性**:为「将来可能需要」造的多级抽象、插件点、策略表,至今只有一个实现,
19
+ 且说不出哪位使用者在等它。
20
+ 6. **手写了依赖已提供的**:外部成熟库或 Node 内置已经做了同一件事,换过去能**连实现带专属测试一起删掉**。
21
+ 7. **只为保护废接口而存在的**:某条不变式/回滚路径/特例分支,唯一的作用是伺候上面那些没人用的东西。
22
+ 8. **行为可以略有不同**:简化后语义变了一点,但新语义同样合理,而且**更好解释**。
23
+
24
+ ## 弱候选(别浪费评审时间)
25
+
26
+ - 「这个函数有点长」「命名可以更好」——那是风格,不是简化。
27
+ - 「两段代码看起来像」——先确认它们**表达的是同一个概念**;形似而义不同的合并是负债。
28
+ - 「这层抽象似乎多余」——找出它的消费者再说,找不到才算证据。
29
+
30
+ ## 刻意保留的东西(本仓约定,别当冗余删)
31
+
32
+ - **反例式论证注释**(「若只做 X,就挡不住 Y」)——它是设计理由,不是废话。
33
+ 判断口径见 [trim-cot-leakage](../trim-cot-leakage/SKILL.md)。
34
+ - **四端同源的重复**:`huicai-cli/src` 是权威源,三个宿主各有一份提交进 Git 的副本。
35
+ 那不是重复代码,是分发产物,由 `scripts/sync-core.cjs` 维护、由闸校验。
36
+ - **降级路径与「如实报不可用」分支**:看起来像冗余,实际是「绝不假装保护生效」这条纪律的实现。
37
+
38
+ ## 用法
39
+
40
+ 1. 先摸清范围与依赖:`grep`/`search_code` 找每个候选的全部引用,**把测试与生产分开数**。
41
+ 2. 每条候选写成:**是什么 → 证据(引用位置与计数)→ 删掉之后会怎样 → 风险**。
42
+ 3. 有疑问的标「需确认」,不要自作主张删。
43
+ 4. 真要动手时:一次只删一件事,删完立刻跑测试;测试因此变红,先判断是「测试在保护废接口」还是「真删错了」。
@@ -0,0 +1,23 @@
1
+ {
2
+ "skill": "find-simplifications",
3
+ "purpose": "触发行为规格。负样例分两类:不同词汇的近邻走词法层(CI 跑),同词汇不同意图的近邻标 lexical:false 归行为层。",
4
+ "cases": [
5
+ { "id": "what-can-be-removed", "prompt": "看看这个模块有什么可以简化的,哪些东西其实没人用", "shouldTrigger": true },
6
+ { "id": "over-engineered", "prompt": "这块是不是过度设计了,抽象了半天只有一个实现", "shouldTrigger": true },
7
+ { "id": "slim-down", "prompt": "帮我给这个包瘦身,清理掉冗余的接口和死配置", "shouldTrigger": true },
8
+ { "id": "dead-surface", "prompt": "找一下哪些公开方法只有测试在调,生产代码里根本没人用", "shouldTrigger": true },
9
+ {
10
+ "id": "near-miss-perf",
11
+ "prompt": "这个接口太慢了,帮我优化一下响应时间",
12
+ "shouldTrigger": false,
13
+ "note": "词汇不重合(响应时间/慢 vs 简化/冗余/没人用),词法层能分开。"
14
+ },
15
+ {
16
+ "id": "near-miss-refactor",
17
+ "prompt": "帮我重构一下这段代码,让它更好读",
18
+ "shouldTrigger": false,
19
+ "lexical": false,
20
+ "note": "与「简化」共用「这段代码/重构」——同词汇不同意图(改写以便读 vs 删掉多余的东西),词法层分不开,归行为层(应落到 refactor-safely)。"
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "foreign-trade",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "做外贸单证,箱单发票怎么审",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "信用证条款审查和 Incoterms 责任划分",
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": "funnel-cohort",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "转化漏斗流失在哪,帮我定位",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "做个 cohort 同期群留存矩阵",
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,30 @@
1
+ {
2
+ "skill": "gov-document",
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": "写一份 Word 项目方案",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "做一份对外新闻稿",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,47 @@
1
+ ---
2
+ name: gui-change-evidence
3
+ description: 给界面改动取证:改完面板/页面/样式之后,在真实环境里跑一遍并截图或录屏,证明它真的能用。当用户说"截个图证明一下能用""录一段演示走一遍交互""深色模式下也截一张看看样式有没有糊""界面验证要覆盖哪几个状态才算数"时使用。要覆盖的状态包括空数据、加载中、出错三态与浅色深色两个主题;禁止用假数据或桩数据凑证据。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 界面改动的证据纪律
8
+
9
+ 一句话:**改了用户看得见的东西,就要拿出它在真实环境里能用的证据;描述不算证据。**
10
+
11
+ ## 为什么值得较真
12
+
13
+ 界面缺陷有个特点:**单元测试全绿、代码读起来也对,但打开就是不对**——
14
+ 组件没挂上、样式在深色模式下糊了、状态没刷新、空数据时一片空白。
15
+ 这类问题只有「真的打开看一眼」能发现,而「我改好了」这句话发现不了。
16
+
17
+ ## 三条硬纪律
18
+
19
+ 1. **真环境、真数据、真模型轮次。**
20
+ 不能用固定桩数据、不能注入假事件、不能只跑组件单测截个组件的图。
21
+ 要证明的是「用户走这条路会看到什么」,任何替身都让证据失效。
22
+ 环境确实起不来(缺凭据、依赖没装),**如实说明这一限制**,不要拿桩数据顶上。
23
+
24
+ 2. **说清这份证据到底证明了什么。**
25
+ 贴图旁边写明:跑的是哪个分支/哪次改动、什么环境、有没有真实模型参与、
26
+ 哪些条件是特意设置的。读者据此判断这份证据的分量。
27
+
28
+ 3. **录制与发布分开。**
29
+ 录制只产出本地文件,不改动任何远端状态。要把它贴到哪里,是之后单独的一步。
30
+
31
+ ## 怎么做(惠彩)
32
+
33
+ 1. **桌面端**:`HUICAI_CAPTURE=<场景>` 可一键自检截图;`screenshot/` 目录放产出。
34
+ 2. **要覆盖的状态**,别只截「一切正常」那一张:
35
+ - 空数据 / 加载中 / 出错三态;
36
+ - 浅色与深色两个主题(本仓颜色一律走 `--wt-*` 令牌,深色出问题往往就在漏了令牌的地方);
37
+ - 有内容溢出时的滚动与截断。
38
+ 3. **动态交互**(多步流程、拖拽、实时刷新)截图说不清,就录一小段:
39
+ 帧要按**状态变化**取,不要按固定间隔取——否则十帧里九帧一模一样。
40
+ 4. **收尾时把证据和改动放在一起**:改了什么、证据在哪、覆盖了哪几个状态、哪些没覆盖。
41
+
42
+ ## 反面清单
43
+
44
+ - 只贴一张「正常态」截图就说验证过了。
45
+ - 用假数据截图,却不说明那是假数据。
46
+ - 录了一段但没说是哪个版本、什么环境。
47
+ - 界面改了却只跑了单元测试——单测绿和界面能用是两件事。
@@ -0,0 +1,23 @@
1
+ {
2
+ "skill": "gui-change-evidence",
3
+ "purpose": "触发行为规格。负样例分两类:不同词汇的近邻走词法层(CI 跑),同词汇不同意图的近邻标 lexical:false 归行为层。",
4
+ "cases": [
5
+ { "id": "screenshot-proof", "prompt": "界面改完了,截个图证明一下真的能用", "shouldTrigger": true },
6
+ { "id": "record-demo", "prompt": "录一段演示,把这个交互流程走一遍", "shouldTrigger": true },
7
+ { "id": "dark-mode-check", "prompt": "这个面板改了样式,深色模式下也截一张看看有没有糊", "shouldTrigger": true },
8
+ { "id": "which-states", "prompt": "界面验证要覆盖哪几个状态才算数", "shouldTrigger": true },
9
+ {
10
+ "id": "near-miss-design",
11
+ "prompt": "帮我设计一个新的仪表盘布局",
12
+ "shouldTrigger": false,
13
+ "note": "词汇不重合(设计/布局 vs 截图/录屏/证据),词法层能分开。"
14
+ },
15
+ {
16
+ "id": "near-miss-ui-build",
17
+ "prompt": "给这个页面加一个筛选器",
18
+ "shouldTrigger": false,
19
+ "lexical": false,
20
+ "note": "与「界面改动」共用「页面/界面」——同词汇不同意图(实现功能 vs 为已完成的改动取证),词法层分不开,归行为层。"
21
+ }
22
+ ]
23
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "skill": "hr-chain",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "HR 诉求跨环节,从 JD 到入职全流程怎么走",
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": "帮我写一份 JD 和面试题",
22
+ "shouldTrigger": false,
23
+ "lexical": false
24
+ },
25
+ {
26
+ "id": "neg-2",
27
+ "prompt": "做一次薪酬核算",
28
+ "shouldTrigger": false
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "hr-operations",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "帮我写个 JD,再出几道面试题",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "筛一下这批简历,做评估表",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "绩效方案和 offer 辞退沟通文书怎么写",
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,31 @@
1
+ {
2
+ "skill": "info-disclosure",
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": "做一次 IPO 申报材料准备",
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": "infra-gateway",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "入口架构分层,API 网关还是服务网格",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "APISIX 还是 Kong,灰度路由怎么配",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "网关证书到期事故,WAF 误杀怎么处置",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "做一次 K8s Ingress 的排障",
22
+ "shouldTrigger": false,
23
+ "lexical": false
24
+ },
25
+ {
26
+ "id": "neg-2",
27
+ "prompt": "写一段限流算法的实现",
28
+ "shouldTrigger": false
29
+ }
30
+ ]
31
+ }