@huicai/cli 2026.714.0 → 2026.721.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 (335) hide show
  1. package/README.md +2 -1
  2. package/bin/huicai.js +83 -0
  3. package/package.json +2 -2
  4. package/skills/ab-testing/SKILL.md +58 -0
  5. package/skills/ab-testing/scripts/__pycache__/ab_test.cpython-312.pyc +0 -0
  6. package/skills/ab-testing/scripts/ab_test.py +71 -0
  7. package/skills/academic-writing/SKILL.md +54 -0
  8. package/skills/accounting-ops/SKILL.md +68 -0
  9. package/skills/accounting-ops/scripts/__pycache__/acct_tools.cpython-312.pyc +0 -0
  10. package/skills/accounting-ops/scripts/acct_tools.py +89 -0
  11. package/skills/ai-agent/SKILL.md +85 -0
  12. package/skills/ai-agent/references/tool-design-checklist.md +51 -0
  13. package/skills/ai-aiops/SKILL.md +73 -0
  14. package/skills/ai-aiops/references/aiops-rollout-checklist.md +36 -0
  15. package/skills/ai-coding/SKILL.md +89 -0
  16. package/skills/ai-coding/references/task-brief-template.md +48 -0
  17. package/skills/ai-compliance/SKILL.md +74 -0
  18. package/skills/ai-compliance/references/genai-compliance-checklist.md +40 -0
  19. package/skills/ai-eval/SKILL.md +80 -0
  20. package/skills/ai-eval/scripts/eval-runner.py +150 -0
  21. package/skills/ai-llm-app/SKILL.md +90 -0
  22. package/skills/ai-llm-app/references/llm-integration-checklist.md +39 -0
  23. package/skills/ai-mlops/SKILL.md +72 -0
  24. package/skills/ai-mlops/scripts/token-cost-calc.py +108 -0
  25. package/skills/ai-multimodal/SKILL.md +86 -0
  26. package/skills/ai-multimodal/scripts/field-validate.py +182 -0
  27. package/skills/ai-prompt/SKILL.md +75 -0
  28. package/skills/ai-prompt/references/prompt-template.md +46 -0
  29. package/skills/ai-rag/SKILL.md +76 -0
  30. package/skills/ai-rag/scripts/chunk-inspect.py +129 -0
  31. package/skills/anomaly-detection/SKILL.md +54 -0
  32. package/skills/anomaly-detection/scripts/__pycache__/anomaly.cpython-312.pyc +0 -0
  33. package/skills/anomaly-detection/scripts/anomaly.py +99 -0
  34. package/skills/api-integration/SKILL.md +74 -0
  35. package/skills/api-integration/references/signing-recipes.md +141 -0
  36. package/skills/arch-design/SKILL.md +57 -0
  37. package/skills/arch-distributed/SKILL.md +81 -0
  38. package/skills/arch-distributed/references/idempotency-review.md +43 -0
  39. package/skills/arch-multitenant/SKILL.md +73 -0
  40. package/skills/arch-multitenant/references/tenant-isolation-checklist.md +34 -0
  41. package/skills/audit-assist/SKILL.md +63 -0
  42. package/skills/audit-assist/scripts/__pycache__/audit_sampling.cpython-312.pyc +0 -0
  43. package/skills/audit-assist/scripts/audit_sampling.py +93 -0
  44. package/skills/audit-chain/SKILL.md +60 -0
  45. package/skills/banking-credit/SKILL.md +59 -0
  46. package/skills/banking-credit/scripts/__pycache__/credit_metrics.cpython-312.pyc +0 -0
  47. package/skills/banking-credit/scripts/credit_metrics.py +53 -0
  48. package/skills/brand-design/SKILL.md +56 -0
  49. package/skills/business-plan/SKILL.md +56 -0
  50. package/skills/capital-ops/SKILL.md +52 -0
  51. package/skills/cicd-pipeline/SKILL.md +85 -0
  52. package/skills/cicd-pipeline/references/pipeline-review-checklist.md +39 -0
  53. package/skills/content-creation/SKILL.md +56 -0
  54. package/skills/corporate-governance/SKILL.md +56 -0
  55. package/skills/crawl-chain/SKILL.md +61 -0
  56. package/skills/customer-service/SKILL.md +51 -0
  57. package/skills/data-analysis/SKILL.md +46 -0
  58. package/skills/data-analysis/scripts/cjk_font.py +56 -0
  59. package/skills/data-chain/SKILL.md +54 -0
  60. package/skills/data-governance/SKILL.md +54 -0
  61. package/skills/data-report-pro/SKILL.md +65 -0
  62. package/skills/data-report-pro/scripts/__pycache__/bigdata.cpython-312.pyc +0 -0
  63. package/skills/data-report-pro/scripts/bigdata.py +79 -0
  64. package/skills/data-streaming/SKILL.md +87 -0
  65. package/skills/data-streaming/references/job-checklist.md +36 -0
  66. package/skills/data-wrangling/SKILL.md +52 -0
  67. package/skills/data-wrangling/scripts/__pycache__/join_tools.cpython-312.pyc +0 -0
  68. package/skills/data-wrangling/scripts/join_tools.py +99 -0
  69. package/skills/db-es/SKILL.md +68 -0
  70. package/skills/db-es/scripts/es-health.sh +72 -0
  71. package/skills/db-migration/SKILL.md +72 -0
  72. package/skills/db-migration/scripts/checksum-mysql.sql +46 -0
  73. package/skills/db-migration/scripts/checksum-postgres.sql +39 -0
  74. package/skills/db-migration/scripts/compare-reports.py +98 -0
  75. package/skills/db-mysql/SKILL.md +78 -0
  76. package/skills/db-mysql/scripts/mysql-health.sql +80 -0
  77. package/skills/db-postgres/SKILL.md +86 -0
  78. package/skills/db-postgres/scripts/pg-health.sql +67 -0
  79. package/skills/db-redis/SKILL.md +83 -0
  80. package/skills/db-redis/scripts/redis-health.sh +92 -0
  81. package/skills/dev-cpp/SKILL.md +94 -0
  82. package/skills/dev-cpp/references/cmake-sanitizer-snippets.md +56 -0
  83. package/skills/dev-cross-platform/SKILL.md +73 -0
  84. package/skills/dev-cross-platform/references/capability-matrix-template.md +39 -0
  85. package/skills/dev-csharp/SKILL.md +96 -0
  86. package/skills/dev-csharp/references/review-checklist.md +37 -0
  87. package/skills/dev-frontend/SKILL.md +91 -0
  88. package/skills/dev-frontend/scripts/bundle-budget.py +106 -0
  89. package/skills/dev-go/SKILL.md +88 -0
  90. package/skills/dev-go/scripts/go-triage.sh +54 -0
  91. package/skills/dev-harmony/SKILL.md +64 -0
  92. package/skills/dev-harmony/references/harmony-checklist.md +40 -0
  93. package/skills/dev-java/SKILL.md +77 -0
  94. package/skills/dev-java/scripts/jvm-triage.sh +84 -0
  95. package/skills/dev-mobile/SKILL.md +82 -0
  96. package/skills/dev-mobile/references/store-compliance-checklist.md +33 -0
  97. package/skills/dev-node/SKILL.md +82 -0
  98. package/skills/dev-node/scripts/node-triage.sh +78 -0
  99. package/skills/dev-php/SKILL.md +86 -0
  100. package/skills/dev-php/scripts/fpm-calc.py +48 -0
  101. package/skills/dev-python/SKILL.md +81 -0
  102. package/skills/dev-python/scripts/venv-doctor.sh +75 -0
  103. package/skills/dev-rust/SKILL.md +84 -0
  104. package/skills/dev-rust/references/cargo-ci-snippets.md +50 -0
  105. package/skills/dev-toolchain/SKILL.md +78 -0
  106. package/skills/dev-toolchain/scripts/secret-scan.sh +83 -0
  107. package/skills/doc-chain/SKILL.md +58 -0
  108. package/skills/doc-compare/SKILL.md +44 -0
  109. package/skills/doc-compare/scripts/compare.py +93 -0
  110. package/skills/docx-author/SKILL.md +39 -0
  111. package/skills/docx-author/scripts/docx_doc.py +161 -0
  112. package/skills/ecommerce-ops/SKILL.md +54 -0
  113. package/skills/ecommerce-ops/scripts/__pycache__/gmv_decompose.cpython-312.pyc +0 -0
  114. package/skills/ecommerce-ops/scripts/gmv_decompose.py +61 -0
  115. package/skills/education-training/SKILL.md +53 -0
  116. package/skills/ehs-safety/SKILL.md +63 -0
  117. package/skills/email-writing/SKILL.md +52 -0
  118. package/skills/eng-ai/SKILL.md +74 -0
  119. package/skills/eng-ai/references/ai-feature-checklist.md +36 -0
  120. package/skills/eng-architecture/SKILL.md +85 -0
  121. package/skills/eng-architecture/scripts/capacity-calc.py +100 -0
  122. package/skills/eng-automation/SKILL.md +84 -0
  123. package/skills/eng-automation/references/automation-inventory.md +38 -0
  124. package/skills/eng-automation/references/routine-presets.md +73 -0
  125. package/skills/eng-collaboration/SKILL.md +76 -0
  126. package/skills/eng-collaboration/references/collab-templates.md +43 -0
  127. package/skills/eng-complex-env/SKILL.md +84 -0
  128. package/skills/eng-complex-env/references/env-dossier-template.md +52 -0
  129. package/skills/eng-complex-env/scripts/env-recon.sh +152 -0
  130. package/skills/eng-data-platform/SKILL.md +81 -0
  131. package/skills/eng-data-platform/references/table-spec-template.md +39 -0
  132. package/skills/eng-database/SKILL.md +79 -0
  133. package/skills/eng-database/references/schema-review-checklist.md +37 -0
  134. package/skills/eng-develop/SKILL.md +76 -0
  135. package/skills/eng-develop/references/dod-checklist.md +43 -0
  136. package/skills/eng-docs/SKILL.md +71 -0
  137. package/skills/eng-docs/references/runbook-template.md +57 -0
  138. package/skills/eng-efficiency/SKILL.md +75 -0
  139. package/skills/eng-efficiency/scripts/dora-calc.py +104 -0
  140. package/skills/eng-infra/SKILL.md +81 -0
  141. package/skills/eng-infra/references/production-readiness.md +46 -0
  142. package/skills/eng-integration/SKILL.md +82 -0
  143. package/skills/eng-integration/references/integration-dossier-template.md +38 -0
  144. package/skills/eng-legacy/SKILL.md +81 -0
  145. package/skills/eng-legacy/references/modernization-workbook.md +46 -0
  146. package/skills/eng-observability/SKILL.md +78 -0
  147. package/skills/eng-observability/scripts/slo-calc.py +82 -0
  148. package/skills/eng-ops/SKILL.md +74 -0
  149. package/skills/eng-ops/references/postmortem-template.md +67 -0
  150. package/skills/eng-performance/SKILL.md +73 -0
  151. package/skills/eng-performance/scripts/perf-baseline.py +110 -0
  152. package/skills/eng-planning/SKILL.md +79 -0
  153. package/skills/eng-planning/scripts/schedule-calc.py +101 -0
  154. package/skills/eng-quality/SKILL.md +74 -0
  155. package/skills/eng-quality/references/test-plan-templates.md +46 -0
  156. package/skills/eng-release/SKILL.md +78 -0
  157. package/skills/eng-release/references/release-plan-template.md +36 -0
  158. package/skills/eng-reliability/SKILL.md +72 -0
  159. package/skills/eng-reliability/references/resilience-review.md +43 -0
  160. package/skills/eng-requirements/SKILL.md +86 -0
  161. package/skills/eng-requirements/references/story-templates.md +47 -0
  162. package/skills/eng-research/SKILL.md +73 -0
  163. package/skills/eng-research/references/research-templates.md +42 -0
  164. package/skills/eng-security/SKILL.md +73 -0
  165. package/skills/eng-security/references/security-review-checklist.md +33 -0
  166. package/skills/eng-ux/SKILL.md +85 -0
  167. package/skills/eng-ux/references/ux-review-checklist.md +36 -0
  168. package/skills/engineering-chain/SKILL.md +101 -0
  169. package/skills/engineering-chain/references/eng-health-review.md +37 -0
  170. package/skills/env-offline/SKILL.md +81 -0
  171. package/skills/env-offline/scripts/bundle-manifest.sh +94 -0
  172. package/skills/env-private-deploy/SKILL.md +72 -0
  173. package/skills/env-private-deploy/references/delivery-templates.md +35 -0
  174. package/skills/env-xinchuang/SKILL.md +73 -0
  175. package/skills/env-xinchuang/references/adaptation-matrix-template.md +41 -0
  176. package/skills/equipment-tpm/SKILL.md +56 -0
  177. package/skills/equipment-tpm/scripts/oee.py +58 -0
  178. package/skills/esg-report/SKILL.md +58 -0
  179. package/skills/esg-report/scripts/carbon_calc.py +61 -0
  180. package/skills/event-management/SKILL.md +51 -0
  181. package/skills/excel-analysis-chain/SKILL.md +73 -0
  182. package/skills/file-ingest/SKILL.md +51 -0
  183. package/skills/file-ingest/scripts/__pycache__/file_toolkit.cpython-312.pyc +0 -0
  184. package/skills/file-ingest/scripts/file_toolkit.py +404 -0
  185. package/skills/finance-analysis/SKILL.md +60 -0
  186. package/skills/finance-analysis/references/ratios.md +54 -0
  187. package/skills/finance-analysis/scripts/fin_ratios.py +132 -0
  188. package/skills/finance-chain/SKILL.md +59 -0
  189. package/skills/financial-modeling/SKILL.md +58 -0
  190. package/skills/financial-modeling/scripts/fin_model.py +123 -0
  191. package/skills/foreign-trade/SKILL.md +54 -0
  192. package/skills/funnel-cohort/SKILL.md +53 -0
  193. package/skills/funnel-cohort/scripts/__pycache__/funnel.cpython-312.pyc +0 -0
  194. package/skills/funnel-cohort/scripts/funnel.py +105 -0
  195. package/skills/gov-document/SKILL.md +57 -0
  196. package/skills/hr-chain/SKILL.md +51 -0
  197. package/skills/hr-operations/SKILL.md +53 -0
  198. package/skills/info-disclosure/SKILL.md +56 -0
  199. package/skills/infra-gateway/SKILL.md +85 -0
  200. package/skills/infra-gateway/references/golive-checklist.md +36 -0
  201. package/skills/infra-k8s/SKILL.md +78 -0
  202. package/skills/infra-k8s/scripts/k8s-triage.sh +84 -0
  203. package/skills/infra-mq/SKILL.md +87 -0
  204. package/skills/infra-mq/references/mq-review-checklist.md +36 -0
  205. package/skills/insurance-advisory/SKILL.md +57 -0
  206. package/skills/internal-audit/SKILL.md +66 -0
  207. package/skills/ip-management/SKILL.md +54 -0
  208. package/skills/ipo-listing/SKILL.md +60 -0
  209. package/skills/it-audit/SKILL.md +56 -0
  210. package/skills/itsm-ops/SKILL.md +55 -0
  211. package/skills/knowledge-sop/SKILL.md +51 -0
  212. package/skills/legal-chain/SKILL.md +55 -0
  213. package/skills/legal-contract/SKILL.md +58 -0
  214. package/skills/legal-contract/references/contract-checklists.md +59 -0
  215. package/skills/litigation-support/SKILL.md +53 -0
  216. package/skills/logistics-warehouse/SKILL.md +53 -0
  217. package/skills/logistics-warehouse/scripts/freight_check.py +71 -0
  218. package/skills/long-doc-analysis/SKILL.md +52 -0
  219. package/skills/management-accounting/SKILL.md +57 -0
  220. package/skills/management-accounting/scripts/__pycache__/costing.cpython-312.pyc +0 -0
  221. package/skills/management-accounting/scripts/costing.py +90 -0
  222. package/skills/manufacturing-chain/SKILL.md +57 -0
  223. package/skills/manufacturing-quality/SKILL.md +57 -0
  224. package/skills/manufacturing-quality/scripts/__pycache__/spc.cpython-312.pyc +0 -0
  225. package/skills/manufacturing-quality/scripts/spc.py +86 -0
  226. package/skills/marketing-analytics/SKILL.md +59 -0
  227. package/skills/marketing-analytics/scripts/__pycache__/rfm.cpython-312.pyc +0 -0
  228. package/skills/marketing-analytics/scripts/rfm.py +60 -0
  229. package/skills/marketing-chain/SKILL.md +57 -0
  230. package/skills/meeting-minutes/SKILL.md +55 -0
  231. package/skills/metrics-system/SKILL.md +55 -0
  232. package/skills/negotiation-prep/SKILL.md +56 -0
  233. package/skills/obs-prometheus/SKILL.md +74 -0
  234. package/skills/obs-prometheus/references/promql-cheatsheet.md +78 -0
  235. package/skills/office-automation/SKILL.md +54 -0
  236. package/skills/okr-review/SKILL.md +44 -0
  237. package/skills/ops-fleet/SKILL.md +69 -0
  238. package/skills/ops-fleet/scripts/batch-exec-guard.sh +119 -0
  239. package/skills/ops-linux/SKILL.md +69 -0
  240. package/skills/ops-linux/scripts/quick-triage.sh +138 -0
  241. package/skills/optimization-solver/SKILL.md +53 -0
  242. package/skills/optimization-solver/scripts/__pycache__/solver.cpython-312.pyc +0 -0
  243. package/skills/optimization-solver/scripts/solver.py +107 -0
  244. package/skills/pdf-toolkit/SKILL.md +43 -0
  245. package/skills/pdf-toolkit/scripts/pdf_ops.py +137 -0
  246. package/skills/pivot-crosstab/SKILL.md +44 -0
  247. package/skills/pivot-crosstab/scripts/__pycache__/pivot_tools.cpython-312.pyc +0 -0
  248. package/skills/pivot-crosstab/scripts/pivot_tools.py +90 -0
  249. package/skills/policy-analysis/SKILL.md +47 -0
  250. package/skills/portfolio-analysis/SKILL.md +56 -0
  251. package/skills/portfolio-analysis/scripts/__pycache__/portfolio.cpython-312.pyc +0 -0
  252. package/skills/portfolio-analysis/scripts/portfolio.py +78 -0
  253. package/skills/ppt-chain/SKILL.md +61 -0
  254. package/skills/pptx-author/SKILL.md +48 -0
  255. package/skills/pptx-author/scripts/pptx_deck.py +193 -0
  256. package/skills/pr-comms/SKILL.md +58 -0
  257. package/skills/pr-comms/references/pr-templates.md +54 -0
  258. package/skills/procurement-supply/SKILL.md +47 -0
  259. package/skills/procurement-supply/scripts/__pycache__/supply.cpython-312.pyc +0 -0
  260. package/skills/procurement-supply/scripts/supply.py +71 -0
  261. package/skills/product-design/SKILL.md +66 -0
  262. package/skills/product-design/references/prd-framework.md +60 -0
  263. package/skills/production-planning/SKILL.md +56 -0
  264. package/skills/production-planning/scripts/__pycache__/mrp_capacity.cpython-312.pyc +0 -0
  265. package/skills/production-planning/scripts/mrp_capacity.py +70 -0
  266. package/skills/project-management/SKILL.md +53 -0
  267. package/skills/project-management/scripts/__pycache__/cpm.cpython-312.pyc +0 -0
  268. package/skills/project-management/scripts/cpm.py +84 -0
  269. package/skills/project-proposal/SKILL.md +54 -0
  270. package/skills/project-proposal/scripts/budget_sheet.py +90 -0
  271. package/skills/qa-api-automation/SKILL.md +67 -0
  272. package/skills/qa-api-automation/references/three-layer-skeleton.md +61 -0
  273. package/skills/qa-mobile-automation/SKILL.md +70 -0
  274. package/skills/qa-mobile-automation/references/device-matrix-template.md +34 -0
  275. package/skills/qa-ui-automation/SKILL.md +80 -0
  276. package/skills/qa-ui-automation/references/stability-conventions.md +41 -0
  277. package/skills/quant-analysis/SKILL.md +60 -0
  278. package/skills/quant-analysis/scripts/__pycache__/quant.cpython-312.pyc +0 -0
  279. package/skills/quant-analysis/scripts/quant.py +102 -0
  280. package/skills/real-estate-property/SKILL.md +51 -0
  281. package/skills/real-estate-property/scripts/__pycache__/property_calc.cpython-312.pyc +0 -0
  282. package/skills/real-estate-property/scripts/property_calc.py +106 -0
  283. package/skills/regression-forecast/SKILL.md +52 -0
  284. package/skills/regression-forecast/scripts/__pycache__/regress.cpython-312.pyc +0 -0
  285. package/skills/regression-forecast/scripts/regress.py +106 -0
  286. package/skills/retail-store-ops/SKILL.md +57 -0
  287. package/skills/retail-store-ops/scripts/store_ops.py +57 -0
  288. package/skills/risk-compliance/SKILL.md +51 -0
  289. package/skills/sec-auth/SKILL.md +89 -0
  290. package/skills/sec-auth/references/auth-review-checklist.md +38 -0
  291. package/skills/sec-compliance/SKILL.md +74 -0
  292. package/skills/sec-compliance/references/dengbao-checklist.md +43 -0
  293. package/skills/securities-chain/SKILL.md +69 -0
  294. package/skills/securities-research/SKILL.md +58 -0
  295. package/skills/securities-research/scripts/__pycache__/valuation.cpython-312.pyc +0 -0
  296. package/skills/securities-research/scripts/valuation.py +93 -0
  297. package/skills/slides-html/SKILL.md +50 -0
  298. package/skills/slides-html/scripts/template.html +117 -0
  299. package/skills/statistical-testing/SKILL.md +51 -0
  300. package/skills/statistical-testing/scripts/__pycache__/stat_tests.cpython-312.pyc +0 -0
  301. package/skills/statistical-testing/scripts/stat_tests.py +131 -0
  302. package/skills/strategy-planning/SKILL.md +53 -0
  303. package/skills/supply-chain/SKILL.md +53 -0
  304. package/skills/tax-compliance/SKILL.md +57 -0
  305. package/skills/tax-compliance/scripts/tax_calc.py +90 -0
  306. package/skills/tech-research/SKILL.md +55 -0
  307. package/skills/tech-research/references/research-framework.md +50 -0
  308. package/skills/tender-bidding/SKILL.md +65 -0
  309. package/skills/tender-bidding/references/bid-checklist.md +44 -0
  310. package/skills/translation-pro/SKILL.md +44 -0
  311. package/skills/treasury-mgmt/SKILL.md +56 -0
  312. package/skills/treasury-mgmt/scripts/__pycache__/cashflow_forecast.cpython-312.pyc +0 -0
  313. package/skills/treasury-mgmt/scripts/cashflow_forecast.py +51 -0
  314. package/skills/web-scraping/SKILL.md +81 -0
  315. package/skills/web-search/SKILL.md +67 -0
  316. package/skills/xlsx-analysis/SKILL.md +96 -0
  317. package/skills/xlsx-analysis/scripts/__pycache__/xlsx_toolkit.cpython-312.pyc +0 -0
  318. package/skills/xlsx-analysis/scripts/xlsx_style.py +71 -0
  319. package/skills/xlsx-analysis/scripts/xlsx_toolkit.py +335 -0
  320. package/src/agent.js +1 -1
  321. package/src/api.js +1 -1
  322. package/src/codeindex.js +1 -1
  323. package/src/commands.js +1 -1
  324. package/src/config.js +1 -1
  325. package/src/context.js +1 -1
  326. package/src/doccache.js +1 -0
  327. package/src/doctor.js +1 -1
  328. package/src/executors.js +1 -1
  329. package/src/input.js +1 -1
  330. package/src/permissions.js +1 -1
  331. package/src/pyruntime.js +1 -0
  332. package/src/repl.js +1 -1
  333. package/src/scan.js +1 -1
  334. package/src/tools.js +1 -1
  335. package/src/tui/app.js +1 -1
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: long-doc-analysis
3
+ description: 大型文档深度研读(数百页 PDF/多文档集):通读、结构化笔记、精准引用、对照分析。当用户给出长合同/招股书/年报/标准/论文集并要求"通读/总结/找出/对比"时使用。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 大型文档深度研读(read_document 分段通读 + 结构化笔记法)
8
+
9
+ 长文档任务的失败模式只有两种:**只看了开头就下结论**,和**看完了却说不清出处**。本技能用「分段通读 + 笔记落盘 + 页码引用」根治。
10
+
11
+ ## 工作流程(强制)
12
+
13
+ 1. **建档**:先 `read_document(path, offset=0)` 拿到「全文共 N 字符/页数」——据此规划轮次(每轮 ~16000 字符),
14
+ 并在工作区建 `笔记-<文档名>.md`,写入文档元信息与轮次计划。
15
+ 2. **首轮扫结构**:第一段通常含目录/章节头。把**章节地图**(章节名 → 大致字符区间)写进笔记,后续可按区间跳读。
16
+ 3. **逐段通读**:循环 `read_document(offset=上一段末尾)` 直到「已到结尾」。**每读一段,立即向笔记追加**
17
+ (write_file append):
18
+ ```
19
+ ## 区间 [start–end](约第 X 章)
20
+ - 要点:…
21
+ - 关键数据/条款原文(短引):"……"(字符位置 ~NNNN)
22
+ - 与任务相关:是/否 + 原因
23
+ ```
24
+ 读而不记 = 白读——上下文会被压缩,笔记文件才是可靠记忆。
25
+ 4. **定向回读**:分析阶段按章节地图/笔记定位,用 `offset` 精读关键区间,禁止凭印象引用。
26
+ 5. **产出**:结论必须带**出处标注**(章节 + 字符区间或页码);正式交付用 docx-author 出报告,
27
+ 引文与页码在附录列表。
28
+
29
+ ## 多文档对照(招股书 vs 年报、合同 vs 范本、多供应商标书)
30
+
31
+ - 每份文档各建一份笔记;再建 `对照矩阵.md`:行=对照维度(由任务定,如「违约责任/付款条件/交付期」),
32
+ 列=文档,格=结论+出处。矩阵写满才允许下对比结论。
33
+ - 差异点逐条给「A 原文 / B 原文 / 差异含义」三段式。
34
+
35
+ ## 长任务作业法(数小时级任务)
36
+
37
+ - 开工先 todo_write 列轮次计划(如「通读 1-8 段」「专题:担保条款」「成稿」),逐项打勾;
38
+ - 每完成一个阶段,把阶段结论写进笔记的「阶段小结」——中途被打断/压缩后凭笔记无损续作;
39
+ - 超过 50 页的文档**禁止**一次性总结,必须走本流程。
40
+
41
+ ## 边界与诚实
42
+
43
+ - read_document 是平台解析的纯文本:**表格结构可能被打平**——遇到密集数字表,让用户提供 xlsx 原件
44
+ 或注明「表格按文本解析,数字对位可能有误」。
45
+ - 扫描件质量差时明确告知 OCR 局限,标注存疑段落。
46
+
47
+ ## 验收自查
48
+
49
+ - [ ] 笔记文件覆盖了全文所有区间(无跳段)
50
+ - [ ] 每个结论都能在笔记中找到出处(章节+位置)
51
+ - [ ] 引用的原文是回读核对过的,不是记忆复述
52
+ - [ ] 交付报告附「阅读范围与方法」说明(读了多少、怎么读的)
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: management-accounting
3
+ description: 管理会计与经营分析(全面预算编制与预实差异、量价差分解、成本核算与制造费用分摊、BOM 成本、CVP 与定价支持)。当用户说"编预算/预算执行/差异分析/成本核算/分摊/BOM/定价/本量利"时使用。财务技能链之管会环。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 管理会计与经营分析(财务技能链 · 管会环;全景见 finance-chain)
8
+
9
+ 管会的产出给经营者做决策用——每张表都要回答"所以该做什么",只报数不给含义=没做完。
10
+
11
+ ## 1. 全面预算管理
12
+
13
+ - 编制流程:目标下达(自上而下,衔接 strategy-planning 年度计划)→ 部门编制(自下而上,
14
+ 给模板与假设包:量价/人力/费用标准)→ **两上两下**校平 → 审批锁定(版本管理,调整走流程);
15
+ 预算日历(9 月启动/12 月定稿类节奏表);
16
+ - **预实差异**(`read_skill_file` 读 `scripts/costing.py`):`budget_variance()` 差异额/率 +
17
+ 超阈值标注;收入成本类再做 `volume_price_variance()` **量价差分解**
18
+ (量差=(实际量−预算量)×预算价,价差=实际量×(实际价−预算价),两差之和≡总差,恒等校验内置)——
19
+ "收入差 -8%"没有信息量,"量贡献 -12%、价贡献 +4%"才能指到动作;
20
+ - 差异说明规范:超阈值(如 ±5%)必须归因到**业务动作**(丢了哪个客户/哪条线停产),
21
+ "市场不好"不是归因;滚动预测(Rolling Forecast)按季重估全年,预算是承诺、预测是导航,两者分开。
22
+
23
+ ## 2. 经营业绩分析
24
+
25
+ - 多维盈利:产品线×渠道×客户的毛利表(数据加工走 data-report-pro,口径进 data-governance 字典);
26
+ **边际贡献口径**(收入−变动成本)用于短期决策,完全成本口径用于定价与考核,别混;
27
+ - 费用管控:费用率趋势+预算外支出审批台账;ROI 类测算(市场费 ROI 联动 marketing-analytics);
28
+ - 经营分析报告(月度):结论卡(3 件事)→ 预实与量价差 → 分线毛利 → 费用 → 现金
29
+ (treasury 头寸衔接)→ 行动建议与跟踪(上月建议的落实情况置顶——**管会报告的信用来自闭环**)。
30
+
31
+ ## 3. 成本控制与定价支持
32
+
33
+ - 成本核算方法选择:品种法/分批法/分步法(按生产组织形式,写明选择依据);
34
+ - **制造费用分摊**:`allocate_overhead()` 按机时/人工工时/产量分摊(分摊基础的选择要与
35
+ 费用动因匹配——设备密集用机时,人工密集用工时),输出分摊率与单位成本;多动因可做简化 ABC
36
+ (作业成本:先分作业池再按各自动因,提示复杂度权衡);
37
+ - **BOM 成本**:`bom_cost()` 物料×用量×单价×(1+损耗率) 逐层汇总 + 采购价联动
38
+ (procurement-supply 比价口径);标准成本 vs 实际成本差异(材料价差/用量差,同量价差框架);
39
+ - 定价支持:`cvp()` 本量利(保本量/保本额/安全边际/目标利润所需量)+ 成本加成 vs
40
+ 竞争对标 vs 价值定价的适用场景表;新品定价给**三档价格的完整损益模拟**(financial-modeling 衔接),
41
+ 不给单点建议。
42
+
43
+ ## 4. 投资与专项测算
44
+
45
+ 设备投资/自动化改造的增量现金流测算(只算增量,分摊的沉没成本剔除)→ property_calc.irr;
46
+ 自制 vs 外购决策(相关成本框架:变动成本+专属固定成本+机会成本)。
47
+
48
+ ## 验收自查
49
+
50
+ - [ ] 差异超阈值均归因到业务动作;量价差恒等校验过
51
+ - [ ] 边际贡献与完全成本口径分用,报告有上期建议闭环
52
+ - [ ] 分摊基础与费用动因匹配并写明依据
53
+ - [ ] 定价给三档损益模拟而非单点
54
+
55
+ ## 附件
56
+
57
+ - `scripts/costing.py` — budget_variance / volume_price_variance(恒等校验) / allocate_overhead / bom_cost / cvp;可直接执行自测
@@ -0,0 +1,90 @@
1
+ # 管会计算件(经 run_python 执行):预实差异 / 量价差分解(恒等校验)/ 制造费用分摊 / BOM 成本 / 本量利。
2
+ # 直接执行本文件 = 自测。
3
+ import pandas as pd
4
+
5
+
6
+ def budget_variance(df, item_col='项目', budget_col='预算', actual_col='实际', threshold=0.05):
7
+ """预实差异表:差异额/率 + 超阈值标注(favorable 方向由调用方按科目性质解读)。"""
8
+ d = df.copy()
9
+ d['差异额'] = (d[actual_col] - d[budget_col]).round(2)
10
+ d['差异率'] = (d['差异额'] / d[budget_col].replace(0, pd.NA)).astype(float).round(4)
11
+ d['超阈值'] = d['差异率'].abs() > threshold
12
+ print(f'[预实] 超阈值(±{threshold:.0%}) {int(d["超阈值"].sum())} 项——逐项归因到业务动作')
13
+ print(d.to_markdown(index=False))
14
+ return d
15
+
16
+
17
+ def volume_price_variance(q_budget, p_budget, q_actual, p_actual):
18
+ """量价差:量差=(Qa−Qb)×Pb;价差=Qa×(Pa−Pb);两差之和≡总差(恒等校验)。"""
19
+ total = q_actual * p_actual - q_budget * p_budget
20
+ vol = (q_actual - q_budget) * p_budget
21
+ price = q_actual * (p_actual - p_budget)
22
+ assert abs(vol + price - total) < 1e-6, '量价差恒等校验失败'
23
+ print(f'[量价差] 总差 {total:+,.2f} = 量差 {vol:+,.2f} + 价差 {price:+,.2f}'
24
+ f'(量贡献 {vol / total:.0%},价贡献 {price / total:.0%})' if total else
25
+ f'[量价差] 总差 0(量差 {vol:+,.2f} 与价差 {price:+,.2f} 抵消)')
26
+ return {'total': round(total, 2), 'volume': round(vol, 2), 'price': round(price, 2)}
27
+
28
+
29
+ def allocate_overhead(overhead_total, basis, product_col='产品', basis_col='机时'):
30
+ """制造费用分摊:分摊率=费用总额/动因总量;单产品分摊=率×动因量。"""
31
+ rate = overhead_total / basis[basis_col].sum()
32
+ d = basis.copy()
33
+ d['分摊率'] = round(rate, 4)
34
+ d['分摊费用'] = (d[basis_col] * rate).round(2)
35
+ assert abs(d['分摊费用'].sum() - overhead_total) < 0.01 * len(d), '分摊总额守恒失败'
36
+ print(f'[分摊] 费用 {overhead_total:,.0f} ÷ {basis_col}总量 {basis[basis_col].sum():,.0f} = 率 {rate:,.4f}')
37
+ print(d.to_markdown(index=False))
38
+ return d
39
+
40
+
41
+ def bom_cost(bom, qty_col='用量', price_col='单价', scrap_col='损耗率'):
42
+ """单层 BOM 成本:Σ 用量×单价×(1+损耗率)。返回 (明细, 单位成本)。"""
43
+ d = bom.copy()
44
+ if scrap_col not in d:
45
+ d[scrap_col] = 0.0
46
+ d['成本'] = (d[qty_col] * d[price_col] * (1 + d[scrap_col])).round(4)
47
+ unit = float(d['成本'].sum())
48
+ print(f'[BOM] 单位成本 {unit:,.2f}({len(d)} 项物料,损耗已含)')
49
+ print(d.to_markdown(index=False))
50
+ return d, round(unit, 2)
51
+
52
+
53
+ def cvp(fixed_cost, price, var_cost, target_profit=0.0, cur_qty=None):
54
+ """本量利:保本量/保本额/目标利润所需量/安全边际(给 cur_qty 时)。"""
55
+ cm = price - var_cost
56
+ # 单位边际贡献≤0:卖一件亏一件、无保本点。用 ValueError 明确报错(而非 assert——assert 在 python -O 下会被
57
+ # 跳过、且不是输入校验的规范手段),调用方可捕获并向用户解释。
58
+ if cm <= 0:
59
+ raise ValueError(f'单位边际贡献 {cm:.2f}≤0:该产品卖一件亏一件、无保本点,请先提价或降本')
60
+ be_q = fixed_cost / cm
61
+ tp_q = (fixed_cost + target_profit) / cm
62
+ out = {'单位边际贡献': round(cm, 2), '保本量': round(be_q, 1), '保本额': round(be_q * price, 2),
63
+ '目标利润所需量': round(tp_q, 1)}
64
+ msg = f"[CVP] 边际贡献 {cm:,.2f}/件 · 保本 {be_q:,.0f} 件({be_q * price:,.0f} 元)"
65
+ if cur_qty:
66
+ margin = (cur_qty - be_q) / cur_qty
67
+ out['安全边际率'] = round(margin, 4)
68
+ msg += f' · 安全边际 {margin:.1%}'
69
+ print(msg)
70
+ return out
71
+
72
+
73
+ if __name__ == '__main__':
74
+ bv = budget_variance(pd.DataFrame({'项目': ['收入', '销售费用'], '预算': [1000, 150], '实际': [900, 170]}))
75
+ assert bool(bv.loc[0, '超阈值']) and bool(bv.loc[1, '超阈值'])
76
+ r = volume_price_variance(q_budget=1000, p_budget=1.0, q_actual=880, p_actual=1.05)
77
+ assert r['total'] == r['volume'] + r['price'] == -76.0
78
+ al = allocate_overhead(120000, pd.DataFrame({'产品': ['A', 'B'], '机时': [600, 400]}))
79
+ assert al.loc[0, '分摊费用'] == 72000
80
+ _, unit = bom_cost(pd.DataFrame({'物料': ['钢材', '电机'], '用量': [2, 1],
81
+ '单价': [50, 300], '损耗率': [0.02, 0.0]}))
82
+ assert abs(unit - (2 * 50 * 1.02 + 300)) < 0.01
83
+ c = cvp(fixed_cost=180000, price=50, var_cost=30, cur_qty=12000)
84
+ assert c['保本量'] == 9000 and c['安全边际率'] == 0.25
85
+ try:
86
+ cvp(1000, 10, 12)
87
+ raise SystemExit('负边际贡献应报错')
88
+ except ValueError:
89
+ pass
90
+ print('OK costing.py')
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: manufacturing-chain
3
+ description: 制造技能链总控(计划→物料→生产→质量→设备→安全→交付全链路由、订单到交付/新品导入 NPI/持续改善三条端到端工作流、工厂自动化例程)。当制造诉求跨环节("这张订单能不能接并交出去""新品从图纸到量产")或不确定用哪个技能时先载入。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 制造技能链总控
8
+
9
+ ## 场景路由表
10
+
11
+ | 制造环节 | 高频场景 | 技能 |
12
+ |---|---|---|
13
+ | 计划排程 | 交期评审/MPS/MRP/产能负荷/插单 | **production-planning** |
14
+ | 物料采购 | 比价/供应商评分/呆滞 | procurement-supply(+supply-chain S2P 链) |
15
+ | 仓储物流 | 库存准确率/运费对账/时效 | logistics-warehouse |
16
+ | 质量 | SPC/CPK/8D/FMEA/检验报表 | **manufacturing-quality** |
17
+ | 设备 | OEE/点检保养/MTBF/备件 | **equipment-tpm** |
18
+ | 安全环保 | JSA/隐患闭环/许可票/事故 | **ehs-safety** |
19
+ | 成本 | BOM 成本/分摊/标准成本差异 | management-accounting |
20
+ | 人员 | 排班工时/技能矩阵/绩效 | hr-operations + okr-review |
21
+
22
+ ## 端到端工作流
23
+
24
+ ### ① 订单到交付链(接单常态)
25
+ 订单评审(**production-planning**:产能+物料双核出 CTP 承诺交期)→ MRP 净需求 → 采购执行
26
+ (supply-chain S2P:下单跟催+IQC 来料)→ 排产与执行(日计划-报工-达成率,缺料预警早于停线)→
27
+ 过程质量(manufacturing-quality:SPC 判稳+直通率,异常按人机料法环分层)→ 设备保障
28
+ (equipment-tpm:点检+OEE 日清)→ 出货 OQC → 发运(logistics:计费重预核)→
29
+ 交付后(PPM 客诉承接 8D)→ 月度经营(达成率/直通率/OEE/PPM 四表进厂长月报,
30
+ 量价差成本分析 management-accounting)。
31
+
32
+ ### ② 新品导入 NPI 链(按项目)
33
+ 设计输入(product-design PRD/图纸评审:可制造性 DFM 意见前置——**量产后改图十倍贵**)→
34
+ BOM 与成本(management-accounting bom_cost+目标成本)→ 工艺与治具(作业指导书 SOP:
35
+ knowledge-sop 可执行标准)→ 试产(首件检验 FAI + **SPC 初始过程能力**(CPK≥1.33 放行口径)+
36
+ FMEA 更新)→ 小批量爬坡(直通率爬坡曲线 vs 目标)→ 量产放行评审(checklist:
37
+ 文件/治具/人员资质/备件/安全 JSA 齐套)→ 移交量产(遗留问题清单限期关闭)。
38
+
39
+ ### ③ 持续改善链(月度)
40
+ 数据面(OEE 六大损失瀑布 + 直通率帕累托 + 隐患重复率 三张表定选题)→ 立项
41
+ (**一个损失一个专项**,改善目标量化:换型 45→25 分钟)→ 工具箱(8D/SMED 快速换型/
42
+ 防错 Poka-yoke/5Why——按题选,不堆工具)→ 验证(改善前后数据对比,样本量足)→
43
+ 标准化(**改善不落 SOP=白改**,knowledge-sop 回写+培训 education-training)→
44
+ 横展(同类工位/产线复制清单)。
45
+
46
+ ## 自动化例程配方
47
+
48
+ - 生产日报:达成率/直通率/OEE/安全事件四合一,异常标红附初步归因;
49
+ - 缺料预警:MRP 下单周已过项即时提醒采购与计划;
50
+ - 点检漏检日提醒;许可票超时/证件到期台账周检;
51
+ - 月度改善看板:各专项目标 vs 实际进度通晒。
52
+
53
+ ## 使用纪律
54
+
55
+ 数据同源:OEE 的稼动率喂产能负荷、IQC 结果喂供应商评分、质量数据喂 FMEA——
56
+ **台账互喂是制造链的筋络**;安全一票否决(任何工作流遇 ehs 红线即停);
57
+ 口径写死(直通率=工序合格率连乘,不用终检合格率糊弄)。
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: manufacturing-quality
3
+ description: 制造质量管理(SPC 控制图与过程能力 CPK、8D 报告、FMEA、QC 七工具、来料/制程/出货检验报表)。当用户说"质量分析/控制图/CPK/8D/客诉品质问题/FMEA/不良率"时使用。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 制造质量(数据判稳 → 能力评估 → 问题闭环)
8
+
9
+ ## SPC 与过程能力(`read_skill_file` 读 `scripts/spc.py`)
10
+
11
+ - `xbar_r_chart()`:X̄-R 控制图(子组均值/极差,A2/D3/D4 系数法控制限)——**先判稳再谈能力**:
12
+ 越限点/连续 7 点同侧/趋势 7 点升降 三类失控信号自动标记,失控先查原因(人机料法环测),
13
+ 剔除有据可查的特殊原因点后重算;
14
+ - `cpk()`:过程能力 Cp/Cpk(需规格限 USL/LSL)——Cpk≥1.33 视为充分(行业阈值可调),
15
+ Cp 高 Cpk 低=偏心,给居中建议;**数据不服从近似正态时如实提示**(直方图先看,双峰=混料/双机台,
16
+ 先分层再算);
17
+ - 图表落盘(data-analysis 字体规范),控制限与样本参数写入图注(可复算)。
18
+
19
+ ## 8D 报告(客诉/重大不良的标准闭环)
20
+
21
+ D1 组队 → D2 问题描述(**5W2H+不良率数据+现象照片位标注**,"偶发异响"不合格,
22
+ "X 工位 3 月批次异响率 2.3%,频率 2kHz"合格)→ D3 围堵(库存/在途/客户端三处清查数量与处置)→
23
+ D4 根因(**5Why 到可验证的机理** + 鱼骨图分层;"员工疏忽"不是根因,继续问为什么疏忽可能发生)→
24
+ D5 纠正措施(针对根因,不是"加强培训"三件套)→ D6 效果验证(**用数据**:实施前后不良率对比,
25
+ 样本量足够)→ D7 预防扩展(横展到同类产品/工位,更新 FMEA 与作业指导书)→ D8 关闭确认。
26
+ 每个 D 有证据要求,缺证据的 D 标"待补"不许糊弄。
27
+
28
+ ## FMEA(失效模式分析)
29
+
30
+ 结构:工序/功能 → 失效模式 → 影响(S 严重度) → 原因(O 频度) → 现有控制(D 探测度) →
31
+ RPN=S×O×D 或 AP 行动优先级 → 措施与责任人;
32
+ 打分标准表先与团队对齐(1–10 各档定义写死,否则打分没有可比性);
33
+ 高 RPN/高 S(≥8 的严重度不论 RPN 都要措施)优先;措施落地后重评分闭环。
34
+
35
+ ## QC 七工具速用
36
+
37
+ 帕累托(抓主要不良,data-analysis 出图)/ 鱼骨(分层:人机料法环测)/ 直方图(看分布形态)/
38
+ 控制图(spc.py)/ 散点(参数相关性)/ 检查表(数据采集模板)/ 分层法(**一切分析先分层**:
39
+ 机台/班次/批次/供应商——混在一起的数据会说谎)。
40
+
41
+ ## 质量报表体系
42
+
43
+ 来料 IQC(批合格率/供应商不良 TOP,联动 procurement-supply 评分卡)/
44
+ 制程 IPQC(直通率 FTY=各工序合格率连乘,别只看终检;工序不良帕累托)/
45
+ 出货 OQC 与客诉(PPM 口径,客诉响应时效)——月报结构:指标卡 → 趋势 → TOP 问题深潜(8D 索引) → 措施看板。
46
+
47
+ ## 验收自查
48
+
49
+ - [ ] 控制图先判稳,失控点处理有记录
50
+ - [ ] CPK 前验了正态性/做了分层
51
+ - [ ] 8D 每步有证据,根因到机理层
52
+ - [ ] FMEA 打分标准先对齐;高 S 项均有措施
53
+ - [ ] 报表用直通率/PPM 等严口径
54
+
55
+ ## 附件
56
+
57
+ - `scripts/spc.py` — X̄-R 控制图(判稳三规则)+ Cp/Cpk + 正态性提示;可直接执行自测
@@ -0,0 +1,86 @@
1
+ # SPC 计算件(经 run_python 执行):X̄-R 控制图(系数法控制限 + 三类失控信号)与过程能力 Cp/Cpk。
2
+ # 直接执行本文件 = 自测(含一组刻意失控数据的信号断言)。
3
+ import numpy as np
4
+ import pandas as pd
5
+
6
+ # X̄-R 图系数(子组 n=2..10):A2, D3, D4
7
+ COEF = {2: (1.880, 0, 3.267), 3: (1.023, 0, 2.574), 4: (0.729, 0, 2.282), 5: (0.577, 0, 2.114),
8
+ 6: (0.483, 0, 2.004), 7: (0.419, 0.076, 1.924), 8: (0.373, 0.136, 1.864),
9
+ 9: (0.337, 0.184, 1.816), 10: (0.308, 0.223, 1.777)}
10
+
11
+
12
+ def xbar_r_chart(data, out_png=None):
13
+ """data: 2D 数组/列表(每行一个子组)。返回 (子组表, 参数, 信号列表)。"""
14
+ arr = np.asarray(data, dtype=float)
15
+ n = arr.shape[1]
16
+ assert n in COEF, f'子组大小 {n} 超出系数表(2–10)'
17
+ a2, d3, d4 = COEF[n]
18
+ xbar, rng = arr.mean(axis=1), arr.max(axis=1) - arr.min(axis=1)
19
+ xbb, rbar = xbar.mean(), rng.mean()
20
+ limits = {'X_CL': xbb, 'X_UCL': xbb + a2 * rbar, 'X_LCL': xbb - a2 * rbar,
21
+ 'R_CL': rbar, 'R_UCL': d4 * rbar, 'R_LCL': d3 * rbar, 'n': n}
22
+ signals = []
23
+ for i, v in enumerate(xbar):
24
+ if v > limits['X_UCL'] or v < limits['X_LCL']:
25
+ signals.append((i + 1, '越限', round(v, 3)))
26
+ side = np.sign(xbar - xbb)
27
+ run = 1
28
+ for i in range(1, len(side)):
29
+ run = run + 1 if side[i] == side[i - 1] and side[i] != 0 else 1
30
+ if run == 7:
31
+ signals.append((i + 1, '连续7点同侧', round(xbar[i], 3)))
32
+ diff = np.sign(np.diff(xbar))
33
+ run = 1
34
+ for i in range(1, len(diff)):
35
+ run = run + 1 if diff[i] == diff[i - 1] and diff[i] != 0 else 1
36
+ if run == 6: # 7 点连续升/降 = 6 段同向
37
+ signals.append((i + 2, '7点趋势', round(xbar[i + 1], 3)))
38
+ tab = pd.DataFrame({'子组': np.arange(1, len(xbar) + 1), 'X̄': xbar.round(3), 'R': rng.round(3)})
39
+ print(f"[SPC] X̄ CL={xbb:.3f} UCL={limits['X_UCL']:.3f} LCL={limits['X_LCL']:.3f} | "
40
+ f"R CL={rbar:.3f} UCL={limits['R_UCL']:.3f}")
41
+ print('[SPC] 失控信号:' + (';'.join(f'子组{i} {t}({v})' for i, t, v in signals) if signals else '无(判稳通过)'))
42
+ if out_png:
43
+ import matplotlib.pyplot as plt
44
+ fig, axes = plt.subplots(2, 1, figsize=(9, 6), sharex=True)
45
+ axes[0].plot(tab['子组'], tab['X̄'], marker='o')
46
+ for k in ('X_CL', 'X_UCL', 'X_LCL'):
47
+ axes[0].axhline(limits[k], ls='--' if k != 'X_CL' else '-', lw=1)
48
+ axes[0].set_title(f'X̄ 图(n={n}, A2={a2})')
49
+ axes[1].plot(tab['子组'], tab['R'], marker='o')
50
+ for k in ('R_CL', 'R_UCL'):
51
+ axes[1].axhline(limits[k], ls='--' if k != 'R_CL' else '-', lw=1)
52
+ axes[1].set_title('R 图')
53
+ fig.tight_layout()
54
+ fig.savefig(out_png, dpi=130)
55
+ print(f'[SPC] 图已落盘 {out_png}')
56
+ return tab, limits, signals
57
+
58
+
59
+ def cpk(values, usl, lsl):
60
+ """过程能力:Cp=(USL-LSL)/6σ;Cpk=min[(USL-μ),(μ-LSL)]/3σ。附正态性粗检提示。"""
61
+ v = np.asarray(values, dtype=float)
62
+ mu, sd = v.mean(), v.std(ddof=1)
63
+ cp = (usl - lsl) / (6 * sd)
64
+ cpk_v = min(usl - mu, mu - lsl) / (3 * sd)
65
+ skew = float(pd.Series(v).skew())
66
+ note = ' ⚠ 偏度较大,先看直方图/分层再采信' if abs(skew) > 1 else ''
67
+ verdict = '充分(≥1.33)' if cpk_v >= 1.33 else ('尚可(1.0–1.33)' if cpk_v >= 1.0 else '不足(<1.0)')
68
+ print(f'[CPK] μ={mu:.3f} σ={sd:.3f} | Cp={cp:.2f} Cpk={cpk_v:.2f} → {verdict}'
69
+ + (';Cp 明显高于 Cpk:过程偏心,先居中' if cp - cpk_v > 0.33 else '') + note)
70
+ return {'cp': round(cp, 2), 'cpk': round(cpk_v, 2), 'mu': round(mu, 3), 'sigma': round(sd, 3)}
71
+
72
+
73
+ if __name__ == '__main__':
74
+ rng = np.random.default_rng(5)
75
+ stable = rng.normal(10.0, 0.05, (20, 5))
76
+ _, lim, sig = xbar_r_chart(stable)
77
+ assert not any(t == '越限' for _, t, _ in sig)
78
+ bad = stable.copy()
79
+ bad[12] += 0.4 # 制造一个越限点
80
+ _, _, sig2 = xbar_r_chart(bad, out_png='spc_check.png')
81
+ assert any(i == 13 and t == '越限' for i, t, _ in sig2)
82
+ r = cpk(rng.normal(10.0, 0.05, 200), usl=10.2, lsl=9.8)
83
+ assert r['cpk'] > 1.0
84
+ r2 = cpk(rng.normal(10.15, 0.05, 200), usl=10.2, lsl=9.8) # 偏心
85
+ assert r2['cpk'] < r2['cp']
86
+ print('OK spc.py')
@@ -0,0 +1,59 @@
1
+ ---
2
+ name: marketing-analytics
3
+ description: 市场营销分析(用户分群 RFM、转化漏斗、投放 ROI、竞品分析、活动复盘、营销方案)。当用户说"用户分析/漏斗/投放效果/复盘/竞品/营销方案/GMV 分析"时使用。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 市场营销分析(框架 + 可复算分群/漏斗 + 复盘范式)
8
+
9
+ ## 任务分派
10
+
11
+ | 诉求 | 路径 |
12
+ |---|---|
13
+ | 用户价值分层运营 | RFM 分群(scripts/rfm.py)→ 分层策略表 |
14
+ | 转化诊断 | 漏斗分析(各级转化率+断点定位+对比基线) |
15
+ | 投放效果 | ROI/ROAS/CAC 口径先统一 → 渠道×素材矩阵 → 边际递减检查 |
16
+ | 竞品 | 竞品矩阵(维度打分+证据)→ 定位图 |
17
+ | 活动复盘 | 五段式复盘(见下) |
18
+ | 方案撰写 | STP→4P 结构,目标必须 SMART 且给测算依据 |
19
+
20
+ ## 关键口径(先对齐再计算,口径错=全错)
21
+
22
+ - GMV vs 营收 vs 回款;下单 vs 支付;新客定义(首单口径/注册口径);
23
+ - CAC=获客成本/**新客数**(拉活混进来会假优秀);LTV 给计算窗口(90天/1年);
24
+ - ROI=(GMV−成本)/成本 与 ROAS=GMV/成本 别混用;归因模型注明(末次点击/线性/位置)。
25
+
26
+ ## RFM 分群(`read_skill_file` 读 `scripts/rfm.py`)
27
+
28
+ `rfm(df, user_col, date_col, amount_col)` → 五分位打分 → 八类客群
29
+ (重要价值/重要保持/重要发展/重要挽留/一般价值/一般保持/一般发展/流失),
30
+ 输出各群人数/GMV 占比 + 分层策略表模板。**分位边界与样本量一并输出**(可复算,防"重要客户"口径漂移)。
31
+
32
+ ## 漏斗分析范式
33
+
34
+ 1. 定义各级事件与去重口径(人数漏斗还是次数漏斗);
35
+ 2. 逐级转化率 + 对比基线(上期/大盘/AB 对照组)——没有基线的漏斗只能描述不能诊断;
36
+ 3. 断点定位:跌幅最大层 → 分维度下钻(渠道/机型/新老客)找差异群体;
37
+ 4. 结论句式:「支付转化率 62%(上期 71%),跌幅集中在 iOS 新客(-18pct),与 X 改版时间吻合——建议…」。
38
+
39
+ ## 活动复盘五段式
40
+
41
+ 目标回顾(当初的数字目标)→ 达成对比(差多少,分解到子目标)→ 归因(做对了什么/什么没起作用,
42
+ 用对照期/对照组说话,**警惕把大盘增长记成活动功劳**)→ 成本效率(CAC/ROI vs 日常)→
43
+ 可复制结论(下次保留/放弃/加码清单)。
44
+
45
+ ## 竞品分析矩阵
46
+
47
+ 维度按业务定(价格/功能/渠道/内容/口碑),每格=事实+来源(截图/官网/公开数据),
48
+ 禁止无来源打分;产出定位图(价格×核心差异维度散点,data-analysis 出图)。
49
+
50
+ ## 验收自查
51
+
52
+ - [ ] 所有口径在报告开头"口径说明"里列明
53
+ - [ ] 每个诊断结论有对比基线与下钻证据
54
+ - [ ] RFM 边界/样本量可复算;策略表落到动作(谁/做什么/预期指标)
55
+ - [ ] 复盘区分了活动效应与大盘效应
56
+
57
+ ## 附件
58
+
59
+ - `scripts/rfm.py` — RFM 五分位分群 + 八类客群 + 群像汇总表;可直接执行自测
@@ -0,0 +1,60 @@
1
+ # RFM 分群(经 run_python 执行):交易明细 → R/F/M 五分位打分 → 八类客群 → 群像汇总。
2
+ # 边界与样本量全部输出(可复算)。直接执行本文件 = 自测。
3
+ import numpy as np
4
+ import pandas as pd
5
+
6
+ SEGMENTS = { # (R高?, F高?, M高?) -> 客群名(高=分数≥4,其中 R 分高代表最近活跃)
7
+ (1, 1, 1): '重要价值', (1, 0, 1): '重要发展', (0, 1, 1): '重要保持', (0, 0, 1): '重要挽留',
8
+ (1, 1, 0): '一般价值', (1, 0, 0): '一般发展', (0, 1, 0): '一般保持', (0, 0, 0): '流失风险',
9
+ }
10
+
11
+
12
+ def _score(s, higher_is_better=True):
13
+ """五分位打分 1–5(重复值多时用 rank 兜底,保证可分箱)。"""
14
+ r = s.rank(pct=True, method='first')
15
+ score = np.ceil(r * 5).clip(1, 5).astype(int)
16
+ return score if higher_is_better else (6 - score)
17
+
18
+
19
+ def rfm(df, user_col, date_col, amount_col, asof=None):
20
+ """返回 (用户级明细含分群, 群像汇总表)。asof 缺省=数据里最大日期+1天。"""
21
+ d = df[[user_col, date_col, amount_col]].copy()
22
+ d[date_col] = pd.to_datetime(d[date_col])
23
+ asof = pd.to_datetime(asof) if asof else d[date_col].max() + pd.Timedelta(days=1)
24
+ u = d.groupby(user_col).agg(
25
+ R_days=(date_col, lambda x: (asof - x.max()).days),
26
+ F_cnt=(user_col, 'size'),
27
+ M_amt=(amount_col, 'sum'),
28
+ ).reset_index()
29
+ u['R分'] = _score(u['R_days'], higher_is_better=False) # 距今越短分越高
30
+ u['F分'] = _score(u['F_cnt'])
31
+ u['M分'] = _score(u['M_amt'])
32
+ u['客群'] = [SEGMENTS[(int(r >= 4), int(f >= 4), int(m >= 4))]
33
+ for r, f, m in zip(u['R分'], u['F分'], u['M分'])]
34
+ seg = u.groupby('客群').agg(
35
+ 人数=('客群', 'size'), GMV=('M_amt', 'sum'),
36
+ 人均GMV=('M_amt', 'mean'), 平均距今天数=('R_days', 'mean'), 平均频次=('F_cnt', 'mean'),
37
+ ).round(1).sort_values('GMV', ascending=False)
38
+ seg['人数占比%'] = (seg['人数'] / seg['人数'].sum() * 100).round(1)
39
+ seg['GMV占比%'] = (seg['GMV'] / seg['GMV'].sum() * 100).round(1)
40
+ print(f'[RFM] 用户 {len(u)} · 截至 {asof.date()} · '
41
+ f"R中位 {u['R_days'].median():.0f} 天 · F中位 {u['F_cnt'].median():.0f} 次 · M中位 {u['M_amt'].median():.0f}")
42
+ print(seg.to_markdown())
43
+ return u, seg
44
+
45
+
46
+ if __name__ == '__main__':
47
+ rng = np.random.default_rng(11)
48
+ n_users, n_tx = 800, 6000
49
+ tx = pd.DataFrame({
50
+ '用户': rng.integers(1, n_users + 1, n_tx),
51
+ '日期': pd.Timestamp('2026-01-01') + pd.to_timedelta(rng.integers(0, 180, n_tx), unit='D'),
52
+ '金额': rng.lognormal(4, 1, n_tx).round(2),
53
+ })
54
+ users, seg = rfm(tx, '用户', '日期', '金额')
55
+ assert set(users['客群']).issubset(set(SEGMENTS.values()))
56
+ assert users['R分'].between(1, 5).all() and len(seg) >= 6
57
+ assert abs(seg['GMV占比%'].sum() - 100) < 0.5
58
+ top = users[users['客群'] == '重要价值']
59
+ assert top['M_amt'].mean() > users['M_amt'].mean() # 重要价值客群人均金额应高于整体
60
+ print('OK rfm.py')
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: marketing-chain
3
+ description: 市场营销技能链总控(洞察→策略→内容→活动→投放→复盘→客户运营全链→技能路由与端到端工作流、营销自动化例程)。当营销诉求跨环节("新品上市整个 campaign""大促从筹备到复盘")或不确定用哪个技能时先载入。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 市场营销技能链总控
8
+
9
+ ## 场景路由表
10
+
11
+ | 营销模块 | 高频场景 | 技能 |
12
+ |---|---|---|
13
+ | 市场洞察 | 用户分群 RFM/漏斗诊断/竞品矩阵 | **marketing-analytics** |
14
+ | 策略定位 | STP/年度营销计划/预算分配 | strategy-planning + marketing-analytics |
15
+ | 品牌 | Brief/VI/命名/语调 | **brand-design** |
16
+ | 内容 | 公众号/短视频/小红书/知乎 | **content-creation** |
17
+ | 公关传播 | 新闻稿/危机/媒体 QA/舆情 | **pr-comms** |
18
+ | 活动会务 | 发布会/展会/客户大会 | **event-management** |
19
+ | 电商增长 | GMV 归因/大促/直播投放 | **ecommerce-ops** |
20
+ | 客户运营 | 客诉/VOC/NPS/FAQ | **customer-service** |
21
+ | 效果度量 | 指标体系/看板/归因口径 | metrics-system + data-analysis |
22
+
23
+ ## 端到端工作流
24
+
25
+ ### ① 新品上市链(Campaign 级)
26
+ 洞察(marketing-analytics:目标人群分群+竞品定位图)→ 策略(STP 一页纸:打谁/说什么/在哪说,
27
+ **"说什么"= brand-design 的 SMP,全链所有物料共用这一句**)→ 物料矩阵
28
+ (brand-design Brief → content-creation 四平台内容 + slides-html 发布会 PPT + pr-comms 新闻稿,
29
+ **同一 SMP 不同表达,串稿检查**)→ 发布会(event-management 全流程)→ 投放
30
+ (渠道×素材计划,预算与 KPI 事先锁定)→ 数据日报(office-automation 例程:曝光-转化-成本)→
31
+ 上市 30 天复盘(目标 vs 达成/素材衰减/渠道 ROI → 可复制清单)。
32
+
33
+ ### ② 大促作战链(电商节奏)
34
+ 目标拆解(ecommerce-ops:GMV=UV×CVR×AOV 反推各因子目标与资源)→ 蓄水期(内容种草排期+
35
+ 私域预热+尾款机制设计)→ 库存战备(售罄率预演,supply-chain 联动补货)→ 爆发期作战室
36
+ (小时级数据播报模板+异常预案:超卖/客服过载/舆情——pr-comms 危机口径备案)→
37
+ 售后波峰(customer-service:客诉高峰的权限阶梯提前放宽)→ **剥离基线的复盘**
38
+ (真实增量/毛利口径盈亏/透支效应检查)→ 沉淀(素材库+SOP 回写 knowledge-sop)。
39
+
40
+ ### ③ 客户之声闭环链(月度常态)
41
+ VOC 汇总(customer-service:工单+评价 ecommerce+舆情 pr 三源合一)→ 帕累托与根因
42
+ (原声证据)→ 分发(产品缺陷→product-design 需求;话术缺口→FAQ 更新;体验硬伤→专项)→
43
+ 整改跟踪(行动项台账,meeting-minutes 机制)→ 效果回看(该类问题量环比,**闭环率进月报**——
44
+ VOC 不闭环,收集就是表演)。
45
+
46
+ ## 自动化例程配方
47
+
48
+ - 营销日报:投放渠道数据汇总→异常(CAC 超阈值/素材衰减)标红;
49
+ - 舆情监测周报:声量+负面高频词,超阈值即时提醒(pr-comms 口径);
50
+ - 内容日历提醒:栏目排期 T-2 催稿;
51
+ - 月度 VOC 报告初稿自动生成,闭环率自动计算。
52
+
53
+ ## 使用纪律
54
+
55
+ 全链口径统一进 metrics-system 字典(GMV/新客/ROI 先对齐再开工);
56
+ 所有对外物料过 content-creation 违禁扫描与 brand-design 语调检查;
57
+ 预算与实际支出周对账(management-accounting 预实口径)。
@@ -0,0 +1,55 @@
1
+ ---
2
+ name: meeting-minutes
3
+ description: 会议纪要与行动项管理(转写整理、决议提炼、行动项跟踪表、周例会/评审会/客户会范式)。当用户给出会议录音转写/杂乱笔记说"整理成纪要/输出行动项"时使用。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 会议纪要(从转写噪声到可执行结论)
8
+
9
+ ## 处理流程
10
+
11
+ 1. **输入清洗**:转写文本先标记发言人(有标识用标识,无标识按上下文推断并标注"推断");
12
+ 剔除寒暄与重复;超长转写(>2小时会议)走 long-doc-analysis 分段法。
13
+ 2. **三层提取**(纪要的本体):
14
+ - **决议**:明确达成一致的事项(原话中有"就这么定/同意/通过"锚点的才算);
15
+ - **行动项**:动作+责任人+期限三要素,缺一要素的标「待补:缺期限」而非脑补;
16
+ - **待决问题**:讨论未决的分歧点,记录各方立场与下一步(谁去调研/下次议)。
17
+ 3. **对账式核对**:把提取结果对照原文复核一遍——**纪要错一个责任人,比没有纪要更糟**;
18
+ 模糊处标注原文位置,交人工确认而不是猜。
19
+ 4. **产出**:纪要 docx(结构见下)+ `行动项跟踪表.xlsx`(编号/事项/责任人/期限/状态/
20
+ 来源会议——多次会议累积同一张表,开会前先过上次未闭环项)。
21
+
22
+ ## 纪要结构(按会议类型微调)
23
+
24
+ ```
25
+ 会议纪要:【主题】
26
+ 时间/地点/主持/记录/出席(缺席标注)
27
+ 一、决议事项(编号列出,每条一句话,含生效条件)
28
+ 二、行动项(表:# | 事项 | 责任人 | 期限 | 验收标准)
29
+ 三、待决问题(分歧点 + 各方立场 + 下一步)
30
+ 四、下次会议(时间/议题/需准备材料)
31
+ ```
32
+
33
+ - **周例会**:增加「上期行动项闭环情况」置顶(完成/延期+原因/取消);
34
+ - **评审会**(需求/设计/代码):决议=通过/有条件通过(条件列表)/不通过(问题列表),
35
+ 必须明确"有条件通过"的条件核验人;
36
+ - **客户会议**:区分「我方承诺」与「客户诉求」两张清单,我方承诺发出前需内部确认——
37
+ 纪要外发版与内部版分开(内部版含风险备注)。
38
+
39
+ ## 红线
40
+
41
+ - 不虚构:没说过的不写,推断的标注;发言人不确定就写"与会人员提出";
42
+ - 敏感表述(薪酬/人事/未公开数据)在外发版中按需脱敏并向用户确认;
43
+ - 行动项动词必须可验收("跟进/关注"不合格,改为"输出 X 文档/给出 Y 结论")。
44
+
45
+ ## 自动化衔接
46
+
47
+ 固定周会可配 office-automation 例程:会后把转写文件放入约定目录 → 自动出纪要初稿与
48
+ 更新后的行动项跟踪表 → 人工审定后发出。
49
+
50
+ ## 验收自查
51
+
52
+ - [ ] 每条决议在原文有锚点;行动项三要素齐或标「待补」
53
+ - [ ] 上期行动项闭环核对完成(例会)
54
+ - [ ] 外发版已脱敏;我方承诺经确认
55
+ - [ ] 跟踪表累积更新而非另起炉灶