myagent-ai 1.0.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 (486) hide show
  1. package/Dockerfile +30 -0
  2. package/README.md +333 -0
  3. package/agents/__init__.py +6 -0
  4. package/agents/__pycache__/main_agent.cpython-312.pyc +0 -0
  5. package/agents/base.py +115 -0
  6. package/agents/main_agent.py +695 -0
  7. package/agents/memory_agent.py +313 -0
  8. package/agents/tool_agent.py +248 -0
  9. package/chatbot/__init__.py +5 -0
  10. package/chatbot/base.py +124 -0
  11. package/chatbot/discord_bot.py +146 -0
  12. package/chatbot/feishu_bot.py +548 -0
  13. package/chatbot/manager.py +164 -0
  14. package/chatbot/qq_bot.py +189 -0
  15. package/chatbot/telegram_bot.py +167 -0
  16. package/chatbot/wechat_bot.py +558 -0
  17. package/communication/__init__.py +66 -0
  18. package/communication/channel.py +576 -0
  19. package/communication/crypto.py +347 -0
  20. package/communication/manager.py +397 -0
  21. package/communication/peer.py +156 -0
  22. package/config.py +464 -0
  23. package/core/__init__.py +10 -0
  24. package/core/config_broadcast.py +276 -0
  25. package/core/llm.py +878 -0
  26. package/core/logger.py +241 -0
  27. package/core/task_queue.py +362 -0
  28. package/core/utils.py +184 -0
  29. package/executor/__init__.py +4 -0
  30. package/executor/__pycache__/engine.cpython-312.pyc +0 -0
  31. package/executor/engine.py +1215 -0
  32. package/groups/__init__.py +15 -0
  33. package/groups/manager.py +724 -0
  34. package/knowledge/__init__.py +4 -0
  35. package/knowledge/rag.py +444 -0
  36. package/main.py +801 -0
  37. package/memory/__init__.py +4 -0
  38. package/memory/manager.py +840 -0
  39. package/organization/__init__.py +4 -0
  40. package/organization/manager.py +350 -0
  41. package/package.json +58 -0
  42. package/requirements.txt +59 -0
  43. package/setup.py +40 -0
  44. package/skills/ASR/LICENSE.txt +21 -0
  45. package/skills/ASR/SKILL.md +580 -0
  46. package/skills/ASR/scripts/asr.ts +27 -0
  47. package/skills/LLM/LICENSE.txt +21 -0
  48. package/skills/LLM/SKILL.md +856 -0
  49. package/skills/LLM/scripts/chat.ts +32 -0
  50. package/skills/TTS/LICENSE.txt +21 -0
  51. package/skills/TTS/SKILL.md +735 -0
  52. package/skills/TTS/tts.ts +25 -0
  53. package/skills/VLM/LICENSE.txt +21 -0
  54. package/skills/VLM/SKILL.md +588 -0
  55. package/skills/VLM/scripts/vlm.ts +57 -0
  56. package/skills/__init__.py +5 -0
  57. package/skills/agent-browser/SKILL.md +328 -0
  58. package/skills/ai-news-collectors/SKILL.md +157 -0
  59. package/skills/ai-news-collectors/_meta.json +6 -0
  60. package/skills/ai-news-collectors/references/sources.md +128 -0
  61. package/skills/aminer-open-academic/SKILL.md +312 -0
  62. package/skills/aminer-open-academic/_meta.json +6 -0
  63. package/skills/aminer-open-academic/evals/evals.json +46 -0
  64. package/skills/aminer-open-academic/references/api-catalog.md +1032 -0
  65. package/skills/aminer-open-academic/scripts/__pycache__/aminer_client.cpython-312.pyc +0 -0
  66. package/skills/aminer-open-academic/scripts/aminer_client.py +875 -0
  67. package/skills/auto-target-tracker/SKILL.md +317 -0
  68. package/skills/base.py +147 -0
  69. package/skills/blog-writer/2024-02-17-radical-transparency-sales.md +35 -0
  70. package/skills/blog-writer/2024-02-17-raycast-spotlight-superpowers.md +33 -0
  71. package/skills/blog-writer/2024-02-17-short-form-content-marketing.md +47 -0
  72. package/skills/blog-writer/2024-02-17-typing-speed-benefits.md +33 -0
  73. package/skills/blog-writer/2024-03-14-effective-ai-prompts.md +55 -0
  74. package/skills/blog-writer/2024-11-08-ai-revolutionizing-entry-level-sales.md +43 -0
  75. package/skills/blog-writer/2025-11-12-why-ai-art-is-useless.md +49 -0
  76. package/skills/blog-writer/README.md +2 -0
  77. package/skills/blog-writer/SKILL.md +158 -0
  78. package/skills/blog-writer/__pycache__/manage_examples.cpython-312.pyc +0 -0
  79. package/skills/blog-writer/_meta.json +6 -0
  80. package/skills/blog-writer/manage_examples.py +90 -0
  81. package/skills/blog-writer/style-guide.md +160 -0
  82. package/skills/browser_skill.py +146 -0
  83. package/skills/coding-agent/SKILL.md +120 -0
  84. package/skills/coding-agent/_meta.json +6 -0
  85. package/skills/coding-agent/criteria.md +48 -0
  86. package/skills/coding-agent/execution.md +42 -0
  87. package/skills/coding-agent/memory-template.md +38 -0
  88. package/skills/coding-agent/planning.md +31 -0
  89. package/skills/coding-agent/state.md +60 -0
  90. package/skills/coding-agent/verification.md +39 -0
  91. package/skills/content-strategy/SKILL.md +181 -0
  92. package/skills/content-strategy/_meta.json +6 -0
  93. package/skills/contentanalysis/ExtractWisdom/SKILL.md +229 -0
  94. package/skills/contentanalysis/ExtractWisdom/Workflows/Extract.md +60 -0
  95. package/skills/contentanalysis/SKILL.md +14 -0
  96. package/skills/docx/CHANGELOG.md +85 -0
  97. package/skills/docx/LICENSE.txt +30 -0
  98. package/skills/docx/SKILL.md +455 -0
  99. package/skills/docx/docx-js.md +681 -0
  100. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  101. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  102. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  103. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  104. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  105. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  106. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  107. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  108. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  109. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  110. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  111. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  112. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  113. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  114. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  115. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  116. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  117. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  118. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  119. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  120. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  121. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  122. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  123. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  124. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  125. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  126. package/skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  127. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  128. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  129. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  130. package/skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  131. package/skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  132. package/skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  133. package/skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  134. package/skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  135. package/skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  136. package/skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  137. package/skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  138. package/skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  139. package/skills/docx/ooxml/scripts/__pycache__/pack.cpython-312.pyc +0 -0
  140. package/skills/docx/ooxml/scripts/__pycache__/unpack.cpython-312.pyc +0 -0
  141. package/skills/docx/ooxml/scripts/__pycache__/validate.cpython-312.pyc +0 -0
  142. package/skills/docx/ooxml/scripts/pack.py +159 -0
  143. package/skills/docx/ooxml/scripts/unpack.py +29 -0
  144. package/skills/docx/ooxml/scripts/validate.py +69 -0
  145. package/skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  146. package/skills/docx/ooxml/scripts/validation/__pycache__/__init__.cpython-312.pyc +0 -0
  147. package/skills/docx/ooxml/scripts/validation/__pycache__/base.cpython-312.pyc +0 -0
  148. package/skills/docx/ooxml/scripts/validation/__pycache__/docx.cpython-312.pyc +0 -0
  149. package/skills/docx/ooxml/scripts/validation/__pycache__/pptx.cpython-312.pyc +0 -0
  150. package/skills/docx/ooxml/scripts/validation/__pycache__/redlining.cpython-312.pyc +0 -0
  151. package/skills/docx/ooxml/scripts/validation/base.py +951 -0
  152. package/skills/docx/ooxml/scripts/validation/docx.py +274 -0
  153. package/skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  154. package/skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  155. package/skills/docx/ooxml.md +615 -0
  156. package/skills/docx/scripts/__init__.py +1 -0
  157. package/skills/docx/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
  158. package/skills/docx/scripts/__pycache__/add_toc_placeholders.cpython-312.pyc +0 -0
  159. package/skills/docx/scripts/__pycache__/document.cpython-312.pyc +0 -0
  160. package/skills/docx/scripts/__pycache__/utilities.cpython-312.pyc +0 -0
  161. package/skills/docx/scripts/add_toc_placeholders.py +220 -0
  162. package/skills/docx/scripts/document.py +1302 -0
  163. package/skills/docx/scripts/templates/comments.xml +3 -0
  164. package/skills/docx/scripts/templates/commentsExtended.xml +3 -0
  165. package/skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  166. package/skills/docx/scripts/templates/commentsIds.xml +3 -0
  167. package/skills/docx/scripts/templates/people.xml +3 -0
  168. package/skills/docx/scripts/utilities.py +374 -0
  169. package/skills/dream-interpreter/SKILL.md +88 -0
  170. package/skills/dream-interpreter/assets/example_asset.txt +24 -0
  171. package/skills/dream-interpreter/references/api_reference.md +34 -0
  172. package/skills/dream-interpreter/references/interpretation-guide.md +83 -0
  173. package/skills/dream-interpreter/references/output-schema.md +65 -0
  174. package/skills/dream-interpreter/references/questioning-strategy.md +62 -0
  175. package/skills/dream-interpreter/references/visual-mapping.md +81 -0
  176. package/skills/dream-interpreter/scripts/__pycache__/example.cpython-312.pyc +0 -0
  177. package/skills/dream-interpreter/scripts/example.py +19 -0
  178. package/skills/dream-interpreter/skill.json +7 -0
  179. package/skills/file_skill.py +246 -0
  180. package/skills/finance/Finance_API_Doc.md +445 -0
  181. package/skills/finance/SKILL.md +53 -0
  182. package/skills/fullstack-dev/SKILL.md +205 -0
  183. package/skills/get-fortune-analysis/SKILL.md +370 -0
  184. package/skills/get-fortune-analysis/lunar_python.py +91 -0
  185. package/skills/gift-evaluator/SKILL.md +83 -0
  186. package/skills/gift-evaluator/__pycache__/html_tools.cpython-312.pyc +0 -0
  187. package/skills/gift-evaluator/html_tools.py +268 -0
  188. package/skills/image-edit/LICENSE.txt +21 -0
  189. package/skills/image-edit/SKILL.md +896 -0
  190. package/skills/image-edit/scripts/image-edit.ts +36 -0
  191. package/skills/image-generation/LICENSE.txt +21 -0
  192. package/skills/image-generation/SKILL.md +583 -0
  193. package/skills/image-generation/scripts/image-generation.ts +28 -0
  194. package/skills/image-understand/LICENSE.txt +21 -0
  195. package/skills/image-understand/SKILL.md +855 -0
  196. package/skills/image-understand/scripts/image-understand.ts +41 -0
  197. package/skills/interview-designer/README.md +70 -0
  198. package/skills/interview-designer/SKILL.md +53 -0
  199. package/skills/interview-designer/_meta.json +6 -0
  200. package/skills/interview-designer/references/design_rationale.md +43 -0
  201. package/skills/interview-designer/templates/interview_guide_template.md +62 -0
  202. package/skills/market-research-reports/SKILL.md +901 -0
  203. package/skills/market-research-reports/assets/FORMATTING_GUIDE.md +428 -0
  204. package/skills/market-research-reports/assets/market_report_template.tex +1380 -0
  205. package/skills/market-research-reports/assets/market_research.sty +564 -0
  206. package/skills/market-research-reports/references/data_analysis_patterns.md +548 -0
  207. package/skills/market-research-reports/references/report_structure_guide.md +999 -0
  208. package/skills/market-research-reports/references/visual_generation_guide.md +1077 -0
  209. package/skills/market-research-reports/scripts/__pycache__/generate_market_visuals.cpython-312.pyc +0 -0
  210. package/skills/market-research-reports/scripts/generate_market_visuals.py +529 -0
  211. package/skills/marketing-mode/README.md +49 -0
  212. package/skills/marketing-mode/SKILL.md +693 -0
  213. package/skills/marketing-mode/_meta.json +6 -0
  214. package/skills/marketing-mode/mode-prompt.md +39 -0
  215. package/skills/marketing-mode/skill.json +51 -0
  216. package/skills/mindfulness-meditation/SKILL.md +65 -0
  217. package/skills/mindfulness-meditation/_meta.json +6 -0
  218. package/skills/multi-search-engine/CHANGELOG.md +15 -0
  219. package/skills/multi-search-engine/CHANNELLOG.md +48 -0
  220. package/skills/multi-search-engine/SKILL.md +78 -0
  221. package/skills/multi-search-engine/_meta.json +6 -0
  222. package/skills/multi-search-engine/config.json +14 -0
  223. package/skills/multi-search-engine/metadata.json +7 -0
  224. package/skills/multi-search-engine/references/international-search.md +651 -0
  225. package/skills/pdf/LICENSE.txt +30 -0
  226. package/skills/pdf/SKILL.md +1534 -0
  227. package/skills/pdf/forms.md +205 -0
  228. package/skills/pdf/reference.md +765 -0
  229. package/skills/pdf/scripts/__pycache__/add_zai_metadata.cpython-312.pyc +0 -0
  230. package/skills/pdf/scripts/__pycache__/check_bounding_boxes.cpython-312.pyc +0 -0
  231. package/skills/pdf/scripts/__pycache__/check_bounding_boxes_test.cpython-312.pyc +0 -0
  232. package/skills/pdf/scripts/__pycache__/check_fillable_fields.cpython-312.pyc +0 -0
  233. package/skills/pdf/scripts/__pycache__/convert_pdf_to_images.cpython-312.pyc +0 -0
  234. package/skills/pdf/scripts/__pycache__/create_validation_image.cpython-312.pyc +0 -0
  235. package/skills/pdf/scripts/__pycache__/extract_form_field_info.cpython-312.pyc +0 -0
  236. package/skills/pdf/scripts/__pycache__/fill_fillable_fields.cpython-312.pyc +0 -0
  237. package/skills/pdf/scripts/__pycache__/fill_pdf_form_with_annotations.cpython-312.pyc +0 -0
  238. package/skills/pdf/scripts/__pycache__/sanitize_code.cpython-312.pyc +0 -0
  239. package/skills/pdf/scripts/add_zai_metadata.py +172 -0
  240. package/skills/pdf/scripts/check_bounding_boxes.py +70 -0
  241. package/skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  242. package/skills/pdf/scripts/check_fillable_fields.py +12 -0
  243. package/skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  244. package/skills/pdf/scripts/create_validation_image.py +41 -0
  245. package/skills/pdf/scripts/extract_form_field_info.py +152 -0
  246. package/skills/pdf/scripts/fill_fillable_fields.py +114 -0
  247. package/skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  248. package/skills/pdf/scripts/sanitize_code.py +110 -0
  249. package/skills/podcast-generate/LICENSE.txt +21 -0
  250. package/skills/podcast-generate/SKILL.md +198 -0
  251. package/skills/podcast-generate/generate.ts +661 -0
  252. package/skills/podcast-generate/package.json +30 -0
  253. package/skills/podcast-generate/readme.md +177 -0
  254. package/skills/podcast-generate/test_data/segments.jsonl +3 -0
  255. package/skills/podcast-generate/tsconfig.json +26 -0
  256. package/skills/pptx/LICENSE.txt +30 -0
  257. package/skills/pptx/SKILL.md +507 -0
  258. package/skills/pptx/html2pptx.md +625 -0
  259. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  260. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  261. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  262. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  263. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  264. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  265. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  266. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  267. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  268. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  269. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  270. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  271. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  272. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  273. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  274. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  275. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  276. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  277. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  278. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  279. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  280. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  281. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  282. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  283. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  284. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  285. package/skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  286. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  287. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  288. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  289. package/skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  290. package/skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  291. package/skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  292. package/skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  293. package/skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  294. package/skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  295. package/skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  296. package/skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  297. package/skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  298. package/skills/pptx/ooxml/scripts/__pycache__/pack.cpython-312.pyc +0 -0
  299. package/skills/pptx/ooxml/scripts/__pycache__/unpack.cpython-312.pyc +0 -0
  300. package/skills/pptx/ooxml/scripts/__pycache__/validate.cpython-312.pyc +0 -0
  301. package/skills/pptx/ooxml/scripts/pack.py +159 -0
  302. package/skills/pptx/ooxml/scripts/unpack.py +29 -0
  303. package/skills/pptx/ooxml/scripts/validate.py +69 -0
  304. package/skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  305. package/skills/pptx/ooxml/scripts/validation/__pycache__/__init__.cpython-312.pyc +0 -0
  306. package/skills/pptx/ooxml/scripts/validation/__pycache__/base.cpython-312.pyc +0 -0
  307. package/skills/pptx/ooxml/scripts/validation/__pycache__/docx.cpython-312.pyc +0 -0
  308. package/skills/pptx/ooxml/scripts/validation/__pycache__/pptx.cpython-312.pyc +0 -0
  309. package/skills/pptx/ooxml/scripts/validation/__pycache__/redlining.cpython-312.pyc +0 -0
  310. package/skills/pptx/ooxml/scripts/validation/base.py +951 -0
  311. package/skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  312. package/skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  313. package/skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  314. package/skills/pptx/ooxml.md +427 -0
  315. package/skills/pptx/scripts/__pycache__/inventory.cpython-312.pyc +0 -0
  316. package/skills/pptx/scripts/__pycache__/inventory.cpython-313.pyc +0 -0
  317. package/skills/pptx/scripts/__pycache__/rearrange.cpython-312.pyc +0 -0
  318. package/skills/pptx/scripts/__pycache__/replace.cpython-312.pyc +0 -0
  319. package/skills/pptx/scripts/__pycache__/thumbnail.cpython-312.pyc +0 -0
  320. package/skills/pptx/scripts/html2pptx.js +1044 -0
  321. package/skills/pptx/scripts/inventory.py +1020 -0
  322. package/skills/pptx/scripts/rearrange.py +231 -0
  323. package/skills/pptx/scripts/replace.py +385 -0
  324. package/skills/pptx/scripts/thumbnail.py +450 -0
  325. package/skills/qingyan-research/SKILL.md +294 -0
  326. package/skills/qingyan-research/__pycache__/generate_html.cpython-312.pyc +0 -0
  327. package/skills/qingyan-research/generate_html.py +33 -0
  328. package/skills/registry.py +344 -0
  329. package/skills/search_skill.py +228 -0
  330. package/skills/seo-content-writer/SKILL.md +661 -0
  331. package/skills/seo-content-writer/_meta.json +6 -0
  332. package/skills/seo-content-writer/references/content-structure-templates.md +875 -0
  333. package/skills/seo-content-writer/references/title-formulas.md +339 -0
  334. package/skills/skill-creator/LICENSE.txt +202 -0
  335. package/skills/skill-creator/SKILL.md +485 -0
  336. package/skills/skill-creator/agents/analyzer.md +274 -0
  337. package/skills/skill-creator/agents/comparator.md +202 -0
  338. package/skills/skill-creator/agents/grader.md +223 -0
  339. package/skills/skill-creator/assets/eval_review.html +146 -0
  340. package/skills/skill-creator/eval-viewer/__pycache__/generate_review.cpython-312.pyc +0 -0
  341. package/skills/skill-creator/eval-viewer/generate_review.py +471 -0
  342. package/skills/skill-creator/eval-viewer/viewer.html +1325 -0
  343. package/skills/skill-creator/references/schemas.md +430 -0
  344. package/skills/skill-creator/scripts/__init__.py +0 -0
  345. package/skills/skill-creator/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
  346. package/skills/skill-creator/scripts/__pycache__/aggregate_benchmark.cpython-312.pyc +0 -0
  347. package/skills/skill-creator/scripts/__pycache__/generate_report.cpython-312.pyc +0 -0
  348. package/skills/skill-creator/scripts/__pycache__/improve_description.cpython-312.pyc +0 -0
  349. package/skills/skill-creator/scripts/__pycache__/package_skill.cpython-312.pyc +0 -0
  350. package/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
  351. package/skills/skill-creator/scripts/__pycache__/run_eval.cpython-312.pyc +0 -0
  352. package/skills/skill-creator/scripts/__pycache__/run_loop.cpython-312.pyc +0 -0
  353. package/skills/skill-creator/scripts/__pycache__/utils.cpython-312.pyc +0 -0
  354. package/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
  355. package/skills/skill-creator/scripts/generate_report.py +326 -0
  356. package/skills/skill-creator/scripts/improve_description.py +236 -0
  357. package/skills/skill-creator/scripts/package_skill.py +136 -0
  358. package/skills/skill-creator/scripts/quick_validate.py +103 -0
  359. package/skills/skill-creator/scripts/run_eval.py +310 -0
  360. package/skills/skill-creator/scripts/run_loop.py +328 -0
  361. package/skills/skill-creator/scripts/utils.py +47 -0
  362. package/skills/skill-finder-cn/SKILL.md +66 -0
  363. package/skills/skill-finder-cn/_meta.json +6 -0
  364. package/skills/skill-finder-cn/package.json +5 -0
  365. package/skills/skill-finder-cn/scripts/search.sh +15 -0
  366. package/skills/skill-vetter/SKILL.md +137 -0
  367. package/skills/stock-analysis-skill/SKILL.md +156 -0
  368. package/skills/stock-analysis-skill/package.json +21 -0
  369. package/skills/stock-analysis-skill/src/analyzer.ts +264 -0
  370. package/skills/stock-analysis-skill/src/dataFetcher.ts +130 -0
  371. package/skills/stock-analysis-skill/src/dividend.ts +226 -0
  372. package/skills/stock-analysis-skill/src/index.ts +327 -0
  373. package/skills/stock-analysis-skill/src/rumorScanner.ts +200 -0
  374. package/skills/stock-analysis-skill/src/types.ts +167 -0
  375. package/skills/stock-analysis-skill/src/watchlist.ts +292 -0
  376. package/skills/stock-analysis-skill/tsconfig.json +15 -0
  377. package/skills/storyboard-manager/SKILL.md +532 -0
  378. package/skills/storyboard-manager/index.js +9 -0
  379. package/skills/storyboard-manager/package.json +11 -0
  380. package/skills/storyboard-manager/references/character_development.md +232 -0
  381. package/skills/storyboard-manager/references/story_structures.md +148 -0
  382. package/skills/storyboard-manager/scripts/__pycache__/consistency_checker.cpython-312.pyc +0 -0
  383. package/skills/storyboard-manager/scripts/__pycache__/timeline_tracker.cpython-312.pyc +0 -0
  384. package/skills/storyboard-manager/scripts/consistency_checker.py +391 -0
  385. package/skills/storyboard-manager/scripts/timeline_tracker.py +352 -0
  386. package/skills/system_skill.py +249 -0
  387. package/skills/ui-ux-pro-max/SKILL.md +43 -0
  388. package/skills/ui-ux-pro-max/_meta.json +6 -0
  389. package/skills/ui-ux-pro-max/assets/data/charts.csv +26 -0
  390. package/skills/ui-ux-pro-max/assets/data/colors.csv +97 -0
  391. package/skills/ui-ux-pro-max/assets/data/icons.csv +101 -0
  392. package/skills/ui-ux-pro-max/assets/data/landing.csv +31 -0
  393. package/skills/ui-ux-pro-max/assets/data/products.csv +97 -0
  394. package/skills/ui-ux-pro-max/assets/data/react-performance.csv +45 -0
  395. package/skills/ui-ux-pro-max/assets/data/stacks/astro.csv +54 -0
  396. package/skills/ui-ux-pro-max/assets/data/stacks/flutter.csv +53 -0
  397. package/skills/ui-ux-pro-max/assets/data/stacks/html-tailwind.csv +56 -0
  398. package/skills/ui-ux-pro-max/assets/data/stacks/jetpack-compose.csv +53 -0
  399. package/skills/ui-ux-pro-max/assets/data/stacks/nextjs.csv +53 -0
  400. package/skills/ui-ux-pro-max/assets/data/stacks/nuxt-ui.csv +51 -0
  401. package/skills/ui-ux-pro-max/assets/data/stacks/nuxtjs.csv +59 -0
  402. package/skills/ui-ux-pro-max/assets/data/stacks/react-native.csv +52 -0
  403. package/skills/ui-ux-pro-max/assets/data/stacks/react.csv +54 -0
  404. package/skills/ui-ux-pro-max/assets/data/stacks/shadcn.csv +61 -0
  405. package/skills/ui-ux-pro-max/assets/data/stacks/svelte.csv +54 -0
  406. package/skills/ui-ux-pro-max/assets/data/stacks/swiftui.csv +51 -0
  407. package/skills/ui-ux-pro-max/assets/data/stacks/vue.csv +50 -0
  408. package/skills/ui-ux-pro-max/assets/data/styles.csv +68 -0
  409. package/skills/ui-ux-pro-max/assets/data/typography.csv +58 -0
  410. package/skills/ui-ux-pro-max/assets/data/ui-reasoning.csv +101 -0
  411. package/skills/ui-ux-pro-max/assets/data/ux-guidelines.csv +100 -0
  412. package/skills/ui-ux-pro-max/assets/data/web-interface.csv +31 -0
  413. package/skills/ui-ux-pro-max/data/charts.csv +26 -0
  414. package/skills/ui-ux-pro-max/data/colors.csv +97 -0
  415. package/skills/ui-ux-pro-max/data/icons.csv +101 -0
  416. package/skills/ui-ux-pro-max/data/landing.csv +31 -0
  417. package/skills/ui-ux-pro-max/data/products.csv +97 -0
  418. package/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  419. package/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  420. package/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  421. package/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  422. package/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  423. package/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  424. package/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  425. package/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  426. package/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  427. package/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  428. package/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  429. package/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  430. package/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  431. package/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  432. package/skills/ui-ux-pro-max/data/styles.csv +68 -0
  433. package/skills/ui-ux-pro-max/data/typography.csv +58 -0
  434. package/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  435. package/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  436. package/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  437. package/skills/ui-ux-pro-max/references/upstream-README.md +488 -0
  438. package/skills/ui-ux-pro-max/references/upstream-skill-content.md +288 -0
  439. package/skills/ui-ux-pro-max/scripts/__init__.py +0 -0
  440. package/skills/ui-ux-pro-max/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
  441. package/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-312.pyc +0 -0
  442. package/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-312.pyc +0 -0
  443. package/skills/ui-ux-pro-max/scripts/__pycache__/search.cpython-312.pyc +0 -0
  444. package/skills/ui-ux-pro-max/scripts/core.py +253 -0
  445. package/skills/ui-ux-pro-max/scripts/design_system.py +1071 -0
  446. package/skills/ui-ux-pro-max/scripts/search.py +111 -0
  447. package/skills/video-generation/LICENSE.txt +21 -0
  448. package/skills/video-generation/SKILL.md +1082 -0
  449. package/skills/video-generation/scripts/video.ts +168 -0
  450. package/skills/video-understand/LICENSE.txt +21 -0
  451. package/skills/video-understand/SKILL.md +916 -0
  452. package/skills/video-understand/scripts/video-understand.ts +41 -0
  453. package/skills/visual-design-foundations/SKILL.md +318 -0
  454. package/skills/visual-design-foundations/references/color-systems.md +417 -0
  455. package/skills/visual-design-foundations/references/spacing-iconography.md +425 -0
  456. package/skills/visual-design-foundations/references/typography-systems.md +432 -0
  457. package/skills/web-reader/LICENSE.txt +21 -0
  458. package/skills/web-reader/SKILL.md +1140 -0
  459. package/skills/web-reader/scripts/web-reader.ts +37 -0
  460. package/skills/web-search/LICENSE.txt +21 -0
  461. package/skills/web-search/SKILL.md +912 -0
  462. package/skills/web-search/scripts/web_search.ts +44 -0
  463. package/skills/web-shader-extractor/SKILL.md +145 -0
  464. package/skills/web-shader-extractor/references/config-extraction.md +50 -0
  465. package/skills/web-shader-extractor/references/encoded-definitions.md +53 -0
  466. package/skills/web-shader-extractor/references/extraction-workflow.md +61 -0
  467. package/skills/web-shader-extractor/references/porting-strategy.md +164 -0
  468. package/skills/web-shader-extractor/references/shader-injection.md +126 -0
  469. package/skills/web-shader-extractor/references/shaders-com.md +190 -0
  470. package/skills/web-shader-extractor/references/tech-signatures.md +54 -0
  471. package/skills/web-shader-extractor/references/tsl-extraction.md +41 -0
  472. package/skills/web-shader-extractor/references/unicorn-studio.md +353 -0
  473. package/skills/web-shader-extractor/scripts/fetch-rendered-dom.mjs +153 -0
  474. package/skills/web-shader-extractor/scripts/scan-bundle.sh +76 -0
  475. package/skills/writing-plans/SKILL.md +116 -0
  476. package/skills/writing-plans/_meta.json +6 -0
  477. package/skills/xlsx/LICENSE.txt +30 -0
  478. package/skills/xlsx/SKILL.md +496 -0
  479. package/skills/xlsx/__pycache__/recalc.cpython-312.pyc +0 -0
  480. package/skills/xlsx/recalc.py +178 -0
  481. package/start.sh +36 -0
  482. package/web/__init__.py +1 -0
  483. package/web/__pycache__/api_server.cpython-312.pyc +0 -0
  484. package/web/api_server.py +2043 -0
  485. package/web/ui/chat.html +3235 -0
  486. package/web/ui/index.html +458 -0
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <w:comments xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:oel="http://schemas.microsoft.com/office/2019/extlst" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16du="http://schemas.microsoft.com/office/word/2023/wordml/word16du" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16sdtfl="http://schemas.microsoft.com/office/word/2024/wordml/sdtformatlock" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh w16sdtfl w16du wp14">
3
+ </w:comments>
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <w15:commentsEx xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:oel="http://schemas.microsoft.com/office/2019/extlst" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16du="http://schemas.microsoft.com/office/word/2023/wordml/word16du" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16sdtfl="http://schemas.microsoft.com/office/word/2024/wordml/sdtformatlock" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh w16sdtfl w16du wp14">
3
+ </w15:commentsEx>
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <w16cex:commentsExtensible xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:oel="http://schemas.microsoft.com/office/2019/extlst" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16du="http://schemas.microsoft.com/office/word/2023/wordml/word16du" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16sdtfl="http://schemas.microsoft.com/office/word/2024/wordml/sdtformatlock" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" xmlns:cr="http://schemas.microsoft.com/office/comments/2020/reactions" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh w16sdtfl cr w16du wp14">
3
+ </w16cex:commentsExtensible>
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <w16cid:commentsIds xmlns:wpc="http://schemas.microsoft.com/office/word/2010/wordprocessingCanvas" xmlns:cx="http://schemas.microsoft.com/office/drawing/2014/chartex" xmlns:cx1="http://schemas.microsoft.com/office/drawing/2015/9/8/chartex" xmlns:cx2="http://schemas.microsoft.com/office/drawing/2015/10/21/chartex" xmlns:cx3="http://schemas.microsoft.com/office/drawing/2016/5/9/chartex" xmlns:cx4="http://schemas.microsoft.com/office/drawing/2016/5/10/chartex" xmlns:cx5="http://schemas.microsoft.com/office/drawing/2016/5/11/chartex" xmlns:cx6="http://schemas.microsoft.com/office/drawing/2016/5/12/chartex" xmlns:cx7="http://schemas.microsoft.com/office/drawing/2016/5/13/chartex" xmlns:cx8="http://schemas.microsoft.com/office/drawing/2016/5/14/chartex" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:aink="http://schemas.microsoft.com/office/drawing/2016/ink" xmlns:am3d="http://schemas.microsoft.com/office/drawing/2017/model3d" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:oel="http://schemas.microsoft.com/office/2019/extlst" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp14="http://schemas.microsoft.com/office/word/2010/wordprocessingDrawing" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml" xmlns:w16cex="http://schemas.microsoft.com/office/word/2018/wordml/cex" xmlns:w16cid="http://schemas.microsoft.com/office/word/2016/wordml/cid" xmlns:w16="http://schemas.microsoft.com/office/word/2018/wordml" xmlns:w16du="http://schemas.microsoft.com/office/word/2023/wordml/word16du" xmlns:w16sdtdh="http://schemas.microsoft.com/office/word/2020/wordml/sdtdatahash" xmlns:w16sdtfl="http://schemas.microsoft.com/office/word/2024/wordml/sdtformatlock" xmlns:w16se="http://schemas.microsoft.com/office/word/2015/wordml/symex" xmlns:wpg="http://schemas.microsoft.com/office/word/2010/wordprocessingGroup" xmlns:wpi="http://schemas.microsoft.com/office/word/2010/wordprocessingInk" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml" xmlns:wps="http://schemas.microsoft.com/office/word/2010/wordprocessingShape" mc:Ignorable="w14 w15 w16se w16cid w16 w16cex w16sdtdh w16sdtfl w16du wp14">
3
+ </w16cid:commentsIds>
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2
+ <w15:people xmlns:w15="http://schemas.microsoft.com/office/word/2012/wordml">
3
+ </w15:people>
@@ -0,0 +1,374 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Utilities for editing OOXML documents.
4
+
5
+ This module provides XMLEditor, a tool for manipulating XML files with support for
6
+ line-number-based node finding and DOM manipulation. Each element is automatically
7
+ annotated with its original line and column position during parsing.
8
+
9
+ Example usage:
10
+ editor = XMLEditor("document.xml")
11
+
12
+ # Find node by line number or range
13
+ elem = editor.get_node(tag="w:r", line_number=519)
14
+ elem = editor.get_node(tag="w:p", line_number=range(100, 200))
15
+
16
+ # Find node by text content
17
+ elem = editor.get_node(tag="w:p", contains="specific text")
18
+
19
+ # Find node by attributes
20
+ elem = editor.get_node(tag="w:r", attrs={"w:id": "target"})
21
+
22
+ # Combine filters
23
+ elem = editor.get_node(tag="w:p", line_number=range(1, 50), contains="text")
24
+
25
+ # Replace, insert, or manipulate
26
+ new_elem = editor.replace_node(elem, "<w:r><w:t>new text</w:t></w:r>")
27
+ editor.insert_after(new_elem, "<w:r><w:t>more</w:t></w:r>")
28
+
29
+ # Save changes
30
+ editor.save()
31
+ """
32
+
33
+ import html
34
+ from pathlib import Path
35
+ from typing import Optional, Union
36
+
37
+ import defusedxml.minidom
38
+ import defusedxml.sax
39
+
40
+
41
+ class XMLEditor:
42
+ """
43
+ Editor for manipulating OOXML XML files with line-number-based node finding.
44
+
45
+ This class parses XML files and tracks the original line and column position
46
+ of each element. This enables finding nodes by their line number in the original
47
+ file, which is useful when working with Read tool output.
48
+
49
+ Attributes:
50
+ xml_path: Path to the XML file being edited
51
+ encoding: Detected encoding of the XML file ('ascii' or 'utf-8')
52
+ dom: Parsed DOM tree with parse_position attributes on elements
53
+ """
54
+
55
+ def __init__(self, xml_path):
56
+ """
57
+ Initialize with path to XML file and parse with line number tracking.
58
+
59
+ Args:
60
+ xml_path: Path to XML file to edit (str or Path)
61
+
62
+ Raises:
63
+ ValueError: If the XML file does not exist
64
+ """
65
+ self.xml_path = Path(xml_path)
66
+ if not self.xml_path.exists():
67
+ raise ValueError(f"XML file not found: {xml_path}")
68
+
69
+ with open(self.xml_path, "rb") as f:
70
+ header = f.read(200).decode("utf-8", errors="ignore")
71
+ self.encoding = "ascii" if 'encoding="ascii"' in header else "utf-8"
72
+
73
+ parser = _create_line_tracking_parser()
74
+ self.dom = defusedxml.minidom.parse(str(self.xml_path), parser)
75
+
76
+ def get_node(
77
+ self,
78
+ tag: str,
79
+ attrs: Optional[dict[str, str]] = None,
80
+ line_number: Optional[Union[int, range]] = None,
81
+ contains: Optional[str] = None,
82
+ ):
83
+ """
84
+ Get a DOM element by tag and identifier.
85
+
86
+ Finds an element by either its line number in the original file or by
87
+ matching attribute values. Exactly one match must be found.
88
+
89
+ Args:
90
+ tag: The XML tag name (e.g., "w:del", "w:ins", "w:r")
91
+ attrs: Dictionary of attribute name-value pairs to match (e.g., {"w:id": "1"})
92
+ line_number: Line number (int) or line range (range) in original XML file (1-indexed)
93
+ contains: Text string that must appear in any text node within the element.
94
+ Supports both entity notation (&#8220;) and Unicode characters (\u201c).
95
+
96
+ Returns:
97
+ defusedxml.minidom.Element: The matching DOM element
98
+
99
+ Raises:
100
+ ValueError: If node not found or multiple matches found
101
+
102
+ Example:
103
+ elem = editor.get_node(tag="w:r", line_number=519)
104
+ elem = editor.get_node(tag="w:r", line_number=range(100, 200))
105
+ elem = editor.get_node(tag="w:del", attrs={"w:id": "1"})
106
+ elem = editor.get_node(tag="w:p", attrs={"w14:paraId": "12345678"})
107
+ elem = editor.get_node(tag="w:commentRangeStart", attrs={"w:id": "0"})
108
+ elem = editor.get_node(tag="w:p", contains="specific text")
109
+ elem = editor.get_node(tag="w:t", contains="&#8220;Agreement") # Entity notation
110
+ elem = editor.get_node(tag="w:t", contains="\u201cAgreement") # Unicode character
111
+ """
112
+ matches = []
113
+ for elem in self.dom.getElementsByTagName(tag):
114
+ # Check line_number filter
115
+ if line_number is not None:
116
+ parse_pos = getattr(elem, "parse_position", (None,))
117
+ elem_line = parse_pos[0]
118
+
119
+ # Handle both single line number and range
120
+ if isinstance(line_number, range):
121
+ if elem_line not in line_number:
122
+ continue
123
+ else:
124
+ if elem_line != line_number:
125
+ continue
126
+
127
+ # Check attrs filter
128
+ if attrs is not None:
129
+ if not all(
130
+ elem.getAttribute(attr_name) == attr_value
131
+ for attr_name, attr_value in attrs.items()
132
+ ):
133
+ continue
134
+
135
+ # Check contains filter
136
+ if contains is not None:
137
+ elem_text = self._get_element_text(elem)
138
+ # Normalize the search string: convert HTML entities to Unicode characters
139
+ # This allows searching for both "&#8220;Rowan" and ""Rowan"
140
+ normalized_contains = html.unescape(contains)
141
+ if normalized_contains not in elem_text:
142
+ continue
143
+
144
+ # If all applicable filters passed, this is a match
145
+ matches.append(elem)
146
+
147
+ if not matches:
148
+ # Build descriptive error message
149
+ filters = []
150
+ if line_number is not None:
151
+ line_str = (
152
+ f"lines {line_number.start}-{line_number.stop - 1}"
153
+ if isinstance(line_number, range)
154
+ else f"line {line_number}"
155
+ )
156
+ filters.append(f"at {line_str}")
157
+ if attrs is not None:
158
+ filters.append(f"with attributes {attrs}")
159
+ if contains is not None:
160
+ filters.append(f"containing '{contains}'")
161
+
162
+ filter_desc = " ".join(filters) if filters else ""
163
+ base_msg = f"Node not found: <{tag}> {filter_desc}".strip()
164
+
165
+ # Add helpful hint based on filters used
166
+ if contains:
167
+ hint = "Text may be split across elements or use different wording."
168
+ elif line_number:
169
+ hint = "Line numbers may have changed if document was modified."
170
+ elif attrs:
171
+ hint = "Verify attribute values are correct."
172
+ else:
173
+ hint = "Try adding filters (attrs, line_number, or contains)."
174
+
175
+ raise ValueError(f"{base_msg}. {hint}")
176
+ if len(matches) > 1:
177
+ raise ValueError(
178
+ f"Multiple nodes found: <{tag}>. "
179
+ f"Add more filters (attrs, line_number, or contains) to narrow the search."
180
+ )
181
+ return matches[0]
182
+
183
+ def _get_element_text(self, elem):
184
+ """
185
+ Recursively extract all text content from an element.
186
+
187
+ Skips text nodes that contain only whitespace (spaces, tabs, newlines),
188
+ which typically represent XML formatting rather than document content.
189
+
190
+ Args:
191
+ elem: defusedxml.minidom.Element to extract text from
192
+
193
+ Returns:
194
+ str: Concatenated text from all non-whitespace text nodes within the element
195
+ """
196
+ text_parts = []
197
+ for node in elem.childNodes:
198
+ if node.nodeType == node.TEXT_NODE:
199
+ # Skip whitespace-only text nodes (XML formatting)
200
+ if node.data.strip():
201
+ text_parts.append(node.data)
202
+ elif node.nodeType == node.ELEMENT_NODE:
203
+ text_parts.append(self._get_element_text(node))
204
+ return "".join(text_parts)
205
+
206
+ def replace_node(self, elem, new_content):
207
+ """
208
+ Replace a DOM element with new XML content.
209
+
210
+ Args:
211
+ elem: defusedxml.minidom.Element to replace
212
+ new_content: String containing XML to replace the node with
213
+
214
+ Returns:
215
+ List[defusedxml.minidom.Node]: All inserted nodes
216
+
217
+ Example:
218
+ new_nodes = editor.replace_node(old_elem, "<w:r><w:t>text</w:t></w:r>")
219
+ """
220
+ parent = elem.parentNode
221
+ nodes = self._parse_fragment(new_content)
222
+ for node in nodes:
223
+ parent.insertBefore(node, elem)
224
+ parent.removeChild(elem)
225
+ return nodes
226
+
227
+ def insert_after(self, elem, xml_content):
228
+ """
229
+ Insert XML content after a DOM element.
230
+
231
+ Args:
232
+ elem: defusedxml.minidom.Element to insert after
233
+ xml_content: String containing XML to insert
234
+
235
+ Returns:
236
+ List[defusedxml.minidom.Node]: All inserted nodes
237
+
238
+ Example:
239
+ new_nodes = editor.insert_after(elem, "<w:r><w:t>text</w:t></w:r>")
240
+ """
241
+ parent = elem.parentNode
242
+ next_sibling = elem.nextSibling
243
+ nodes = self._parse_fragment(xml_content)
244
+ for node in nodes:
245
+ if next_sibling:
246
+ parent.insertBefore(node, next_sibling)
247
+ else:
248
+ parent.appendChild(node)
249
+ return nodes
250
+
251
+ def insert_before(self, elem, xml_content):
252
+ """
253
+ Insert XML content before a DOM element.
254
+
255
+ Args:
256
+ elem: defusedxml.minidom.Element to insert before
257
+ xml_content: String containing XML to insert
258
+
259
+ Returns:
260
+ List[defusedxml.minidom.Node]: All inserted nodes
261
+
262
+ Example:
263
+ new_nodes = editor.insert_before(elem, "<w:r><w:t>text</w:t></w:r>")
264
+ """
265
+ parent = elem.parentNode
266
+ nodes = self._parse_fragment(xml_content)
267
+ for node in nodes:
268
+ parent.insertBefore(node, elem)
269
+ return nodes
270
+
271
+ def append_to(self, elem, xml_content):
272
+ """
273
+ Append XML content as a child of a DOM element.
274
+
275
+ Args:
276
+ elem: defusedxml.minidom.Element to append to
277
+ xml_content: String containing XML to append
278
+
279
+ Returns:
280
+ List[defusedxml.minidom.Node]: All inserted nodes
281
+
282
+ Example:
283
+ new_nodes = editor.append_to(elem, "<w:r><w:t>text</w:t></w:r>")
284
+ """
285
+ nodes = self._parse_fragment(xml_content)
286
+ for node in nodes:
287
+ elem.appendChild(node)
288
+ return nodes
289
+
290
+ def get_next_rid(self):
291
+ """Get the next available rId for relationships files."""
292
+ max_id = 0
293
+ for rel_elem in self.dom.getElementsByTagName("Relationship"):
294
+ rel_id = rel_elem.getAttribute("Id")
295
+ if rel_id.startswith("rId"):
296
+ try:
297
+ max_id = max(max_id, int(rel_id[3:]))
298
+ except ValueError:
299
+ pass
300
+ return f"rId{max_id + 1}"
301
+
302
+ def save(self):
303
+ """
304
+ Save the edited XML back to the file.
305
+
306
+ Serializes the DOM tree and writes it back to the original file path,
307
+ preserving the original encoding (ascii or utf-8).
308
+ """
309
+ content = self.dom.toxml(encoding=self.encoding)
310
+ self.xml_path.write_bytes(content)
311
+
312
+ def _parse_fragment(self, xml_content):
313
+ """
314
+ Parse XML fragment and return list of imported nodes.
315
+
316
+ Args:
317
+ xml_content: String containing XML fragment
318
+
319
+ Returns:
320
+ List of defusedxml.minidom.Node objects imported into this document
321
+
322
+ Raises:
323
+ AssertionError: If fragment contains no element nodes
324
+ """
325
+ # Extract namespace declarations from the root document element
326
+ root_elem = self.dom.documentElement
327
+ namespaces = []
328
+ if root_elem and root_elem.attributes:
329
+ for i in range(root_elem.attributes.length):
330
+ attr = root_elem.attributes.item(i)
331
+ if attr.name.startswith("xmlns"): # type: ignore
332
+ namespaces.append(f'{attr.name}="{attr.value}"') # type: ignore
333
+
334
+ ns_decl = " ".join(namespaces)
335
+ wrapper = f"<root {ns_decl}>{xml_content}</root>"
336
+ fragment_doc = defusedxml.minidom.parseString(wrapper)
337
+ nodes = [
338
+ self.dom.importNode(child, deep=True)
339
+ for child in fragment_doc.documentElement.childNodes # type: ignore
340
+ ]
341
+ elements = [n for n in nodes if n.nodeType == n.ELEMENT_NODE]
342
+ assert elements, "Fragment must contain at least one element"
343
+ return nodes
344
+
345
+
346
+ def _create_line_tracking_parser():
347
+ """
348
+ Create a SAX parser that tracks line and column numbers for each element.
349
+
350
+ Monkey patches the SAX content handler to store the current line and column
351
+ position from the underlying expat parser onto each element as a parse_position
352
+ attribute (line, column) tuple.
353
+
354
+ Returns:
355
+ defusedxml.sax.xmlreader.XMLReader: Configured SAX parser
356
+ """
357
+
358
+ def set_content_handler(dom_handler):
359
+ def startElementNS(name, tagName, attrs):
360
+ orig_start_cb(name, tagName, attrs)
361
+ cur_elem = dom_handler.elementStack[-1]
362
+ cur_elem.parse_position = (
363
+ parser._parser.CurrentLineNumber, # type: ignore
364
+ parser._parser.CurrentColumnNumber, # type: ignore
365
+ )
366
+
367
+ orig_start_cb = dom_handler.startElementNS
368
+ dom_handler.startElementNS = startElementNS
369
+ orig_set_content_handler(dom_handler)
370
+
371
+ parser = defusedxml.sax.make_parser()
372
+ orig_set_content_handler = parser.setContentHandler
373
+ parser.setContentHandler = set_content_handler # type: ignore
374
+ return parser
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: dream-interpreter
3
+ description: AI 解梦大师。用户描述梦境,智能追问关键细节后,从三个视角(周公解梦/心理分析/赛博神棍)生成解读,输出结构化 JSON 供前端渲染"梦境解析卡"。
4
+ ---
5
+
6
+ # dream-interpreter
7
+
8
+ AI 解梦大师。用户描述梦境,智能追问关键细节后,从三个视角(周公解梦/心理分析/赛博神棍)生成解读,输出结构化 JSON 供前端渲染"梦境解析卡"。
9
+
10
+ ## When to use
11
+
12
+ - 用户说"我梦到..."、"昨晚做了个梦"、"帮我解个梦"等
13
+ - NOT for: 清醒梦教学、睡眠质量分析、真正的心理咨询
14
+
15
+ ## Session flow
16
+
17
+ ### Phase 1: 梦境收集 + 追问
18
+
19
+ 1. 用户描述梦境
20
+ 2. 从描述中提取关键意象,找出最影响解读方向的模糊点
21
+ 3. 追问最多 3 个问题(可以更少),每个聚焦一个维度:
22
+
23
+ 追问维度优先级:
24
+ - **情绪**:"掉下去的时候害怕还是放松?" → 决定焦虑型/释放型
25
+ - **环境**:"那个地方你认识吗?" → 关联生活领域
26
+ - **人物**:"梦里的那个人你认识吗?" → 判断投射对象
27
+ - **结局**:"最后怎么样了?" → 决定解读走向
28
+
29
+ 追问规则:
30
+ - 用户描述已经很详细 → 少问或不问
31
+ - 用户不想回答 → 跳过,用合理默认值
32
+ - 追问本身要有角色感,不是审问
33
+
34
+ ### Phase 2: 生成解读
35
+
36
+ 收集完信息后,生成三个视角的解读。每个视角独立分析,风格差异要大。
37
+
38
+ 读取 `interpretation-guide.md` 获取三个视角的详细指南。
39
+
40
+ ### Phase 3: 输出结构化 JSON
41
+
42
+ 按 `output-schema.md` 中的格式输出 JSON,供前端渲染。
43
+
44
+ JSON 包含:梦境摘要、关键词、情绪分类、配色方案、视觉元素列表、三视角解读内容、综合建议、可分享文案。
45
+
46
+ 读取 `visual-mapping.md` 将意象映射为视觉元素和配色。
47
+
48
+ ## Output format
49
+
50
+ **追问阶段**:纯文本对话,角色感强
51
+
52
+ **解读阶段**:输出 JSON 代码块,格式遵循 `output-schema.md`
53
+
54
+ 示例:
55
+
56
+ 追问:
57
+ ```
58
+ 嗯...高楼上掉下去...
59
+ 问你几个事:
60
+ 1. 掉的时候你是害怕还是反而觉得挺爽?
61
+ 2. 那个楼你认识吗?公司?家?还是没见过的地方?
62
+ 3. 最后落地了吗?还是一直在掉?
63
+ ```
64
+
65
+ 解读输出:
66
+ ```json
67
+ {
68
+ "dream_summary": "从陌生高楼坠落,感到恐惧,没有落地",
69
+ "keywords": ["高楼", "坠落", "恐惧", "无尽下落"],
70
+ "mood": "anxious",
71
+ "color_scheme": "dark",
72
+ "visual_elements": ["building", "falling_particles", "dark_bg", "blur_lights"],
73
+ "interpretations": {
74
+ "zhouGong": { ... },
75
+ "freud": { ... },
76
+ "cyber": { ... }
77
+ },
78
+ "overall_advice": "...",
79
+ "shareable_text": "..."
80
+ }
81
+ ```
82
+
83
+ ## References
84
+
85
+ - `interpretation-guide.md` — 三视角解读详细指南和风格要求
86
+ - `visual-mapping.md` — 梦境意象 → 视觉元素/配色的映射表
87
+ - `output-schema.md` — JSON 输出格式完整规范
88
+ - `questioning-strategy.md` — 追问策略和示例库
@@ -0,0 +1,24 @@
1
+ # Example Asset File
2
+
3
+ This placeholder represents where asset files would be stored.
4
+ Replace with actual asset files (templates, images, fonts, etc.) or delete if not needed.
5
+
6
+ Asset files are NOT intended to be loaded into context, but rather used within
7
+ the output Claude produces.
8
+
9
+ Example asset files from other skills:
10
+ - Brand guidelines: logo.png, slides_template.pptx
11
+ - Frontend builder: hello-world/ directory with HTML/React boilerplate
12
+ - Typography: custom-font.ttf, font-family.woff2
13
+ - Data: sample_data.csv, test_dataset.json
14
+
15
+ ## Common Asset Types
16
+
17
+ - Templates: .pptx, .docx, boilerplate directories
18
+ - Images: .png, .jpg, .svg, .gif
19
+ - Fonts: .ttf, .otf, .woff, .woff2
20
+ - Boilerplate code: Project directories, starter files
21
+ - Icons: .ico, .svg
22
+ - Data files: .csv, .json, .xml, .yaml
23
+
24
+ Note: This is a text placeholder. Actual assets can be any file type.
@@ -0,0 +1,34 @@
1
+ # Reference Documentation for Dream Interpreter
2
+
3
+ This is a placeholder for detailed reference documentation.
4
+ Replace with actual reference content or delete if not needed.
5
+
6
+ Example real reference docs from other skills:
7
+ - product-management/references/communication.md - Comprehensive guide for status updates
8
+ - product-management/references/context_building.md - Deep-dive on gathering context
9
+ - bigquery/references/ - API references and query examples
10
+
11
+ ## When Reference Docs Are Useful
12
+
13
+ Reference docs are ideal for:
14
+ - Comprehensive API documentation
15
+ - Detailed workflow guides
16
+ - Complex multi-step processes
17
+ - Information too lengthy for main SKILL.md
18
+ - Content that's only needed for specific use cases
19
+
20
+ ## Structure Suggestions
21
+
22
+ ### API Reference Example
23
+ - Overview
24
+ - Authentication
25
+ - Endpoints with examples
26
+ - Error codes
27
+ - Rate limits
28
+
29
+ ### Workflow Guide Example
30
+ - Prerequisites
31
+ - Step-by-step instructions
32
+ - Common patterns
33
+ - Troubleshooting
34
+ - Best practices
@@ -0,0 +1,83 @@
1
+ # 三视角解读指南
2
+
3
+ 每个视角必须独立分析,给出不同甚至矛盾的结论。不要三个视角说同一件事换个措辞。
4
+
5
+ ## 🔮 周公解梦(传统玄学)
6
+
7
+ **知识基础:** 中国传统解梦体系 + 民间说法
8
+
9
+ **核心意象对照(常用):**
10
+ - 水 = 财运(清水=正财,浑水=偏财或破财)
11
+ - 蛇 = 小人或财运(看情境)
12
+ - 牙齿掉落 = 亲人健康或自信问题
13
+ - 飞行 = 升迁、心愿达成
14
+ - 坠落 = 运势下滑、不稳定
15
+ - 死亡 = 重生、旧事结束
16
+ - 考试 = 机遇或焦虑
17
+ - 裸体 = 秘密暴露
18
+ - 被追 = 逃避某事
19
+ - 动物 = 根据动物种类对应不同寓意
20
+
21
+ **语气要求:**
22
+ - 古风但不装,像庙里那个很灵的老师傅
23
+ - 一本正经,言之凿凿
24
+ - 可以说"此梦主..."、"近日宜..."
25
+ - 给出明确的吉凶判断 + 运势建议
26
+
27
+ **输出结构:**
28
+ - content: 主体解读(100-200字)
29
+ - fortune: 吉/凶/中性偏X
30
+ - advice: 一句话建议(宜什么、忌什么)
31
+
32
+ ## 🧠 弗洛伊德 / 心理分析
33
+
34
+ **知识基础:** 精神分析 + 认知心理学 + 常见梦境心理学研究
35
+
36
+ **分析角度:**
37
+ - 潜意识欲望和压抑
38
+ - 近期压力源的投射
39
+ - 未完成事件的心理加工
40
+ - 自我认知和安全感
41
+ - 控制感 vs 失控感
42
+
43
+ **语气要求:**
44
+ - 专业但温和,像一个好的心理咨询师
45
+ - 不评判,只分析
46
+ - 用"可能反映了..."、"这或许与...有关"等非绝对表达
47
+ - 给出可操作的心理建议
48
+
49
+ **输出结构:**
50
+ - content: 心理分析(100-200字)
51
+ - insight: 一句话核心洞察
52
+ - advice: 一个具体的自我关照建议
53
+
54
+ ## 🌀 赛博神棍
55
+
56
+ **知识基础:** 没有知识基础,纯脑洞
57
+
58
+ **可以扯的方向:**
59
+ - 平行宇宙记忆泄漏
60
+ - 量子意识纠缠
61
+ - 前世记忆碎片
62
+ - 外星文明信号
63
+ - 你的潜意识在玩某个游戏
64
+ - 概率论/混沌理论的荒诞应用
65
+ - 用数学公式解梦(瞎编的公式)
66
+
67
+ **语气要求:**
68
+ - 极度自信,像真的有一台"量子梦境分析仪"
69
+ - 一本正经地胡说八道
70
+ - 越离谱越好,但逻辑要自洽(在它自己的疯狂体系里)
71
+ - 建议部分要搞笑但具体("建议今天穿红色袜子建立跨维度共鸣")
72
+
73
+ **输出结构:**
74
+ - content: 赛博解读(100-200字)
75
+ - prediction: 一句离谱预言
76
+ - advice: 一个搞笑但具体的行动建议
77
+
78
+ ## 综合建议
79
+
80
+ 三个视角写完后,生成一段 overall_advice:
81
+ - 提取三个视角中的共性(如果有)
82
+ - 如果三个完全矛盾,就说"这个梦很有意思,不同角度看差异很大"
83
+ - 语气回归中立,简短,1-2句话