@duckmind/deepquark-darwin-arm64 0.9.78 → 0.9.81

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 (240) hide show
  1. package/.deepquark/skills/bundled/data-storytelling/SKILL.md +453 -0
  2. package/.deepquark/skills/bundled/docx/LICENSE.txt +30 -0
  3. package/.deepquark/skills/bundled/docx/SKILL.md +481 -0
  4. package/.deepquark/skills/bundled/docx/scripts/__init__.py +1 -0
  5. package/.deepquark/skills/bundled/docx/scripts/accept_changes.py +135 -0
  6. package/.deepquark/skills/bundled/docx/scripts/comment.py +318 -0
  7. package/.deepquark/skills/bundled/docx/scripts/office/helpers/__init__.py +0 -0
  8. package/.deepquark/skills/bundled/docx/scripts/office/helpers/merge_runs.py +199 -0
  9. package/.deepquark/skills/bundled/docx/scripts/office/helpers/simplify_redlines.py +197 -0
  10. package/.deepquark/skills/bundled/docx/scripts/office/pack.py +159 -0
  11. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  12. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  13. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  14. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  15. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  16. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  17. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  18. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  19. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  20. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  21. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  22. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  23. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  24. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  25. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  26. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  27. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  28. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  29. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  30. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  31. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  32. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  33. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  34. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  35. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  36. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  37. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  38. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  39. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  40. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  41. package/.deepquark/skills/bundled/docx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  42. package/.deepquark/skills/bundled/docx/scripts/office/schemas/mce/mc.xsd +75 -0
  43. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  44. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  45. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  46. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  47. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  48. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  49. package/.deepquark/skills/bundled/docx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  50. package/.deepquark/skills/bundled/docx/scripts/office/soffice.py +183 -0
  51. package/.deepquark/skills/bundled/docx/scripts/office/unpack.py +132 -0
  52. package/.deepquark/skills/bundled/docx/scripts/office/validate.py +111 -0
  53. package/.deepquark/skills/bundled/docx/scripts/office/validators/__init__.py +15 -0
  54. package/.deepquark/skills/bundled/docx/scripts/office/validators/base.py +847 -0
  55. package/.deepquark/skills/bundled/docx/scripts/office/validators/docx.py +446 -0
  56. package/.deepquark/skills/bundled/docx/scripts/office/validators/pptx.py +275 -0
  57. package/.deepquark/skills/bundled/docx/scripts/office/validators/redlining.py +247 -0
  58. package/.deepquark/skills/bundled/docx/scripts/templates/comments.xml +3 -0
  59. package/.deepquark/skills/bundled/docx/scripts/templates/commentsExtended.xml +3 -0
  60. package/.deepquark/skills/bundled/docx/scripts/templates/commentsExtensible.xml +3 -0
  61. package/.deepquark/skills/bundled/docx/scripts/templates/commentsIds.xml +3 -0
  62. package/.deepquark/skills/bundled/docx/scripts/templates/people.xml +3 -0
  63. package/.deepquark/skills/bundled/drawio-architect/SKILL.md +300 -0
  64. package/.deepquark/skills/bundled/drawio-architect/references/architecture-patterns.md +236 -0
  65. package/.deepquark/skills/bundled/drawio-architect/references/branding.md +180 -0
  66. package/.deepquark/skills/bundled/drawio-architect/references/cloud-icons.md +493 -0
  67. package/.deepquark/skills/bundled/drawio-architect/references/style-guide.md +268 -0
  68. package/.deepquark/skills/bundled/duckmind-deep-research/ARCHITECTURE_REVIEW.md +495 -0
  69. package/.deepquark/skills/bundled/duckmind-deep-research/AUTONOMY_VERIFICATION.md +420 -0
  70. package/.deepquark/skills/bundled/duckmind-deep-research/COMPETITIVE_ANALYSIS.md +179 -0
  71. package/.deepquark/skills/bundled/duckmind-deep-research/CONTEXT_OPTIMIZATION.md +293 -0
  72. package/.deepquark/skills/bundled/duckmind-deep-research/QUICK_START.md +167 -0
  73. package/.deepquark/skills/bundled/duckmind-deep-research/README.md +259 -0
  74. package/.deepquark/skills/bundled/duckmind-deep-research/SKILL.md +754 -0
  75. package/.deepquark/skills/bundled/duckmind-deep-research/WORD_PRECISION_AUDIT.md +476 -0
  76. package/.deepquark/skills/bundled/duckmind-deep-research/reference/methodology.md +384 -0
  77. package/.deepquark/skills/bundled/duckmind-deep-research/requirements.txt +10 -0
  78. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/citation_manager.py +177 -0
  79. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/md_to_html.py +330 -0
  80. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/research_engine.py +578 -0
  81. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/source_evaluator.py +292 -0
  82. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/validate_report.py +354 -0
  83. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/verify_citations.py +430 -0
  84. package/.deepquark/skills/bundled/duckmind-deep-research/scripts/verify_html.py +220 -0
  85. package/.deepquark/skills/bundled/duckmind-deep-research/templates/mckinsey_report_template.html +443 -0
  86. package/.deepquark/skills/bundled/duckmind-deep-research/templates/report_template.md +414 -0
  87. package/.deepquark/skills/bundled/duckmind-deep-research/tests/fixtures/invalid_report.md +27 -0
  88. package/.deepquark/skills/bundled/duckmind-deep-research/tests/fixtures/valid_report.md +114 -0
  89. package/.deepquark/skills/bundled/duckmind-multimodal/SKILL.md +171 -0
  90. package/.deepquark/skills/bundled/duckmind-multimodal/references/image-generation.md +131 -0
  91. package/.deepquark/skills/bundled/duckmind-multimodal/references/pdf-processing.md +120 -0
  92. package/.deepquark/skills/bundled/duckmind-transcribe/SKILL.md +70 -0
  93. package/.deepquark/skills/bundled/duckmind-transcribe/scripts/transcribe.sh +134 -0
  94. package/.deepquark/skills/bundled/excel-analysis/SKILL.md +247 -0
  95. package/.deepquark/skills/bundled/ge-payroll/SKILL.md +153 -0
  96. package/.deepquark/skills/bundled/ge-payroll/evals/evals.json +23 -0
  97. package/.deepquark/skills/bundled/ge-payroll/references/pain-points-improvements.md +106 -0
  98. package/.deepquark/skills/bundled/ge-payroll/references/process-detail.md +217 -0
  99. package/.deepquark/skills/bundled/ge-payroll/references/raci-stakeholders.md +85 -0
  100. package/.deepquark/skills/bundled/ge-payroll/references/timeline-mandays.md +64 -0
  101. package/.deepquark/skills/bundled/pdf/LICENSE.txt +30 -0
  102. package/.deepquark/skills/bundled/pdf/SKILL.md +314 -0
  103. package/.deepquark/skills/bundled/pdf/forms.md +294 -0
  104. package/.deepquark/skills/bundled/pdf/reference.md +612 -0
  105. package/.deepquark/skills/bundled/pdf/scripts/check_bounding_boxes.py +65 -0
  106. package/.deepquark/skills/bundled/pdf/scripts/check_fillable_fields.py +11 -0
  107. package/.deepquark/skills/bundled/pdf/scripts/convert_pdf_to_images.py +33 -0
  108. package/.deepquark/skills/bundled/pdf/scripts/create_validation_image.py +37 -0
  109. package/.deepquark/skills/bundled/pdf/scripts/extract_form_field_info.py +122 -0
  110. package/.deepquark/skills/bundled/pdf/scripts/extract_form_structure.py +115 -0
  111. package/.deepquark/skills/bundled/pdf/scripts/fill_fillable_fields.py +98 -0
  112. package/.deepquark/skills/bundled/pdf/scripts/fill_pdf_form_with_annotations.py +107 -0
  113. package/.deepquark/skills/bundled/perplexity-search/SKILL.md +447 -0
  114. package/.deepquark/skills/bundled/perplexity-search/assets/.env.example +16 -0
  115. package/.deepquark/skills/bundled/perplexity-search/references/model_comparison.md +386 -0
  116. package/.deepquark/skills/bundled/perplexity-search/references/openrouter_setup.md +454 -0
  117. package/.deepquark/skills/bundled/perplexity-search/references/search_strategies.md +258 -0
  118. package/.deepquark/skills/bundled/perplexity-search/scripts/perplexity_search.py +277 -0
  119. package/.deepquark/skills/bundled/perplexity-search/scripts/setup_env.py +171 -0
  120. package/.deepquark/skills/bundled/pptx/LICENSE.txt +30 -0
  121. package/.deepquark/skills/bundled/pptx/SKILL.md +232 -0
  122. package/.deepquark/skills/bundled/pptx/editing.md +205 -0
  123. package/.deepquark/skills/bundled/pptx/pptxgenjs.md +420 -0
  124. package/.deepquark/skills/bundled/pptx/scripts/__init__.py +0 -0
  125. package/.deepquark/skills/bundled/pptx/scripts/add_slide.py +195 -0
  126. package/.deepquark/skills/bundled/pptx/scripts/clean.py +286 -0
  127. package/.deepquark/skills/bundled/pptx/scripts/office/helpers/__init__.py +0 -0
  128. package/.deepquark/skills/bundled/pptx/scripts/office/helpers/merge_runs.py +199 -0
  129. package/.deepquark/skills/bundled/pptx/scripts/office/helpers/simplify_redlines.py +197 -0
  130. package/.deepquark/skills/bundled/pptx/scripts/office/pack.py +159 -0
  131. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  132. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  133. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  134. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  135. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  136. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  137. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  138. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  139. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  140. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  141. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  142. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  143. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  144. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  145. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  146. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  147. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  148. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  149. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  150. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  151. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  152. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  153. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  154. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  155. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  156. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  157. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  158. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  159. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  160. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  161. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  162. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/mce/mc.xsd +75 -0
  163. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  164. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  165. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  166. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  167. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  168. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  169. package/.deepquark/skills/bundled/pptx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  170. package/.deepquark/skills/bundled/pptx/scripts/office/soffice.py +183 -0
  171. package/.deepquark/skills/bundled/pptx/scripts/office/unpack.py +132 -0
  172. package/.deepquark/skills/bundled/pptx/scripts/office/validate.py +111 -0
  173. package/.deepquark/skills/bundled/pptx/scripts/office/validators/__init__.py +15 -0
  174. package/.deepquark/skills/bundled/pptx/scripts/office/validators/base.py +847 -0
  175. package/.deepquark/skills/bundled/pptx/scripts/office/validators/docx.py +446 -0
  176. package/.deepquark/skills/bundled/pptx/scripts/office/validators/pptx.py +275 -0
  177. package/.deepquark/skills/bundled/pptx/scripts/office/validators/redlining.py +247 -0
  178. package/.deepquark/skills/bundled/pptx/scripts/thumbnail.py +289 -0
  179. package/.deepquark/skills/bundled/text-to-pdf-automation/SKILL.md +91 -0
  180. package/.deepquark/skills/bundled/web-fetch/SKILL.md +56 -0
  181. package/.deepquark/skills/bundled/web-fetch/scripts/fetch.sh +54 -0
  182. package/.deepquark/skills/bundled/xlsx/LICENSE.txt +30 -0
  183. package/.deepquark/skills/bundled/xlsx/SKILL.md +292 -0
  184. package/.deepquark/skills/bundled/xlsx/scripts/office/helpers/__init__.py +0 -0
  185. package/.deepquark/skills/bundled/xlsx/scripts/office/helpers/merge_runs.py +199 -0
  186. package/.deepquark/skills/bundled/xlsx/scripts/office/helpers/simplify_redlines.py +197 -0
  187. package/.deepquark/skills/bundled/xlsx/scripts/office/pack.py +159 -0
  188. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  189. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  190. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  191. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  192. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  193. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  194. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  195. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  196. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  197. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  198. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  199. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  200. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  201. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  202. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  203. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  204. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  205. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  206. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  207. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  208. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  209. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  210. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  211. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  212. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  213. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  214. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  215. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  216. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  217. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  218. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  219. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/mce/mc.xsd +75 -0
  220. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-2010.xsd +560 -0
  221. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-2012.xsd +67 -0
  222. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-2018.xsd +14 -0
  223. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -0
  224. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -0
  225. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  226. package/.deepquark/skills/bundled/xlsx/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -0
  227. package/.deepquark/skills/bundled/xlsx/scripts/office/soffice.py +183 -0
  228. package/.deepquark/skills/bundled/xlsx/scripts/office/unpack.py +132 -0
  229. package/.deepquark/skills/bundled/xlsx/scripts/office/validate.py +111 -0
  230. package/.deepquark/skills/bundled/xlsx/scripts/office/validators/__init__.py +15 -0
  231. package/.deepquark/skills/bundled/xlsx/scripts/office/validators/base.py +847 -0
  232. package/.deepquark/skills/bundled/xlsx/scripts/office/validators/docx.py +446 -0
  233. package/.deepquark/skills/bundled/xlsx/scripts/office/validators/pptx.py +275 -0
  234. package/.deepquark/skills/bundled/xlsx/scripts/office/validators/redlining.py +247 -0
  235. package/.deepquark/skills/bundled/xlsx/scripts/recalc.py +184 -0
  236. package/.deepquark/skills/bundled/youtube-downloader/SKILL.md +99 -0
  237. package/.deepquark/skills/bundled/youtube-downloader/scripts/download_video.py +145 -0
  238. package/.deepquark/skills/bundled/youtube-transcribe-skill/SKILL.md +116 -0
  239. package/bin/deepquark +0 -0
  240. package/package.json +4 -3
@@ -0,0 +1,754 @@
1
+ ---
2
+ name: deep-research
3
+ description: Conduct enterprise-grade research with multi-source synthesis, citation tracking, and verification. Use when user needs comprehensive analysis requiring 10+ sources, verified claims, or comparison of approaches. Triggers include "deep research", "comprehensive analysis", "research report", "compare X vs Y", or "analyze trends". Do NOT use for simple lookups, debugging, or questions answerable with 1-2 searches.
4
+ ---
5
+
6
+ # Deep Research
7
+
8
+ <!-- STATIC CONTEXT BLOCK START - Optimized for prompt caching -->
9
+ <!-- All static instructions, methodology, and templates below this line -->
10
+ <!-- Dynamic content (user queries, results) added after this block -->
11
+
12
+ ## Core System Instructions
13
+
14
+ **Purpose:** Deliver citation-backed, verified research reports through 8-phase pipeline (Scope → Plan → Retrieve → Triangulate → Synthesize → Critique → Refine → Package) with source credibility scoring and progressive context management.
15
+
16
+ **Primary Research Engine:** This skill uses **Perplexity Sonar Deep Research** (via OpenRouter) as its primary retrieval engine. Sonar Deep Research is a multi-step research model that autonomously searches, reads, and evaluates sources — performing deep synthesis across complex topics including finance, technology, health, and current events. It is invoked at the start of Phase 3 before any other searches, and its output forms the backbone of the final report.
17
+
18
+ **Context Strategy:** This skill uses 2025 context engineering best practices:
19
+ - Static instructions cached (this section)
20
+ - Progressive disclosure (load references only when needed)
21
+ - Avoid "loss in the middle" (critical info at start/end, not buried)
22
+ - Explicit section markers for context navigation
23
+
24
+ ---
25
+
26
+ ## OpenRouter / Sonar Deep Research Integration
27
+
28
+ ### API Key Resolution
29
+
30
+ **Priority order for resolving the OpenRouter API key:**
31
+
32
+ 1. **DeepQuark local auth store** (preferred):
33
+ ```bash
34
+ cat ~/.local/share/deepquark/auth.json | python3 -c "
35
+ import json, sys
36
+ data = json.load(sys.stdin)
37
+ key = data.get('duckmind').get('key')
38
+ print(key or '')
39
+ "
40
+ ```
41
+
42
+ 2. **Environment variable** (fallback):
43
+ ```bash
44
+ echo $DUCKMIND_API_KEY
45
+ ```
46
+
47
+ 3. **If neither found:** Abort Sonar phase → fall back to parallel WebSearch only. Log warning:
48
+ ```
49
+ ⚠️ DUCKMIND API key not found. Falling back to WebSearch-only mode.
50
+ ```
51
+
52
+ ### Calling Sonar Deep Research
53
+
54
+ **Endpoint:** `https://openrouter.ai/api/v1/chat/completions`
55
+ **Model:** `perplexity/sonar-deep-research`
56
+
57
+ **Python invocation (run via bash_tool):**
58
+
59
+ ```python
60
+ #!/usr/bin/env python3
61
+ """sonar_research.py — Call Perplexity Sonar Deep Research via OpenRouter"""
62
+
63
+ import json, sys, os, urllib.request, urllib.error
64
+
65
+ def get_api_key():
66
+ # 1. Try DeepQuark auth store
67
+ auth_path = os.path.expanduser("~/.local/share/deepquark/auth.json")
68
+ if os.path.exists(auth_path):
69
+ try:
70
+ with open(auth_path) as f:
71
+ data = json.load(f)
72
+ key = data.get("duckmind").get("key")
73
+ if key:
74
+ return key
75
+ except Exception:
76
+ pass
77
+ # 2. Try env var
78
+ return os.environ.get("duckmind", "")
79
+
80
+ def sonar_research(query: str, mode: str = "standard") -> dict:
81
+ api_key = get_api_key()
82
+ if not api_key:
83
+ return {"error": "no_api_key", "content": None}
84
+
85
+ # Adjust system prompt by mode
86
+ depth_instruction = {
87
+ "quick": "Provide a concise but comprehensive overview with key findings and citations.",
88
+ "standard": "Provide a thorough multi-section research report with detailed findings, evidence, and citations.",
89
+ "deep": "Provide an exhaustive analysis. Investigate all angles, counterarguments, and nuances. Prioritize source diversity and verification.",
90
+ "ultradeep": "Conduct maximum-depth investigation. Synthesize across all available sources. Include contradictory findings, limitations, and gaps in current knowledge.",
91
+ }.get(mode, "Provide a thorough research report with detailed findings and citations.")
92
+
93
+ payload = {
94
+ "model": "perplexity/sonar-deep-research",
95
+ "messages": [
96
+ {
97
+ "role": "system",
98
+ "content": (
99
+ "You are an expert research analyst. "
100
+ + depth_instruction
101
+ + " Always cite your sources inline using numbered references [1], [2], etc. "
102
+ "Include a full bibliography at the end. "
103
+ "Distinguish clearly between verified facts and analytical synthesis. "
104
+ "Do not fabricate sources or citations."
105
+ )
106
+ },
107
+ {
108
+ "role": "user",
109
+ "content": query
110
+ }
111
+ ],
112
+ "max_tokens": 8000,
113
+ "temperature": 0.2
114
+ }
115
+
116
+ req = urllib.request.Request(
117
+ "https://openrouter.ai/api/v1/chat/completions",
118
+ data=json.dumps(payload).encode(),
119
+ headers={
120
+ "Authorization": f"Bearer {api_key}",
121
+ "Content-Type": "application/json",
122
+ "HTTP-Referer": "https://deepquark.ai",
123
+ "X-Title": "DeepQuark Deep Research Skill"
124
+ },
125
+ method="POST"
126
+ )
127
+
128
+ try:
129
+ with urllib.request.urlopen(req, timeout=120) as resp:
130
+ result = json.loads(resp.read().decode())
131
+ content = result["choices"][0]["message"]["content"]
132
+ usage = result.get("usage", {})
133
+ return {"error": None, "content": content, "usage": usage}
134
+ except urllib.error.HTTPError as e:
135
+ body = e.read().decode()
136
+ return {"error": f"http_{e.code}", "content": None, "detail": body}
137
+ except Exception as e:
138
+ return {"error": str(e), "content": None}
139
+
140
+ if __name__ == "__main__":
141
+ query = sys.argv[1] if len(sys.argv) > 1 else ""
142
+ mode = sys.argv[2] if len(sys.argv) > 2 else "standard"
143
+ if not query:
144
+ print(json.dumps({"error": "no_query"}))
145
+ sys.exit(1)
146
+ result = sonar_research(query, mode)
147
+ print(json.dumps(result, ensure_ascii=False, indent=2))
148
+ ```
149
+
150
+ **Usage in Phase 3:**
151
+ ```bash
152
+ python3 /tmp/sonar_research.py "Your research question here" "standard"
153
+ ```
154
+
155
+ ### Sonar Output Processing
156
+
157
+ After receiving Sonar's response:
158
+
159
+ 1. **Extract citations:** Parse inline `[N]` references and the bibliography block.
160
+ 2. **Renumber citations:** Sonar uses its own numbering; renumber sequentially starting from `[1]` in the master report's citation tracker.
161
+ 3. **Tag Sonar findings:** Prefix each Sonar-sourced finding with `[Sonar]` in internal working notes (stripped before final report).
162
+ 4. **Credibility floor:** Sonar sources inherit a baseline credibility score of **70/100** (verified multi-source synthesis). Downgrade individual sources only if they are clearly low-quality (blog, anonymous, undated).
163
+ 5. **Gap detection:** Identify topics Sonar did NOT cover → route these to supplementary WebSearch in Phase 3.
164
+
165
+ ### Fallback Behavior
166
+
167
+ If Sonar call fails for any reason:
168
+
169
+ ```
170
+ ⚠️ Sonar Deep Research unavailable: [error reason]
171
+ Falling back to parallel WebSearch mode (Phase 3 standard).
172
+ Research will proceed — expect slightly reduced source depth for [topic area].
173
+ ```
174
+
175
+ Continue with 5–10 parallel WebSearch calls as documented in standard Phase 3.
176
+
177
+ ---
178
+
179
+ ## Decision Tree (Execute First)
180
+
181
+ ```
182
+ Request Analysis
183
+ ├─ Simple lookup? → STOP: Use WebSearch, not this skill
184
+ ├─ Debugging? → STOP: Use standard tools, not this skill
185
+ └─ Complex analysis needed? → CONTINUE
186
+
187
+ Mode Selection
188
+ ├─ Initial exploration? → quick (3 phases, 2-5 min)
189
+ ├─ Standard research? → standard (6 phases, 5-10 min) [DEFAULT]
190
+ ├─ Critical decision? → deep (8 phases, 10-20 min)
191
+ └─ Comprehensive review? → ultradeep (8+ phases, 20-45 min)
192
+
193
+ Execution Loop (per phase)
194
+ ├─ Load phase instructions from [methodology](./reference/methodology.md#phase-N)
195
+ ├─ Execute phase tasks
196
+ ├─ Spawn parallel agents if applicable
197
+ └─ Update progress
198
+
199
+ Validation Gate
200
+ ├─ Run `python scripts/validate_report.py --report [path]`
201
+ ├─ Pass? → Deliver
202
+ └─ Fail? → Fix (max 2 attempts) → Still fails? → Escalate
203
+ ```
204
+
205
+ ---
206
+
207
+ ## Workflow (Clarify → Plan → Act → Verify → Report)
208
+
209
+ **AUTONOMY PRINCIPLE:** This skill operates independently. Infer assumptions from query context. Only stop for critical errors or incomprehensible queries.
210
+
211
+ ### 1. Clarify (Rarely Needed - Prefer Autonomy)
212
+
213
+ **DEFAULT: Proceed autonomously. Derive assumptions from query signals.**
214
+
215
+ **ONLY ask if CRITICALLY ambiguous:**
216
+ - Query is incomprehensible (e.g., "research the thing")
217
+ - Contradictory requirements (e.g., "quick 50-source ultradeep analysis")
218
+
219
+ **When in doubt: PROCEED with standard mode. User will redirect if incorrect.**
220
+
221
+ **Default assumptions:**
222
+ - Technical query → Assume technical audience
223
+ - Comparison query → Assume balanced perspective needed
224
+ - Trend query → Assume recent 1-2 years unless specified
225
+ - Standard mode is default for most queries
226
+
227
+ ---
228
+
229
+ ### 2. Plan
230
+
231
+ **Mode selection criteria:**
232
+ - **Quick** (2-5 min): Exploration, broad overview, time-sensitive
233
+ - **Standard** (5-10 min): Most use cases, balanced depth/speed [DEFAULT]
234
+ - **Deep** (10-20 min): Important decisions, need thorough verification
235
+ - **UltraDeep** (20-45 min): Critical analysis, maximum rigor
236
+
237
+ **Announce plan and execute:**
238
+ - Briefly state: selected mode, estimated time, Sonar status, number of sources
239
+ - Example: "Starting standard mode research (5-10 min, Sonar + 15-30 supplementary sources)"
240
+ - Proceed without waiting for approval
241
+
242
+ ---
243
+
244
+ ### 3. Act (Phase Execution)
245
+
246
+ **All modes execute:**
247
+ - Phase 1: SCOPE - Define boundaries ([method](./reference/methodology.md#phase-1-scope))
248
+ - **Phase 3: RETRIEVE - Sonar-first parallel information gathering** (see below)
249
+ - Phase 8: PACKAGE - Generate report using [template](./templates/report_template.md)
250
+
251
+ **Standard/Deep/UltraDeep execute:**
252
+ - Phase 2: PLAN - Strategy formulation
253
+ - Phase 4: TRIANGULATE - Verify 3+ sources per claim
254
+ - Phase 4.5: OUTLINE REFINEMENT - Adapt structure based on evidence (WebWeaver 2025)
255
+ - Phase 5: SYNTHESIZE - Generate novel insights
256
+
257
+ **Deep/UltraDeep execute:**
258
+ - Phase 6: CRITIQUE - Red-team analysis
259
+ - Phase 7: REFINE - Address gaps
260
+
261
+ ---
262
+
263
+ ### Phase 3: RETRIEVE — Sonar-First Parallel Gathering
264
+
265
+ **Step 3.0: Resolve API Key**
266
+ ```bash
267
+ # Attempt to read from DeepQuark auth store
268
+ python3 -c "
269
+ import json, os
270
+ p = os.path.expanduser('~/.local/share/deepquark/auth.json')
271
+ if os.path.exists(p):
272
+ d = json.load(open(p))
273
+ k = d.get('duckmind').get('key')
274
+ print(k or '')
275
+ "
276
+ ```
277
+
278
+ **Step 3.1: Sonar Deep Research Call (Primary)**
279
+
280
+ Write `sonar_research.py` to `/tmp/` and execute:
281
+ ```bash
282
+ python3 /tmp/sonar_research.py "[full research question]" "[mode]"
283
+ ```
284
+
285
+ - Timeout: 120 seconds
286
+ - On success: Parse output → extract findings + citations → add to report backbone
287
+ - On failure: Log fallback warning → proceed to Step 3.2
288
+
289
+ **Step 3.2: Gap Analysis**
290
+
291
+ After reviewing Sonar output, identify topics not covered or needing verification. These gaps drive supplementary WebSearch queries.
292
+
293
+ **Step 3.3: Parallel Supplementary Searches**
294
+
295
+ Launch ALL remaining searches in a **single message** (multiple tool calls simultaneously):
296
+
297
+ ```
298
+ [Single message — ALL tool calls launched at once]
299
+ WebSearch #1: [gap topic 1]
300
+ WebSearch #2: [gap topic 2]
301
+ WebSearch #3: Recent 2024-2025 developments
302
+ WebSearch #4: Academic / primary source verification
303
+ WebSearch #5: Critical perspectives / counterarguments
304
+ WebSearch #6: Industry / market data
305
+ Task agent #1: Deep-dive on [specific sub-topic]
306
+ Task agent #2: Primary source document review
307
+ ```
308
+
309
+ **❌ WRONG — sequential:**
310
+ ```
311
+ Sonar → wait → WebSearch #1 → wait → WebSearch #2 → wait...
312
+ ```
313
+
314
+ **✅ CORRECT — parallel after Sonar:**
315
+ ```
316
+ Sonar call (Step 3.1) → Parse gaps → Launch ALL supplementary searches simultaneously (Step 3.3)
317
+ ```
318
+
319
+ **Quality threshold monitoring (FFS pattern):**
320
+ - Track source count and average credibility score
321
+ - Sonar contributes a baseline of ~10-20 sources at 70+ credibility
322
+ - Supplementary searches bring total to mode-specific threshold
323
+ - Proceed to Phase 4 when threshold reached
324
+
325
+ ---
326
+
327
+ **Critical: Avoid "Loss in the Middle"**
328
+ - Place key findings at START and END of sections, not buried
329
+ - Use explicit headers and markers
330
+ - Structure: Summary → Details → Conclusion (not Details sandwiched)
331
+
332
+ **Progressive Context Loading:**
333
+ - Load [methodology](./reference/methodology.md) sections on-demand
334
+ - Load [template](./templates/report_template.md) only for Phase 8
335
+ - Do not inline everything - reference external files
336
+
337
+ **Anti-Hallucination Protocol (CRITICAL):**
338
+ - **Source grounding**: Every factual claim MUST cite a specific source immediately [N]
339
+ - **Clear boundaries**: Distinguish between FACTS (from sources) and SYNTHESIS (your analysis)
340
+ - **Explicit markers**: Use "According to [1]..." or "[1] reports..." for source-grounded statements
341
+ - **No speculation without labeling**: Mark inferences as "This suggests..." not "Research shows..."
342
+ - **Verify before citing**: If unsure whether source actually says X, do NOT fabricate citation
343
+ - **When uncertain**: Say "No sources found for X" rather than inventing references
344
+ - **Sonar-specific**: Sonar citations are pre-verified by Sonar's own retrieval. Still include in bibliography with URL if available.
345
+
346
+ ---
347
+
348
+ ### 4. Verify (Always Execute)
349
+
350
+ **Step 1: Citation Verification (Catches Fabricated Sources)**
351
+
352
+ ```bash
353
+ python scripts/verify_citations.py --report [path]
354
+ ```
355
+
356
+ **Checks:**
357
+ - DOI resolution (verifies citation actually exists)
358
+ - Title/year matching (detects mismatched metadata)
359
+ - Flags suspicious entries (2024+ without DOI, no URL, failed verification)
360
+
361
+ **If suspicious citations found:**
362
+ - Review flagged entries manually
363
+ - Remove or replace fabricated sources
364
+ - Re-run until clean
365
+
366
+ **Step 2: Structure & Quality Validation**
367
+
368
+ ```bash
369
+ python scripts/validate_report.py --report [path]
370
+ ```
371
+
372
+ **8 automated checks:**
373
+ 1. Executive summary length (50-250 words)
374
+ 2. Required sections present (+ recommended: Claims table, Counterevidence)
375
+ 3. Citations formatted [1], [2], [3]
376
+ 4. Bibliography matches citations
377
+ 5. No placeholder text (TBD, TODO)
378
+ 6. Word count reasonable (500-10000)
379
+ 7. Minimum 10 sources
380
+ 8. No broken internal links
381
+
382
+ **If fails:**
383
+ - Attempt 1: Auto-fix formatting/links
384
+ - Attempt 2: Manual review + correction
385
+ - After 2 failures: **STOP** → Report issues → Ask user
386
+
387
+ ---
388
+
389
+ ### 5. Report
390
+
391
+ **CRITICAL: Generate COMPREHENSIVE, DETAILED markdown reports**
392
+
393
+ **File Organization (CRITICAL - Clean Accessibility):**
394
+
395
+ **1. Create Organized Folder in Documents:**
396
+ - ALWAYS create dedicated folder: `~/Documents/[TopicName]_Research_[YYYYMMDD]/`
397
+ - Extract clean topic name from research question (remove special chars, use underscores/CamelCase)
398
+ - Examples:
399
+ - "psilocybin research 2025" → `~/Documents/Psilocybin_Research_20251104/`
400
+ - "compare React vs Vue" → `~/Documents/React_vs_Vue_Research_20251104/`
401
+ - "AI safety trends" → `~/Documents/AI_Safety_Trends_Research_20251104/`
402
+ - If folder exists, use it; if not, create it
403
+ - This ensures clean organization and easy accessibility
404
+
405
+ **2. Save All Formats to Same Folder:**
406
+
407
+ **Markdown (Primary Source):**
408
+ - Save to: `[Documents folder]/research_report_[YYYYMMDD]_[topic_slug].md`
409
+ - Also save copy to: `~/.claude/research_output/` (internal tracking)
410
+ - Full detailed report with all findings
411
+
412
+ **HTML (McKinsey Style - ALWAYS GENERATE):**
413
+ - Save to: `[Documents folder]/research_report_[YYYYMMDD]_[topic_slug].html`
414
+ - Use McKinsey template: [mckinsey_template](./templates/mckinsey_report_template.html)
415
+ - Design principles: Sharp corners (NO border-radius), muted corporate colors (navy #003d5c, gray #f8f9fa), ultra-compact layout, info-first structure
416
+ - Place critical metrics dashboard at top (extract 3-4 key quantitative findings)
417
+ - Use data tables for dense information presentation
418
+ - 14px base font, compact spacing, no decorative gradients or colors
419
+ - **Attribution Gradients (2025):** Wrap each citation [N] in `<span class="citation">` with nested tooltip div showing source details
420
+ - OPEN in browser automatically after generation
421
+
422
+ **PDF (Professional Print - ALWAYS GENERATE):**
423
+ - Save to: `[Documents folder]/research_report_[YYYYMMDD]_[topic_slug].pdf`
424
+ - Use generating-pdf skill (via Task tool with general-purpose agent)
425
+ - Professional formatting with headers, page numbers
426
+ - OPEN in default PDF viewer after generation
427
+
428
+ **3. File Naming Convention:**
429
+ All files use same base name for easy matching:
430
+ - `research_report_20251104_psilocybin_2025.md`
431
+ - `research_report_20251104_psilocybin_2025.html`
432
+ - `research_report_20251104_psilocybin_2025.pdf`
433
+
434
+ **Length Requirements (UNLIMITED with Progressive Assembly):**
435
+ - Quick mode: 2,000+ words (baseline quality threshold)
436
+ - Standard mode: 4,000+ words (comprehensive analysis)
437
+ - Deep mode: 6,000+ words (thorough investigation)
438
+ - UltraDeep mode: 10,000-50,000+ words (NO UPPER LIMIT - as comprehensive as evidence warrants)
439
+
440
+ **How Unlimited Length Works:**
441
+ Progressive file assembly allows ANY report length by generating section-by-section.
442
+ Each section is written to file immediately (avoiding output token limits).
443
+ Complex topics with many findings? Generate 20, 30, 50+ findings - no constraint!
444
+
445
+ **Content Requirements:**
446
+ - Use [template](./templates/report_template.md) as exact structure
447
+ - Generate each section to APPROPRIATE depth (determined by evidence, not word targets)
448
+ - Include specific data, statistics, dates, numbers (not vague statements)
449
+ - Multiple paragraphs per finding with evidence (as many as needed)
450
+ - Each section gets focused generation attention
451
+ - DO NOT write summaries - write FULL analysis
452
+
453
+ **Writing Standards:**
454
+ - **Narrative-driven**: Write in flowing prose. Each finding tells a story with beginning (context), middle (evidence), end (implications)
455
+ - **Precision**: Every word deliberately chosen, carries intention
456
+ - **Economy**: No fluff, eliminate fancy grammar, unnecessary modifiers
457
+ - **Clarity**: Exact numbers embedded in sentences ("The study demonstrated a 23% reduction in mortality"), not isolated in bullets
458
+ - **Directness**: State findings without embellishment
459
+ - **High signal-to-noise**: Dense information, respect reader's time
460
+
461
+ **Bullet Point Policy (Anti-Fatigue Enforcement):**
462
+ - Use bullets SPARINGLY: Only for distinct lists (product names, company roster, enumerated steps)
463
+ - NEVER use bullets as primary content delivery - they fragment thinking
464
+ - Each findings section requires substantive prose paragraphs (3-5+ paragraphs minimum)
465
+ - Example: Instead of "• Market size: $2.4B" write "The global market reached $2.4 billion in 2023, driven by increasing consumer demand and regulatory tailwinds [1]."
466
+
467
+ **Anti-Fatigue Quality Check (Apply to EVERY Section):**
468
+ Before considering a section complete, verify:
469
+ - [ ] **Paragraph count**: ≥3 paragraphs for major sections (## headings)
470
+ - [ ] **Prose-first**: <20% of content is bullet points (≥80% must be flowing prose)
471
+ - [ ] **No placeholders**: Zero instances of "Content continues", "Due to length", "[Sections X-Y]"
472
+ - [ ] **Evidence-rich**: Specific data points, statistics, quotes (not vague statements)
473
+ - [ ] **Citation density**: Major claims cited within same sentence
474
+
475
+ **If ANY check fails:** Regenerate the section before moving to next.
476
+
477
+ **Source Attribution Standards (Critical for Preventing Fabrication):**
478
+ - **Immediate citation**: Every factual claim followed by [N] citation in same sentence
479
+ - **Quote sources directly**: Use "According to [1]..." or "[1] reports..." for factual statements
480
+ - **Distinguish fact from synthesis**:
481
+ - ✅ GOOD: "Mortality decreased 23% (p<0.01) in the treatment group [1]."
482
+ - ❌ BAD: "Studies show mortality improved significantly."
483
+ - **No vague attributions**:
484
+ - ❌ NEVER: "Research suggests...", "Studies show...", "Experts believe..."
485
+ - ✅ ALWAYS: "Smith et al. (2024) found..." [1], "According to FDA data..." [2]
486
+ - **Label speculation explicitly**:
487
+ - ✅ GOOD: "This suggests a potential mechanism..." (analysis, not fact)
488
+ - ❌ BAD: "The mechanism is..." (presented as fact without citation)
489
+ - **Admit uncertainty**:
490
+ - ✅ GOOD: "No sources found addressing X directly."
491
+ - ❌ BAD: Fabricating a citation to fill the gap
492
+ - **Template pattern**: "[Specific claim with numbers/data] [Citation]. [Analysis/implication]."
493
+
494
+ **Deliver to user:**
495
+ 1. Executive summary (inline in chat)
496
+ 2. Organized folder path (e.g., "All files saved to: ~/Documents/Psilocybin_Research_20251104/")
497
+ 3. Confirmation of all three formats generated:
498
+ - Markdown (source)
499
+ - HTML (McKinsey-style, opened in browser)
500
+ - PDF (professional print, opened in viewer)
501
+ 4. Source quality assessment summary: total source count, Sonar contribution, WebSearch contribution
502
+ 5. Next steps (if relevant)
503
+
504
+ **Generation Workflow: Progressive File Assembly (Unlimited Length)**
505
+
506
+ **Phase 8.1: Setup**
507
+ ```bash
508
+ mkdir -p ~/Documents/[folder_name]
509
+ # Create initial markdown file with frontmatter
510
+ ```
511
+
512
+ **Phase 8.2: Progressive Section Generation**
513
+
514
+ **CRITICAL STRATEGY:** Generate and write each section individually to file using Write/Edit tools.
515
+ This allows unlimited report length while keeping each generation manageable.
516
+
517
+ **OUTPUT TOKEN LIMIT SAFEGUARD (CRITICAL - Claude Code Default: 32K):**
518
+
519
+ Claude Code default limit: 32,000 output tokens (≈24,000 words total per skill execution)
520
+ This is a HARD LIMIT and cannot be changed within the skill.
521
+
522
+ **What this means:**
523
+ - Total output (your text + all tool call content) must be <32,000 tokens
524
+ - 32,000 tokens ≈ 24,000 words max
525
+ - Leave safety margin: Target ≤20,000 words total output
526
+
527
+ **Realistic report sizes per mode:**
528
+ - Quick mode: 2,000-4,000 words ✅ (well under limit)
529
+ - Standard mode: 4,000-8,000 words ✅ (comfortably under limit)
530
+ - Deep mode: 8,000-15,000 words ✅ (achievable with care)
531
+ - UltraDeep mode: 15,000-20,000 words ⚠️ (at limit, monitor closely)
532
+
533
+ **For reports >20,000 words:**
534
+ User must run skill multiple times:
535
+ - Run 1: "Generate Part 1 (sections 1-6)" → saves to part1.md
536
+ - Run 2: "Generate Part 2 (sections 7-12)" → saves to part2.md
537
+ - User manually combines or asks Claude to merge files
538
+
539
+ **Auto-Continuation Strategy (TRUE Unlimited Length):**
540
+
541
+ When report exceeds 18,000 words in single run:
542
+ 1. Generate sections 1-10 (stay under 18K words)
543
+ 2. Save continuation state file with context preservation
544
+ 3. Spawn continuation agent via Task tool
545
+ 4. Continuation agent: Reads state → Generates next batch → Spawns next agent if needed
546
+ 5. Chain continues recursively until complete
547
+
548
+ **Initialize Citation Tracking:**
549
+ ```
550
+ citations_used = [] # Maintain throughout — includes both Sonar and WebSearch citations
551
+ sonar_citation_map = {} # Maps Sonar's internal [N] → master report [N]
552
+ ```
553
+
554
+ **Section Generation Loop:**
555
+
556
+ Generate section content → Write/Edit tool → Move to next section
557
+ Each Write/Edit call contains ONE section (≤2,000 words per call)
558
+
559
+ 1. **Executive Summary** (200-400 words) → Write
560
+ 2. **Introduction** (400-800 words) → Edit/append
561
+ 3. **Findings** — one Edit per finding (600-2,000 words each)
562
+ 4. **Synthesis & Insights** → Edit/append
563
+ 5. **Limitations & Caveats** → Edit/append
564
+ 6. **Recommendations** → Edit/append
565
+ 7. **Bibliography (CRITICAL)** — COMPLETE, all citations, no ranges, no placeholders → Edit/append
566
+ 8. **Methodology Appendix** — include note on Sonar Deep Research usage → Edit/append
567
+
568
+ **Phase 8.3: Auto-Continuation Decision Point**
569
+
570
+ After generating sections, check word count. If ≤18,000 words: complete normally. If will exceed: invoke Auto-Continuation Protocol (save state JSON, spawn continuation agent via Task tool — same as original skill).
571
+
572
+ **Generate HTML (McKinsey Style)**
573
+ 1. Read McKinsey template from `./templates/mckinsey_report_template.html`
574
+ 2. Extract 3-4 key quantitative metrics for dashboard
575
+ 3. Use `python scripts/md_to_html.py [markdown_path]` for conversion
576
+ 4. Add citation tooltips (optional, for speed)
577
+ 5. Replace all `{{PLACEHOLDERS}}` in template
578
+ 6. **NO EMOJIS** in final HTML
579
+ 7. Save and verify: `python scripts/verify_html.py --html [html] --md [md]`
580
+ 8. Open in browser: `open [html_path]`
581
+
582
+ **Generate PDF**
583
+ 1. Use Task tool with general-purpose agent
584
+ 2. Invoke generating-pdf skill with markdown as input
585
+ 3. Save and open
586
+
587
+ ---
588
+
589
+ ## Output Contract
590
+
591
+ **Format:** Comprehensive markdown report following [template](./templates/report_template.md) EXACTLY
592
+
593
+ **Required sections (all must be detailed):**
594
+ - Executive Summary (2-3 concise paragraphs, 50-250 words)
595
+ - Introduction (2-3 paragraphs: question, scope, methodology, assumptions)
596
+ - Main Analysis (4-8 findings, each 300-500 words with citations)
597
+ - Synthesis & Insights (500-1000 words)
598
+ - Limitations & Caveats (2-3 paragraphs)
599
+ - Recommendations (3-5 immediate actions, 3-5 next steps, 3-5 further research)
600
+ - **Bibliography (COMPLETE — every citation, no truncation)**
601
+ - Methodology Appendix (must note use of Sonar Deep Research via OpenRouter, model `perplexity/sonar-deep-research`, and any fallback to WebSearch-only mode)
602
+
603
+ **Bibliography Requirements (ZERO TOLERANCE):**
604
+ - ✅ MUST include EVERY citation [N] used in report body
605
+ - ✅ Format: [N] Author/Org (Year). "Title". Publication. URL (Retrieved: Date)
606
+ - ✅ For Sonar-sourced citations: note "(via Sonar Deep Research)" if URL not directly verifiable
607
+ - ❌ NO placeholders, ranges, or truncation
608
+ - ⚠️ Report is unusable without complete bibliography
609
+
610
+ **Strictly Prohibited:**
611
+ - Placeholder text (TBD, TODO, [citation needed])
612
+ - Uncited major claims
613
+ - Broken links
614
+ - Missing required sections
615
+ - Short summaries instead of detailed analysis
616
+ - Vague statements without specific evidence
617
+
618
+ **Writing Standards (Critical):**
619
+ - Narrative-driven, precision, economy, clarity, directness, high signal-to-noise
620
+ - Bullet discipline: prose paragraphs by default, bullets only for distinct lists
621
+ - Precision examples:
622
+ - Bad: "significantly improved outcomes" → Good: "reduced mortality 23% (p<0.01)"
623
+ - Bad: "several studies suggest" → Good: "5 RCTs (n=1,847) show"
624
+
625
+ **Quality gates (enforced by validator):**
626
+ - Minimum 2,000 words (standard mode)
627
+ - Average credibility score >60/100
628
+ - 3+ sources per major claim
629
+ - Clear facts vs. analysis distinction
630
+ - All sections present and detailed
631
+
632
+ ---
633
+
634
+ ## Error Handling & Stop Rules
635
+
636
+ **Stop immediately if:**
637
+ - 2 validation failures on same error → Pause, report, ask user
638
+ - <5 sources after exhaustive search (Sonar + WebSearch) → Report limitation, request direction
639
+ - User interrupts/changes scope → Confirm new direction
640
+
641
+ **Graceful degradation:**
642
+ - Sonar unavailable → Fall back to WebSearch-only, note in methodology
643
+ - 5-10 sources → Note in limitations, proceed with extra verification
644
+ - Time constraint reached → Package partial results, document gaps
645
+ - High-priority critique issue → Address immediately
646
+
647
+ **Error format:**
648
+ ```
649
+ ⚠️ Issue: [Description]
650
+ 📊 Context: [What was attempted]
651
+ 🔍 Tried: [Resolution attempts]
652
+ 💡 Options:
653
+ 1. [Option 1]
654
+ 2. [Option 2]
655
+ 3. [Option 3]
656
+ ```
657
+
658
+ ---
659
+
660
+ ## Quality Standards (Always Enforce)
661
+
662
+ Every report must:
663
+ - 10+ sources (document if fewer; Sonar typically contributes 10-20 by itself)
664
+ - 3+ sources per major claim
665
+ - Executive summary <250 words
666
+ - Full citations with URLs
667
+ - Credibility assessment
668
+ - Limitations section
669
+ - Methodology documented (including Sonar usage / fallback status)
670
+ - No placeholders
671
+
672
+ **Priority:** Thoroughness over speed. Quality > speed.
673
+
674
+ ---
675
+
676
+ ## Inputs & Assumptions
677
+
678
+ **Required:**
679
+ - Research question (string)
680
+
681
+ **Optional:**
682
+ - Mode (quick/standard/deep/ultradeep)
683
+ - Time constraints
684
+ - Required perspectives/sources
685
+ - Output format
686
+ - `DUCKMIND_API_KEY` or DeepQuark auth store configured (enables Sonar; falls back gracefully if absent)
687
+
688
+ **Assumptions:**
689
+ - User requires verified, citation-backed information
690
+ - 10-50 sources available on topic
691
+ - Time investment: 5-45 minutes
692
+
693
+ ---
694
+
695
+ ## When to Use / NOT Use
696
+
697
+ **Use when:**
698
+ - Comprehensive analysis (10+ sources needed)
699
+ - Comparing technologies/approaches/strategies
700
+ - State-of-the-art reviews
701
+ - Multi-perspective investigation
702
+ - Technical decisions
703
+ - Market/trend analysis
704
+
705
+ **Do NOT use:**
706
+ - Simple lookups (use WebSearch)
707
+ - Debugging (use standard tools)
708
+ - 1-2 search answers
709
+ - Time-sensitive quick answers
710
+
711
+ ---
712
+
713
+ ## Scripts (Offline, Python stdlib only)
714
+
715
+ **Location:** `./scripts/`
716
+
717
+ - **sonar_research.py** — OpenRouter / Sonar Deep Research invocation (inline in Phase 3)
718
+ - **research_engine.py** - Orchestration engine
719
+ - **validate_report.py** - Quality validation (8 checks)
720
+ - **citation_manager.py** - Citation tracking
721
+ - **source_evaluator.py** - Credibility scoring (0-100)
722
+
723
+ **No external dependencies required.**
724
+
725
+ ---
726
+
727
+ ## Progressive References (Load On-Demand)
728
+
729
+ - [Complete Methodology](./reference/methodology.md) - 8-phase details
730
+ - [Report Template](./templates/report_template.md) - Output structure
731
+ - [README](./README.md) - Usage docs
732
+ - [Quick Start](./QUICK_START.md) - Fast reference
733
+ - [Competitive Analysis](./COMPETITIVE_ANALYSIS.md) - vs OpenAI/Gemini
734
+
735
+ ---
736
+
737
+ <!-- STATIC CONTEXT BLOCK END -->
738
+ <!-- ⚡ Above content is cacheable (>1024 tokens, static) -->
739
+ <!-- 📝 Below: Dynamic content (user queries, retrieved data, generated reports) -->
740
+
741
+ ---
742
+
743
+ ## Dynamic Execution Zone
744
+
745
+ **User Query Processing:**
746
+ [User research question will be inserted here during execution]
747
+
748
+ **Retrieved Information:**
749
+ [Sonar Deep Research output + supplementary WebSearch results accumulated here]
750
+
751
+ **Generated Analysis:**
752
+ [Findings, synthesis, and report content generated here]
753
+
754
+ **Note:** This section remains empty in the skill definition. Content populated during runtime only.