@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.
- package/LICENSE +391 -32
- package/README.md +139 -8
- package/bin/huicai.js +155 -74
- package/bin/update.js +97 -0
- package/package.json +27 -8
- package/skills/ab-testing/trigger-cases.json +30 -0
- package/skills/academic-writing/trigger-cases.json +30 -0
- package/skills/accounting-ops/trigger-cases.json +30 -0
- package/skills/ai-agent/trigger-cases.json +30 -0
- package/skills/ai-aiops/trigger-cases.json +30 -0
- package/skills/ai-coding/SKILL.md +2 -0
- package/skills/ai-coding/trigger-cases.json +30 -0
- package/skills/ai-compliance/trigger-cases.json +30 -0
- package/skills/ai-eval/trigger-cases.json +30 -0
- package/skills/ai-llm-app/trigger-cases.json +30 -0
- package/skills/ai-mlops/trigger-cases.json +30 -0
- package/skills/ai-multimodal/trigger-cases.json +30 -0
- package/skills/ai-prompt/trigger-cases.json +30 -0
- package/skills/ai-rag/trigger-cases.json +30 -0
- package/skills/anomaly-detection/trigger-cases.json +30 -0
- package/skills/api-design/trigger-cases.json +31 -0
- package/skills/api-integration/trigger-cases.json +31 -0
- package/skills/arch-design/trigger-cases.json +12 -0
- package/skills/arch-diagram/SKILL.md +118 -0
- package/skills/arch-diagram/trigger-cases.json +30 -0
- package/skills/arch-distributed/trigger-cases.json +30 -0
- package/skills/arch-multitenant/trigger-cases.json +30 -0
- package/skills/audio-brief/SKILL.md +65 -0
- package/skills/audio-brief/trigger-cases.json +30 -0
- package/skills/audit-assist/trigger-cases.json +30 -0
- package/skills/audit-chain/trigger-cases.json +31 -0
- package/skills/banking-credit/trigger-cases.json +30 -0
- package/skills/brand-design/trigger-cases.json +30 -0
- package/skills/business-plan/trigger-cases.json +30 -0
- package/skills/capital-ops/trigger-cases.json +30 -0
- package/skills/cicd-pipeline/trigger-cases.json +31 -0
- package/skills/code-archaeology/SKILL.md +55 -0
- package/skills/code-archaeology/trigger-cases.json +9 -0
- package/skills/code-quality/SKILL.md +138 -0
- package/skills/code-quality/references/languages.md +107 -0
- package/skills/code-quality/scripts/__pycache__/code_battery.cpython-312.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_check.cpython-312.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_check.cpython-313.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_csharp.cpython-312.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_csharp.cpython-313.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_fix.cpython-312.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_fix.cpython-313.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_java.cpython-312.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_java.cpython-313.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_jsts.cpython-312.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_jsts.cpython-313.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_lens.cpython-312.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_lens.cpython-313.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_python.cpython-312.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_python.cpython-313.pyc +0 -0
- package/skills/code-quality/scripts/__pycache__/code_testplan.cpython-312.pyc +0 -0
- package/skills/code-quality/scripts/code_battery.py +1072 -0
- package/skills/code-quality/scripts/code_check.py +1269 -0
- package/skills/code-quality/scripts/code_csharp.py +371 -0
- package/skills/code-quality/scripts/code_fix.py +201 -0
- package/skills/code-quality/scripts/code_java.py +695 -0
- package/skills/code-quality/scripts/code_jsts.py +313 -0
- package/skills/code-quality/scripts/code_lens.py +1079 -0
- package/skills/code-quality/scripts/code_python.py +536 -0
- package/skills/code-quality/scripts/code_testplan.py +239 -0
- package/skills/code-quality/trigger-cases.json +45 -0
- package/skills/code-review/SKILL.md +24 -0
- package/skills/code-review/trigger-cases.json +35 -0
- package/skills/commit-and-pr/trigger-cases.json +31 -0
- package/skills/content-creation/trigger-cases.json +30 -0
- package/skills/corporate-governance/trigger-cases.json +30 -0
- package/skills/crawl-chain/trigger-cases.json +31 -0
- package/skills/customer-service/trigger-cases.json +30 -0
- package/skills/data-analysis/trigger-cases.json +30 -0
- package/skills/data-chain/SKILL.md +1 -1
- package/skills/data-chain/trigger-cases.json +31 -0
- package/skills/data-governance/trigger-cases.json +30 -0
- package/skills/data-report-pro/trigger-cases.json +30 -0
- package/skills/data-streaming/trigger-cases.json +30 -0
- package/skills/data-wrangling/SKILL.md +1 -1
- package/skills/data-wrangling/trigger-cases.json +30 -0
- package/skills/db-es/trigger-cases.json +30 -0
- package/skills/db-migration/trigger-cases.json +30 -0
- package/skills/db-mysql/trigger-cases.json +30 -0
- package/skills/db-postgres/trigger-cases.json +30 -0
- package/skills/db-redis/trigger-cases.json +30 -0
- package/skills/debug-root-cause/trigger-cases.json +30 -0
- package/skills/dependency-audit/SKILL.md +56 -0
- package/skills/dependency-audit/trigger-cases.json +7 -0
- package/skills/dependency-upgrade/trigger-cases.json +31 -0
- package/skills/dev-cpp/trigger-cases.json +30 -0
- package/skills/dev-cross-platform/trigger-cases.json +30 -0
- package/skills/dev-csharp/SKILL.md +23 -0
- package/skills/dev-csharp/trigger-cases.json +30 -0
- package/skills/dev-frontend/SKILL.md +19 -0
- package/skills/dev-frontend/trigger-cases.json +30 -0
- package/skills/dev-go/trigger-cases.json +30 -0
- package/skills/dev-harmony/trigger-cases.json +30 -0
- package/skills/dev-java/SKILL.md +20 -0
- package/skills/dev-java/trigger-cases.json +30 -0
- package/skills/dev-mobile/trigger-cases.json +30 -0
- package/skills/dev-node/trigger-cases.json +30 -0
- package/skills/dev-php/trigger-cases.json +30 -0
- package/skills/dev-python/SKILL.md +21 -0
- package/skills/dev-python/trigger-cases.json +30 -0
- package/skills/dev-rust/trigger-cases.json +30 -0
- package/skills/dev-toolchain/trigger-cases.json +31 -0
- package/skills/doc-chain/trigger-cases.json +31 -0
- package/skills/doc-compare/trigger-cases.json +30 -0
- package/skills/docx-author/SKILL.md +127 -25
- package/skills/docx-author/scripts/__pycache__/docx_battery.cpython-312.pyc +0 -0
- package/skills/docx-author/scripts/__pycache__/docx_build.cpython-312.pyc +0 -0
- package/skills/docx-author/scripts/__pycache__/docx_check.cpython-312.pyc +0 -0
- package/skills/docx-author/scripts/__pycache__/docx_layout.cpython-312.pyc +0 -0
- package/skills/docx-author/scripts/__pycache__/zh_prose.cpython-312.pyc +0 -0
- package/skills/docx-author/scripts/docx_battery.py +586 -0
- package/skills/docx-author/scripts/docx_build.py +995 -0
- package/skills/docx-author/scripts/docx_check.py +1306 -0
- package/skills/docx-author/scripts/docx_doc.py +14 -154
- package/skills/docx-author/scripts/docx_layout.py +490 -0
- package/skills/docx-author/scripts/zh_prose.py +639 -0
- package/skills/docx-author/trigger-cases.json +58 -0
- package/skills/echo-brief/SKILL.md +84 -0
- package/skills/echo-brief/references/echo-format.md +68 -0
- package/skills/echo-brief/trigger-cases.json +40 -0
- package/skills/ecommerce-ops/trigger-cases.json +30 -0
- package/skills/education-training/trigger-cases.json +30 -0
- package/skills/ehs-safety/trigger-cases.json +30 -0
- package/skills/email-writing/trigger-cases.json +30 -0
- package/skills/eng-ai/trigger-cases.json +30 -0
- package/skills/eng-architecture/trigger-cases.json +31 -0
- package/skills/eng-automation/trigger-cases.json +31 -0
- package/skills/eng-collaboration/trigger-cases.json +30 -0
- package/skills/eng-complex-env/trigger-cases.json +30 -0
- package/skills/eng-data-platform/trigger-cases.json +31 -0
- package/skills/eng-database/trigger-cases.json +31 -0
- package/skills/eng-develop/SKILL.md +9 -1
- package/skills/eng-develop/references/dod-checklist.md +3 -0
- package/skills/eng-develop/references/engineering-workflow.md +37 -0
- package/skills/eng-develop/trigger-cases.json +30 -0
- package/skills/eng-docs/SKILL.md +24 -0
- package/skills/eng-docs/trigger-cases.json +30 -0
- package/skills/eng-efficiency/trigger-cases.json +30 -0
- package/skills/eng-infra/trigger-cases.json +30 -0
- package/skills/eng-integration/trigger-cases.json +31 -0
- package/skills/eng-legacy/trigger-cases.json +31 -0
- package/skills/eng-observability/trigger-cases.json +31 -0
- package/skills/eng-ops/trigger-cases.json +31 -0
- package/skills/eng-performance/trigger-cases.json +31 -0
- package/skills/eng-planning/trigger-cases.json +31 -0
- package/skills/eng-quality/SKILL.md +8 -0
- package/skills/eng-quality/trigger-cases.json +31 -0
- package/skills/eng-release/trigger-cases.json +31 -0
- package/skills/eng-reliability/trigger-cases.json +31 -0
- package/skills/eng-requirements/trigger-cases.json +12 -0
- package/skills/eng-research/trigger-cases.json +30 -0
- package/skills/eng-security/trigger-cases.json +31 -0
- package/skills/eng-ux/trigger-cases.json +30 -0
- package/skills/engineering-chain/trigger-cases.json +30 -0
- package/skills/env-offline/trigger-cases.json +31 -0
- package/skills/env-private-deploy/trigger-cases.json +31 -0
- package/skills/env-xinchuang/trigger-cases.json +31 -0
- package/skills/equipment-tpm/trigger-cases.json +30 -0
- package/skills/esg-report/trigger-cases.json +30 -0
- package/skills/event-management/trigger-cases.json +30 -0
- package/skills/excel-analysis-chain/SKILL.md +17 -4
- package/skills/excel-analysis-chain/trigger-cases.json +31 -0
- package/skills/explain-codebase/trigger-cases.json +11 -0
- package/skills/file-ingest/trigger-cases.json +30 -0
- package/skills/finance-analysis/trigger-cases.json +31 -0
- package/skills/finance-chain/trigger-cases.json +31 -0
- package/skills/financial-modeling/trigger-cases.json +31 -0
- package/skills/find-simplifications/SKILL.md +43 -0
- package/skills/find-simplifications/trigger-cases.json +23 -0
- package/skills/foreign-trade/trigger-cases.json +30 -0
- package/skills/funnel-cohort/trigger-cases.json +30 -0
- package/skills/gov-document/trigger-cases.json +30 -0
- package/skills/gui-change-evidence/SKILL.md +47 -0
- package/skills/gui-change-evidence/trigger-cases.json +23 -0
- package/skills/hr-chain/trigger-cases.json +31 -0
- package/skills/hr-operations/trigger-cases.json +30 -0
- package/skills/info-disclosure/trigger-cases.json +31 -0
- package/skills/infra-gateway/trigger-cases.json +31 -0
- package/skills/infra-k8s/trigger-cases.json +31 -0
- package/skills/infra-mq/trigger-cases.json +30 -0
- package/skills/insurance-advisory/trigger-cases.json +30 -0
- package/skills/internal-audit/trigger-cases.json +30 -0
- package/skills/ip-management/trigger-cases.json +31 -0
- package/skills/ipo-listing/trigger-cases.json +31 -0
- package/skills/it-audit/trigger-cases.json +31 -0
- package/skills/itsm-ops/trigger-cases.json +31 -0
- package/skills/knowledge-sop/trigger-cases.json +31 -0
- package/skills/legal-chain/trigger-cases.json +31 -0
- package/skills/legal-contract/trigger-cases.json +30 -0
- package/skills/litigation-support/trigger-cases.json +31 -0
- package/skills/logistics-warehouse/trigger-cases.json +30 -0
- package/skills/long-doc-analysis/trigger-cases.json +31 -0
- package/skills/management-accounting/trigger-cases.json +30 -0
- package/skills/manufacturing-chain/trigger-cases.json +31 -0
- package/skills/manufacturing-quality/trigger-cases.json +30 -0
- package/skills/marketing-analytics/trigger-cases.json +31 -0
- package/skills/marketing-chain/trigger-cases.json +31 -0
- package/skills/meeting-minutes/trigger-cases.json +30 -0
- package/skills/metrics-system/trigger-cases.json +31 -0
- package/skills/negotiation-prep/trigger-cases.json +30 -0
- package/skills/obs-prometheus/trigger-cases.json +31 -0
- package/skills/office-automation/trigger-cases.json +31 -0
- package/skills/okr-review/trigger-cases.json +30 -0
- package/skills/ops-fleet/trigger-cases.json +31 -0
- package/skills/ops-linux/trigger-cases.json +31 -0
- package/skills/optimization-solver/trigger-cases.json +30 -0
- package/skills/patent-disclosure/SKILL.md +105 -0
- package/skills/patent-disclosure/references/figures.md +110 -0
- package/skills/patent-disclosure/references/outline.md +162 -0
- package/skills/patent-disclosure/scripts/patent_docx.py +230 -0
- package/skills/patent-disclosure/trigger-cases.json +31 -0
- package/skills/patent-drafting/SKILL.md +108 -0
- package/skills/patent-drafting/trigger-cases.json +31 -0
- package/skills/patent-portfolio/SKILL.md +81 -0
- package/skills/patent-portfolio/trigger-cases.json +31 -0
- package/skills/pdf-toolkit/trigger-cases.json +31 -0
- package/skills/perf-optimize/trigger-cases.json +31 -0
- package/skills/pivot-crosstab/trigger-cases.json +30 -0
- package/skills/policy-analysis/trigger-cases.json +31 -0
- package/skills/portfolio-analysis/trigger-cases.json +31 -0
- package/skills/ppt-chain/SKILL.md +14 -6
- package/skills/ppt-chain/trigger-cases.json +31 -0
- package/skills/pptx-author/SKILL.md +86 -33
- package/skills/pptx-author/scripts/__pycache__/pptx_check.cpython-312.pyc +0 -0
- package/skills/pptx-author/scripts/__pycache__/pptx_deck.cpython-312.pyc +0 -0
- package/skills/pptx-author/scripts/__pycache__/pptx_layout.cpython-312.pyc +0 -0
- package/skills/pptx-author/scripts/pptx_battery.py +178 -0
- package/skills/pptx-author/scripts/pptx_build.py +119 -0
- package/skills/pptx-author/scripts/pptx_check.py +1182 -0
- package/skills/pptx-author/scripts/pptx_deck.py +736 -145
- package/skills/pptx-author/scripts/pptx_layout.py +384 -0
- package/skills/pptx-author/trigger-cases.json +15 -0
- package/skills/pr-comms/trigger-cases.json +30 -0
- package/skills/procurement-supply/trigger-cases.json +31 -0
- package/skills/product-design/trigger-cases.json +31 -0
- package/skills/production-planning/trigger-cases.json +31 -0
- package/skills/project-management/trigger-cases.json +31 -0
- package/skills/project-proposal/trigger-cases.json +31 -0
- package/skills/prose-standard/SKILL.md +53 -0
- package/skills/prose-standard/trigger-cases.json +23 -0
- package/skills/qa-api-automation/trigger-cases.json +31 -0
- package/skills/qa-mobile-automation/trigger-cases.json +31 -0
- package/skills/qa-ui-automation/trigger-cases.json +31 -0
- package/skills/quant-analysis/trigger-cases.json +31 -0
- package/skills/rag-triage/SKILL.md +64 -0
- package/skills/rag-triage/evals.json +57 -0
- package/skills/rag-triage/references/triage-playbook.md +75 -0
- package/skills/rag-triage/trigger-cases.json +31 -0
- package/skills/real-estate-property/trigger-cases.json +30 -0
- package/skills/refactor-safely/SKILL.md +1 -1
- package/skills/refactor-safely/trigger-cases.json +30 -0
- package/skills/regression-forecast/trigger-cases.json +31 -0
- package/skills/release-checklist/trigger-cases.json +31 -0
- package/skills/report-craft/SKILL.md +76 -0
- package/skills/report-craft/references/feasibility.md +118 -0
- package/skills/report-craft/references/review-checklist.md +51 -0
- package/skills/report-craft/references/visuals.md +114 -0
- package/skills/report-craft/references/writing.md +80 -0
- package/skills/report-craft/scripts/__pycache__/chart_render.cpython-312.pyc +0 -0
- package/skills/report-craft/scripts/__pycache__/fin_model.cpython-312.pyc +0 -0
- package/skills/report-craft/scripts/__pycache__/project_facts.cpython-312.pyc +0 -0
- package/skills/report-craft/scripts/chart_render.py +1222 -0
- package/skills/report-craft/scripts/fin_model.py +602 -0
- package/skills/report-craft/scripts/project_facts.py +580 -0
- package/skills/report-craft/scripts/report_battery.py +349 -0
- package/skills/report-craft/trigger-cases.json +15 -0
- package/skills/retail-store-ops/trigger-cases.json +30 -0
- package/skills/risk-compliance/trigger-cases.json +31 -0
- package/skills/scope-creep/SKILL.md +45 -0
- package/skills/scope-creep/trigger-cases.json +7 -0
- package/skills/sec-auth/trigger-cases.json +31 -0
- package/skills/sec-compliance/trigger-cases.json +31 -0
- package/skills/securities-chain/trigger-cases.json +31 -0
- package/skills/securities-research/trigger-cases.json +31 -0
- package/skills/security-audit/trigger-cases.json +31 -0
- package/skills/slides-html/SKILL.md +25 -10
- package/skills/slides-html/trigger-cases.json +11 -0
- package/skills/sql-analysis/SKILL.md +110 -0
- package/skills/sql-analysis/trigger-cases.json +34 -0
- package/skills/sql-tuning/trigger-cases.json +31 -0
- package/skills/statistical-testing/trigger-cases.json +31 -0
- package/skills/strategy-planning/trigger-cases.json +30 -0
- package/skills/supply-chain/trigger-cases.json +31 -0
- package/skills/tax-compliance/trigger-cases.json +30 -0
- package/skills/tech-doc/SKILL.md +262 -0
- package/skills/tech-doc/scripts/__pycache__/archive_battery.cpython-312.pyc +0 -0
- package/skills/tech-doc/scripts/__pycache__/archive_build.cpython-312.pyc +0 -0
- package/skills/tech-doc/scripts/__pycache__/archive_check.cpython-312.pyc +0 -0
- package/skills/tech-doc/scripts/__pycache__/archive_spec.cpython-312.pyc +0 -0
- package/skills/tech-doc/scripts/__pycache__/doc_templates.cpython-312.pyc +0 -0
- package/skills/tech-doc/scripts/archive_battery.py +860 -0
- package/skills/tech-doc/scripts/archive_build.py +599 -0
- package/skills/tech-doc/scripts/archive_check.py +1307 -0
- package/skills/tech-doc/scripts/archive_spec.py +499 -0
- package/skills/tech-doc/scripts/doc_templates.py +624 -0
- package/skills/tech-doc/trigger-cases.json +57 -0
- package/skills/tech-research/trigger-cases.json +31 -0
- package/skills/tender-bidding/trigger-cases.json +31 -0
- package/skills/translation-pro/trigger-cases.json +30 -0
- package/skills/treasury-mgmt/trigger-cases.json +31 -0
- package/skills/trim-cot-leakage/SKILL.md +58 -0
- package/skills/trim-cot-leakage/trigger-cases.json +23 -0
- package/skills/web-craft/SKILL.md +103 -0
- package/skills/web-craft/references/craft-checklist.md +75 -0
- package/skills/web-craft/references/design-direction.md +122 -0
- package/skills/web-craft/references/h5-mobile.md +100 -0
- package/skills/web-craft/references/motion.md +136 -0
- package/skills/web-craft/references/recipes.md +74 -0
- package/skills/web-craft/templates/wedding-invitation.html +1180 -0
- package/skills/web-craft/trigger-cases.json +14 -0
- package/skills/web-scraping/trigger-cases.json +34 -0
- package/skills/web-search/SKILL.md +11 -10
- package/skills/web-search/trigger-cases.json +31 -0
- package/skills/weekly-report/SKILL.md +134 -0
- package/skills/weekly-report/trigger-cases.json +11 -0
- package/skills/write-tests/trigger-cases.json +31 -0
- package/skills/xlsx-analysis/SKILL.md +143 -77
- package/skills/xlsx-analysis/scripts/__pycache__/data_profile.cpython-312.pyc +0 -0
- package/skills/xlsx-analysis/scripts/__pycache__/xlsx_build.cpython-312.pyc +0 -0
- package/skills/xlsx-analysis/scripts/__pycache__/xlsx_check.cpython-312.pyc +0 -0
- package/skills/xlsx-analysis/scripts/__pycache__/xlsx_layout.cpython-312.pyc +0 -0
- package/skills/xlsx-analysis/scripts/__pycache__/xlsx_toolkit.cpython-312.pyc +0 -0
- package/skills/xlsx-analysis/scripts/data_profile.py +391 -0
- package/skills/xlsx-analysis/scripts/xlsx_battery.py +389 -0
- package/skills/xlsx-analysis/scripts/xlsx_build.py +522 -0
- package/skills/xlsx-analysis/scripts/xlsx_check.py +924 -0
- package/skills/xlsx-analysis/scripts/xlsx_layout.py +235 -0
- package/skills/xlsx-analysis/scripts/xlsx_style.py +28 -66
- package/skills/xlsx-analysis/scripts/xlsx_toolkit.py +61 -5
- package/skills/xlsx-analysis/trigger-cases.json +59 -0
- package/squads/hc-defense.md +47 -0
- package/squads/hc-rdarchive.md +110 -0
- package/squads/hc-redteam.md +50 -0
- package/squads/hc-weekly.md +125 -0
- package/src/account.js +1 -1
- package/src/acp.js +1 -0
- package/src/advisor.js +1 -1
- package/src/agent.js +1 -1
- package/src/api.js +1 -1
- package/src/archaeology.js +1 -0
- package/src/ask-ui.js +1 -0
- package/src/assets-import.js +1 -1
- package/src/autofix.js +1 -1
- package/src/automation-tools.js +1 -1
- package/src/automation.js +1 -1
- package/src/autorun.js +1 -1
- package/src/banner.js +1 -1
- package/src/capability-probe.js +1 -0
- package/src/checkpoints.js +1 -1
- package/src/code-tools.js +1 -0
- package/src/codeindex.js +1 -1
- package/src/codemode.js +1 -0
- package/src/command-bridge.js +1 -0
- package/src/command-ui.js +1 -0
- package/src/commands.js +1 -1
- package/src/compaction.js +1 -1
- package/src/computer.js +1 -1
- package/src/config.js +1 -1
- package/src/consult.js +1 -1
- package/src/context-report.js +1 -1
- package/src/context-window.js +1 -0
- package/src/context.js +1 -1
- package/src/crew.js +1 -0
- package/src/crush.js +1 -0
- package/src/daemon.js +1 -1
- package/src/decisions.js +1 -1
- package/src/depaudit.js +1 -0
- package/src/device.js +1 -1
- package/src/diagram-draw.js +1 -0
- package/src/diagram-layouts.js +1 -0
- package/src/diagram-raster.js +1 -0
- package/src/diagram.js +1 -0
- package/src/dictation.js +1 -0
- package/src/diffview.js +1 -1
- package/src/doctor.js +1 -1
- package/src/docx-tools.js +1 -0
- package/src/engineering.js +1 -0
- package/src/errkind.js +1 -1
- package/src/evidence.js +1 -0
- package/src/executors.js +1 -1
- package/src/expert-catalog.js +1 -1
- package/src/experts-store.js +1 -1
- package/src/experts.js +1 -1
- package/src/external-agents.js +1 -0
- package/src/forks.js +1 -1
- package/src/fs-observe.js +1 -0
- package/src/gitflow.js +1 -1
- package/src/goalround.js +1 -0
- package/src/hooks.js +1 -1
- package/src/ide.js +1 -1
- package/src/input.js +1 -1
- package/src/insights.js +1 -1
- package/src/jobs.js +1 -0
- package/src/kbsync.js +1 -1
- package/src/lsp.js +1 -0
- package/src/mcp-apps.js +1 -0
- package/src/mcp.js +1 -1
- package/src/memory.js +1 -1
- package/src/notify.js +1 -1
- package/src/permissions.js +1 -1
- package/src/plan-limits.js +1 -0
- package/src/policy.js +1 -0
- package/src/pptx-tools.js +1 -0
- package/src/presence.js +1 -1
- package/src/privatedir.js +1 -0
- package/src/pyruntime.js +1 -1
- package/src/radar.js +1 -0
- package/src/render.js +1 -1
- package/src/repl.js +1 -1
- package/src/report-tools.js +1 -0
- package/src/routing.js +1 -0
- package/src/sandbox-probe.js +1 -0
- package/src/sandbox-win-launcher.mjs +156 -0
- package/src/sandbox.js +1 -0
- package/src/scan.js +1 -1
- package/src/schedule.js +1 -1
- package/src/scopecreep.js +1 -0
- package/src/sdk.js +1 -0
- package/src/selection.js +1 -0
- package/src/session-events.js +1 -0
- package/src/session.js +1 -1
- package/src/sessionindex.js +1 -0
- package/src/sessionlog.js +1 -0
- package/src/skill-catalog.js +1 -0
- package/src/skill-lint.js +1 -0
- package/src/skill-optimize.js +1 -0
- package/src/skill-scan.js +1 -0
- package/src/skills.js +1 -1
- package/src/spill.js +1 -0
- package/src/squad.js +1 -1
- package/src/subagent.js +1 -1
- package/src/surface-state.js +1 -0
- package/src/tapd.js +1 -0
- package/src/terminal-select.js +1 -0
- package/src/terminal.js +1 -0
- package/src/test-runner.js +1 -0
- package/src/todo.js +1 -1
- package/src/toolpipe.js +1 -0
- package/src/tools.js +1 -1
- package/src/toon.js +1 -0
- package/src/transcript.js +1 -1
- package/src/tui/app.js +1 -1
- package/src/tui/command-menu.js +1 -0
- package/src/tui/progress.js +1 -0
- package/src/tui/scroll.js +1 -0
- package/src/tui/welcome.js +1 -0
- package/src/tui/workbench.js +1 -0
- package/src/ui-spec.js +1 -0
- package/src/uitree.js +1 -0
- package/src/uninstall.js +1 -1
- package/src/vision.js +1 -1
- package/src/visual.js +1 -1
- package/src/voice-form.js +1 -0
- package/src/voice.js +1 -0
- package/src/watch.js +1 -1
- package/src/web-audit.js +1 -0
- package/src/web-cdp.js +1 -0
- package/src/web-inspect.js +1 -0
- package/src/websearch.js +1 -0
- package/src/weekly.js +1 -0
- package/src/workflow.js +1 -0
- package/src/worklog.js +1 -0
- package/src/xlsx-tools.js +1 -0
- package/ui/command-picker.js +79 -0
- package/skills/ab-testing/scripts/__pycache__/ab_test.cpython-312.pyc +0 -0
- package/skills/accounting-ops/scripts/__pycache__/acct_tools.cpython-312.pyc +0 -0
- package/skills/anomaly-detection/scripts/__pycache__/anomaly.cpython-312.pyc +0 -0
- package/skills/audit-assist/scripts/__pycache__/audit_sampling.cpython-312.pyc +0 -0
- package/skills/banking-credit/scripts/__pycache__/credit_metrics.cpython-312.pyc +0 -0
- package/skills/data-report-pro/scripts/__pycache__/bigdata.cpython-312.pyc +0 -0
- package/skills/data-wrangling/scripts/__pycache__/join_tools.cpython-312.pyc +0 -0
- package/skills/ecommerce-ops/scripts/__pycache__/gmv_decompose.cpython-312.pyc +0 -0
- package/skills/funnel-cohort/scripts/__pycache__/funnel.cpython-312.pyc +0 -0
- package/skills/management-accounting/scripts/__pycache__/costing.cpython-312.pyc +0 -0
- package/skills/manufacturing-quality/scripts/__pycache__/spc.cpython-312.pyc +0 -0
- package/skills/marketing-analytics/scripts/__pycache__/rfm.cpython-312.pyc +0 -0
- package/skills/optimization-solver/scripts/__pycache__/solver.cpython-312.pyc +0 -0
- package/skills/pivot-crosstab/scripts/__pycache__/pivot_tools.cpython-312.pyc +0 -0
- package/skills/portfolio-analysis/scripts/__pycache__/portfolio.cpython-312.pyc +0 -0
- package/skills/procurement-supply/scripts/__pycache__/supply.cpython-312.pyc +0 -0
- package/skills/production-planning/scripts/__pycache__/mrp_capacity.cpython-312.pyc +0 -0
- package/skills/project-management/scripts/__pycache__/cpm.cpython-312.pyc +0 -0
- package/skills/quant-analysis/scripts/__pycache__/quant.cpython-312.pyc +0 -0
- package/skills/real-estate-property/scripts/__pycache__/property_calc.cpython-312.pyc +0 -0
- package/skills/regression-forecast/scripts/__pycache__/regress.cpython-312.pyc +0 -0
- package/skills/securities-research/scripts/__pycache__/valuation.cpython-312.pyc +0 -0
- package/skills/statistical-testing/scripts/__pycache__/stat_tests.cpython-312.pyc +0 -0
- 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 里写 ``,方括号内的文字会被排成居中图题。
|
|
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
|
+
插图处写独占一行的 ``。
|
|
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
|
+
`` 这一行的方括号内文字即会被排成居中图题。
|
|
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 里写独占一行:``。
|
|
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
|
+
- [ ] 工具返回的「提醒」(标记重复、名称过长)已逐条处理
|