codewave-openclaw-installer 2.1.13 → 2.2.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 (212) hide show
  1. package/bin/install-lib.mjs +11 -0
  2. package/bin/install.mjs +59 -1
  3. package/package.json +12 -1
  4. package/skills/acceptance-doc-entry/SKILL.md +54 -1
  5. package/skills/ppt-master/SKILL.md +17 -390
  6. package/skills/ppt-master/projects/.gitkeep +0 -0
  7. package/skills/ppt-master/references/executor-base.md +4 -3
  8. package/skills/ppt-master/references/image-generator.md +6 -93
  9. package/skills/ppt-master/references/strategist.md +5 -8
  10. package/skills/ppt-master/scripts/README.md +1 -1
  11. package/skills/ppt-master/scripts/finalize_svg.py +0 -14
  12. package/skills/ppt-master/scripts/svg_quality_checker.py +8 -169
  13. package/skills/ppt-master/scripts/svg_to_pptx/pptx_builder.py +1 -7
  14. package/skills/ppt-master/scripts/svg_to_pptx/pptx_cli.py +0 -14
  15. package/skills/ppt-master/.env.example +0 -35
  16. package/skills/ppt-master/README.md +0 -90
  17. package/skills/ppt-master/audit_report_model_perf.md +0 -213
  18. package/skills/ppt-master/audit_report_portability.md +0 -90
  19. package/skills/ppt-master/audit_report_robustness.md +0 -192
  20. package/skills/ppt-master/audit_report_workflow.md +0 -233
  21. package/skills/ppt-master/fix_report_bid.md +0 -51
  22. package/skills/ppt-master/fix_report_scripts.md +0 -41
  23. package/skills/ppt-master/references/bid-content-example-netease.md +0 -815
  24. package/skills/ppt-master/references/bid-content-template.md +0 -390
  25. package/skills/ppt-master/references/bid-example-netease.md +0 -339
  26. package/skills/ppt-master/references/bid-presentation.md +0 -384
  27. package/skills/ppt-master/references/bid-svgs/03_toc.svg +0 -38
  28. package/skills/ppt-master/references/bid-svgs/04_chapter_company.svg +0 -7
  29. package/skills/ppt-master/references/bid-svgs/05_company_overview.svg +0 -28
  30. package/skills/ppt-master/references/bid-svgs/06_vision_business.svg +0 -45
  31. package/skills/ppt-master/references/bid-svgs/07_product_system.svg +0 -52
  32. package/skills/ppt-master/references/bid-svgs/08_codewave_timeline.svg +0 -29
  33. package/skills/ppt-master/references/bid-svgs/09_certifications.svg +0 -33
  34. package/skills/ppt-master/references/bid-svgs/10_client_logos.svg +0 -25
  35. package/skills/ppt-master/references/bid-svgs/11_brand_mission.svg +0 -14
  36. package/skills/ppt-master/references/bid-svgs/12_chapter_demand.svg +0 -7
  37. package/skills/ppt-master/references/bid-svgs/16_chapter_advantages.svg +0 -7
  38. package/skills/ppt-master/references/bid-svgs/18_platform_arch.svg +0 -24
  39. package/skills/ppt-master/references/bid-svgs/19_function_matrix.svg +0 -35
  40. package/skills/ppt-master/references/bid-svgs/20_dev_arch.svg +0 -29
  41. package/skills/ppt-master/references/bid-svgs/21_source_code.svg +0 -25
  42. package/skills/ppt-master/references/bid-svgs/22_ai_dev.svg +0 -27
  43. package/skills/ppt-master/references/bid-svgs/23_asset_market.svg +0 -33
  44. package/skills/ppt-master/references/bid-svgs/24_multi_org.svg +0 -28
  45. package/skills/ppt-master/references/bid-svgs/25_i18n.svg +0 -22
  46. package/skills/ppt-master/references/bid-svgs/26_multi_tenant.svg +0 -25
  47. package/skills/ppt-master/references/bid-svgs/27_integration.svg +0 -27
  48. package/skills/ppt-master/references/bid-svgs/28_permission.svg +0 -31
  49. package/skills/ppt-master/references/bid-svgs/29_security.svg +0 -25
  50. package/skills/ppt-master/references/bid-svgs/30_ai_capabilities.svg +0 -21
  51. package/skills/ppt-master/references/bid-svgs/31_product_combo.svg +0 -25
  52. package/skills/ppt-master/references/bid-svgs/32_digital_transform.svg +0 -28
  53. package/skills/ppt-master/references/bid-svgs/33_chapter_cases.svg +0 -7
  54. package/skills/ppt-master/references/bid-svgs/34_cummins_case.svg +0 -23
  55. package/skills/ppt-master/references/bid-svgs/35_cpq_cost.svg +0 -22
  56. package/skills/ppt-master/references/bid-svgs/36_tech_platform.svg +0 -18
  57. package/skills/ppt-master/references/bid-svgs/37_platform_value.svg +0 -24
  58. package/skills/ppt-master/references/bid-svgs/38_operation_plan.svg +0 -25
  59. package/skills/ppt-master/references/bid-svgs/39_zpmc_case.svg +0 -21
  60. package/skills/ppt-master/references/bid-svgs/40_zpmc_apps.svg +0 -23
  61. package/skills/ppt-master/references/bid-svgs/41_chapter_service.svg +0 -7
  62. package/skills/ppt-master/references/bid-svgs/42_tech_support.svg +0 -24
  63. package/skills/ppt-master/references/bid-svgs/43_knowledge_transfer.svg +0 -25
  64. package/skills/ppt-master/references/bid-svgs/44_operation_promotion.svg +0 -20
  65. package/skills/ppt-master/references/bid-svgs/45_custom_dev_guide.svg +0 -24
  66. package/skills/ppt-master/references/bid-svgs/46_sla_guarantee.svg +0 -18
  67. package/skills/ppt-master/references/bid-svgs/47_strategic_cooperation.svg +0 -25
  68. package/skills/ppt-master/references/bid-svgs/48_ecosystem.svg +0 -24
  69. package/skills/ppt-master/references/bid-svgs/49_chapter_delivery.svg +0 -23
  70. package/skills/ppt-master/references/bid-svgs/53_pm_intro.svg +0 -24
  71. package/skills/ppt-master/references/bid-svgs/54_after_sales.svg +0 -27
  72. package/skills/ppt-master/references/bid-svgs/55_ending.svg +0 -8
  73. package/skills/ppt-master/references/company_intro.md +0 -93
  74. package/skills/ppt-master/references/company_intro_images/slide1_img00.png +0 -0
  75. package/skills/ppt-master/references/company_intro_images/slide1_img01.png +0 -0
  76. package/skills/ppt-master/references/company_intro_images/slide1_img02.png +0 -0
  77. package/skills/ppt-master/references/company_intro_images/slide1_img03.png +0 -0
  78. package/skills/ppt-master/references/company_intro_images/slide1_img04.png +0 -0
  79. package/skills/ppt-master/references/company_intro_images/slide1_img05.png +0 -0
  80. package/skills/ppt-master/references/company_intro_images/slide1_img06.png +0 -0
  81. package/skills/ppt-master/references/company_intro_images/slide1_img07.png +0 -0
  82. package/skills/ppt-master/references/company_intro_images/slide1_img08.png +0 -0
  83. package/skills/ppt-master/references/company_intro_images/slide1_img09.png +0 -0
  84. package/skills/ppt-master/references/company_intro_images/slide1_img10.png +0 -0
  85. package/skills/ppt-master/references/company_intro_images/slide1_img11.png +0 -0
  86. package/skills/ppt-master/references/company_intro_images/slide1_img12.png +0 -0
  87. package/skills/ppt-master/references/company_intro_images/slide1_img13.png +0 -0
  88. package/skills/ppt-master/references/company_intro_images/slide1_img14.png +0 -0
  89. package/skills/ppt-master/references/company_intro_images/slide1_img15.png +0 -0
  90. package/skills/ppt-master/references/company_intro_images/slide1_img16.png +0 -0
  91. package/skills/ppt-master/references/company_intro_images/slide1_img17.png +0 -0
  92. package/skills/ppt-master/references/company_intro_images/slide1_img18.png +0 -0
  93. package/skills/ppt-master/references/company_intro_images/slide1_img19.png +0 -0
  94. package/skills/ppt-master/references/company_intro_images/slide1_img20.png +0 -0
  95. package/skills/ppt-master/references/company_intro_images/slide1_img21.png +0 -0
  96. package/skills/ppt-master/references/company_intro_images/slide1_img22.png +0 -0
  97. package/skills/ppt-master/references/company_intro_images/slide1_img23.png +0 -0
  98. package/skills/ppt-master/references/company_intro_images/slide1_img24.png +0 -0
  99. package/skills/ppt-master/references/company_intro_images/slide1_img25.png +0 -0
  100. package/skills/ppt-master/references/company_intro_images/slide1_img26.png +0 -0
  101. package/skills/ppt-master/references/company_intro_images/slide1_img27.png +0 -0
  102. package/skills/ppt-master/references/company_intro_images/slide1_img28.png +0 -0
  103. package/skills/ppt-master/references/company_intro_images/slide1_img29.png +0 -0
  104. package/skills/ppt-master/references/company_intro_images/slide2_img30.png +0 -0
  105. package/skills/ppt-master/references/company_intro_images/slide2_img31.jpg +0 -0
  106. package/skills/ppt-master/references/company_intro_images/slide3_img32.png +0 -0
  107. package/skills/ppt-master/references/company_intro_images/slide3_img33.png +0 -0
  108. package/skills/ppt-master/references/drawio-integration.md +0 -144
  109. package/skills/ppt-master/requirements.txt +0 -19
  110. package/skills/ppt-master/resources/backgrounds/chapter_bg.png +0 -0
  111. package/skills/ppt-master/resources/backgrounds/company_bg.png +0 -0
  112. package/skills/ppt-master/resources/backgrounds/cover_bg.png +0 -0
  113. package/skills/ppt-master/resources/backgrounds/index.json +0 -40
  114. package/skills/ppt-master/resources/backgrounds/tech_bg.png +0 -0
  115. package/skills/ppt-master/scripts/__pycache__/config.cpython-314.pyc +0 -0
  116. package/skills/ppt-master/scripts/__pycache__/error_helper.cpython-314.pyc +0 -0
  117. package/skills/ppt-master/scripts/__pycache__/pptx_animations.cpython-314.pyc +0 -0
  118. package/skills/ppt-master/scripts/__pycache__/project_utils.cpython-314.pyc +0 -0
  119. package/skills/ppt-master/scripts/arch_diagram.py +0 -370
  120. package/skills/ppt-master/scripts/bid_init.py +0 -79
  121. package/skills/ppt-master/scripts/drawio_gen.py +0 -366
  122. package/skills/ppt-master/scripts/drawio_to_svg.py +0 -458
  123. package/skills/ppt-master/scripts/image_backends/__pycache__/__init__.cpython-314.pyc +0 -0
  124. package/skills/ppt-master/scripts/image_backends/__pycache__/backend_aigw_gemini.cpython-314.pyc +0 -0
  125. package/skills/ppt-master/scripts/image_backends/__pycache__/backend_common.cpython-314.pyc +0 -0
  126. package/skills/ppt-master/scripts/svg_finalize/__pycache__/__init__.cpython-314.pyc +0 -0
  127. package/skills/ppt-master/scripts/svg_finalize/__pycache__/crop_images.cpython-314.pyc +0 -0
  128. package/skills/ppt-master/scripts/svg_finalize/__pycache__/embed_icons.cpython-314.pyc +0 -0
  129. package/skills/ppt-master/scripts/svg_finalize/__pycache__/embed_images.cpython-314.pyc +0 -0
  130. package/skills/ppt-master/scripts/svg_finalize/__pycache__/fix_image_aspect.cpython-314.pyc +0 -0
  131. package/skills/ppt-master/scripts/svg_finalize/__pycache__/flatten_tspan.cpython-314.pyc +0 -0
  132. package/skills/ppt-master/scripts/svg_finalize/__pycache__/svg_rect_to_path.cpython-314.pyc +0 -0
  133. package/skills/ppt-master/scripts/svg_page_gen.py +0 -871
  134. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/__init__.cpython-314.pyc +0 -0
  135. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/drawingml_context.cpython-314.pyc +0 -0
  136. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/drawingml_converter.cpython-314.pyc +0 -0
  137. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/drawingml_elements.cpython-314.pyc +0 -0
  138. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/drawingml_paths.cpython-314.pyc +0 -0
  139. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/drawingml_styles.cpython-314.pyc +0 -0
  140. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/drawingml_utils.cpython-314.pyc +0 -0
  141. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/pptx_builder.cpython-314.pyc +0 -0
  142. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/pptx_cli.cpython-314.pyc +0 -0
  143. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/pptx_dimensions.cpython-314.pyc +0 -0
  144. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/pptx_discovery.cpython-314.pyc +0 -0
  145. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/pptx_media.cpython-314.pyc +0 -0
  146. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/pptx_notes.cpython-314.pyc +0 -0
  147. package/skills/ppt-master/scripts/svg_to_pptx/__pycache__/pptx_slide_xml.cpython-314.pyc +0 -0
  148. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204}/01_cover.svg" +0 -0
  149. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204}/02_chapter.svg" +0 -0
  150. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204}/02_toc.svg" +0 -0
  151. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204}/03_content.svg" +0 -0
  152. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204}/04_ending.svg" +0 -0
  153. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204}/design_spec.md" +0 -0
  154. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210//316/243/342/225/225/302/241/317/203/302/242/342/225/234/302/265/342/226/221/342/224/244/317/203e/314/200i/314/201logo.png" → 344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204//344/270/255/345/233/275/346/260/264/345/212/241logo.png"} +0 -0
  155. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210//317/203i/314/200A/314/210/316/243/342/225/225/302/243/316/230O/314/210o/314/201logo.png" → 344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204//345/215/216/344/270/234/351/231/242logo.png"} +0 -0
  156. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210//302/265/342/226/221/342/224/244/317/204o/314/210/342/225/241/316/243/342/225/225e/314/210/317/203/342/226/222C/314/247logo.png" → 344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204//346/260/264/347/224/265/344/270/211/345/261/200logo.png"} +0 -0
  157. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210//317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221logo.png" → 344/270/255/345/233/275/347/224/265/345/273/272_/345/270/270/350/247/204//347/224/265/345/273/272logo.png"} +0 -0
  158. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243}/01_cover.svg" +0 -0
  159. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243}/02_chapter.svg" +0 -0
  160. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243}/02_toc.svg" +0 -0
  161. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243}/03_content.svg" +0 -0
  162. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243}/04_ending.svg" +0 -0
  163. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243}/design_spec.md" +0 -0
  164. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201//316/243/342/225/225/302/241/317/203/302/242/342/225/234/302/265/342/226/221/342/224/244/317/203e/314/200i/314/201logo.png" → 344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243//344/270/255/345/233/275/346/260/264/345/212/241logo.png"} +0 -0
  165. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201//317/203i/314/200A/314/210/316/243/342/225/225/302/243/316/230O/314/210o/314/201logo.png" → 344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243//345/215/216/344/270/234/351/231/242logo.png"} +0 -0
  166. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201//302/265/342/226/221/342/224/244/317/204o/314/210/342/225/241/316/243/342/225/225e/314/210/317/203/342/226/222C/314/247logo.png" → 344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243//346/260/264/347/224/265/344/270/211/345/261/200logo.png"} +0 -0
  167. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/317/203/302/242/342/225/234/317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201//317/204o/314/210/342/225/241/317/203/342/225/227/342/225/221logo.png" → 344/270/255/345/233/275/347/224/265/345/273/272_/347/216/260/344/273/243//347/224/265/345/273/272logo.png"} +0 -0
  168. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241}/01_cover.svg" +0 -0
  169. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241}/02_chapter.svg" +0 -0
  170. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241}/02_toc.svg" +0 -0
  171. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241}/03_content.svg" +0 -0
  172. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241}/04_ending.svg" +0 -0
  173. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241}/design_spec.md" +0 -0
  174. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203o/314/200a/314/212/317/203e/314/200i/314/201//317/203A/314/212/342/224/202/316/243/342/225/225e/314/200/316/246/302/272/303/206 logo.png" → 344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241//345/217/263/344/270/212/350/247/222 logo.png"} +0 -0
  175. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203o/314/200a/314/212/317/203e/314/200i/314/201//317/203n/314/203/302/272/317/203/342/202/247i/314/210 logo.png" → 344/270/255/346/261/275/347/240/224_/345/225/206/345/212/241//345/244/247/345/236/213 logo.png"} +0 -0
  176. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204}/01_cover.svg" +0 -0
  177. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204}/02_chapter.svg" +0 -0
  178. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204}/02_toc.svg" +0 -0
  179. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204}/03_content.svg" +0 -0
  180. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204}/04_ending.svg" +0 -0
  181. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210 → 344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204}/design_spec.md" +0 -0
  182. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210//317/203A/314/212/342/224/202/316/243/342/225/225e/314/200/316/246/302/272/303/206 logo.png" → 344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204//345/217/263/344/270/212/350/247/222 logo.png"} +0 -0
  183. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/203/342/225/225/342/225/225/316/246/302/272a/314/210//317/203n/314/203/302/272/317/203/342/202/247i/314/210 logo.png" → 344/270/255/346/261/275/347/240/224_/345/270/270/350/247/204//345/244/247/345/236/213 logo.png"} +0 -0
  184. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243}/01_cover.svg" +0 -0
  185. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243}/02_chapter.svg" +0 -0
  186. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243}/02_toc.svg" +0 -0
  187. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243}/03_content.svg" +0 -0
  188. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243}/04_ending.svg" +0 -0
  189. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201 → 344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243}/design_spec.md" +0 -0
  190. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201//317/203A/314/212/342/224/202/316/243/342/225/225e/314/200/316/246/302/272/303/206 logo.png" → 344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243//345/217/263/344/270/212/350/247/222 logo.png"} +0 -0
  191. /package/skills/ppt-master/templates/layouts//{316/243/342/225/225/302/241/302/265/342/226/222/342/225/234/317/204a/314/201o/314/210_/317/204A/314/210/342/226/221/316/243/342/225/227u/314/201//317/203n/314/203/302/272/317/203/342/202/247i/314/210 logo.png" → 344/270/255/346/261/275/347/240/224_/347/216/260/344/273/243//345/244/247/345/236/213 logo.png"} +0 -0
  192. /package/skills/ppt-master/templates/layouts//{302/265i/314/210/302/242/317/203o/314/200a/314/212/316/230o/314/202/342/225/242/316/246i/314/201i/314/202 → 346/213/233/345/225/206/351/223/266/350/241/214}/01_cover.svg" +0 -0
  193. /package/skills/ppt-master/templates/layouts//{302/265i/314/210/302/242/317/203o/314/200a/314/212/316/230o/314/202/342/225/242/316/246i/314/201i/314/202 → 346/213/233/345/225/206/351/223/266/350/241/214}/02_chapter.svg" +0 -0
  194. /package/skills/ppt-master/templates/layouts//{302/265i/314/210/302/242/317/203o/314/200a/314/212/316/230o/314/202/342/225/242/316/246i/314/201i/314/202 → 346/213/233/345/225/206/351/223/266/350/241/214}/02_toc.svg" +0 -0
  195. /package/skills/ppt-master/templates/layouts//{302/265i/314/210/302/242/317/203o/314/200a/314/212/316/230o/314/202/342/225/242/316/246i/314/201i/314/202 → 346/213/233/345/225/206/351/223/266/350/241/214}/03_content.svg" +0 -0
  196. /package/skills/ppt-master/templates/layouts//{302/265i/314/210/302/242/317/203o/314/200a/314/212/316/230o/314/202/342/225/242/316/246i/314/201i/314/202 → 346/213/233/345/225/206/351/223/266/350/241/214}/04_ending.svg" +0 -0
  197. /package/skills/ppt-master/templates/layouts//{302/265i/314/210/302/242/317/203o/314/200a/314/212/316/230o/314/202/342/225/242/316/246i/314/201i/314/202 → 346/213/233/345/225/206/351/223/266/350/241/214}/design_spec.md" +0 -0
  198. /package/skills/ppt-master/templates/layouts//{302/265i/314/210/302/242/317/203o/314/200a/314/212/316/230o/314/202/342/225/242/316/246i/314/201i/314/202//302/265i/314/210/302/242/317/203o/314/200a/314/212/316/230o/314/202/342/225/242/316/246i/314/201i/314/202/317/203a/314/200/302/274/317/203A/314/212/342/225/225/316/230c/314/247/303/246/316/246/342/202/247i/314/200.png" → 346/213/233/345/225/206/351/223/266/350/241/214//346/213/233/345/225/206/351/223/266/350/241/214/345/205/254/345/217/270/351/207/221/350/236/215.png"} +0 -0
  199. /package/skills/ppt-master/templates/layouts//{317/204/302/272/303/246/302/265e/314/200C/314/247/316/246o/314/202/302/245/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 347/247/221/346/212/200/350/223/235/345/225/206/345/212/241}/01_cover.svg" +0 -0
  200. /package/skills/ppt-master/templates/layouts//{317/204/302/272/303/246/302/265e/314/200C/314/247/316/246o/314/202/302/245/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 347/247/221/346/212/200/350/223/235/345/225/206/345/212/241}/02_chapter.svg" +0 -0
  201. /package/skills/ppt-master/templates/layouts//{317/204/302/272/303/246/302/265e/314/200C/314/247/316/246o/314/202/302/245/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 347/247/221/346/212/200/350/223/235/345/225/206/345/212/241}/02_toc.svg" +0 -0
  202. /package/skills/ppt-master/templates/layouts//{317/204/302/272/303/246/302/265e/314/200C/314/247/316/246o/314/202/302/245/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 347/247/221/346/212/200/350/223/235/345/225/206/345/212/241}/03_content.svg" +0 -0
  203. /package/skills/ppt-master/templates/layouts//{317/204/302/272/303/246/302/265e/314/200C/314/247/316/246o/314/202/302/245/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 347/247/221/346/212/200/350/223/235/345/225/206/345/212/241}/04_ending.svg" +0 -0
  204. /package/skills/ppt-master/templates/layouts//{317/204/302/272/303/246/302/265e/314/200C/314/247/316/246o/314/202/302/245/317/203o/314/200a/314/212/317/203e/314/200i/314/201 → 347/247/221/346/212/200/350/223/235/345/225/206/345/212/241}/design_spec.md" +0 -0
  205. /package/skills/ppt-master/templates/layouts/{Technology Blue Business/01_cover.svg → /351/207/215/345/272/206/345/244/247/345/255/246/01_cover.svg"} +0 -0
  206. /package/skills/ppt-master/templates/layouts/{Technology Blue Business/02_chapter.svg → /351/207/215/345/272/206/345/244/247/345/255/246/02_chapter.svg"} +0 -0
  207. /package/skills/ppt-master/templates/layouts/{Technology Blue Business/02_toc.svg → /351/207/215/345/272/206/345/244/247/345/255/246/02_toc.svg"} +0 -0
  208. /package/skills/ppt-master/templates/layouts/{Technology Blue Business/03_content.svg → /351/207/215/345/272/206/345/244/247/345/255/246/03_content.svg"} +0 -0
  209. /package/skills/ppt-master/templates/layouts/{Technology Blue Business/04_ending.svg → /351/207/215/345/272/206/345/244/247/345/255/246/04_ending.svg"} +0 -0
  210. /package/skills/ppt-master/templates/layouts/{Technology Blue Business/design_spec.md → /351/207/215/345/272/206/345/244/247/345/255/246/design_spec.md"} +0 -0
  211. /package/skills/ppt-master/templates/layouts/{Technology Blue Business//316/230c/314/247i/314/200/317/203/342/225/221a/314/212/317/203n/314/203/302/272/317/203/302/241/302/252logo.png" → /351/207/215/345/272/206/345/244/247/345/255/246//351/207/215/345/272/206/345/244/247/345/255/246logo.png"} +0 -0
  212. /package/skills/ppt-master/templates/layouts/{Technology Blue Business//316/230c/314/247i/314/200/317/203/342/225/221a/314/212/317/203n/314/203/302/272/317/203/302/241/302/252logo2.png" → /351/207/215/345/272/206/345/244/247/345/255/246//351/207/215/345/272/206/345/244/247/345/255/246logo2.png"} +0 -0
@@ -1,233 +0,0 @@
1
- # PPT Master Skill — 审计报告 4: 流程完整性 & 文档一致性
2
-
3
- **审计日期**: 2026-04-07
4
- **审计员**: Subagent (Workflow Auditor)
5
-
6
- ---
7
-
8
- ## A. 流程完整性
9
-
10
- ### A1. Step 1-7 逐步检查
11
-
12
- #### Step 1: Source Content Processing
13
- - **GATE**: ✅ 清晰 — "User has provided source material"
14
- - **输出/Checkpoint**: ✅ "Confirm source content is ready, proceed to Step 2"
15
- - **问题**: 无
16
-
17
- #### Step 2: Project Initialization
18
- - **GATE**: ✅ "Step 1 complete; source content is ready"
19
- - **输出/Checkpoint**: ✅ "Confirm project structure created successfully"
20
- - **问题**: 无
21
-
22
- #### Step 3: Template Selection
23
- - **GATE**: ✅ "Step 2 complete; project directory structure is ready"
24
- - **BLOCKING**: ✅ 正确标记为 ⛔ BLOCKING
25
- - **输出/Checkpoint**: ✅ "User has responded with template selection"
26
- - **问题**: 无
27
-
28
- #### Step 4: Strategist Phase
29
- - **GATE**: ✅ "Step 3 complete; user has confirmed template selection"
30
- - **BLOCKING**: ✅ 八项确认标记为 ⛔ BLOCKING
31
- - **输出/Checkpoint**: ✅ `design_spec.md` 输出明确
32
- - **问题**: 无
33
-
34
- #### Step 4.5: Bid Presentation Scene Recognition
35
- - **GATE**: ✅ "Step 4 complete; Design Specification generated"
36
- - **触发条件**: ✅ 条件型步骤,有清晰触发条件
37
- - **输出/Checkpoint**: ✅ "46 fixed SVGs copied, 9 dynamic pages identified"
38
- - **问题**: 无
39
-
40
- #### Step 5: Image_Generator Phase
41
- - **GATE**: ✅ "Step 4 complete; Design Specification generated and user confirmed"
42
- - **条件型**: ✅ 正确标记为 Conditional
43
- - **输出/Checkpoint**: ✅ "All images saved to images/"
44
- - **问题**: 无
45
-
46
- #### Step 6: Executor Phase
47
- - **GATE**: ✅ "Step 4 (and Step 5 if triggered) complete"
48
- - **输出/Checkpoint**: ✅ "All SVGs generated + speaker notes generated"
49
- - **问题**: 无
50
-
51
- #### Step 7: Post-processing & Export
52
- - **GATE**: ✅ "Step 6 complete; all SVGs generated; speaker notes generated"
53
- - **子步骤**: ✅ 7.1/7.2/7.2.5/7.3/7.4 逐一明确
54
- - **输出/Checkpoint**: ✅ PPTX 文件 + 质量检查
55
- - **⚠️ 问题 W-01**: Step 7.4 质量检查后没有明确的"交付给用户"确认步骤。流程在质量检查后就结束了,缺少一个最终 "Deliver to user & confirm receipt" 的 checkpoint。
56
- - **行号**: SKILL.md ~Step 7.4 末尾
57
- - **建议**: 增加 Step 7.5 或在 7.4 末尾增加交付确认 checkpoint
58
-
59
- ### A2. 八项确认(Eight Confirmations)
60
-
61
- | # | 确认项 | 定义位置 | 默认值 |
62
- |---|--------|----------|--------|
63
- | 1 | Canvas format | Step 4 + `design_spec_reference.md` | `ppt169` (在 Step 2 `--format` 中有默认值) |
64
- | 2 | Page count range | Step 4 | ❌ **无明确默认值** |
65
- | 3 | Target audience | Step 4 | ❌ **无明确默认值** |
66
- | 4 | Style objective | Step 4 | ❌ **无明确默认值** |
67
- | 5 | Color scheme | Step 4 | ❌ **无明确默认值** |
68
- | 6 | Icon usage approach | Step 4 | ❌ **无明确默认值** |
69
- | 7 | Typography plan | Step 4 | ❌ **无明确默认值** |
70
- | 8 | Image usage approach | Step 4 | ❌ **无明确默认值** |
71
-
72
- - **⚠️ 问题 W-02**: 八项确认中仅 Canvas format 有隐含默认值 (`ppt169`),其余 7 项均无默认值。虽然 Step 4 是 BLOCKING 会等用户确认,但如果用户说"全部默认",AI 没有具体默认值可用。
73
- - **行号**: Step 4 八项确认列表处
74
- - **建议**: 在 `design_spec_reference.md` 或 `strategist.md` 中为每项定义合理默认值(如 Page count: 10-15, Style: professional modern, Color: blue/gray corporate, Typography: sans-serif 等)
75
-
76
- ### A3. 边界情况
77
-
78
- #### 源文档类型覆盖
79
- | 类型 | 流程是否走通 | 备注 |
80
- |------|-------------|------|
81
- | PDF | ✅ | `pdf_to_md.py` |
82
- | DOCX | ✅ | `doc_to_md.py` |
83
- | URL | ✅ | `web_to_md.py` / `web_to_md.cjs` |
84
- | Markdown | ✅ | 直接读取 |
85
- | 纯文字描述 | ✅ | Step 2 说明 "content is already in conversation context" |
86
- | EPUB/HTML/LaTeX/RST | ✅ | `doc_to_md.py` 统一处理 |
87
-
88
- #### 页数边界
89
- - **⚠️ 问题 W-03**: 无特殊处理逻辑。
90
- - **<10 页**: 无问题,正常流程。
91
- - **>100 页**: 无警告或分批策略。Sub-agent 分 2-3 批的规则 (Step 6) 在 100+ 页时可能不够 — 每批 30-50 页对 sub-agent 来说负担过重。
92
- - **行号**: Step 6 sub-agent 协作规则处
93
- - **建议**: 增加页数阈值判断,>50 页时增加批次数或提示用户确认
94
-
95
- #### 用户中途修改设计稿
96
- - **⚠️ 问题 W-04**: SKILL.md 无任何回退/修改机制描述。
97
- - 如果用户在 Step 6(SVG 生成中)要求修改 design_spec,没有指导如何回退
98
- - **建议**: 增加一个 "Revision Protocol" 小节,说明:
99
- 1. 修改 design_spec → 重新从 Step 6 开始
100
- 2. 修改个别页面 → 手动重写对应 SVG
101
- 3. 修改模板选择 → 需要从 Step 3 重新开始
102
-
103
- ### A4. 遗漏步骤
104
-
105
- - **⚠️ 问题 W-05**: 缺少最终用户交付确认步骤。Step 7.4 质量检查后直接结束,没有:
106
- 1. 向用户发送文件的明确步骤
107
- 2. 用户确认收到并满意的 checkpoint
108
- 3. 项目归档/清理的指导
109
- - **建议**: 增加 Step 8 "Delivery & Archive"
110
-
111
- ---
112
-
113
- ## B. 文档一致性
114
-
115
- ### B1. SKILL.md 引用的脚本 vs scripts/ 目录
116
-
117
- | SKILL.md 引用的脚本 | scripts/ 中是否存在 | 状态 |
118
- |---------------------|-------------------|------|
119
- | `pdf_to_md.py` | ✅ | OK |
120
- | `doc_to_md.py` | ✅ | OK |
121
- | `web_to_md.py` | ✅ | OK |
122
- | `web_to_md.cjs` | ✅ | OK |
123
- | `project_manager.py` | ✅ | OK |
124
- | `bid_init.py` | ✅ | OK |
125
- | `analyze_images.py` | ✅ | OK |
126
- | `image_gen.py` | ✅ | OK |
127
- | `arch_diagram.py` | ✅ | OK |
128
- | `svg_page_gen.py` | ✅ | OK |
129
- | `drawio_gen.py` | ✅ | OK |
130
- | `drawio_to_svg.py` | ✅ | OK |
131
- | `svg_quality_checker.py` | ✅ | OK |
132
- | `total_md_split.py` | ✅ | OK |
133
- | `finalize_svg.py` | ✅ | OK |
134
- | `svg_to_pptx.py` | ✅ | OK |
135
-
136
- **结论**: ✅ 所有 SKILL.md 引用的脚本都存在于 scripts/ 目录中。
137
-
138
- ### B2. SKILL.md 引用的 reference 文件 vs references/ 目录
139
-
140
- | SKILL.md 引用的文件 | references/ 中是否存在 | 状态 |
141
- |--------------------|---------------------|------|
142
- | `references/strategist.md` | ✅ | OK |
143
- | `references/executor-base.md` | ✅ | OK |
144
- | `references/executor-general.md` | ✅ | OK |
145
- | `references/executor-consultant.md` | ✅ | OK |
146
- | `references/executor-consultant-top.md` | ✅ | OK |
147
- | `references/image-generator.md` | ✅ | OK |
148
- | `references/shared-standards.md` | ✅ | OK |
149
- | `references/canvas-formats.md` | ✅ | OK |
150
- | `references/image-layout-spec.md` | ✅ | OK |
151
- | `references/svg-image-embedding.md` | ✅ | OK |
152
- | `references/drawio-integration.md` | ✅ | OK |
153
- | `references/bid-presentation.md` | ✅ | OK |
154
- | `references/bid-content-template.md` | ✅ | OK |
155
- | `templates/design_spec_reference.md` | ✅ | OK |
156
- | `workflows/create-template.md` | ✅ | OK |
157
-
158
- **额外发现**: `references/` 中有 `template-designer.md` 和 `company_intro.md`,它们在 SKILL.md 中未被直接引用(可能被 workflows/ 或其他 reference 文件间接引用)。不算 bug,但可考虑在 SKILL.md Reference Resources 表中补充。
159
-
160
- **结论**: ✅ 所有引用的 reference 文件都存在。
161
-
162
- ### B3. 脚本命令行参数一致性(抽查 5 个关键脚本)
163
-
164
- #### 1. `svg_to_pptx.py`
165
- - **SKILL.md 写法**: `python3 svg_to_pptx.py <project_path> -s final --only native`
166
- - **实际 --help**: 支持 `--only {native,legacy}` ✅
167
- - **⚠️ 问题 D-01**: SKILL.md 末尾 Notes 中写 "Do NOT add extra flags like `--only`",但 Step 7.3 的命令中明确使用了 `--only native`。**自相矛盾**。
168
- - **行号**: Step 7.3 命令 vs Notes 末尾
169
- - **建议**: 删除 Notes 中关于 `--only` 的禁止说明,因为 `--only native` 是推荐用法
170
-
171
- #### 2. `finalize_svg.py`
172
- - **SKILL.md 写法**: `python3 finalize_svg.py <project_path>`
173
- - **实际 --help**: `finalize_svg.py project_dir` ✅ 一致
174
- - **状态**: ✅ OK
175
-
176
- #### 3. `svg_quality_checker.py`
177
- - **SKILL.md 写法**: `python3 svg_quality_checker.py <project_path> --fix` 和 `--format ppt169`
178
- - **实际 help**: 支持 `<directory> --fix`,但 **不接受 `--help`**(用法通过无参数运行显示),也**未显示 `--format` 参数**。
179
- - **⚠️ 问题 D-02**: SKILL.md Step 7.2.5 中使用了 `--format ppt169` 参数,但脚本的用法说明中未列出此参数。可能是隐藏参数,也可能不存在。
180
- - **行号**: Step 7.2.5 第二条命令
181
- - **建议**: 确认 `--format` 参数是否真实存在。如果不存在,从 SKILL.md 中移除
182
-
183
- #### 4. `project_manager.py`
184
- - **SKILL.md 写法**: `python3 project_manager.py init <project_name> --format <format>`
185
- - **实际 help**: `init <project_name> [--format ppt169]` ✅ 一致
186
- - **状态**: ✅ OK
187
-
188
- #### 5. `image_gen.py`
189
- - **SKILL.md 写法**: `python image_gen.py "prompt" --aspect_ratio 16:9 --image_size 1K -o <dir>`
190
- - **实际 --help**: 支持 `--aspect_ratio`, `--image_size`, `-o` ✅ 一致
191
- - **状态**: ✅ OK
192
-
193
- ### B4. 示例命令可运行性
194
-
195
- | 命令 | 是否可运行 | 备注 |
196
- |------|-----------|------|
197
- | `python3 scripts/project_manager.py init test_project --format ppt169` | ✅ 可运行 | 需替换实际 project_name |
198
- | `python3 scripts/finalize_svg.py <project_path>` | ✅ 可运行 | 需要有效项目路径 |
199
- | `python3 scripts/svg_to_pptx.py <project_path> -s final --only native` | ✅ 可运行 | 参数匹配 |
200
- | `python3 scripts/svg_quality_checker.py <project_path> --fix` | ✅ 可运行 | |
201
- | `python3 scripts/svg_quality_checker.py <project_path> --format ppt169` | ⚠️ 存疑 | `--format` 参数未在 help 中出现 |
202
-
203
- ---
204
-
205
- ## 问题汇总
206
-
207
- ### 严重度: 🔴 Error / 🟡 Warning / 🟢 Info
208
-
209
- | ID | 严重度 | 类别 | 描述 | 位置 |
210
- |----|--------|------|------|------|
211
- | D-01 | 🔴 | 文档矛盾 | Step 7.3 使用 `--only native`,但 Notes 写"不要加 --only" | Step 7.3 + Notes |
212
- | D-02 | 🟡 | 参数不一致 | `svg_quality_checker.py --format ppt169` 参数在脚本 help 中未出现 | Step 7.2.5 |
213
- | W-01 | 🟡 | 流程遗漏 | 缺少最终交付确认步骤 | Step 7 末尾 |
214
- | W-02 | 🟡 | 默认值缺失 | 八项确认中 7/8 项无默认值 | Step 4 |
215
- | W-03 | 🟢 | 边界未处理 | >100 页时无特殊分批策略 | Step 6 |
216
- | W-04 | 🟡 | 流程缺失 | 无回退/修改机制 | 全局 |
217
- | W-05 | 🟡 | 流程遗漏 | 缺少项目归档/清理步骤 | Step 7 后 |
218
-
219
- ### 修复建议优先级
220
-
221
- 1. **D-01 (立即修复)**: 删除 Notes 中 "Do NOT add extra flags like `--only`" 的说明,因为 `--only native` 是当前推荐用法
222
- 2. **D-02 (验证)**: 运行 `svg_quality_checker.py <dir> --format ppt169` 确认参数是否有效;如无效则从 SKILL.md 移除
223
- 3. **W-04 (建议增加)**: 增加 "Revision Protocol" 小节
224
- 4. **W-02 (建议增加)**: 为八项确认增加默认值
225
- 5. **W-01/W-05 (建议增加)**: 增加 Step 8 交付与归档
226
-
227
- ---
228
-
229
- ## 总体评价
230
-
231
- **流程完整性: 8/10** — 主流程清晰、GATE/BLOCKING 标记准确、依赖关系正确。主要扣分项是缺少回退机制和交付确认步骤。
232
-
233
- **文档一致性: 9/10** — 所有脚本和 reference 文件都存在,命令行参数大部分一致。唯一的严重问题是 `--only` 的自相矛盾说明,以及 `--format` 参数的存疑。
@@ -1,51 +0,0 @@
1
- # Fix Report B: 述标模式通用化
2
-
3
- ## 修复摘要
4
-
5
- 将述标 PPT 流程从硬编码的网易/CodeWave 内容改造为通用模板框架。
6
-
7
- ## 修改文件清单
8
-
9
- ### 改造的文件
10
-
11
- | 文件 | 变更说明 |
12
- |------|---------|
13
- | `references/bid-presentation.md` | **核心改造**:将所有网易/CodeWave 硬编码内容替换为 `{占位符}`;新增"用户必填信息"章节,定义 Strategist 阶段需收集的公司信息(8个必填项 + 8个建议项);更新 Content Outline 示例使用占位符;配色方案改为基于 `{brand_color}`;快速生成流程增加公司匹配检查说明 |
14
- | `references/bid-content-template.md` | **核心改造**:55页内容全部通用化,第5-11页公司介绍、第18-32页核心优势、第34-40页案例、第42-48页服务、第50-55页交付全部使用占位符;删除具体的网易营收数据、员工姓名、产品细节等,保留页面结构和内容指引 |
15
- | `scripts/bid_init.py` | 增加警告信息:提示预制 SVG 包含特定公司内容,如投标公司不同需从零生成 |
16
-
17
- ### 新增的示例文件
18
-
19
- | 文件 | 说明 |
20
- |------|------|
21
- | `references/bid-example-netease.md` | 原 `bid-presentation.md` 的完整备份,添加"示例参考"标头 |
22
- | `references/bid-content-example-netease.md` | 原 `bid-content-template.md` 的完整备份,添加"示例参考"标头 |
23
-
24
- ## 通用化要点
25
-
26
- ### 占位符体系
27
-
28
- - `{company_name}` — 投标公司名称(替代"网易")
29
- - `{product_name}` — 核心产品名称(替代"CodeWave")
30
- - `{business_unit}` — 业务单元名称(替代"CodeWave业务中心")
31
- - `{brand_color}` — 品牌主色(替代 #C5282E)
32
- - 其他:`{company_founding_years}`, `{employee_count}`, `{company_slogan}`, `{website_url}` 等
33
-
34
- ### Strategist 集成
35
-
36
- - 新增用户信息收集步骤(在 Eight Confirmations 之前)
37
- - 支持从用户提供的公司介绍文档自动提取信息
38
- - 必填项未提供时逐项询问
39
-
40
- ### 向后兼容
41
-
42
- - `references/bid-svgs/` 中的预制 SVG 保持不变(仍为网易内容)
43
- - `references/company_intro.md` 和 `company_intro_images/` 保持不变
44
- - `bid_init.py` 机制不变,仅增加警告
45
- - 网易完整示例保存为 `bid-example-netease.md` + `bid-content-example-netease.md`
46
-
47
- ## 影响范围
48
-
49
- - 新的述标项目将使用通用模板,需要用户提供公司信息
50
- - 如果投标方恰好是网易,可直接参考示例文件快速填充
51
- - 现有的预制 SVG(bid-svgs/)仍可用于网易项目,其他公司需从零生成
@@ -1,41 +0,0 @@
1
- # Fix Report: Scripts Exception Handling
2
-
3
- ## Summary
4
-
5
- Added exception handling to 4 files across 3 scripts. No core logic was changed.
6
-
7
- ## Changes
8
-
9
- ### 1. `scripts/svg_to_pptx/pptx_cli.py`
10
- - **Top-level try/except**: Wrapped `main()` with `_main_impl()` pattern. Catches `KeyboardInterrupt` (exit 130), re-raises `SystemExit`, catches all other exceptions with type+message to stderr.
11
- - **Existing**: Per-slide error isolation was already present in `pptx_builder.py` — no changes needed there.
12
-
13
- ### 2. `scripts/svg_to_pptx/pptx_builder.py`
14
- - **Improved failure reporting**: Enhanced the final summary to explicitly note when slides failed and were skipped.
15
- - **Existing**: Per-slide `try/except Exception` isolation was already in place (each SVG page failure is caught, logged, and skipped). ✅
16
-
17
- ### 3. `scripts/svg_page_gen.py`
18
- - **Top-level try/except**: Same `main()` → `_main_impl()` pattern with `KeyboardInterrupt`, `SystemExit`, generic `Exception`.
19
- - **JSON parse error handling**: `json.JSONDecodeError` caught with clear error message pointing to the input file.
20
- - **File I/O errors**: `FileNotFoundError` and `IOError` caught for input file reading and output directory creation.
21
- - **Per-page error isolation**: Each page generation+write is now wrapped in try/except. Failed pages are skipped, counted, and listed in the final summary.
22
- - **Background image loading**: `load_bg()` now catches `IOError` and returns `None` gracefully instead of crashing.
23
-
24
- ### 4. `scripts/finalize_svg.py`
25
- - **Top-level try/except**: Same `main()` → `_main_impl()` pattern.
26
- - **Existing**: Individual step functions (`process_flatten_text`, `process_rounded_rect`) already had try/except. ✅
27
-
28
- ## Error Isolation Behavior
29
-
30
- | Script | Failure Scope | Behavior |
31
- |--------|--------------|----------|
32
- | `svg_to_pptx` | Single slide | Skip failed slide, continue others, report at end |
33
- | `svg_page_gen` | Single page | Skip failed page, continue others, list failures at end |
34
- | `finalize_svg` | Single step/file | Individual steps already isolated, top-level added |
35
-
36
- ## Design Decisions
37
- - Used `_main_impl()` pattern to keep arg parsing clean while wrapping everything
38
- - Specific exception types: `FileNotFoundError`, `json.JSONDecodeError`, `IOError`, `OSError`, `KeyboardInterrupt`
39
- - No bare `except:` anywhere — all catches are typed
40
- - Error messages include exception type name for debuggability
41
- - `sys.stderr` used for error output to separate from normal stdout