@huicai/cli 2026.814.0 → 2026.1021.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 (493) hide show
  1. package/LICENSE +391 -32
  2. package/README.md +139 -8
  3. package/bin/huicai.js +155 -74
  4. package/bin/update.js +97 -0
  5. package/package.json +27 -8
  6. package/skills/ab-testing/trigger-cases.json +30 -0
  7. package/skills/academic-writing/trigger-cases.json +30 -0
  8. package/skills/accounting-ops/trigger-cases.json +30 -0
  9. package/skills/ai-agent/trigger-cases.json +30 -0
  10. package/skills/ai-aiops/trigger-cases.json +30 -0
  11. package/skills/ai-coding/SKILL.md +2 -0
  12. package/skills/ai-coding/trigger-cases.json +30 -0
  13. package/skills/ai-compliance/trigger-cases.json +30 -0
  14. package/skills/ai-eval/trigger-cases.json +30 -0
  15. package/skills/ai-llm-app/trigger-cases.json +30 -0
  16. package/skills/ai-mlops/trigger-cases.json +30 -0
  17. package/skills/ai-multimodal/trigger-cases.json +30 -0
  18. package/skills/ai-prompt/trigger-cases.json +30 -0
  19. package/skills/ai-rag/trigger-cases.json +30 -0
  20. package/skills/anomaly-detection/trigger-cases.json +30 -0
  21. package/skills/api-design/trigger-cases.json +31 -0
  22. package/skills/api-integration/trigger-cases.json +31 -0
  23. package/skills/arch-design/trigger-cases.json +12 -0
  24. package/skills/arch-diagram/SKILL.md +118 -0
  25. package/skills/arch-diagram/trigger-cases.json +30 -0
  26. package/skills/arch-distributed/trigger-cases.json +30 -0
  27. package/skills/arch-multitenant/trigger-cases.json +30 -0
  28. package/skills/audio-brief/SKILL.md +65 -0
  29. package/skills/audio-brief/trigger-cases.json +30 -0
  30. package/skills/audit-assist/trigger-cases.json +30 -0
  31. package/skills/audit-chain/trigger-cases.json +31 -0
  32. package/skills/banking-credit/trigger-cases.json +30 -0
  33. package/skills/brand-design/trigger-cases.json +30 -0
  34. package/skills/business-plan/trigger-cases.json +30 -0
  35. package/skills/capital-ops/trigger-cases.json +30 -0
  36. package/skills/cicd-pipeline/trigger-cases.json +31 -0
  37. package/skills/code-archaeology/SKILL.md +55 -0
  38. package/skills/code-archaeology/trigger-cases.json +9 -0
  39. package/skills/code-quality/SKILL.md +138 -0
  40. package/skills/code-quality/references/languages.md +107 -0
  41. package/skills/code-quality/scripts/__pycache__/code_battery.cpython-312.pyc +0 -0
  42. package/skills/code-quality/scripts/__pycache__/code_check.cpython-312.pyc +0 -0
  43. package/skills/code-quality/scripts/__pycache__/code_check.cpython-313.pyc +0 -0
  44. package/skills/code-quality/scripts/__pycache__/code_csharp.cpython-312.pyc +0 -0
  45. package/skills/code-quality/scripts/__pycache__/code_csharp.cpython-313.pyc +0 -0
  46. package/skills/code-quality/scripts/__pycache__/code_fix.cpython-312.pyc +0 -0
  47. package/skills/code-quality/scripts/__pycache__/code_fix.cpython-313.pyc +0 -0
  48. package/skills/code-quality/scripts/__pycache__/code_java.cpython-312.pyc +0 -0
  49. package/skills/code-quality/scripts/__pycache__/code_java.cpython-313.pyc +0 -0
  50. package/skills/code-quality/scripts/__pycache__/code_jsts.cpython-312.pyc +0 -0
  51. package/skills/code-quality/scripts/__pycache__/code_jsts.cpython-313.pyc +0 -0
  52. package/skills/code-quality/scripts/__pycache__/code_lens.cpython-312.pyc +0 -0
  53. package/skills/code-quality/scripts/__pycache__/code_lens.cpython-313.pyc +0 -0
  54. package/skills/code-quality/scripts/__pycache__/code_python.cpython-312.pyc +0 -0
  55. package/skills/code-quality/scripts/__pycache__/code_python.cpython-313.pyc +0 -0
  56. package/skills/code-quality/scripts/__pycache__/code_testplan.cpython-312.pyc +0 -0
  57. package/skills/code-quality/scripts/code_battery.py +1072 -0
  58. package/skills/code-quality/scripts/code_check.py +1269 -0
  59. package/skills/code-quality/scripts/code_csharp.py +371 -0
  60. package/skills/code-quality/scripts/code_fix.py +201 -0
  61. package/skills/code-quality/scripts/code_java.py +695 -0
  62. package/skills/code-quality/scripts/code_jsts.py +313 -0
  63. package/skills/code-quality/scripts/code_lens.py +1079 -0
  64. package/skills/code-quality/scripts/code_python.py +536 -0
  65. package/skills/code-quality/scripts/code_testplan.py +239 -0
  66. package/skills/code-quality/trigger-cases.json +45 -0
  67. package/skills/code-review/SKILL.md +24 -0
  68. package/skills/code-review/trigger-cases.json +35 -0
  69. package/skills/commit-and-pr/trigger-cases.json +31 -0
  70. package/skills/content-creation/trigger-cases.json +30 -0
  71. package/skills/corporate-governance/trigger-cases.json +30 -0
  72. package/skills/crawl-chain/trigger-cases.json +31 -0
  73. package/skills/customer-service/trigger-cases.json +30 -0
  74. package/skills/data-analysis/trigger-cases.json +30 -0
  75. package/skills/data-chain/SKILL.md +1 -1
  76. package/skills/data-chain/trigger-cases.json +31 -0
  77. package/skills/data-governance/trigger-cases.json +30 -0
  78. package/skills/data-report-pro/trigger-cases.json +30 -0
  79. package/skills/data-streaming/trigger-cases.json +30 -0
  80. package/skills/data-wrangling/SKILL.md +1 -1
  81. package/skills/data-wrangling/trigger-cases.json +30 -0
  82. package/skills/db-es/trigger-cases.json +30 -0
  83. package/skills/db-migration/trigger-cases.json +30 -0
  84. package/skills/db-mysql/trigger-cases.json +30 -0
  85. package/skills/db-postgres/trigger-cases.json +30 -0
  86. package/skills/db-redis/trigger-cases.json +30 -0
  87. package/skills/debug-root-cause/trigger-cases.json +30 -0
  88. package/skills/dependency-audit/SKILL.md +56 -0
  89. package/skills/dependency-audit/trigger-cases.json +7 -0
  90. package/skills/dependency-upgrade/trigger-cases.json +31 -0
  91. package/skills/dev-cpp/trigger-cases.json +30 -0
  92. package/skills/dev-cross-platform/trigger-cases.json +30 -0
  93. package/skills/dev-csharp/SKILL.md +23 -0
  94. package/skills/dev-csharp/trigger-cases.json +30 -0
  95. package/skills/dev-frontend/SKILL.md +19 -0
  96. package/skills/dev-frontend/trigger-cases.json +30 -0
  97. package/skills/dev-go/trigger-cases.json +30 -0
  98. package/skills/dev-harmony/trigger-cases.json +30 -0
  99. package/skills/dev-java/SKILL.md +20 -0
  100. package/skills/dev-java/trigger-cases.json +30 -0
  101. package/skills/dev-mobile/trigger-cases.json +30 -0
  102. package/skills/dev-node/trigger-cases.json +30 -0
  103. package/skills/dev-php/trigger-cases.json +30 -0
  104. package/skills/dev-python/SKILL.md +21 -0
  105. package/skills/dev-python/trigger-cases.json +30 -0
  106. package/skills/dev-rust/trigger-cases.json +30 -0
  107. package/skills/dev-toolchain/trigger-cases.json +31 -0
  108. package/skills/doc-chain/trigger-cases.json +31 -0
  109. package/skills/doc-compare/trigger-cases.json +30 -0
  110. package/skills/docx-author/SKILL.md +127 -25
  111. package/skills/docx-author/scripts/__pycache__/docx_battery.cpython-312.pyc +0 -0
  112. package/skills/docx-author/scripts/__pycache__/docx_build.cpython-312.pyc +0 -0
  113. package/skills/docx-author/scripts/__pycache__/docx_check.cpython-312.pyc +0 -0
  114. package/skills/docx-author/scripts/__pycache__/docx_layout.cpython-312.pyc +0 -0
  115. package/skills/docx-author/scripts/__pycache__/zh_prose.cpython-312.pyc +0 -0
  116. package/skills/docx-author/scripts/docx_battery.py +586 -0
  117. package/skills/docx-author/scripts/docx_build.py +995 -0
  118. package/skills/docx-author/scripts/docx_check.py +1306 -0
  119. package/skills/docx-author/scripts/docx_doc.py +14 -154
  120. package/skills/docx-author/scripts/docx_layout.py +490 -0
  121. package/skills/docx-author/scripts/zh_prose.py +639 -0
  122. package/skills/docx-author/trigger-cases.json +58 -0
  123. package/skills/echo-brief/SKILL.md +84 -0
  124. package/skills/echo-brief/references/echo-format.md +68 -0
  125. package/skills/echo-brief/trigger-cases.json +40 -0
  126. package/skills/ecommerce-ops/trigger-cases.json +30 -0
  127. package/skills/education-training/trigger-cases.json +30 -0
  128. package/skills/ehs-safety/trigger-cases.json +30 -0
  129. package/skills/email-writing/trigger-cases.json +30 -0
  130. package/skills/eng-ai/trigger-cases.json +30 -0
  131. package/skills/eng-architecture/trigger-cases.json +31 -0
  132. package/skills/eng-automation/trigger-cases.json +31 -0
  133. package/skills/eng-collaboration/trigger-cases.json +30 -0
  134. package/skills/eng-complex-env/trigger-cases.json +30 -0
  135. package/skills/eng-data-platform/trigger-cases.json +31 -0
  136. package/skills/eng-database/trigger-cases.json +31 -0
  137. package/skills/eng-develop/SKILL.md +9 -1
  138. package/skills/eng-develop/references/dod-checklist.md +3 -0
  139. package/skills/eng-develop/references/engineering-workflow.md +37 -0
  140. package/skills/eng-develop/trigger-cases.json +30 -0
  141. package/skills/eng-docs/SKILL.md +24 -0
  142. package/skills/eng-docs/trigger-cases.json +30 -0
  143. package/skills/eng-efficiency/trigger-cases.json +30 -0
  144. package/skills/eng-infra/trigger-cases.json +30 -0
  145. package/skills/eng-integration/trigger-cases.json +31 -0
  146. package/skills/eng-legacy/trigger-cases.json +31 -0
  147. package/skills/eng-observability/trigger-cases.json +31 -0
  148. package/skills/eng-ops/trigger-cases.json +31 -0
  149. package/skills/eng-performance/trigger-cases.json +31 -0
  150. package/skills/eng-planning/trigger-cases.json +31 -0
  151. package/skills/eng-quality/SKILL.md +8 -0
  152. package/skills/eng-quality/trigger-cases.json +31 -0
  153. package/skills/eng-release/trigger-cases.json +31 -0
  154. package/skills/eng-reliability/trigger-cases.json +31 -0
  155. package/skills/eng-requirements/trigger-cases.json +12 -0
  156. package/skills/eng-research/trigger-cases.json +30 -0
  157. package/skills/eng-security/trigger-cases.json +31 -0
  158. package/skills/eng-ux/trigger-cases.json +30 -0
  159. package/skills/engineering-chain/trigger-cases.json +30 -0
  160. package/skills/env-offline/trigger-cases.json +31 -0
  161. package/skills/env-private-deploy/trigger-cases.json +31 -0
  162. package/skills/env-xinchuang/trigger-cases.json +31 -0
  163. package/skills/equipment-tpm/trigger-cases.json +30 -0
  164. package/skills/esg-report/trigger-cases.json +30 -0
  165. package/skills/event-management/trigger-cases.json +30 -0
  166. package/skills/excel-analysis-chain/SKILL.md +17 -4
  167. package/skills/excel-analysis-chain/trigger-cases.json +31 -0
  168. package/skills/explain-codebase/trigger-cases.json +11 -0
  169. package/skills/file-ingest/trigger-cases.json +30 -0
  170. package/skills/finance-analysis/trigger-cases.json +31 -0
  171. package/skills/finance-chain/trigger-cases.json +31 -0
  172. package/skills/financial-modeling/trigger-cases.json +31 -0
  173. package/skills/find-simplifications/SKILL.md +43 -0
  174. package/skills/find-simplifications/trigger-cases.json +23 -0
  175. package/skills/foreign-trade/trigger-cases.json +30 -0
  176. package/skills/funnel-cohort/trigger-cases.json +30 -0
  177. package/skills/gov-document/trigger-cases.json +30 -0
  178. package/skills/gui-change-evidence/SKILL.md +47 -0
  179. package/skills/gui-change-evidence/trigger-cases.json +23 -0
  180. package/skills/hr-chain/trigger-cases.json +31 -0
  181. package/skills/hr-operations/trigger-cases.json +30 -0
  182. package/skills/info-disclosure/trigger-cases.json +31 -0
  183. package/skills/infra-gateway/trigger-cases.json +31 -0
  184. package/skills/infra-k8s/trigger-cases.json +31 -0
  185. package/skills/infra-mq/trigger-cases.json +30 -0
  186. package/skills/insurance-advisory/trigger-cases.json +30 -0
  187. package/skills/internal-audit/trigger-cases.json +30 -0
  188. package/skills/ip-management/trigger-cases.json +31 -0
  189. package/skills/ipo-listing/trigger-cases.json +31 -0
  190. package/skills/it-audit/trigger-cases.json +31 -0
  191. package/skills/itsm-ops/trigger-cases.json +31 -0
  192. package/skills/knowledge-sop/trigger-cases.json +31 -0
  193. package/skills/legal-chain/trigger-cases.json +31 -0
  194. package/skills/legal-contract/trigger-cases.json +30 -0
  195. package/skills/litigation-support/trigger-cases.json +31 -0
  196. package/skills/logistics-warehouse/trigger-cases.json +30 -0
  197. package/skills/long-doc-analysis/trigger-cases.json +31 -0
  198. package/skills/management-accounting/trigger-cases.json +30 -0
  199. package/skills/manufacturing-chain/trigger-cases.json +31 -0
  200. package/skills/manufacturing-quality/trigger-cases.json +30 -0
  201. package/skills/marketing-analytics/trigger-cases.json +31 -0
  202. package/skills/marketing-chain/trigger-cases.json +31 -0
  203. package/skills/meeting-minutes/trigger-cases.json +30 -0
  204. package/skills/metrics-system/trigger-cases.json +31 -0
  205. package/skills/negotiation-prep/trigger-cases.json +30 -0
  206. package/skills/obs-prometheus/trigger-cases.json +31 -0
  207. package/skills/office-automation/trigger-cases.json +31 -0
  208. package/skills/okr-review/trigger-cases.json +30 -0
  209. package/skills/ops-fleet/trigger-cases.json +31 -0
  210. package/skills/ops-linux/trigger-cases.json +31 -0
  211. package/skills/optimization-solver/trigger-cases.json +30 -0
  212. package/skills/patent-disclosure/SKILL.md +105 -0
  213. package/skills/patent-disclosure/references/figures.md +110 -0
  214. package/skills/patent-disclosure/references/outline.md +162 -0
  215. package/skills/patent-disclosure/scripts/patent_docx.py +230 -0
  216. package/skills/patent-disclosure/trigger-cases.json +31 -0
  217. package/skills/patent-drafting/SKILL.md +108 -0
  218. package/skills/patent-drafting/trigger-cases.json +31 -0
  219. package/skills/patent-portfolio/SKILL.md +81 -0
  220. package/skills/patent-portfolio/trigger-cases.json +31 -0
  221. package/skills/pdf-toolkit/trigger-cases.json +31 -0
  222. package/skills/perf-optimize/trigger-cases.json +31 -0
  223. package/skills/pivot-crosstab/trigger-cases.json +30 -0
  224. package/skills/policy-analysis/trigger-cases.json +31 -0
  225. package/skills/portfolio-analysis/trigger-cases.json +31 -0
  226. package/skills/ppt-chain/SKILL.md +14 -6
  227. package/skills/ppt-chain/trigger-cases.json +31 -0
  228. package/skills/pptx-author/SKILL.md +86 -33
  229. package/skills/pptx-author/scripts/__pycache__/pptx_check.cpython-312.pyc +0 -0
  230. package/skills/pptx-author/scripts/__pycache__/pptx_deck.cpython-312.pyc +0 -0
  231. package/skills/pptx-author/scripts/__pycache__/pptx_layout.cpython-312.pyc +0 -0
  232. package/skills/pptx-author/scripts/pptx_battery.py +178 -0
  233. package/skills/pptx-author/scripts/pptx_build.py +119 -0
  234. package/skills/pptx-author/scripts/pptx_check.py +1182 -0
  235. package/skills/pptx-author/scripts/pptx_deck.py +736 -145
  236. package/skills/pptx-author/scripts/pptx_layout.py +384 -0
  237. package/skills/pptx-author/trigger-cases.json +15 -0
  238. package/skills/pr-comms/trigger-cases.json +30 -0
  239. package/skills/procurement-supply/trigger-cases.json +31 -0
  240. package/skills/product-design/trigger-cases.json +31 -0
  241. package/skills/production-planning/trigger-cases.json +31 -0
  242. package/skills/project-management/trigger-cases.json +31 -0
  243. package/skills/project-proposal/trigger-cases.json +31 -0
  244. package/skills/prose-standard/SKILL.md +53 -0
  245. package/skills/prose-standard/trigger-cases.json +23 -0
  246. package/skills/qa-api-automation/trigger-cases.json +31 -0
  247. package/skills/qa-mobile-automation/trigger-cases.json +31 -0
  248. package/skills/qa-ui-automation/trigger-cases.json +31 -0
  249. package/skills/quant-analysis/trigger-cases.json +31 -0
  250. package/skills/rag-triage/SKILL.md +64 -0
  251. package/skills/rag-triage/evals.json +57 -0
  252. package/skills/rag-triage/references/triage-playbook.md +75 -0
  253. package/skills/rag-triage/trigger-cases.json +31 -0
  254. package/skills/real-estate-property/trigger-cases.json +30 -0
  255. package/skills/refactor-safely/SKILL.md +1 -1
  256. package/skills/refactor-safely/trigger-cases.json +30 -0
  257. package/skills/regression-forecast/trigger-cases.json +31 -0
  258. package/skills/release-checklist/trigger-cases.json +31 -0
  259. package/skills/report-craft/SKILL.md +76 -0
  260. package/skills/report-craft/references/feasibility.md +118 -0
  261. package/skills/report-craft/references/review-checklist.md +51 -0
  262. package/skills/report-craft/references/visuals.md +114 -0
  263. package/skills/report-craft/references/writing.md +80 -0
  264. package/skills/report-craft/scripts/__pycache__/chart_render.cpython-312.pyc +0 -0
  265. package/skills/report-craft/scripts/__pycache__/fin_model.cpython-312.pyc +0 -0
  266. package/skills/report-craft/scripts/__pycache__/project_facts.cpython-312.pyc +0 -0
  267. package/skills/report-craft/scripts/chart_render.py +1222 -0
  268. package/skills/report-craft/scripts/fin_model.py +602 -0
  269. package/skills/report-craft/scripts/project_facts.py +580 -0
  270. package/skills/report-craft/scripts/report_battery.py +349 -0
  271. package/skills/report-craft/trigger-cases.json +15 -0
  272. package/skills/retail-store-ops/trigger-cases.json +30 -0
  273. package/skills/risk-compliance/trigger-cases.json +31 -0
  274. package/skills/scope-creep/SKILL.md +45 -0
  275. package/skills/scope-creep/trigger-cases.json +7 -0
  276. package/skills/sec-auth/trigger-cases.json +31 -0
  277. package/skills/sec-compliance/trigger-cases.json +31 -0
  278. package/skills/securities-chain/trigger-cases.json +31 -0
  279. package/skills/securities-research/trigger-cases.json +31 -0
  280. package/skills/security-audit/trigger-cases.json +31 -0
  281. package/skills/slides-html/SKILL.md +25 -10
  282. package/skills/slides-html/trigger-cases.json +11 -0
  283. package/skills/sql-analysis/SKILL.md +110 -0
  284. package/skills/sql-analysis/trigger-cases.json +34 -0
  285. package/skills/sql-tuning/trigger-cases.json +31 -0
  286. package/skills/statistical-testing/trigger-cases.json +31 -0
  287. package/skills/strategy-planning/trigger-cases.json +30 -0
  288. package/skills/supply-chain/trigger-cases.json +31 -0
  289. package/skills/tax-compliance/trigger-cases.json +30 -0
  290. package/skills/tech-doc/SKILL.md +262 -0
  291. package/skills/tech-doc/scripts/__pycache__/archive_battery.cpython-312.pyc +0 -0
  292. package/skills/tech-doc/scripts/__pycache__/archive_build.cpython-312.pyc +0 -0
  293. package/skills/tech-doc/scripts/__pycache__/archive_check.cpython-312.pyc +0 -0
  294. package/skills/tech-doc/scripts/__pycache__/archive_spec.cpython-312.pyc +0 -0
  295. package/skills/tech-doc/scripts/__pycache__/doc_templates.cpython-312.pyc +0 -0
  296. package/skills/tech-doc/scripts/archive_battery.py +860 -0
  297. package/skills/tech-doc/scripts/archive_build.py +599 -0
  298. package/skills/tech-doc/scripts/archive_check.py +1307 -0
  299. package/skills/tech-doc/scripts/archive_spec.py +499 -0
  300. package/skills/tech-doc/scripts/doc_templates.py +624 -0
  301. package/skills/tech-doc/trigger-cases.json +57 -0
  302. package/skills/tech-research/trigger-cases.json +31 -0
  303. package/skills/tender-bidding/trigger-cases.json +31 -0
  304. package/skills/translation-pro/trigger-cases.json +30 -0
  305. package/skills/treasury-mgmt/trigger-cases.json +31 -0
  306. package/skills/trim-cot-leakage/SKILL.md +58 -0
  307. package/skills/trim-cot-leakage/trigger-cases.json +23 -0
  308. package/skills/web-craft/SKILL.md +103 -0
  309. package/skills/web-craft/references/craft-checklist.md +75 -0
  310. package/skills/web-craft/references/design-direction.md +122 -0
  311. package/skills/web-craft/references/h5-mobile.md +100 -0
  312. package/skills/web-craft/references/motion.md +136 -0
  313. package/skills/web-craft/references/recipes.md +74 -0
  314. package/skills/web-craft/templates/wedding-invitation.html +1180 -0
  315. package/skills/web-craft/trigger-cases.json +14 -0
  316. package/skills/web-scraping/trigger-cases.json +34 -0
  317. package/skills/web-search/SKILL.md +11 -10
  318. package/skills/web-search/trigger-cases.json +31 -0
  319. package/skills/weekly-report/SKILL.md +134 -0
  320. package/skills/weekly-report/trigger-cases.json +11 -0
  321. package/skills/write-tests/trigger-cases.json +31 -0
  322. package/skills/xlsx-analysis/SKILL.md +143 -77
  323. package/skills/xlsx-analysis/scripts/__pycache__/data_profile.cpython-312.pyc +0 -0
  324. package/skills/xlsx-analysis/scripts/__pycache__/xlsx_build.cpython-312.pyc +0 -0
  325. package/skills/xlsx-analysis/scripts/__pycache__/xlsx_check.cpython-312.pyc +0 -0
  326. package/skills/xlsx-analysis/scripts/__pycache__/xlsx_layout.cpython-312.pyc +0 -0
  327. package/skills/xlsx-analysis/scripts/__pycache__/xlsx_toolkit.cpython-312.pyc +0 -0
  328. package/skills/xlsx-analysis/scripts/data_profile.py +391 -0
  329. package/skills/xlsx-analysis/scripts/xlsx_battery.py +389 -0
  330. package/skills/xlsx-analysis/scripts/xlsx_build.py +522 -0
  331. package/skills/xlsx-analysis/scripts/xlsx_check.py +924 -0
  332. package/skills/xlsx-analysis/scripts/xlsx_layout.py +235 -0
  333. package/skills/xlsx-analysis/scripts/xlsx_style.py +28 -66
  334. package/skills/xlsx-analysis/scripts/xlsx_toolkit.py +61 -5
  335. package/skills/xlsx-analysis/trigger-cases.json +59 -0
  336. package/squads/hc-defense.md +47 -0
  337. package/squads/hc-rdarchive.md +110 -0
  338. package/squads/hc-redteam.md +50 -0
  339. package/squads/hc-weekly.md +125 -0
  340. package/src/account.js +1 -1
  341. package/src/acp.js +1 -0
  342. package/src/advisor.js +1 -1
  343. package/src/agent.js +1 -1
  344. package/src/api.js +1 -1
  345. package/src/archaeology.js +1 -0
  346. package/src/ask-ui.js +1 -0
  347. package/src/assets-import.js +1 -1
  348. package/src/autofix.js +1 -1
  349. package/src/automation-tools.js +1 -1
  350. package/src/automation.js +1 -1
  351. package/src/autorun.js +1 -1
  352. package/src/banner.js +1 -1
  353. package/src/capability-probe.js +1 -0
  354. package/src/checkpoints.js +1 -1
  355. package/src/code-tools.js +1 -0
  356. package/src/codeindex.js +1 -1
  357. package/src/codemode.js +1 -0
  358. package/src/command-bridge.js +1 -0
  359. package/src/command-ui.js +1 -0
  360. package/src/commands.js +1 -1
  361. package/src/compaction.js +1 -1
  362. package/src/computer.js +1 -1
  363. package/src/config.js +1 -1
  364. package/src/consult.js +1 -1
  365. package/src/context-report.js +1 -1
  366. package/src/context-window.js +1 -0
  367. package/src/context.js +1 -1
  368. package/src/crew.js +1 -0
  369. package/src/crush.js +1 -0
  370. package/src/daemon.js +1 -1
  371. package/src/decisions.js +1 -1
  372. package/src/depaudit.js +1 -0
  373. package/src/device.js +1 -1
  374. package/src/diagram-draw.js +1 -0
  375. package/src/diagram-layouts.js +1 -0
  376. package/src/diagram-raster.js +1 -0
  377. package/src/diagram.js +1 -0
  378. package/src/dictation.js +1 -0
  379. package/src/diffview.js +1 -1
  380. package/src/doctor.js +1 -1
  381. package/src/docx-tools.js +1 -0
  382. package/src/engineering.js +1 -0
  383. package/src/errkind.js +1 -1
  384. package/src/evidence.js +1 -0
  385. package/src/executors.js +1 -1
  386. package/src/expert-catalog.js +1 -1
  387. package/src/experts-store.js +1 -1
  388. package/src/experts.js +1 -1
  389. package/src/external-agents.js +1 -0
  390. package/src/forks.js +1 -1
  391. package/src/fs-observe.js +1 -0
  392. package/src/gitflow.js +1 -1
  393. package/src/goalround.js +1 -0
  394. package/src/hooks.js +1 -1
  395. package/src/ide.js +1 -1
  396. package/src/input.js +1 -1
  397. package/src/insights.js +1 -1
  398. package/src/jobs.js +1 -0
  399. package/src/kbsync.js +1 -1
  400. package/src/lsp.js +1 -0
  401. package/src/mcp-apps.js +1 -0
  402. package/src/mcp.js +1 -1
  403. package/src/memory.js +1 -1
  404. package/src/notify.js +1 -1
  405. package/src/permissions.js +1 -1
  406. package/src/plan-limits.js +1 -0
  407. package/src/policy.js +1 -0
  408. package/src/pptx-tools.js +1 -0
  409. package/src/presence.js +1 -1
  410. package/src/privatedir.js +1 -0
  411. package/src/pyruntime.js +1 -1
  412. package/src/radar.js +1 -0
  413. package/src/render.js +1 -1
  414. package/src/repl.js +1 -1
  415. package/src/report-tools.js +1 -0
  416. package/src/routing.js +1 -0
  417. package/src/sandbox-probe.js +1 -0
  418. package/src/sandbox-win-launcher.mjs +156 -0
  419. package/src/sandbox.js +1 -0
  420. package/src/scan.js +1 -1
  421. package/src/schedule.js +1 -1
  422. package/src/scopecreep.js +1 -0
  423. package/src/sdk.js +1 -0
  424. package/src/selection.js +1 -0
  425. package/src/session-events.js +1 -0
  426. package/src/session.js +1 -1
  427. package/src/sessionindex.js +1 -0
  428. package/src/sessionlog.js +1 -0
  429. package/src/skill-catalog.js +1 -0
  430. package/src/skill-lint.js +1 -0
  431. package/src/skill-optimize.js +1 -0
  432. package/src/skill-scan.js +1 -0
  433. package/src/skills.js +1 -1
  434. package/src/spill.js +1 -0
  435. package/src/squad.js +1 -1
  436. package/src/subagent.js +1 -1
  437. package/src/surface-state.js +1 -0
  438. package/src/tapd.js +1 -0
  439. package/src/terminal-select.js +1 -0
  440. package/src/terminal.js +1 -0
  441. package/src/test-runner.js +1 -0
  442. package/src/todo.js +1 -1
  443. package/src/toolpipe.js +1 -0
  444. package/src/tools.js +1 -1
  445. package/src/toon.js +1 -0
  446. package/src/transcript.js +1 -1
  447. package/src/tui/app.js +1 -1
  448. package/src/tui/command-menu.js +1 -0
  449. package/src/tui/progress.js +1 -0
  450. package/src/tui/scroll.js +1 -0
  451. package/src/tui/welcome.js +1 -0
  452. package/src/tui/workbench.js +1 -0
  453. package/src/ui-spec.js +1 -0
  454. package/src/uitree.js +1 -0
  455. package/src/uninstall.js +1 -1
  456. package/src/vision.js +1 -1
  457. package/src/visual.js +1 -1
  458. package/src/voice-form.js +1 -0
  459. package/src/voice.js +1 -0
  460. package/src/watch.js +1 -1
  461. package/src/web-audit.js +1 -0
  462. package/src/web-cdp.js +1 -0
  463. package/src/web-inspect.js +1 -0
  464. package/src/websearch.js +1 -0
  465. package/src/weekly.js +1 -0
  466. package/src/workflow.js +1 -0
  467. package/src/worklog.js +1 -0
  468. package/src/xlsx-tools.js +1 -0
  469. package/ui/command-picker.js +79 -0
  470. package/skills/ab-testing/scripts/__pycache__/ab_test.cpython-312.pyc +0 -0
  471. package/skills/accounting-ops/scripts/__pycache__/acct_tools.cpython-312.pyc +0 -0
  472. package/skills/anomaly-detection/scripts/__pycache__/anomaly.cpython-312.pyc +0 -0
  473. package/skills/audit-assist/scripts/__pycache__/audit_sampling.cpython-312.pyc +0 -0
  474. package/skills/banking-credit/scripts/__pycache__/credit_metrics.cpython-312.pyc +0 -0
  475. package/skills/data-report-pro/scripts/__pycache__/bigdata.cpython-312.pyc +0 -0
  476. package/skills/data-wrangling/scripts/__pycache__/join_tools.cpython-312.pyc +0 -0
  477. package/skills/ecommerce-ops/scripts/__pycache__/gmv_decompose.cpython-312.pyc +0 -0
  478. package/skills/funnel-cohort/scripts/__pycache__/funnel.cpython-312.pyc +0 -0
  479. package/skills/management-accounting/scripts/__pycache__/costing.cpython-312.pyc +0 -0
  480. package/skills/manufacturing-quality/scripts/__pycache__/spc.cpython-312.pyc +0 -0
  481. package/skills/marketing-analytics/scripts/__pycache__/rfm.cpython-312.pyc +0 -0
  482. package/skills/optimization-solver/scripts/__pycache__/solver.cpython-312.pyc +0 -0
  483. package/skills/pivot-crosstab/scripts/__pycache__/pivot_tools.cpython-312.pyc +0 -0
  484. package/skills/portfolio-analysis/scripts/__pycache__/portfolio.cpython-312.pyc +0 -0
  485. package/skills/procurement-supply/scripts/__pycache__/supply.cpython-312.pyc +0 -0
  486. package/skills/production-planning/scripts/__pycache__/mrp_capacity.cpython-312.pyc +0 -0
  487. package/skills/project-management/scripts/__pycache__/cpm.cpython-312.pyc +0 -0
  488. package/skills/quant-analysis/scripts/__pycache__/quant.cpython-312.pyc +0 -0
  489. package/skills/real-estate-property/scripts/__pycache__/property_calc.cpython-312.pyc +0 -0
  490. package/skills/regression-forecast/scripts/__pycache__/regress.cpython-312.pyc +0 -0
  491. package/skills/securities-research/scripts/__pycache__/valuation.cpython-312.pyc +0 -0
  492. package/skills/statistical-testing/scripts/__pycache__/stat_tests.cpython-312.pyc +0 -0
  493. package/skills/treasury-mgmt/scripts/__pycache__/cashflow_forecast.cpython-312.pyc +0 -0
@@ -0,0 +1,31 @@
1
+ {
2
+ "skill": "marketing-chain",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "新品上市整个 campaign 怎么排",
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": "做一次投放 ROI 的分析",
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": "meeting-minutes",
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,31 @@
1
+ {
2
+ "skill": "metrics-system",
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,30 @@
1
+ {
2
+ "skill": "negotiation-prep",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "要去谈判了,BATNA 和 ZOPA 怎么分析",
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,31 @@
1
+ {
2
+ "skill": "obs-prometheus",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "搭 Prometheus,远程存储怎么选",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "PromQL 怎么写,histogram_quantile 桶坑",
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": "office-automation",
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": "写一段定时任务的 cron 表达式",
28
+ "shouldTrigger": false
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "skill": "okr-review",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "定 OKR 怎么对齐",
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": "做一次项目排期的 WBS 拆解",
22
+ "shouldTrigger": false
23
+ },
24
+ {
25
+ "id": "neg-2",
26
+ "prompt": "写一份绩效考核方案",
27
+ "shouldTrigger": false
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "skill": "ops-fleet",
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": "主机配置漂移,CMDB 怎么建",
17
+ "shouldTrigger": true
18
+ },
19
+ {
20
+ "id": "neg-1",
21
+ "prompt": "做一次 K8s 集群的节点 drain",
22
+ "shouldTrigger": false,
23
+ "lexical": false
24
+ },
25
+ {
26
+ "id": "neg-2",
27
+ "prompt": "写一段 Linux 的排障命令",
28
+ "shouldTrigger": false
29
+ }
30
+ ]
31
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "skill": "ops-linux",
3
+ "cases": [
4
+ {
5
+ "id": "pos-1",
6
+ "prompt": "服务器 load 高,CPU 和 D 状态怎么查",
7
+ "shouldTrigger": true
8
+ },
9
+ {
10
+ "id": "pos-2",
11
+ "prompt": "磁盘满了,IO util 和 await 怎么定位",
12
+ "shouldTrigger": true
13
+ },
14
+ {
15
+ "id": "pos-3",
16
+ "prompt": "连接异常,TIME_WAIT 和丢包怎么排",
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,30 @@
1
+ {
2
+ "skill": "optimization-solver",
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,105 @@
1
+ ---
2
+ name: patent-disclosure
3
+ description: 撰写专利技术交底书(发明/实用新型)。当用户说"写交底书/技术交底/申请专利/把这个技术点写成专利/给代理人的材料"时使用。从技术想法、技术方案、设计文档、源码、可研报告、概要设计、详细设计出发,产出含附图的完整交底书 docx。附图见 arch-diagram,申请文件见 patent-drafting。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 专利技术交底书(交给代理人的那份材料)
8
+
9
+ 交底书不是论文也不是设计文档,它只回答代理人的四个问题:
10
+ **现有技术是什么、你改了什么、这个改动为什么是"技术"改动、权利要求该怎么圈**。
11
+ 体例严格照抄本技能 `references/outline.md`(骨架来自本项目已定稿的交底书范本),**不要自创章节**。
12
+
13
+ ## 一、先摸清素材(决定这篇能不能立住)
14
+
15
+ 按可得材料逐个过:
16
+ - **源码**:`search_code` 找到该机制的入口与核心实现 → `read_file` 读透关键函数。
17
+ 交底书里的每一个数字(阈值、超时、容量、重试次数)都必须**来自代码或配置**,不许编。
18
+ - **设计/可研/概要/详细设计文档**:`read_document` 通读,抽出问题背景、约束、方案对比、非功能指标。
19
+ - **只有一个技术想法**:先把想法逼成"三问"——解决什么技术问题?现有做法为什么不行?你的做法在
20
+ 哪一步与它们不同?三问答不出来就先别写,回去和用户对齐(宁可少写一篇,也别交一篇立不住的)。
21
+
22
+ 然后判断**客体**:纯商业规则、纯算法、纯数学方法不受保护。手段必须作用于
23
+ 「程序的装载/执行方式、数据的存储与传输结构、系统的资源调度、执行环境的能力边界、异常传播路径」
24
+ 这类计算机系统内在规律。立不住就换切入点,别硬写(第四节会要求你诚实写客体适格性说明)。
25
+
26
+ ## 二、核心构思:一篇交底书的成败在这三行
27
+
28
+ `(1)具体方案` 开头必须先给核心构思,形如:
29
+
30
+ > 其核心构思是将 N 件事在同一套机制中同时解决:
31
+ > ● 在<维度一>上,……;
32
+ > ● 在<维度二>上,……;
33
+ > ● 在<维度三>上,……。
34
+
35
+ **紧接着必须再写一段,论证这几个机制"互相成就"**——这是区别特征的落点:
36
+ 单拎任何一个机制多半都有在先技术,能主张的是**它们的配合关系**。
37
+ 例:「沙箱以能力裁剪阻断恶意表达式,被阻断后恰由单条异常边界承接,
38
+ 从而使安全防护不以牺牲可用性为代价。」没有这一段,代理人只能按最弱的那个特征去圈,保护范围就废了。
39
+
40
+ ## 三、正文写法要点
41
+
42
+ - **现有技术分类要穷尽**:写 2~4 类做法(硬编码 / 专用引擎 / 通用方案…),每类都要写清"它是怎么做的",
43
+ 不能只写"现有技术效果不好"。**这一节写得越诚实,第二节的区别特征越站得住**。
44
+ - **缺点逐条独立成段**,每条一个小标题(缺点一、缺点二…),写清"因为 X 所以 Y",带数量级
45
+ ("冷启动数秒""变更周期以天计")。缺点必须是**客观技术缺点**,不是"不够智能"这种主观评价。
46
+ - **2.1 总体流程**:用 S1…Sn 编号把主链路走一遍,每步一句话。这一节直接决定权利要求 1 的骨架。
47
+ - **2.2 起各节**:每节讲清一个机制,**先讲它解决什么、再讲怎么做、最后讲边界**。
48
+ 凡有"三重防线""三态""双通道"这类并列结构,一律配一张对照图 + 一张表。
49
+ - **关键参数取值**单独成节,用表格列出(参数 / 取值或说明),代理人写实施例要用。
50
+ - **术语表放技术方案末尾**("2.N 术语表"或"英文术语中文释义"),不要放开头。
51
+ - **技术效果**分条写,每条尽量给可测量的对照(由 X 降到 Y、由全部收敛至单条)。
52
+
53
+ ## 四、附图(用 render_diagram 画,别手搓)
54
+
55
+ 交底书标配 4~6 张,**一律 `theme:"patent"`**(黑白线条、直角、无阴影,符合附图形式要求)
56
+ 并给 `figure:{no:N,title:"..."}`。正文引用写「如图 N 所示」。
57
+
58
+ **图题体例(本项目铁律)**:图内不嵌「图N」与图名,图题是图片正下方的独立文字段落——
59
+ 即 md 里写 `![图 2 本发明:XX总体流程](figs/fig2.png)`,方括号内的文字会被排成居中图题。
60
+ `figure.caption` 保持默认 `none`,不要让引擎把图号画进图里(全库 76 张图都按这条统一过)。
61
+
62
+ | 图 | 型 | 内容 |
63
+ |---|---|---|
64
+ | 图1 | `compare` | 现有技术的 N 类做法,每栏 verdict 写该类的缺点,footer 写共性问题 |
65
+ | 图2 | `flow` | 本发明总体流程,`stepPrefix:"S"` 自动编 S1..Sn;配置态/运行态两条线用 `lanes` + `laneRank:"per-lane"` 并列 |
66
+ | 图3 | `module` | 装置模块组成(对应装置权利要求),附图标记 100/101/102,子模块 1021/1022 |
67
+ | 图4 | `compare` 或 `flow` | 核心机制细化(三重防线、双通道、能力边界对比),递进关系置 `arrows:true` |
68
+ | 图5 | `state` | 状态机(三态熔断、会话状态)——有状态迁移就一定要画 |
69
+
70
+ 纪律:**附图标记全篇唯一**,同一部件在各图中编号一致;图内只写必要词语,不写整句说明;
71
+ 一张图只讲一件事,讲不完就拆成两张。详细配方与反例见 `references/figures.md`。
72
+
73
+ ## 五、产出 docx
74
+
75
+ 1. 按 `references/outline.md` 骨架用 `write_file`(长文 `append=true` 分段)写 `交底书.md`;
76
+ 插图处写独占一行的 `![图 2 本发明:XX总体流程](figs/fig2.png)`。
77
+ 2. `read_skill_file` 取 `scripts/patent_docx.py`,`run_python` 执行
78
+ `build('交底书.md', '一种XXX方法.docx', meta={...})` —— 自动生成交底书表头信息表
79
+ (申请人/发明创造名称/拟申请类型/联系人/经办人/备注)+ 正文 + 居中插图与图名。
80
+ 3. `verify('一种XXX方法.docx')` 重开校验章节树与插图数,对照骨架逐节点名。
81
+ 4. **交付前复验插图清晰度**:某些环境的后台服务会重采样刚改动过的 docx 内嵌图(有效 DPI 掉到两三百)。
82
+ 用 python-docx 取 `doc.inline_shapes` 的像素宽 ÷ 显示宽算有效 DPI,低于 400 就重跑一次
83
+ 第 2 步(脚本幂等)。图源用 `scale=4` 出的 PNG,留足余量。
84
+
85
+ 文件名 = 发明创造名称,形如 `一种<技术手段>的<解决的问题>方法.docx`:
86
+ 动宾结构、20~30 字、含区别特征关键词,**不出现商标与产品名**。
87
+
88
+ ## 六、交付前自查
89
+
90
+ - [ ] 四大节齐全,节序与 `references/outline.md` 完全一致
91
+ - [ ] 核心构思有"互相成就"那一段(区别特征的落点)
92
+ - [ ] 现有技术写了 2~4 类具体做法,缺点逐条独立且客观、带量级
93
+ - [ ] 每个数字都能在源码或配置里找到出处,没有编造
94
+ - [ ] 附图 ≥4 张、全部 patent 主题、图号连续、附图标记不重复、正文有「如图 N 所示」呼应
95
+ - [ ] 第四节写了客体适格性三要素表(技术问题/技术手段/技术效果)
96
+ - [ ] 写了独立权利要求建议稿 + 从属建议 + 一并布置装置/设备/介质/程序产品
97
+ - [ ] 检索建议给了 IPC 分类号、中英文关键词、建议排查的主体
98
+ - [ ] **撰写要点里诚实写出实现差距**(当前实现比权利要求宽/窄在哪、后续收紧的表述预案)
99
+ - [ ] 与同族其它篇的边界已划清,重叠部分标注「另案」(见 patent-portfolio)
100
+
101
+ ## 附件
102
+
103
+ - `references/outline.md` —— 完整章节骨架,照抄填空
104
+ - `references/figures.md` —— 附图规范与五类图的 spec 配方
105
+ - `scripts/patent_docx.py` —— 交底书表头 + Markdown→docx(含居中插图与图名)、verify 重读校验
@@ -0,0 +1,110 @@
1
+ # 专利附图:形式要求与五类图的 spec 配方
2
+
3
+ 全部用 `render_diagram` 画,**一律 `theme:"patent"`**。引擎会自动满足形式要求:
4
+ 纯黑白线条、直角、无阴影渐变、线宽统一加粗(缩印复印后仍清晰)、外边距与既有全库一致。
5
+
6
+ ## 图题的位置(本项目铁律)
7
+
8
+ **图内不嵌「图N」与图名,图片本身只含内容标签**;图题一律是**图片正下方的独立文字段落**。
9
+ 这是既有交底书全库统一的体例,附图审核脚本正是按「图片段落自身无文字、其下一段以『图』开头」校验的。
10
+
11
+ 因此:`figure:{no:2, title:"..."}` 只用来**开启专利附图体例**(去掉标题色条与分隔线)与供体检核对,
12
+ `caption` 保持默认 `"none"` 不要改;图题写在交底书 md 里图片的下一行——
13
+ `![图 2 本发明:XX总体流程](figs/fig2.png)` 这一行的方括号内文字即会被排成居中图题。
14
+ 只有在"单独把一张图发给别人看"时才置 `caption:"bottom"` 让图片自解释。
15
+
16
+ ## 形式要求(不合规会收到补正通知)
17
+
18
+ - **不得使用色彩与灰度**,不得有阴影、渐变、网底 → `theme:"patent"` 已强制
19
+ - **各幅图按「图1、图2…」顺序编号** → `figure:{no:N, title:"..."}`,图号由正文图题承担
20
+ - 图中**只写必要的词语**,不写整句说明、不写公司名与产品商标
21
+ - **附图标记全篇唯一**:同一部件在所有图中用同一个数字;装置用 100/101/102,子模块用 1021/1022,
22
+ 另一套体系(如状态)另起 200 段。重复了工具会在返回里直接告诉你
23
+ - 说明书中每次提到部件都要带标记("表达式校验模块 101"),附图与正文必须对得上
24
+ - 一张图只讲一件事;讲不完拆成两张,别往一张里塞
25
+
26
+ ## 输出与插入
27
+
28
+ ```
29
+ render_diagram(path="figs/fig2.svg", spec={...}, scale=4)
30
+ ```
31
+ 默认同时出 SVG(矢量,永不失真,归档与提交用)与 PNG(4 倍像素密度,贴进 docx 用)。
32
+ 交底书 md 里写独占一行:`![图 2 本发明:XX总体流程](figs/fig2.png)`。
33
+
34
+ ---
35
+
36
+ ## 图1 · 现有技术 N 类做法(compare)
37
+
38
+ ```json
39
+ { "type":"compare", "theme":"patent",
40
+ "figure":{"no":1,"title":"现有技术:三类XX实现方案"},
41
+ "columns":[
42
+ {"title":"方案一 <名称>","subtitle":"<一句话机制>",
43
+ "items":["<它怎么做>",{"text":"<关键动作>","sub":"<补充>"}],
44
+ "verdict":"缺点:<该类的客观缺点,带量级>"},
45
+ {"title":"方案二 <名称>","items":["…"],"verdict":"缺点:…"},
46
+ {"title":"方案三 <名称>","items":["…"],"verdict":"缺点:…"}
47
+ ],
48
+ "footer":"三类方案的共同问题:<共性缺点>" }
49
+ ```
50
+ 反例:把三栏写成"优点/缺点/结论"——那是评价表不是技术对照图。每栏必须写**它的机制**。
51
+
52
+ ## 图2 · 本发明总体流程(flow)
53
+
54
+ ```json
55
+ { "type":"flow", "theme":"patent", "direction":"TB", "stepPrefix":"S",
56
+ "figure":{"no":2,"title":"本发明:<发明名称>总体流程"},
57
+ "lanes":[{"id":"cfg","name":"配置态:<职责>"},{"id":"run","name":"运行态:<职责>"}],
58
+ "laneRank":"per-lane",
59
+ "nodes":[{"id":"a1","name":"<动作>","lane":"cfg"}, ...],
60
+ "edges":[{"from":"a5","to":"b1","label":"<交接条件>"}, ...] }
61
+ ```
62
+ - `stepPrefix:"S"` 按 nodes 书写顺序自动编 S1..Sn,**这套编号要与正文 2.1 的 S1..Sn 一一对应**
63
+ - 两条并行的线(配置态/运行态、离线/在线、训练/推理)用 `lanes` + `laneRank:"per-lane"`:
64
+ 两道各自从顶部开始、只在交接处连一根线,图形紧凑且交接关系一目了然
65
+ - 判断步骤用 `"shape":"diamond"`,每个分支都要有出边且带 label;存储用 `"shape":"cylinder"`
66
+ - 汇合点之类不需要编号的节点置 `"step":false`
67
+
68
+ ## 图3 · 装置模块组成(module)
69
+
70
+ ```json
71
+ { "type":"module", "theme":"patent",
72
+ "figure":{"no":3,"title":"本发明:<XX>装置的模块组成"},
73
+ "root":{"name":"<XX>装置","numeral":"100","columns":3,"children":[
74
+ {"name":"<XX>模块","numeral":"101","desc":"<一句话职责>"},
75
+ {"name":"<XX>模块","numeral":"102","columns":2,"children":[
76
+ {"name":"<XX>子模块","numeral":"1021"},
77
+ {"name":"<XX>子模块","numeral":"1022"}]}
78
+ ]},
79
+ "links":[{"from":"101","to":"102","label":"<传递物>"}] }
80
+ ```
81
+ - 模块划分**要与权利要求 1 的步骤一一对应**:有几个步骤就有几个模块,命名统一用「XX模块」
82
+ - 一层 3~7 个模块;`links` 只画关键数据流,画满了反而看不清(模块图表达"组成",不是"流程")
83
+ - 画硬件/物理结构示意(形状图)时给 `shape`(cylinder/hex/circle/parallelogram…),
84
+ 并置 `numeralOutside:true` 改用专利惯用的"框外数字 + 引出线"
85
+
86
+ ## 图4 · 机制细化(compare / flow)
87
+
88
+ 并列结构(三重防线、双通道、能力边界对比)用 `compare`;递进关系置 `"arrows":true`。
89
+ 子流程用 `flow`,步骤编号接着总体流程往下排(`"stepStart":13`)。
90
+
91
+ ## 图5 · 状态机(state)
92
+
93
+ ```json
94
+ { "type":"state", "theme":"patent",
95
+ "figure":{"no":5,"title":"<对象>的<N>态<机制>状态机"},
96
+ "states":[{"id":"closed","name":"闭合态","desc":"<该态下的行为>","initial":true,"numeral":"201"}, ...],
97
+ "transitions":[{"from":"closed","to":"open","label":"<迁移条件,要写具体阈值>"}, ...] }
98
+ ```
99
+ - 状态按主路径从左到右排;`from===to` 为自环
100
+ - **每条迁移都要写条件**,且条件要与权利要求里的表述一致("连续异常计数达到预设阈值")
101
+ - 有状态迁移的权利要求**必须配这张图**,否则审查员容易认为方案不清楚
102
+
103
+ ## 自查
104
+
105
+ - [ ] 每张图都置了 `theme:"patent"` 且有 `figure.no`
106
+ - [ ] **图内没有图号与图名**(caption 保持默认 none),图题在图片下方的段落里
107
+ - [ ] 图号连续、正文每张都有「如图 N 所示」呼应
108
+ - [ ] 附图标记全篇唯一,装置图与权利要求的模块名一致
109
+ - [ ] 流程图的 S 编号与正文 2.1 完全对应
110
+ - [ ] 工具返回的「提醒」(标记重复、名称过长)已逐条处理