railwise-darwin-x64 1.2.29
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/bin/agent/adjustment_computer.md +44 -0
- package/bin/agent/chief_manager.md +82 -0
- package/bin/agent/commercial_specialist.md +39 -0
- package/bin/agent/cpiii_specialist.md +42 -0
- package/bin/agent/data_analyst.md +55 -0
- package/bin/agent/knowledge_curator.md +41 -0
- package/bin/agent/norm_librarian.md +38 -0
- package/bin/agent/qa_inspector.md +58 -0
- package/bin/agent/qa_reviewer.md +49 -0
- package/bin/agent/solution_architect.md +44 -0
- package/bin/agent/source_ingestor.md +38 -0
- package/bin/agent/technical_writer.md +50 -0
- package/bin/command/bid-prepare.md +21 -0
- package/bin/command/daily-report.md +20 -0
- package/bin/command/data-check.md +19 -0
- package/bin/command/emergency-response.md +62 -0
- package/bin/command/monthly-report.md +32 -0
- package/bin/command/payment-reminder.md +22 -0
- package/bin/command/safety-check.md +18 -0
- package/bin/command/trend-analysis.md +35 -0
- package/bin/railwise +0 -0
- package/bin/railwise.json +4 -0
- package/bin/rw +2 -0
- package/bin/skill/THIRD_PARTY_NOTICES.md +405 -0
- package/bin/skill/algorithmic-art/LICENSE.txt +202 -0
- package/bin/skill/algorithmic-art/SKILL.md +405 -0
- package/bin/skill/algorithmic-art/templates/generator_template.js +223 -0
- package/bin/skill/algorithmic-art/templates/viewer.html +599 -0
- package/bin/skill/bidding-knowledge/SKILL.md +67 -0
- package/bin/skill/brand-guidelines/LICENSE.txt +202 -0
- package/bin/skill/brand-guidelines/SKILL.md +73 -0
- package/bin/skill/bun-file-io/SKILL.md +42 -0
- package/bin/skill/canvas-design/SKILL.md +141 -0
- package/bin/skill/claude-api/LICENSE.txt +202 -0
- package/bin/skill/claude-api/SKILL.md +325 -0
- package/bin/skill/claude-api/csharp/claude-api.md +402 -0
- package/bin/skill/claude-api/curl/examples.md +216 -0
- package/bin/skill/claude-api/curl/managed-agents.md +336 -0
- package/bin/skill/claude-api/go/claude-api.md +421 -0
- package/bin/skill/claude-api/go/managed-agents/README.md +561 -0
- package/bin/skill/claude-api/java/claude-api.md +432 -0
- package/bin/skill/claude-api/java/managed-agents/README.md +442 -0
- package/bin/skill/claude-api/php/claude-api.md +375 -0
- package/bin/skill/claude-api/php/managed-agents/README.md +435 -0
- package/bin/skill/claude-api/python/claude-api/README.md +420 -0
- package/bin/skill/claude-api/python/claude-api/batches.md +185 -0
- package/bin/skill/claude-api/python/claude-api/files-api.md +165 -0
- package/bin/skill/claude-api/python/claude-api/streaming.md +162 -0
- package/bin/skill/claude-api/python/claude-api/tool-use.md +590 -0
- package/bin/skill/claude-api/python/managed-agents/README.md +332 -0
- package/bin/skill/claude-api/ruby/claude-api.md +113 -0
- package/bin/skill/claude-api/ruby/managed-agents/README.md +389 -0
- package/bin/skill/claude-api/shared/agent-design.md +101 -0
- package/bin/skill/claude-api/shared/error-codes.md +213 -0
- package/bin/skill/claude-api/shared/live-sources.md +135 -0
- package/bin/skill/claude-api/shared/managed-agents-api-reference.md +378 -0
- package/bin/skill/claude-api/shared/managed-agents-client-patterns.md +209 -0
- package/bin/skill/claude-api/shared/managed-agents-core.md +238 -0
- package/bin/skill/claude-api/shared/managed-agents-environments.md +215 -0
- package/bin/skill/claude-api/shared/managed-agents-events.md +195 -0
- package/bin/skill/claude-api/shared/managed-agents-memory.md +197 -0
- package/bin/skill/claude-api/shared/managed-agents-multiagent.md +99 -0
- package/bin/skill/claude-api/shared/managed-agents-onboarding.md +114 -0
- package/bin/skill/claude-api/shared/managed-agents-outcomes.md +106 -0
- package/bin/skill/claude-api/shared/managed-agents-overview.md +68 -0
- package/bin/skill/claude-api/shared/managed-agents-self-hosted-sandboxes.md +173 -0
- package/bin/skill/claude-api/shared/managed-agents-tools.md +321 -0
- package/bin/skill/claude-api/shared/managed-agents-webhooks.md +110 -0
- package/bin/skill/claude-api/shared/model-migration.md +879 -0
- package/bin/skill/claude-api/shared/models.md +124 -0
- package/bin/skill/claude-api/shared/prompt-caching.md +171 -0
- package/bin/skill/claude-api/shared/tool-use-concepts.md +327 -0
- package/bin/skill/claude-api/typescript/claude-api/README.md +333 -0
- package/bin/skill/claude-api/typescript/claude-api/batches.md +106 -0
- package/bin/skill/claude-api/typescript/claude-api/files-api.md +98 -0
- package/bin/skill/claude-api/typescript/claude-api/streaming.md +178 -0
- package/bin/skill/claude-api/typescript/claude-api/tool-use.md +527 -0
- package/bin/skill/claude-api/typescript/managed-agents/README.md +359 -0
- package/bin/skill/data-analysis/SKILL.md +79 -0
- package/bin/skill/doc-coauthoring/SKILL.md +375 -0
- package/bin/skill/docx/LICENSE.txt +30 -0
- package/bin/skill/docx/SKILL.md +590 -0
- package/bin/skill/docx/scripts/__init__.py +1 -0
- package/bin/skill/docx/scripts/accept_changes.py +135 -0
- package/bin/skill/docx/scripts/comment.py +318 -0
- package/bin/skill/docx/scripts/office/helpers/__init__.py +0 -0
- package/bin/skill/docx/scripts/office/helpers/merge_runs.py +199 -0
- package/bin/skill/docx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/bin/skill/docx/scripts/office/pack.py +159 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/bin/skill/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/bin/skill/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/bin/skill/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/bin/skill/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/bin/skill/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/bin/skill/docx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/bin/skill/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/bin/skill/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/bin/skill/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/bin/skill/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/bin/skill/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/bin/skill/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/bin/skill/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/bin/skill/docx/scripts/office/soffice.py +183 -0
- package/bin/skill/docx/scripts/office/unpack.py +132 -0
- package/bin/skill/docx/scripts/office/validate.py +111 -0
- package/bin/skill/docx/scripts/office/validators/__init__.py +15 -0
- package/bin/skill/docx/scripts/office/validators/base.py +847 -0
- package/bin/skill/docx/scripts/office/validators/docx.py +446 -0
- package/bin/skill/docx/scripts/office/validators/pptx.py +275 -0
- package/bin/skill/docx/scripts/office/validators/redlining.py +247 -0
- package/bin/skill/docx/scripts/templates/comments.xml +3 -0
- package/bin/skill/docx/scripts/templates/commentsExtended.xml +3 -0
- package/bin/skill/docx/scripts/templates/commentsExtensible.xml +3 -0
- package/bin/skill/docx/scripts/templates/commentsIds.xml +3 -0
- package/bin/skill/docx/scripts/templates/people.xml +3 -0
- package/bin/skill/docx-generation/SKILL.md +160 -0
- package/bin/skill/excel-operations/SKILL.md +121 -0
- package/bin/skill/frontend-design/SKILL.md +151 -0
- package/bin/skill/humanizer/SKILL.md +90 -0
- package/bin/skill/internal-comms/LICENSE.txt +202 -0
- package/bin/skill/internal-comms/SKILL.md +32 -0
- package/bin/skill/internal-comms/examples/3p-updates.md +47 -0
- package/bin/skill/internal-comms/examples/company-newsletter.md +65 -0
- package/bin/skill/internal-comms/examples/faq-answers.md +30 -0
- package/bin/skill/internal-comms/examples/general-comms.md +16 -0
- package/bin/skill/mcp-builder/LICENSE.txt +202 -0
- package/bin/skill/mcp-builder/SKILL.md +236 -0
- package/bin/skill/mcp-builder/reference/evaluation.md +602 -0
- package/bin/skill/mcp-builder/reference/mcp_best_practices.md +249 -0
- package/bin/skill/mcp-builder/reference/node_mcp_server.md +970 -0
- package/bin/skill/mcp-builder/reference/python_mcp_server.md +719 -0
- package/bin/skill/mcp-builder/scripts/connections.py +151 -0
- package/bin/skill/mcp-builder/scripts/evaluation.py +373 -0
- package/bin/skill/mcp-builder/scripts/example_evaluation.xml +22 -0
- package/bin/skill/mcp-builder/scripts/requirements.txt +2 -0
- package/bin/skill/monitoring-design/SKILL.md +79 -0
- package/bin/skill/operational-monitoring/SKILL.md +135 -0
- package/bin/skill/operational-monitoring/assets/checklists/archive-self-check.md +54 -0
- package/bin/skill/operational-monitoring/assets/schemas/convergence-result-table.csv +5 -0
- package/bin/skill/operational-monitoring/assets/schemas/horizontal-result-table.csv +3 -0
- package/bin/skill/operational-monitoring/assets/schemas/settlement-result-table.csv +7 -0
- package/bin/skill/operational-monitoring/assets/scripts/init-archive-tree.sh +65 -0
- package/bin/skill/operational-monitoring/assets/templates/control-network-report.md +102 -0
- package/bin/skill/operational-monitoring/assets/templates/daily-log.md +47 -0
- package/bin/skill/operational-monitoring/assets/templates/i-angle-check.md +38 -0
- package/bin/skill/operational-monitoring/assets/templates/monitoring-scheme.md +234 -0
- package/bin/skill/operational-monitoring/assets/templates/period-report.md +95 -0
- package/bin/skill/operational-monitoring/assets/templates/point-acceptance-record.md +51 -0
- package/bin/skill/operational-monitoring/assets/templates/point-installation-record.md +38 -0
- package/bin/skill/operational-monitoring/assets/templates/summary-report.md +89 -0
- package/bin/skill/operational-monitoring/assets/templates/warning-bulletin.md +61 -0
- package/bin/skill/operational-monitoring/assets/templates/weekly-monthly-report.md +46 -0
- package/bin/skill/operational-monitoring/references/archive-and-delivery.md +146 -0
- package/bin/skill/operational-monitoring/references/baseline-network.md +131 -0
- package/bin/skill/operational-monitoring/references/convergence-monitoring.md +134 -0
- package/bin/skill/operational-monitoring/references/data-processing.md +178 -0
- package/bin/skill/operational-monitoring/references/horizontal-displacement.md +128 -0
- package/bin/skill/operational-monitoring/references/monitoring-points.md +132 -0
- package/bin/skill/operational-monitoring/references/monitoring-scheme.md +178 -0
- package/bin/skill/operational-monitoring/references/period-report.md +108 -0
- package/bin/skill/operational-monitoring/references/regulations-and-frequency.md +127 -0
- package/bin/skill/operational-monitoring/references/settlement-monitoring.md +116 -0
- package/bin/skill/operational-monitoring/references/summary-report.md +128 -0
- package/bin/skill/operational-monitoring/references/warning-and-disposal.md +118 -0
- package/bin/skill/pdf/LICENSE.txt +30 -0
- package/bin/skill/pdf/SKILL.md +314 -0
- package/bin/skill/pdf/forms.md +294 -0
- package/bin/skill/pdf/reference.md +612 -0
- package/bin/skill/pdf/scripts/check_bounding_boxes.py +65 -0
- package/bin/skill/pdf/scripts/check_fillable_fields.py +11 -0
- package/bin/skill/pdf/scripts/convert_pdf_to_images.py +33 -0
- package/bin/skill/pdf/scripts/create_validation_image.py +37 -0
- package/bin/skill/pdf/scripts/extract_form_field_info.py +122 -0
- package/bin/skill/pdf/scripts/extract_form_structure.py +115 -0
- package/bin/skill/pdf/scripts/fill_fillable_fields.py +98 -0
- package/bin/skill/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
- package/bin/skill/pptx/LICENSE.txt +30 -0
- package/bin/skill/pptx/SKILL.md +232 -0
- package/bin/skill/pptx/editing.md +205 -0
- package/bin/skill/pptx/pptxgenjs.md +420 -0
- package/bin/skill/pptx/scripts/__init__.py +0 -0
- package/bin/skill/pptx/scripts/add_slide.py +195 -0
- package/bin/skill/pptx/scripts/clean.py +286 -0
- package/bin/skill/pptx/scripts/office/helpers/__init__.py +0 -0
- package/bin/skill/pptx/scripts/office/helpers/merge_runs.py +199 -0
- package/bin/skill/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/bin/skill/pptx/scripts/office/pack.py +159 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/bin/skill/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/bin/skill/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/bin/skill/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/bin/skill/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/bin/skill/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/bin/skill/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/bin/skill/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/bin/skill/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/bin/skill/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/bin/skill/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/bin/skill/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/bin/skill/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/bin/skill/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/bin/skill/pptx/scripts/office/soffice.py +183 -0
- package/bin/skill/pptx/scripts/office/unpack.py +132 -0
- package/bin/skill/pptx/scripts/office/validate.py +111 -0
- package/bin/skill/pptx/scripts/office/validators/__init__.py +15 -0
- package/bin/skill/pptx/scripts/office/validators/base.py +847 -0
- package/bin/skill/pptx/scripts/office/validators/docx.py +446 -0
- package/bin/skill/pptx/scripts/office/validators/pptx.py +275 -0
- package/bin/skill/pptx/scripts/office/validators/redlining.py +247 -0
- package/bin/skill/pptx/scripts/thumbnail.py +289 -0
- package/bin/skill/rail-monitoring-plan/SKILL.md +147 -0
- package/bin/skill/rail-monitoring-plan/assets/plan-template.md +673 -0
- package/bin/skill/rail-monitoring-plan/references/elevated-line.md +319 -0
- package/bin/skill/rail-monitoring-plan/references/key-difficulties.md +216 -0
- package/bin/skill/rail-monitoring-plan/references/phase0-intake.md +169 -0
- package/bin/skill/rail-monitoring-plan/references/phase1-drafting.md +185 -0
- package/bin/skill/rail-monitoring-plan/references/phase2-internal-review.md +166 -0
- package/bin/skill/rail-monitoring-plan/references/review-checklist.md +140 -0
- package/bin/skill/rail-monitoring-plan/references/review-response-template.md +87 -0
- package/bin/skill/rail-monitoring-plan/references/scoping-and-pricing.md +214 -0
- package/bin/skill/rail-monitoring-plan/references/technical-standards.md +188 -0
- package/bin/skill/rail-monitoring-plan/references/toc-template-A.md +142 -0
- package/bin/skill/rail-monitoring-plan/references/toc-template-B.md +100 -0
- package/bin/skill/report-writing/SKILL.md +103 -0
- package/bin/skill/skill-creator/LICENSE.txt +202 -0
- package/bin/skill/skill-creator/SKILL.md +485 -0
- package/bin/skill/skill-creator/agents/analyzer.md +274 -0
- package/bin/skill/skill-creator/agents/comparator.md +202 -0
- package/bin/skill/skill-creator/agents/grader.md +223 -0
- package/bin/skill/skill-creator/assets/eval_review.html +146 -0
- package/bin/skill/skill-creator/eval-viewer/generate_review.py +471 -0
- package/bin/skill/skill-creator/eval-viewer/viewer.html +1325 -0
- package/bin/skill/skill-creator/references/schemas.md +430 -0
- package/bin/skill/skill-creator/scripts/__init__.py +0 -0
- package/bin/skill/skill-creator/scripts/aggregate_benchmark.py +401 -0
- package/bin/skill/skill-creator/scripts/generate_report.py +326 -0
- package/bin/skill/skill-creator/scripts/improve_description.py +247 -0
- package/bin/skill/skill-creator/scripts/package_skill.py +136 -0
- package/bin/skill/skill-creator/scripts/quick_validate.py +103 -0
- package/bin/skill/skill-creator/scripts/run_eval.py +310 -0
- package/bin/skill/skill-creator/scripts/run_loop.py +328 -0
- package/bin/skill/skill-creator/scripts/utils.py +47 -0
- package/bin/skill/slack-gif-creator/LICENSE.txt +202 -0
- package/bin/skill/slack-gif-creator/SKILL.md +254 -0
- package/bin/skill/slack-gif-creator/core/easing.py +234 -0
- package/bin/skill/slack-gif-creator/core/frame_composer.py +176 -0
- package/bin/skill/slack-gif-creator/core/gif_builder.py +269 -0
- package/bin/skill/slack-gif-creator/core/validators.py +136 -0
- package/bin/skill/slack-gif-creator/requirements.txt +4 -0
- package/bin/skill/standard-reference/SKILL.md +89 -0
- package/bin/skill/theme-factory/LICENSE.txt +202 -0
- package/bin/skill/theme-factory/SKILL.md +59 -0
- package/bin/skill/theme-factory/theme-showcase.pdf +0 -0
- package/bin/skill/theme-factory/themes/arctic-frost.md +19 -0
- package/bin/skill/theme-factory/themes/botanical-garden.md +19 -0
- package/bin/skill/theme-factory/themes/desert-rose.md +19 -0
- package/bin/skill/theme-factory/themes/forest-canopy.md +19 -0
- package/bin/skill/theme-factory/themes/golden-hour.md +19 -0
- package/bin/skill/theme-factory/themes/midnight-galaxy.md +19 -0
- package/bin/skill/theme-factory/themes/modern-minimalist.md +19 -0
- package/bin/skill/theme-factory/themes/ocean-depths.md +19 -0
- package/bin/skill/theme-factory/themes/sunset-boulevard.md +19 -0
- package/bin/skill/theme-factory/themes/tech-innovation.md +19 -0
- package/bin/skill/web-artifacts-builder/LICENSE.txt +202 -0
- package/bin/skill/web-artifacts-builder/SKILL.md +74 -0
- package/bin/skill/web-artifacts-builder/scripts/bundle-artifact.sh +54 -0
- package/bin/skill/web-artifacts-builder/scripts/init-artifact.sh +322 -0
- package/bin/skill/web-artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- package/bin/skill/webapp-testing/LICENSE.txt +202 -0
- package/bin/skill/webapp-testing/SKILL.md +96 -0
- package/bin/skill/webapp-testing/examples/console_logging.py +35 -0
- package/bin/skill/webapp-testing/examples/element_discovery.py +40 -0
- package/bin/skill/webapp-testing/examples/static_html_automation.py +33 -0
- package/bin/skill/webapp-testing/scripts/with_server.py +106 -0
- package/bin/skill/xlsx/LICENSE.txt +30 -0
- package/bin/skill/xlsx/SKILL.md +292 -0
- package/bin/skill/xlsx/scripts/office/helpers/__init__.py +0 -0
- package/bin/skill/xlsx/scripts/office/helpers/merge_runs.py +199 -0
- package/bin/skill/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
- package/bin/skill/xlsx/scripts/office/pack.py +159 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
- package/bin/skill/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
- package/bin/skill/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
- package/bin/skill/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
- package/bin/skill/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
- package/bin/skill/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
- package/bin/skill/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
- package/bin/skill/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
- package/bin/skill/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
- package/bin/skill/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
- package/bin/skill/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
- package/bin/skill/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
- package/bin/skill/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
- package/bin/skill/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
- package/bin/skill/xlsx/scripts/office/soffice.py +183 -0
- package/bin/skill/xlsx/scripts/office/unpack.py +132 -0
- package/bin/skill/xlsx/scripts/office/validate.py +111 -0
- package/bin/skill/xlsx/scripts/office/validators/__init__.py +15 -0
- package/bin/skill/xlsx/scripts/office/validators/base.py +847 -0
- package/bin/skill/xlsx/scripts/office/validators/docx.py +446 -0
- package/bin/skill/xlsx/scripts/office/validators/pptx.py +275 -0
- package/bin/skill/xlsx/scripts/office/validators/redlining.py +247 -0
- package/bin/skill/xlsx/scripts/recalc.py +184 -0
- package/package.json +14 -0
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"""Create thumbnail grids from PowerPoint presentation slides.
|
|
2
|
+
|
|
3
|
+
Creates a grid layout of slide thumbnails for quick visual analysis.
|
|
4
|
+
Labels each thumbnail with its XML filename (e.g., slide1.xml).
|
|
5
|
+
Hidden slides are shown with a placeholder pattern.
|
|
6
|
+
|
|
7
|
+
Usage:
|
|
8
|
+
python thumbnail.py input.pptx [output_prefix] [--cols N]
|
|
9
|
+
|
|
10
|
+
Examples:
|
|
11
|
+
python thumbnail.py presentation.pptx
|
|
12
|
+
# Creates: thumbnails.jpg
|
|
13
|
+
|
|
14
|
+
python thumbnail.py template.pptx grid --cols 4
|
|
15
|
+
# Creates: grid.jpg (or grid-1.jpg, grid-2.jpg for large decks)
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
import argparse
|
|
19
|
+
import subprocess
|
|
20
|
+
import sys
|
|
21
|
+
import tempfile
|
|
22
|
+
import zipfile
|
|
23
|
+
from pathlib import Path
|
|
24
|
+
|
|
25
|
+
import defusedxml.minidom
|
|
26
|
+
from office.soffice import get_soffice_env
|
|
27
|
+
from PIL import Image, ImageDraw, ImageFont
|
|
28
|
+
|
|
29
|
+
THUMBNAIL_WIDTH = 300
|
|
30
|
+
CONVERSION_DPI = 100
|
|
31
|
+
MAX_COLS = 6
|
|
32
|
+
DEFAULT_COLS = 3
|
|
33
|
+
JPEG_QUALITY = 95
|
|
34
|
+
GRID_PADDING = 20
|
|
35
|
+
BORDER_WIDTH = 2
|
|
36
|
+
FONT_SIZE_RATIO = 0.10
|
|
37
|
+
LABEL_PADDING_RATIO = 0.4
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def main():
|
|
41
|
+
parser = argparse.ArgumentParser(
|
|
42
|
+
description="Create thumbnail grids from PowerPoint slides."
|
|
43
|
+
)
|
|
44
|
+
parser.add_argument("input", help="Input PowerPoint file (.pptx)")
|
|
45
|
+
parser.add_argument(
|
|
46
|
+
"output_prefix",
|
|
47
|
+
nargs="?",
|
|
48
|
+
default="thumbnails",
|
|
49
|
+
help="Output prefix for image files (default: thumbnails)",
|
|
50
|
+
)
|
|
51
|
+
parser.add_argument(
|
|
52
|
+
"--cols",
|
|
53
|
+
type=int,
|
|
54
|
+
default=DEFAULT_COLS,
|
|
55
|
+
help=f"Number of columns (default: {DEFAULT_COLS}, max: {MAX_COLS})",
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
args = parser.parse_args()
|
|
59
|
+
|
|
60
|
+
cols = min(args.cols, MAX_COLS)
|
|
61
|
+
if args.cols > MAX_COLS:
|
|
62
|
+
print(f"Warning: Columns limited to {MAX_COLS}")
|
|
63
|
+
|
|
64
|
+
input_path = Path(args.input)
|
|
65
|
+
if not input_path.exists() or input_path.suffix.lower() != ".pptx":
|
|
66
|
+
print(f"Error: Invalid PowerPoint file: {args.input}", file=sys.stderr)
|
|
67
|
+
sys.exit(1)
|
|
68
|
+
|
|
69
|
+
output_path = Path(f"{args.output_prefix}.jpg")
|
|
70
|
+
|
|
71
|
+
try:
|
|
72
|
+
slide_info = get_slide_info(input_path)
|
|
73
|
+
|
|
74
|
+
with tempfile.TemporaryDirectory() as temp_dir:
|
|
75
|
+
temp_path = Path(temp_dir)
|
|
76
|
+
visible_images = convert_to_images(input_path, temp_path)
|
|
77
|
+
|
|
78
|
+
if not visible_images and not any(s["hidden"] for s in slide_info):
|
|
79
|
+
print("Error: No slides found", file=sys.stderr)
|
|
80
|
+
sys.exit(1)
|
|
81
|
+
|
|
82
|
+
slides = build_slide_list(slide_info, visible_images, temp_path)
|
|
83
|
+
|
|
84
|
+
grid_files = create_grids(slides, cols, THUMBNAIL_WIDTH, output_path)
|
|
85
|
+
|
|
86
|
+
print(f"Created {len(grid_files)} grid(s):")
|
|
87
|
+
for grid_file in grid_files:
|
|
88
|
+
print(f" {grid_file}")
|
|
89
|
+
|
|
90
|
+
except Exception as e:
|
|
91
|
+
print(f"Error: {e}", file=sys.stderr)
|
|
92
|
+
sys.exit(1)
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
def get_slide_info(pptx_path: Path) -> list[dict]:
|
|
96
|
+
with zipfile.ZipFile(pptx_path, "r") as zf:
|
|
97
|
+
rels_content = zf.read("ppt/_rels/presentation.xml.rels").decode("utf-8")
|
|
98
|
+
rels_dom = defusedxml.minidom.parseString(rels_content)
|
|
99
|
+
|
|
100
|
+
rid_to_slide = {}
|
|
101
|
+
for rel in rels_dom.getElementsByTagName("Relationship"):
|
|
102
|
+
rid = rel.getAttribute("Id")
|
|
103
|
+
target = rel.getAttribute("Target")
|
|
104
|
+
rel_type = rel.getAttribute("Type")
|
|
105
|
+
if "slide" in rel_type and target.startswith("slides/"):
|
|
106
|
+
rid_to_slide[rid] = target.replace("slides/", "")
|
|
107
|
+
|
|
108
|
+
pres_content = zf.read("ppt/presentation.xml").decode("utf-8")
|
|
109
|
+
pres_dom = defusedxml.minidom.parseString(pres_content)
|
|
110
|
+
|
|
111
|
+
slides = []
|
|
112
|
+
for sld_id in pres_dom.getElementsByTagName("p:sldId"):
|
|
113
|
+
rid = sld_id.getAttribute("r:id")
|
|
114
|
+
if rid in rid_to_slide:
|
|
115
|
+
hidden = sld_id.getAttribute("show") == "0"
|
|
116
|
+
slides.append({"name": rid_to_slide[rid], "hidden": hidden})
|
|
117
|
+
|
|
118
|
+
return slides
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
def build_slide_list(
|
|
122
|
+
slide_info: list[dict],
|
|
123
|
+
visible_images: list[Path],
|
|
124
|
+
temp_dir: Path,
|
|
125
|
+
) -> list[tuple[Path, str]]:
|
|
126
|
+
if visible_images:
|
|
127
|
+
with Image.open(visible_images[0]) as img:
|
|
128
|
+
placeholder_size = img.size
|
|
129
|
+
else:
|
|
130
|
+
placeholder_size = (1920, 1080)
|
|
131
|
+
|
|
132
|
+
slides = []
|
|
133
|
+
visible_idx = 0
|
|
134
|
+
|
|
135
|
+
for info in slide_info:
|
|
136
|
+
if info["hidden"]:
|
|
137
|
+
placeholder_path = temp_dir / f"hidden-{info['name']}.jpg"
|
|
138
|
+
placeholder_img = create_hidden_placeholder(placeholder_size)
|
|
139
|
+
placeholder_img.save(placeholder_path, "JPEG")
|
|
140
|
+
slides.append((placeholder_path, f"{info['name']} (hidden)"))
|
|
141
|
+
else:
|
|
142
|
+
if visible_idx < len(visible_images):
|
|
143
|
+
slides.append((visible_images[visible_idx], info["name"]))
|
|
144
|
+
visible_idx += 1
|
|
145
|
+
|
|
146
|
+
return slides
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
def create_hidden_placeholder(size: tuple[int, int]) -> Image.Image:
|
|
150
|
+
img = Image.new("RGB", size, color="#F0F0F0")
|
|
151
|
+
draw = ImageDraw.Draw(img)
|
|
152
|
+
line_width = max(5, min(size) // 100)
|
|
153
|
+
draw.line([(0, 0), size], fill="#CCCCCC", width=line_width)
|
|
154
|
+
draw.line([(size[0], 0), (0, size[1])], fill="#CCCCCC", width=line_width)
|
|
155
|
+
return img
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
def convert_to_images(pptx_path: Path, temp_dir: Path) -> list[Path]:
|
|
159
|
+
pdf_path = temp_dir / f"{pptx_path.stem}.pdf"
|
|
160
|
+
|
|
161
|
+
result = subprocess.run(
|
|
162
|
+
[
|
|
163
|
+
"soffice",
|
|
164
|
+
"--headless",
|
|
165
|
+
"--convert-to",
|
|
166
|
+
"pdf",
|
|
167
|
+
"--outdir",
|
|
168
|
+
str(temp_dir),
|
|
169
|
+
str(pptx_path),
|
|
170
|
+
],
|
|
171
|
+
capture_output=True,
|
|
172
|
+
text=True,
|
|
173
|
+
env=get_soffice_env(),
|
|
174
|
+
)
|
|
175
|
+
if result.returncode != 0 or not pdf_path.exists():
|
|
176
|
+
raise RuntimeError("PDF conversion failed")
|
|
177
|
+
|
|
178
|
+
result = subprocess.run(
|
|
179
|
+
[
|
|
180
|
+
"pdftoppm",
|
|
181
|
+
"-jpeg",
|
|
182
|
+
"-r",
|
|
183
|
+
str(CONVERSION_DPI),
|
|
184
|
+
str(pdf_path),
|
|
185
|
+
str(temp_dir / "slide"),
|
|
186
|
+
],
|
|
187
|
+
capture_output=True,
|
|
188
|
+
text=True,
|
|
189
|
+
)
|
|
190
|
+
if result.returncode != 0:
|
|
191
|
+
raise RuntimeError("Image conversion failed")
|
|
192
|
+
|
|
193
|
+
return sorted(temp_dir.glob("slide-*.jpg"))
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
def create_grids(
|
|
197
|
+
slides: list[tuple[Path, str]],
|
|
198
|
+
cols: int,
|
|
199
|
+
width: int,
|
|
200
|
+
output_path: Path,
|
|
201
|
+
) -> list[str]:
|
|
202
|
+
max_per_grid = cols * (cols + 1)
|
|
203
|
+
grid_files = []
|
|
204
|
+
|
|
205
|
+
for chunk_idx, start_idx in enumerate(range(0, len(slides), max_per_grid)):
|
|
206
|
+
end_idx = min(start_idx + max_per_grid, len(slides))
|
|
207
|
+
chunk_slides = slides[start_idx:end_idx]
|
|
208
|
+
|
|
209
|
+
grid = create_grid(chunk_slides, cols, width)
|
|
210
|
+
|
|
211
|
+
if len(slides) <= max_per_grid:
|
|
212
|
+
grid_filename = output_path
|
|
213
|
+
else:
|
|
214
|
+
stem = output_path.stem
|
|
215
|
+
suffix = output_path.suffix
|
|
216
|
+
grid_filename = output_path.parent / f"{stem}-{chunk_idx + 1}{suffix}"
|
|
217
|
+
|
|
218
|
+
grid_filename.parent.mkdir(parents=True, exist_ok=True)
|
|
219
|
+
grid.save(str(grid_filename), quality=JPEG_QUALITY)
|
|
220
|
+
grid_files.append(str(grid_filename))
|
|
221
|
+
|
|
222
|
+
return grid_files
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
def create_grid(
|
|
226
|
+
slides: list[tuple[Path, str]],
|
|
227
|
+
cols: int,
|
|
228
|
+
width: int,
|
|
229
|
+
) -> Image.Image:
|
|
230
|
+
font_size = int(width * FONT_SIZE_RATIO)
|
|
231
|
+
label_padding = int(font_size * LABEL_PADDING_RATIO)
|
|
232
|
+
|
|
233
|
+
with Image.open(slides[0][0]) as img:
|
|
234
|
+
aspect = img.height / img.width
|
|
235
|
+
height = int(width * aspect)
|
|
236
|
+
|
|
237
|
+
rows = (len(slides) + cols - 1) // cols
|
|
238
|
+
grid_w = cols * width + (cols + 1) * GRID_PADDING
|
|
239
|
+
grid_h = rows * (height + font_size + label_padding * 2) + (rows + 1) * GRID_PADDING
|
|
240
|
+
|
|
241
|
+
grid = Image.new("RGB", (grid_w, grid_h), "white")
|
|
242
|
+
draw = ImageDraw.Draw(grid)
|
|
243
|
+
|
|
244
|
+
try:
|
|
245
|
+
font = ImageFont.load_default(size=font_size)
|
|
246
|
+
except Exception:
|
|
247
|
+
font = ImageFont.load_default()
|
|
248
|
+
|
|
249
|
+
for i, (img_path, slide_name) in enumerate(slides):
|
|
250
|
+
row, col = i // cols, i % cols
|
|
251
|
+
x = col * width + (col + 1) * GRID_PADDING
|
|
252
|
+
y_base = (
|
|
253
|
+
row * (height + font_size + label_padding * 2) + (row + 1) * GRID_PADDING
|
|
254
|
+
)
|
|
255
|
+
|
|
256
|
+
label = slide_name
|
|
257
|
+
bbox = draw.textbbox((0, 0), label, font=font)
|
|
258
|
+
text_w = bbox[2] - bbox[0]
|
|
259
|
+
draw.text(
|
|
260
|
+
(x + (width - text_w) // 2, y_base + label_padding),
|
|
261
|
+
label,
|
|
262
|
+
fill="black",
|
|
263
|
+
font=font,
|
|
264
|
+
)
|
|
265
|
+
|
|
266
|
+
y_thumbnail = y_base + label_padding + font_size + label_padding
|
|
267
|
+
|
|
268
|
+
with Image.open(img_path) as img:
|
|
269
|
+
img.thumbnail((width, height), Image.Resampling.LANCZOS)
|
|
270
|
+
w, h = img.size
|
|
271
|
+
tx = x + (width - w) // 2
|
|
272
|
+
ty = y_thumbnail + (height - h) // 2
|
|
273
|
+
grid.paste(img, (tx, ty))
|
|
274
|
+
|
|
275
|
+
if BORDER_WIDTH > 0:
|
|
276
|
+
draw.rectangle(
|
|
277
|
+
[
|
|
278
|
+
(tx - BORDER_WIDTH, ty - BORDER_WIDTH),
|
|
279
|
+
(tx + w + BORDER_WIDTH - 1, ty + h + BORDER_WIDTH - 1),
|
|
280
|
+
],
|
|
281
|
+
outline="gray",
|
|
282
|
+
width=BORDER_WIDTH,
|
|
283
|
+
)
|
|
284
|
+
|
|
285
|
+
return grid
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
if __name__ == "__main__":
|
|
289
|
+
main()
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rail-monitoring-plan
|
|
3
|
+
description: 轨道交通控制保护区/地保监测方案编制与评审技能。用户提到地铁保护区、控制保护区、监测方案、专家评审、内审、方案重难点、测点/频率/报警值、工作量/报价,或涉及邻近既有线、高架区间、盾构区间、桥下基坑等施工影响时使用。
|
|
4
|
+
license: MIT
|
|
5
|
+
metadata:
|
|
6
|
+
author: jawewang
|
|
7
|
+
version: '2.0'
|
|
8
|
+
domain: 轨道交通监测 / 地铁保护区监护
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# 轨道交通控制保护区监测方案编写 Skill
|
|
12
|
+
|
|
13
|
+
辅助起草、内审、修订、专家评审《XX 工程施工期间轨道交通 X 号线控制保护区监测方案》全流程。
|
|
14
|
+
|
|
15
|
+
## 何时使用本 Skill
|
|
16
|
+
|
|
17
|
+
当用户需要执行以下任一任务时启用:
|
|
18
|
+
|
|
19
|
+
- 接到新项目、**从零开始起草**监测方案(最常见场景)
|
|
20
|
+
- 编制方案前的资料清单准备、立项决策、报价估算
|
|
21
|
+
- 已有初稿,准备**内审会议**或撰写内审纪要
|
|
22
|
+
- 根据**内审意见 / 专家评审意见** 对方案进行修改并撰写回复表
|
|
23
|
+
- 估算监测点数量、监测频率、报警值与停测条件
|
|
24
|
+
- 撰写"监测重难点及应对措施"、"预消警流程"、"应急预案"等核心章节
|
|
25
|
+
- 校验既有方案是否覆盖运营单位(如宁波市轨道交通集团)所要求的全部章节
|
|
26
|
+
|
|
27
|
+
## 第一步:判断当前所处阶段(必做)
|
|
28
|
+
|
|
29
|
+
启动 skill 时**先和用户确认所处阶段**,再决定加载哪份 reference。不要盲目跳到模板填空——同一个方案在不同阶段的关注点完全不同。
|
|
30
|
+
|
|
31
|
+
> **同时确认监测对象类型**:地下盾构区间 / **高架区间** / 车站 / 出入场线。若是高架(含高架区间、出入场线高架段、车辆段引桥),**强制加载** `references/elevated-line.md`,地下场景下的"收敛"项目不适用,应改为"墩柱倾斜"。
|
|
32
|
+
|
|
33
|
+
| 阶段 | 用户典型表达 | 主用 reference |
|
|
34
|
+
|---|---|---|
|
|
35
|
+
| **0 期 资料收集与立项** | "新接了个项目"、"准备写方案"、"还没拿到全部资料" | `references/phase0-intake.md`(高架时叠加 `references/elevated-line.md` §二资料清单) |
|
|
36
|
+
| **1 期 初稿起草** | "开始写方案"、"重难点不会写"、"工作量怎么算" | `references/phase1-drafting.md` + `references/key-difficulties.md` + `references/scoping-and-pricing.md`(高架时叠加 `references/elevated-line.md` 全文) |
|
|
37
|
+
| **2 期 内审准备** | "明天/下周内审"、"准备内审材料"、"写内审纪要" | `references/phase2-internal-review.md` |
|
|
38
|
+
| **3 期 专家评审与修订** | "送审了"、"专家评审意见回复"、"修改意见" | `references/review-checklist.md` + `references/review-response-template.md` |
|
|
39
|
+
|
|
40
|
+
> **阶段不清晰时的快速判别**:问用户三个问题——(1) 工筹横道图、勘察报告、安评报告是否已收齐?(2) 方案有没有出过初稿?(3) 内审/专审是否已发生?答 1 否= 0 期;1 是 + 2 否= 1 期;2 是 + 内审已发生 + 专审未发生= 2 期;专审已发生= 3 期。
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 各阶段核心动作总览
|
|
45
|
+
|
|
46
|
+
### 0 期 资料收集与立项决策
|
|
47
|
+
|
|
48
|
+
详细流程见 `references/phase0-intake.md`,要点:
|
|
49
|
+
|
|
50
|
+
- **索取资料清单**:用规范化清单一次性问全(避免反复来回),含工程类、勘察类、轨道类、评估类、合同类五大块
|
|
51
|
+
- **监测等级判定**:按工程类型 × 影响范围 × 风险等级三轴决策表确定 一/二/三级
|
|
52
|
+
- **模板选择**:运营线路 → 模板 A(16 章);建设期线路 → 模板 B(11–14 章)
|
|
53
|
+
- **报价快算**:用 `references/scoping-and-pricing.md` 的公式预估测点、监测次数、人工费
|
|
54
|
+
|
|
55
|
+
### 1 期 初稿起草
|
|
56
|
+
|
|
57
|
+
详细流程见 `references/phase1-drafting.md`,建议**起草顺序**(**不要从第 1 章顺写**):
|
|
58
|
+
|
|
59
|
+
1. 先写 **3.1 监测范围** 与 **3.4 监测频率分阶段表**——这两节锚定整份方案
|
|
60
|
+
2. 再回填 **1.5 施工筹划**(从工筹横道图提取阶段)
|
|
61
|
+
3. 写 **5 章 监测点布设** + **3.5 工作量预估**(数量算清楚)
|
|
62
|
+
4. **2.3 监测重难点及应对措施**——单独花时间,按 `references/key-difficulties.md` 的"诊断→推演→生成"工作流写
|
|
63
|
+
5. **11 章 报警值与预消警**——引用安评报告进行项目化裁剪
|
|
64
|
+
6. 最后回填 1.1–1.4(工程概况类)、4 章控制网、6 章监测方法(这些可大段复用)
|
|
65
|
+
7. 附图清单先列文字描述,定稿前再补图
|
|
66
|
+
|
|
67
|
+
**关键纪律**:每节起草前问自己"这一节本项目和上一项目相比有什么不一样?"如果答不上来,就是要么资料没吃透,要么这一节没必要写得那么详细。
|
|
68
|
+
|
|
69
|
+
### 2 期 内审准备
|
|
70
|
+
|
|
71
|
+
详细流程见 `references/phase2-internal-review.md`,要点:
|
|
72
|
+
|
|
73
|
+
- **送审前 3 天**:用 `references/review-checklist.md` 自查;用 `phase2-internal-review.md` 的"内审预演问题表"自问 20 个问题
|
|
74
|
+
- **会议组织**:议程模板、参会人员清单(部门技术负责人、项目经理、技术总工)
|
|
75
|
+
- **内审纪要回填**:用 `references/review-response-template.md` 的内审版样式逐条落实
|
|
76
|
+
|
|
77
|
+
### 3 期 专家评审与修订
|
|
78
|
+
|
|
79
|
+
延续现有 checklist 与回复模板:
|
|
80
|
+
|
|
81
|
+
- 送审材料组卷:方案正式版 + 内审意见回复 + 附图册 + 安评报告 + 施工方案摘要
|
|
82
|
+
- 高频意见对照:`references/review-checklist.md` 内"评审会议典型修改意见汇总"
|
|
83
|
+
- 回复表撰写:`references/review-response-template.md`,每条**必须**注明对应页码
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## 两类方案模板(择一使用)
|
|
88
|
+
|
|
89
|
+
阅读本 skill 时务必先弄清楚用户场景属于哪一类。两类模板章节顺序和数量差异较大:
|
|
90
|
+
|
|
91
|
+
### 模板 A:运营分公司标准格式(**16 章**,重型,强制用于运营线路)
|
|
92
|
+
适用于既有运营线路(如宁波 1/2/3/6/7/8 号线已开通段)受外部施工影响时的方案。**必须**包含运营分公司要求的"轨行区作业管理""数据保密""与工程相关单位的配合"等章节。完整目录见 `references/toc-template-A.md`。
|
|
93
|
+
|
|
94
|
+
### 模板 B:设计院精简格式(**11–14 章**,轻型,适用于建设期线路)
|
|
95
|
+
适用于建设期/未运营线路、或工程量较小、由设计院出具的方案。完整目录见 `references/toc-template-B.md`。
|
|
96
|
+
|
|
97
|
+
> 默认按 **模板 A** 起草。如用户明确为建设期线路或要求简版,再切换到模板 B。
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 出稿后通用质量保障要点
|
|
102
|
+
|
|
103
|
+
- **章节编号与目录完全一致**,避免出现"3.2 → 3.4(跳号)"
|
|
104
|
+
- **图表必须有编号和题注**(图 X.X-1 XXX 示意图)
|
|
105
|
+
- **报警值表必须分项目、分阶段、分类型**——预警/报警/控制三栏不可合并
|
|
106
|
+
- **每个施工阶段的监测频率表都必须独立成表**(参考 6 号线望春桥方案,五个阶段五张表)
|
|
107
|
+
- **平面控制网与高程控制网必须分别给"基准点 / 工作基点 / 监测点"三级**
|
|
108
|
+
- **应急组织机构必须列出"地保办—地保车间—监测单位—施工方"四级**
|
|
109
|
+
|
|
110
|
+
## 输出格式建议
|
|
111
|
+
|
|
112
|
+
- 默认输出 **Markdown** (`.md`),便于版本控制与后续转换
|
|
113
|
+
- 用户明确要 Word 文档时,先用 markdown 起稿,再通过 `pandoc` 转 `.docx`
|
|
114
|
+
- 附图先用文字描述位置("详见图 5.1-1"),不强行插入图片
|
|
115
|
+
- 中文标点全部使用中文全角符号,规范名称用书名号《》
|
|
116
|
+
|
|
117
|
+
## 参考资源清单
|
|
118
|
+
|
|
119
|
+
### 阶段流程类
|
|
120
|
+
- `references/phase0-intake.md` — **0 期** 资料收集 / 立项决策 / 监测等级判定 / 模板选择
|
|
121
|
+
- `references/phase1-drafting.md` — **1 期** 初稿起草顺序 + 每节"无中生有"的写法
|
|
122
|
+
- `references/phase2-internal-review.md` — **2 期** 内审准备 / 会议组织 / 纪要回填
|
|
123
|
+
- `references/review-checklist.md` — **3 期** 评审高频意见自检清单
|
|
124
|
+
- `references/review-response-template.md` — **3 期** 内审/专审回复表格式
|
|
125
|
+
|
|
126
|
+
### 技术资料库
|
|
127
|
+
- `references/toc-template-A.md` — 模板 A(16 章)详细目录
|
|
128
|
+
- `references/toc-template-B.md` — 模板 B(11–14 章)详细目录
|
|
129
|
+
- `references/technical-standards.md` — 规范清单、报警值、仪器精度、监测频率标准库(**地下默认**,含高架补丁表)
|
|
130
|
+
- **`references/elevated-line.md` — 高架专题:监测项目/精度/测点/控制网/频率/报警值/重难点/章节定制清单(高架场景必加载)**
|
|
131
|
+
- `references/key-difficulties.md` — **重难点章节"诊断→推演→生成"工作流**(含 G. 高架工况)
|
|
132
|
+
- `references/scoping-and-pricing.md` — 测点数量、监测工作量、报价快速估算
|
|
133
|
+
|
|
134
|
+
### 输出资产
|
|
135
|
+
- `assets/plan-template.md` — 完整方案 Markdown 模板(直接复用)
|
|
136
|
+
|
|
137
|
+
## 示例:典型工况快速选择
|
|
138
|
+
|
|
139
|
+
| 工况 | 必备监测项目 | 关键关注 |
|
|
140
|
+
|---|---|---|
|
|
141
|
+
| **基坑开挖**(紧邻既有线) | 沉降、水平位移、收敛、巡视;基坑围护抽测 | 开挖至坑底/换撑/拆撑阶段加密 |
|
|
142
|
+
| **顶管/盾构下穿** | 沉降、水平位移、收敛、静力水准(自动化) | 顶进至轴线/注浆置换/嵌缝阶段最敏感 |
|
|
143
|
+
| **管廊上跨** | 沉降、水平位移、收敛 | 卸土回弹与重车荷载分别加密 |
|
|
144
|
+
| **桥梁迁建** | 沉降、水平位移、收敛、振动 | 钢板桩打拔、桥桩施工、桥下通道开挖阶段 |
|
|
145
|
+
| **临近建筑施工** | 沉降、水平位移、巡视 | 重载车辆停放位置补充说明 |
|
|
146
|
+
| **盾构区间施工**(建设期) | 沉降、水平位移、收敛、振动、轨道几何 | 按工筹分阶段制定频率表 |
|
|
147
|
+
| **高架区间 / 出入场线**(桥梁还建、桥下基坑、管廊上跨、邻近桥桩) | 沉降(墩顶/墩底/盖梁/梁端)、水平位移、**桥墩倾斜**、巡视 | **不写"收敛"**;辅桥道床状态前置调查;首级控制点设桥外;登高+接触网约束;详 `references/elevated-line.md` |
|