scientific-writer 2.2.1__py3-none-any.whl → 2.2.3__py3-none-any.whl

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.

Potentially problematic release.


This version of scientific-writer might be problematic. Click here for more details.

Files changed (311) hide show
  1. scientific_writer/.claude/WRITER.md +748 -0
  2. scientific_writer/.claude/settings.local.json +30 -0
  3. scientific_writer/.claude/skills/citation-management/SKILL.md +1046 -0
  4. scientific_writer/.claude/skills/citation-management/assets/bibtex_template.bib +264 -0
  5. scientific_writer/.claude/skills/citation-management/assets/citation_checklist.md +386 -0
  6. scientific_writer/.claude/skills/citation-management/references/bibtex_formatting.md +908 -0
  7. scientific_writer/.claude/skills/citation-management/references/citation_validation.md +794 -0
  8. scientific_writer/.claude/skills/citation-management/references/google_scholar_search.md +725 -0
  9. scientific_writer/.claude/skills/citation-management/references/metadata_extraction.md +870 -0
  10. scientific_writer/.claude/skills/citation-management/references/pubmed_search.md +839 -0
  11. scientific_writer/.claude/skills/citation-management/scripts/doi_to_bibtex.py +204 -0
  12. scientific_writer/.claude/skills/citation-management/scripts/extract_metadata.py +569 -0
  13. scientific_writer/.claude/skills/citation-management/scripts/format_bibtex.py +349 -0
  14. scientific_writer/.claude/skills/citation-management/scripts/search_google_scholar.py +282 -0
  15. scientific_writer/.claude/skills/citation-management/scripts/search_pubmed.py +398 -0
  16. scientific_writer/.claude/skills/citation-management/scripts/validate_citations.py +497 -0
  17. scientific_writer/.claude/skills/clinical-reports/IMPLEMENTATION_SUMMARY.md +641 -0
  18. scientific_writer/.claude/skills/clinical-reports/README.md +236 -0
  19. scientific_writer/.claude/skills/clinical-reports/SKILL.md +1088 -0
  20. scientific_writer/.claude/skills/clinical-reports/assets/case_report_template.md +352 -0
  21. scientific_writer/.claude/skills/clinical-reports/assets/clinical_trial_csr_template.md +353 -0
  22. scientific_writer/.claude/skills/clinical-reports/assets/clinical_trial_sae_template.md +359 -0
  23. scientific_writer/.claude/skills/clinical-reports/assets/consult_note_template.md +305 -0
  24. scientific_writer/.claude/skills/clinical-reports/assets/discharge_summary_template.md +453 -0
  25. scientific_writer/.claude/skills/clinical-reports/assets/hipaa_compliance_checklist.md +395 -0
  26. scientific_writer/.claude/skills/clinical-reports/assets/history_physical_template.md +305 -0
  27. scientific_writer/.claude/skills/clinical-reports/assets/lab_report_template.md +309 -0
  28. scientific_writer/.claude/skills/clinical-reports/assets/pathology_report_template.md +249 -0
  29. scientific_writer/.claude/skills/clinical-reports/assets/quality_checklist.md +338 -0
  30. scientific_writer/.claude/skills/clinical-reports/assets/radiology_report_template.md +318 -0
  31. scientific_writer/.claude/skills/clinical-reports/assets/soap_note_template.md +253 -0
  32. scientific_writer/.claude/skills/clinical-reports/references/case_report_guidelines.md +570 -0
  33. scientific_writer/.claude/skills/clinical-reports/references/clinical_trial_reporting.md +693 -0
  34. scientific_writer/.claude/skills/clinical-reports/references/data_presentation.md +530 -0
  35. scientific_writer/.claude/skills/clinical-reports/references/diagnostic_reports_standards.md +629 -0
  36. scientific_writer/.claude/skills/clinical-reports/references/medical_terminology.md +588 -0
  37. scientific_writer/.claude/skills/clinical-reports/references/patient_documentation.md +744 -0
  38. scientific_writer/.claude/skills/clinical-reports/references/peer_review_standards.md +585 -0
  39. scientific_writer/.claude/skills/clinical-reports/references/regulatory_compliance.md +577 -0
  40. scientific_writer/.claude/skills/clinical-reports/scripts/check_deidentification.py +346 -0
  41. scientific_writer/.claude/skills/clinical-reports/scripts/compliance_checker.py +78 -0
  42. scientific_writer/.claude/skills/clinical-reports/scripts/extract_clinical_data.py +102 -0
  43. scientific_writer/.claude/skills/clinical-reports/scripts/format_adverse_events.py +103 -0
  44. scientific_writer/.claude/skills/clinical-reports/scripts/generate_report_template.py +163 -0
  45. scientific_writer/.claude/skills/clinical-reports/scripts/terminology_validator.py +133 -0
  46. scientific_writer/.claude/skills/clinical-reports/scripts/validate_case_report.py +334 -0
  47. scientific_writer/.claude/skills/clinical-reports/scripts/validate_trial_report.py +89 -0
  48. scientific_writer/.claude/skills/document-skills/docx/LICENSE.txt +30 -0
  49. scientific_writer/.claude/skills/document-skills/docx/SKILL.md +197 -0
  50. scientific_writer/.claude/skills/document-skills/docx/docx-js.md +350 -0
  51. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  52. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  53. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  54. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  55. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  56. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  57. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  58. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  59. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  60. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  61. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  62. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  63. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  64. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  65. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  66. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  67. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  68. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  69. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  70. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  71. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  72. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  73. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  74. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  75. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  76. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  77. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  78. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  79. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  80. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  81. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  82. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/mce/mc.xsd +75 -0
  83. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  84. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  85. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  86. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  87. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  88. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  89. scientific_writer/.claude/skills/document-skills/docx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  90. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/pack.py +159 -0
  91. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/unpack.py +29 -0
  92. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validate.py +69 -0
  93. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/__init__.py +15 -0
  94. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/base.py +951 -0
  95. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/docx.py +274 -0
  96. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/pptx.py +315 -0
  97. scientific_writer/.claude/skills/document-skills/docx/ooxml/scripts/validation/redlining.py +279 -0
  98. scientific_writer/.claude/skills/document-skills/docx/ooxml.md +610 -0
  99. scientific_writer/.claude/skills/document-skills/docx/scripts/__init__.py +1 -0
  100. scientific_writer/.claude/skills/document-skills/docx/scripts/document.py +1276 -0
  101. scientific_writer/.claude/skills/document-skills/docx/scripts/templates/comments.xml +3 -0
  102. scientific_writer/.claude/skills/document-skills/docx/scripts/templates/commentsExtended.xml +3 -0
  103. scientific_writer/.claude/skills/document-skills/docx/scripts/templates/commentsExtensible.xml +3 -0
  104. scientific_writer/.claude/skills/document-skills/docx/scripts/templates/commentsIds.xml +3 -0
  105. scientific_writer/.claude/skills/document-skills/docx/scripts/templates/people.xml +3 -0
  106. scientific_writer/.claude/skills/document-skills/docx/scripts/utilities.py +374 -0
  107. scientific_writer/.claude/skills/document-skills/pdf/LICENSE.txt +30 -0
  108. scientific_writer/.claude/skills/document-skills/pdf/SKILL.md +294 -0
  109. scientific_writer/.claude/skills/document-skills/pdf/forms.md +205 -0
  110. scientific_writer/.claude/skills/document-skills/pdf/reference.md +612 -0
  111. scientific_writer/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes.py +70 -0
  112. scientific_writer/.claude/skills/document-skills/pdf/scripts/check_bounding_boxes_test.py +226 -0
  113. scientific_writer/.claude/skills/document-skills/pdf/scripts/check_fillable_fields.py +12 -0
  114. scientific_writer/.claude/skills/document-skills/pdf/scripts/convert_pdf_to_images.py +35 -0
  115. scientific_writer/.claude/skills/document-skills/pdf/scripts/create_validation_image.py +41 -0
  116. scientific_writer/.claude/skills/document-skills/pdf/scripts/extract_form_field_info.py +152 -0
  117. scientific_writer/.claude/skills/document-skills/pdf/scripts/fill_fillable_fields.py +114 -0
  118. scientific_writer/.claude/skills/document-skills/pdf/scripts/fill_pdf_form_with_annotations.py +108 -0
  119. scientific_writer/.claude/skills/document-skills/pptx/LICENSE.txt +30 -0
  120. scientific_writer/.claude/skills/document-skills/pptx/SKILL.md +484 -0
  121. scientific_writer/.claude/skills/document-skills/pptx/html2pptx.md +625 -0
  122. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -0
  123. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -0
  124. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -0
  125. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -0
  126. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -0
  127. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -0
  128. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -0
  129. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -0
  130. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -0
  131. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -0
  132. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -0
  133. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -0
  134. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -0
  135. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -0
  136. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -0
  137. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -0
  138. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -0
  139. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -0
  140. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -0
  141. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -0
  142. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -0
  143. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -0
  144. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -0
  145. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -0
  146. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -0
  147. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -0
  148. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -0
  149. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -0
  150. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -0
  151. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -0
  152. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -0
  153. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/mce/mc.xsd +75 -0
  154. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2010.xsd +560 -0
  155. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2012.xsd +67 -0
  156. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-2018.xsd +14 -0
  157. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cex-2018.xsd +20 -0
  158. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-cid-2016.xsd +13 -0
  159. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -0
  160. scientific_writer/.claude/skills/document-skills/pptx/ooxml/schemas/microsoft/wml-symex-2015.xsd +8 -0
  161. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/pack.py +159 -0
  162. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/unpack.py +29 -0
  163. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validate.py +69 -0
  164. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/__init__.py +15 -0
  165. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/base.py +951 -0
  166. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/docx.py +274 -0
  167. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/pptx.py +315 -0
  168. scientific_writer/.claude/skills/document-skills/pptx/ooxml/scripts/validation/redlining.py +279 -0
  169. scientific_writer/.claude/skills/document-skills/pptx/ooxml.md +427 -0
  170. scientific_writer/.claude/skills/document-skills/pptx/scripts/html2pptx.js +979 -0
  171. scientific_writer/.claude/skills/document-skills/pptx/scripts/inventory.py +1020 -0
  172. scientific_writer/.claude/skills/document-skills/pptx/scripts/rearrange.py +231 -0
  173. scientific_writer/.claude/skills/document-skills/pptx/scripts/replace.py +385 -0
  174. scientific_writer/.claude/skills/document-skills/pptx/scripts/thumbnail.py +450 -0
  175. scientific_writer/.claude/skills/document-skills/xlsx/LICENSE.txt +30 -0
  176. scientific_writer/.claude/skills/document-skills/xlsx/SKILL.md +289 -0
  177. scientific_writer/.claude/skills/document-skills/xlsx/recalc.py +178 -0
  178. scientific_writer/.claude/skills/hypothesis-generation/SKILL.md +155 -0
  179. scientific_writer/.claude/skills/hypothesis-generation/assets/hypothesis_output_template.md +302 -0
  180. scientific_writer/.claude/skills/hypothesis-generation/references/experimental_design_patterns.md +327 -0
  181. scientific_writer/.claude/skills/hypothesis-generation/references/hypothesis_quality_criteria.md +196 -0
  182. scientific_writer/.claude/skills/hypothesis-generation/references/literature_search_strategies.md +505 -0
  183. scientific_writer/.claude/skills/latex-posters/README.md +417 -0
  184. scientific_writer/.claude/skills/latex-posters/SKILL.md +919 -0
  185. scientific_writer/.claude/skills/latex-posters/assets/baposter_template.tex +257 -0
  186. scientific_writer/.claude/skills/latex-posters/assets/beamerposter_template.tex +244 -0
  187. scientific_writer/.claude/skills/latex-posters/assets/poster_quality_checklist.md +358 -0
  188. scientific_writer/.claude/skills/latex-posters/assets/tikzposter_template.tex +251 -0
  189. scientific_writer/.claude/skills/latex-posters/references/latex_poster_packages.md +745 -0
  190. scientific_writer/.claude/skills/latex-posters/references/poster_content_guide.md +748 -0
  191. scientific_writer/.claude/skills/latex-posters/references/poster_design_principles.md +806 -0
  192. scientific_writer/.claude/skills/latex-posters/references/poster_layout_design.md +900 -0
  193. scientific_writer/.claude/skills/latex-posters/scripts/review_poster.sh +214 -0
  194. scientific_writer/.claude/skills/literature-review/SKILL.md +546 -0
  195. scientific_writer/.claude/skills/literature-review/assets/review_template.md +412 -0
  196. scientific_writer/.claude/skills/literature-review/references/citation_styles.md +166 -0
  197. scientific_writer/.claude/skills/literature-review/references/database_strategies.md +381 -0
  198. scientific_writer/.claude/skills/literature-review/scripts/generate_pdf.py +176 -0
  199. scientific_writer/.claude/skills/literature-review/scripts/search_databases.py +303 -0
  200. scientific_writer/.claude/skills/literature-review/scripts/verify_citations.py +222 -0
  201. scientific_writer/.claude/skills/markitdown/INSTALLATION_GUIDE.md +318 -0
  202. scientific_writer/.claude/skills/markitdown/LICENSE.txt +22 -0
  203. scientific_writer/.claude/skills/markitdown/OPENROUTER_INTEGRATION.md +359 -0
  204. scientific_writer/.claude/skills/markitdown/QUICK_REFERENCE.md +309 -0
  205. scientific_writer/.claude/skills/markitdown/README.md +184 -0
  206. scientific_writer/.claude/skills/markitdown/SKILL.md +450 -0
  207. scientific_writer/.claude/skills/markitdown/SKILL_SUMMARY.md +307 -0
  208. scientific_writer/.claude/skills/markitdown/assets/example_usage.md +463 -0
  209. scientific_writer/.claude/skills/markitdown/references/api_reference.md +399 -0
  210. scientific_writer/.claude/skills/markitdown/references/file_formats.md +542 -0
  211. scientific_writer/.claude/skills/markitdown/scripts/batch_convert.py +228 -0
  212. scientific_writer/.claude/skills/markitdown/scripts/convert_literature.py +283 -0
  213. scientific_writer/.claude/skills/markitdown/scripts/convert_with_ai.py +243 -0
  214. scientific_writer/.claude/skills/paper-2-web/SKILL.md +455 -0
  215. scientific_writer/.claude/skills/paper-2-web/references/installation.md +141 -0
  216. scientific_writer/.claude/skills/paper-2-web/references/paper2poster.md +346 -0
  217. scientific_writer/.claude/skills/paper-2-web/references/paper2video.md +305 -0
  218. scientific_writer/.claude/skills/paper-2-web/references/paper2web.md +187 -0
  219. scientific_writer/.claude/skills/paper-2-web/references/usage_examples.md +436 -0
  220. scientific_writer/.claude/skills/peer-review/SKILL.md +375 -0
  221. scientific_writer/.claude/skills/peer-review/references/common_issues.md +552 -0
  222. scientific_writer/.claude/skills/peer-review/references/reporting_standards.md +290 -0
  223. scientific_writer/.claude/skills/research-grants/README.md +285 -0
  224. scientific_writer/.claude/skills/research-grants/SKILL.md +896 -0
  225. scientific_writer/.claude/skills/research-grants/assets/budget_justification_template.md +453 -0
  226. scientific_writer/.claude/skills/research-grants/assets/nih_specific_aims_template.md +166 -0
  227. scientific_writer/.claude/skills/research-grants/assets/nsf_project_summary_template.md +92 -0
  228. scientific_writer/.claude/skills/research-grants/references/broader_impacts.md +392 -0
  229. scientific_writer/.claude/skills/research-grants/references/darpa_guidelines.md +636 -0
  230. scientific_writer/.claude/skills/research-grants/references/doe_guidelines.md +586 -0
  231. scientific_writer/.claude/skills/research-grants/references/nih_guidelines.md +851 -0
  232. scientific_writer/.claude/skills/research-grants/references/nsf_guidelines.md +570 -0
  233. scientific_writer/.claude/skills/research-grants/references/specific_aims_guide.md +458 -0
  234. scientific_writer/.claude/skills/research-lookup/README.md +116 -0
  235. scientific_writer/.claude/skills/research-lookup/SKILL.md +443 -0
  236. scientific_writer/.claude/skills/research-lookup/examples.py +174 -0
  237. scientific_writer/.claude/skills/research-lookup/lookup.py +93 -0
  238. scientific_writer/.claude/skills/research-lookup/research_lookup.py +335 -0
  239. scientific_writer/.claude/skills/research-lookup/scripts/research_lookup.py +261 -0
  240. scientific_writer/.claude/skills/scholar-evaluation/SKILL.md +254 -0
  241. scientific_writer/.claude/skills/scholar-evaluation/references/evaluation_framework.md +663 -0
  242. scientific_writer/.claude/skills/scholar-evaluation/scripts/calculate_scores.py +378 -0
  243. scientific_writer/.claude/skills/scientific-critical-thinking/SKILL.md +530 -0
  244. scientific_writer/.claude/skills/scientific-critical-thinking/references/common_biases.md +364 -0
  245. scientific_writer/.claude/skills/scientific-critical-thinking/references/evidence_hierarchy.md +484 -0
  246. scientific_writer/.claude/skills/scientific-critical-thinking/references/experimental_design.md +496 -0
  247. scientific_writer/.claude/skills/scientific-critical-thinking/references/logical_fallacies.md +478 -0
  248. scientific_writer/.claude/skills/scientific-critical-thinking/references/scientific_method.md +169 -0
  249. scientific_writer/.claude/skills/scientific-critical-thinking/references/statistical_pitfalls.md +506 -0
  250. scientific_writer/.claude/skills/scientific-schematics/SKILL.md +2035 -0
  251. scientific_writer/.claude/skills/scientific-schematics/assets/block_diagram_template.tex +199 -0
  252. scientific_writer/.claude/skills/scientific-schematics/assets/circuit_template.tex +159 -0
  253. scientific_writer/.claude/skills/scientific-schematics/assets/flowchart_template.tex +161 -0
  254. scientific_writer/.claude/skills/scientific-schematics/assets/pathway_template.tex +162 -0
  255. scientific_writer/.claude/skills/scientific-schematics/assets/tikz_styles.tex +422 -0
  256. scientific_writer/.claude/skills/scientific-schematics/references/best_practices.md +562 -0
  257. scientific_writer/.claude/skills/scientific-schematics/references/diagram_types.md +637 -0
  258. scientific_writer/.claude/skills/scientific-schematics/references/python_libraries.md +791 -0
  259. scientific_writer/.claude/skills/scientific-schematics/references/tikz_guide.md +734 -0
  260. scientific_writer/.claude/skills/scientific-schematics/scripts/circuit_generator.py +307 -0
  261. scientific_writer/.claude/skills/scientific-schematics/scripts/compile_tikz.py +292 -0
  262. scientific_writer/.claude/skills/scientific-schematics/scripts/generate_flowchart.py +281 -0
  263. scientific_writer/.claude/skills/scientific-schematics/scripts/pathway_diagram.py +406 -0
  264. scientific_writer/.claude/skills/scientific-writing/SKILL.md +443 -0
  265. scientific_writer/.claude/skills/scientific-writing/references/citation_styles.md +720 -0
  266. scientific_writer/.claude/skills/scientific-writing/references/figures_tables.md +806 -0
  267. scientific_writer/.claude/skills/scientific-writing/references/imrad_structure.md +658 -0
  268. scientific_writer/.claude/skills/scientific-writing/references/reporting_guidelines.md +748 -0
  269. scientific_writer/.claude/skills/scientific-writing/references/writing_principles.md +824 -0
  270. scientific_writer/.claude/skills/treatment-plans/README.md +483 -0
  271. scientific_writer/.claude/skills/treatment-plans/SKILL.md +817 -0
  272. scientific_writer/.claude/skills/treatment-plans/assets/chronic_disease_management_plan.tex +636 -0
  273. scientific_writer/.claude/skills/treatment-plans/assets/general_medical_treatment_plan.tex +616 -0
  274. scientific_writer/.claude/skills/treatment-plans/assets/mental_health_treatment_plan.tex +745 -0
  275. scientific_writer/.claude/skills/treatment-plans/assets/pain_management_plan.tex +770 -0
  276. scientific_writer/.claude/skills/treatment-plans/assets/perioperative_care_plan.tex +724 -0
  277. scientific_writer/.claude/skills/treatment-plans/assets/quality_checklist.md +471 -0
  278. scientific_writer/.claude/skills/treatment-plans/assets/rehabilitation_treatment_plan.tex +727 -0
  279. scientific_writer/.claude/skills/treatment-plans/references/goal_setting_frameworks.md +411 -0
  280. scientific_writer/.claude/skills/treatment-plans/references/intervention_guidelines.md +507 -0
  281. scientific_writer/.claude/skills/treatment-plans/references/regulatory_compliance.md +476 -0
  282. scientific_writer/.claude/skills/treatment-plans/references/specialty_specific_guidelines.md +607 -0
  283. scientific_writer/.claude/skills/treatment-plans/references/treatment_plan_standards.md +456 -0
  284. scientific_writer/.claude/skills/treatment-plans/scripts/check_completeness.py +318 -0
  285. scientific_writer/.claude/skills/treatment-plans/scripts/generate_template.py +244 -0
  286. scientific_writer/.claude/skills/treatment-plans/scripts/timeline_generator.py +369 -0
  287. scientific_writer/.claude/skills/treatment-plans/scripts/validate_treatment_plan.py +367 -0
  288. scientific_writer/.claude/skills/venue-templates/SKILL.md +590 -0
  289. scientific_writer/.claude/skills/venue-templates/assets/grants/nih_specific_aims.tex +235 -0
  290. scientific_writer/.claude/skills/venue-templates/assets/grants/nsf_proposal_template.tex +375 -0
  291. scientific_writer/.claude/skills/venue-templates/assets/journals/nature_article.tex +171 -0
  292. scientific_writer/.claude/skills/venue-templates/assets/journals/neurips_article.tex +283 -0
  293. scientific_writer/.claude/skills/venue-templates/assets/journals/plos_one.tex +317 -0
  294. scientific_writer/.claude/skills/venue-templates/assets/posters/beamerposter_academic.tex +311 -0
  295. scientific_writer/.claude/skills/venue-templates/references/conferences_formatting.md +564 -0
  296. scientific_writer/.claude/skills/venue-templates/references/grants_requirements.md +787 -0
  297. scientific_writer/.claude/skills/venue-templates/references/journals_formatting.md +486 -0
  298. scientific_writer/.claude/skills/venue-templates/references/posters_guidelines.md +628 -0
  299. scientific_writer/.claude/skills/venue-templates/scripts/customize_template.py +206 -0
  300. scientific_writer/.claude/skills/venue-templates/scripts/query_template.py +260 -0
  301. scientific_writer/.claude/skills/venue-templates/scripts/validate_format.py +255 -0
  302. scientific_writer/__init__.py +1 -1
  303. scientific_writer/api.py +9 -5
  304. scientific_writer/cli.py +9 -5
  305. scientific_writer/core.py +28 -5
  306. {scientific_writer-2.2.1.dist-info → scientific_writer-2.2.3.dist-info}/METADATA +1 -1
  307. scientific_writer-2.2.3.dist-info/RECORD +312 -0
  308. scientific_writer-2.2.1.dist-info/RECORD +0 -11
  309. {scientific_writer-2.2.1.dist-info → scientific_writer-2.2.3.dist-info}/WHEEL +0 -0
  310. {scientific_writer-2.2.1.dist-info → scientific_writer-2.2.3.dist-info}/entry_points.txt +0 -0
  311. {scientific_writer-2.2.1.dist-info → scientific_writer-2.2.3.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,1046 @@
1
+ ---
2
+ name: citation-management
3
+ description: Comprehensive citation management for academic research. Search Google Scholar and PubMed for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.
4
+ ---
5
+
6
+ # Citation Management
7
+
8
+ ## Overview
9
+
10
+ Manage citations systematically throughout the research and writing process. This skill provides tools and strategies for searching academic databases (Google Scholar, PubMed), extracting accurate metadata from multiple sources (CrossRef, PubMed, arXiv), validating citation information, and generating properly formatted BibTeX entries.
11
+
12
+ Critical for maintaining citation accuracy, avoiding reference errors, and ensuring reproducible research. Integrates seamlessly with the literature-review skill for comprehensive research workflows.
13
+
14
+ ## When to Use This Skill
15
+
16
+ Use this skill when:
17
+ - Searching for specific papers on Google Scholar or PubMed
18
+ - Converting DOIs, PMIDs, or arXiv IDs to properly formatted BibTeX
19
+ - Extracting complete metadata for citations (authors, title, journal, year, etc.)
20
+ - Validating existing citations for accuracy
21
+ - Cleaning and formatting BibTeX files
22
+ - Finding highly cited papers in a specific field
23
+ - Verifying that citation information matches the actual publication
24
+ - Building a bibliography for a manuscript or thesis
25
+ - Checking for duplicate citations
26
+ - Ensuring consistent citation formatting
27
+
28
+ ## Core Workflow
29
+
30
+ Citation management follows a systematic process:
31
+
32
+ ### Phase 1: Paper Discovery and Search
33
+
34
+ **Goal**: Find relevant papers using academic search engines.
35
+
36
+ #### Google Scholar Search
37
+
38
+ Google Scholar provides the most comprehensive coverage across disciplines.
39
+
40
+ **Basic Search**:
41
+ ```bash
42
+ # Search for papers on a topic
43
+ python scripts/search_google_scholar.py "CRISPR gene editing" \
44
+ --limit 50 \
45
+ --output results.json
46
+
47
+ # Search with year filter
48
+ python scripts/search_google_scholar.py "machine learning protein folding" \
49
+ --year-start 2020 \
50
+ --year-end 2024 \
51
+ --limit 100 \
52
+ --output ml_proteins.json
53
+ ```
54
+
55
+ **Advanced Search Strategies** (see `references/google_scholar_search.md`):
56
+ - Use quotation marks for exact phrases: `"deep learning"`
57
+ - Search by author: `author:LeCun`
58
+ - Search in title: `intitle:"neural networks"`
59
+ - Exclude terms: `machine learning -survey`
60
+ - Find highly cited papers using sort options
61
+ - Filter by date ranges to get recent work
62
+
63
+ **Best Practices**:
64
+ - Use specific, targeted search terms
65
+ - Include key technical terms and acronyms
66
+ - Filter by recent years for fast-moving fields
67
+ - Check "Cited by" to find seminal papers
68
+ - Export top results for further analysis
69
+
70
+ #### PubMed Search
71
+
72
+ PubMed specializes in biomedical and life sciences literature (35+ million citations).
73
+
74
+ **Basic Search**:
75
+ ```bash
76
+ # Search PubMed
77
+ python scripts/search_pubmed.py "Alzheimer's disease treatment" \
78
+ --limit 100 \
79
+ --output alzheimers.json
80
+
81
+ # Search with MeSH terms and filters
82
+ python scripts/search_pubmed.py \
83
+ --query '"Alzheimer Disease"[MeSH] AND "Drug Therapy"[MeSH]' \
84
+ --date-start 2020 \
85
+ --date-end 2024 \
86
+ --publication-types "Clinical Trial,Review" \
87
+ --output alzheimers_trials.json
88
+ ```
89
+
90
+ **Advanced PubMed Queries** (see `references/pubmed_search.md`):
91
+ - Use MeSH terms: `"Diabetes Mellitus"[MeSH]`
92
+ - Field tags: `"cancer"[Title]`, `"Smith J"[Author]`
93
+ - Boolean operators: `AND`, `OR`, `NOT`
94
+ - Date filters: `2020:2024[Publication Date]`
95
+ - Publication types: `"Review"[Publication Type]`
96
+ - Combine with E-utilities API for automation
97
+
98
+ **Best Practices**:
99
+ - Use MeSH Browser to find correct controlled vocabulary
100
+ - Construct complex queries in PubMed Advanced Search Builder first
101
+ - Include multiple synonyms with OR
102
+ - Retrieve PMIDs for easy metadata extraction
103
+ - Export to JSON or directly to BibTeX
104
+
105
+ ### Phase 2: Metadata Extraction
106
+
107
+ **Goal**: Convert paper identifiers (DOI, PMID, arXiv ID) to complete, accurate metadata.
108
+
109
+ #### Quick DOI to BibTeX Conversion
110
+
111
+ For single DOIs, use the quick conversion tool:
112
+
113
+ ```bash
114
+ # Convert single DOI
115
+ python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2
116
+
117
+ # Convert multiple DOIs from a file
118
+ python scripts/doi_to_bibtex.py --input dois.txt --output references.bib
119
+
120
+ # Different output formats
121
+ python scripts/doi_to_bibtex.py 10.1038/nature12345 --format json
122
+ ```
123
+
124
+ #### Comprehensive Metadata Extraction
125
+
126
+ For DOIs, PMIDs, arXiv IDs, or URLs:
127
+
128
+ ```bash
129
+ # Extract from DOI
130
+ python scripts/extract_metadata.py --doi 10.1038/s41586-021-03819-2
131
+
132
+ # Extract from PMID
133
+ python scripts/extract_metadata.py --pmid 34265844
134
+
135
+ # Extract from arXiv ID
136
+ python scripts/extract_metadata.py --arxiv 2103.14030
137
+
138
+ # Extract from URL
139
+ python scripts/extract_metadata.py --url "https://www.nature.com/articles/s41586-021-03819-2"
140
+
141
+ # Batch extraction from file (mixed identifiers)
142
+ python scripts/extract_metadata.py --input identifiers.txt --output citations.bib
143
+ ```
144
+
145
+ **Metadata Sources** (see `references/metadata_extraction.md`):
146
+
147
+ 1. **CrossRef API**: Primary source for DOIs
148
+ - Comprehensive metadata for journal articles
149
+ - Publisher-provided information
150
+ - Includes authors, title, journal, volume, pages, dates
151
+ - Free, no API key required
152
+
153
+ 2. **PubMed E-utilities**: Biomedical literature
154
+ - Official NCBI metadata
155
+ - Includes MeSH terms, abstracts
156
+ - PMID and PMCID identifiers
157
+ - Free, API key recommended for high volume
158
+
159
+ 3. **arXiv API**: Preprints in physics, math, CS, q-bio
160
+ - Complete metadata for preprints
161
+ - Version tracking
162
+ - Author affiliations
163
+ - Free, open access
164
+
165
+ 4. **DataCite API**: Research datasets, software, other resources
166
+ - Metadata for non-traditional scholarly outputs
167
+ - DOIs for datasets and code
168
+ - Free access
169
+
170
+ **What Gets Extracted**:
171
+ - **Required fields**: author, title, year
172
+ - **Journal articles**: journal, volume, number, pages, DOI
173
+ - **Books**: publisher, ISBN, edition
174
+ - **Conference papers**: booktitle, conference location, pages
175
+ - **Preprints**: repository (arXiv, bioRxiv), preprint ID
176
+ - **Additional**: abstract, keywords, URL
177
+
178
+ ### Phase 3: BibTeX Formatting
179
+
180
+ **Goal**: Generate clean, properly formatted BibTeX entries.
181
+
182
+ #### Understanding BibTeX Entry Types
183
+
184
+ See `references/bibtex_formatting.md` for complete guide.
185
+
186
+ **Common Entry Types**:
187
+ - `@article`: Journal articles (most common)
188
+ - `@book`: Books
189
+ - `@inproceedings`: Conference papers
190
+ - `@incollection`: Book chapters
191
+ - `@phdthesis`: Dissertations
192
+ - `@misc`: Preprints, software, datasets
193
+
194
+ **Required Fields by Type**:
195
+
196
+ ```bibtex
197
+ @article{citationkey,
198
+ author = {Last1, First1 and Last2, First2},
199
+ title = {Article Title},
200
+ journal = {Journal Name},
201
+ year = {2024},
202
+ volume = {10},
203
+ number = {3},
204
+ pages = {123--145},
205
+ doi = {10.1234/example}
206
+ }
207
+
208
+ @inproceedings{citationkey,
209
+ author = {Last, First},
210
+ title = {Paper Title},
211
+ booktitle = {Conference Name},
212
+ year = {2024},
213
+ pages = {1--10}
214
+ }
215
+
216
+ @book{citationkey,
217
+ author = {Last, First},
218
+ title = {Book Title},
219
+ publisher = {Publisher Name},
220
+ year = {2024}
221
+ }
222
+ ```
223
+
224
+ #### Formatting and Cleaning
225
+
226
+ Use the formatter to standardize BibTeX files:
227
+
228
+ ```bash
229
+ # Format and clean BibTeX file
230
+ python scripts/format_bibtex.py references.bib \
231
+ --output formatted_references.bib
232
+
233
+ # Sort entries by citation key
234
+ python scripts/format_bibtex.py references.bib \
235
+ --sort key \
236
+ --output sorted_references.bib
237
+
238
+ # Sort by year (newest first)
239
+ python scripts/format_bibtex.py references.bib \
240
+ --sort year \
241
+ --descending \
242
+ --output sorted_references.bib
243
+
244
+ # Remove duplicates
245
+ python scripts/format_bibtex.py references.bib \
246
+ --deduplicate \
247
+ --output clean_references.bib
248
+
249
+ # Validate and report issues
250
+ python scripts/format_bibtex.py references.bib \
251
+ --validate \
252
+ --report validation_report.txt
253
+ ```
254
+
255
+ **Formatting Operations**:
256
+ - Standardize field order
257
+ - Consistent indentation and spacing
258
+ - Proper capitalization in titles (protected with {})
259
+ - Standardized author name format
260
+ - Consistent citation key format
261
+ - Remove unnecessary fields
262
+ - Fix common errors (missing commas, braces)
263
+
264
+ ### Phase 4: Citation Validation
265
+
266
+ **Goal**: Verify all citations are accurate and complete.
267
+
268
+ #### Comprehensive Validation
269
+
270
+ ```bash
271
+ # Validate BibTeX file
272
+ python scripts/validate_citations.py references.bib
273
+
274
+ # Validate and fix common issues
275
+ python scripts/validate_citations.py references.bib \
276
+ --auto-fix \
277
+ --output validated_references.bib
278
+
279
+ # Generate detailed validation report
280
+ python scripts/validate_citations.py references.bib \
281
+ --report validation_report.json \
282
+ --verbose
283
+ ```
284
+
285
+ **Validation Checks** (see `references/citation_validation.md`):
286
+
287
+ 1. **DOI Verification**:
288
+ - DOI resolves correctly via doi.org
289
+ - Metadata matches between BibTeX and CrossRef
290
+ - No broken or invalid DOIs
291
+
292
+ 2. **Required Fields**:
293
+ - All required fields present for entry type
294
+ - No empty or missing critical information
295
+ - Author names properly formatted
296
+
297
+ 3. **Data Consistency**:
298
+ - Year is valid (4 digits, reasonable range)
299
+ - Volume/number are numeric
300
+ - Pages formatted correctly (e.g., 123--145)
301
+ - URLs are accessible
302
+
303
+ 4. **Duplicate Detection**:
304
+ - Same DOI used multiple times
305
+ - Similar titles (possible duplicates)
306
+ - Same author/year/title combinations
307
+
308
+ 5. **Format Compliance**:
309
+ - Valid BibTeX syntax
310
+ - Proper bracing and quoting
311
+ - Citation keys are unique
312
+ - Special characters handled correctly
313
+
314
+ **Validation Output**:
315
+ ```json
316
+ {
317
+ "total_entries": 150,
318
+ "valid_entries": 145,
319
+ "errors": [
320
+ {
321
+ "citation_key": "Smith2023",
322
+ "error_type": "missing_field",
323
+ "field": "journal",
324
+ "severity": "high"
325
+ },
326
+ {
327
+ "citation_key": "Jones2022",
328
+ "error_type": "invalid_doi",
329
+ "doi": "10.1234/broken",
330
+ "severity": "high"
331
+ }
332
+ ],
333
+ "warnings": [
334
+ {
335
+ "citation_key": "Brown2021",
336
+ "warning_type": "possible_duplicate",
337
+ "duplicate_of": "Brown2021a",
338
+ "severity": "medium"
339
+ }
340
+ ]
341
+ }
342
+ ```
343
+
344
+ ### Phase 5: Integration with Writing Workflow
345
+
346
+ #### Building References for Manuscripts
347
+
348
+ Complete workflow for creating a bibliography:
349
+
350
+ ```bash
351
+ # 1. Search for papers on your topic
352
+ python scripts/search_pubmed.py \
353
+ '"CRISPR-Cas Systems"[MeSH] AND "Gene Editing"[MeSH]' \
354
+ --date-start 2020 \
355
+ --limit 200 \
356
+ --output crispr_papers.json
357
+
358
+ # 2. Extract DOIs from search results and convert to BibTeX
359
+ python scripts/extract_metadata.py \
360
+ --input crispr_papers.json \
361
+ --output crispr_refs.bib
362
+
363
+ # 3. Add specific papers by DOI
364
+ python scripts/doi_to_bibtex.py 10.1038/nature12345 >> crispr_refs.bib
365
+ python scripts/doi_to_bibtex.py 10.1126/science.abcd1234 >> crispr_refs.bib
366
+
367
+ # 4. Format and clean the BibTeX file
368
+ python scripts/format_bibtex.py crispr_refs.bib \
369
+ --deduplicate \
370
+ --sort year \
371
+ --descending \
372
+ --output references.bib
373
+
374
+ # 5. Validate all citations
375
+ python scripts/validate_citations.py references.bib \
376
+ --auto-fix \
377
+ --report validation.json \
378
+ --output final_references.bib
379
+
380
+ # 6. Review validation report and fix any remaining issues
381
+ cat validation.json
382
+
383
+ # 7. Use in your LaTeX document
384
+ # \bibliography{final_references}
385
+ ```
386
+
387
+ #### Integration with Literature Review Skill
388
+
389
+ This skill complements the `literature-review` skill:
390
+
391
+ **Literature Review Skill** → Systematic search and synthesis
392
+ **Citation Management Skill** → Technical citation handling
393
+
394
+ **Combined Workflow**:
395
+ 1. Use `literature-review` for comprehensive multi-database search
396
+ 2. Use `citation-management` to extract and validate all citations
397
+ 3. Use `literature-review` to synthesize findings thematically
398
+ 4. Use `citation-management` to verify final bibliography accuracy
399
+
400
+ ```bash
401
+ # After completing literature review
402
+ # Verify all citations in the review document
403
+ python scripts/validate_citations.py my_review_references.bib --report review_validation.json
404
+
405
+ # Format for specific citation style if needed
406
+ python scripts/format_bibtex.py my_review_references.bib \
407
+ --style nature \
408
+ --output formatted_refs.bib
409
+ ```
410
+
411
+ ## Search Strategies
412
+
413
+ ### Google Scholar Best Practices
414
+
415
+ **Finding Seminal Papers**:
416
+ - Sort by citation count (most cited first)
417
+ - Look for review articles for overview
418
+ - Check "Cited by" for impact assessment
419
+ - Use citation alerts for tracking new citations
420
+
421
+ **Advanced Operators** (full list in `references/google_scholar_search.md`):
422
+ ```
423
+ "exact phrase" # Exact phrase matching
424
+ author:lastname # Search by author
425
+ intitle:keyword # Search in title only
426
+ source:journal # Search specific journal
427
+ -exclude # Exclude terms
428
+ OR # Alternative terms
429
+ 2020..2024 # Year range
430
+ ```
431
+
432
+ **Example Searches**:
433
+ ```
434
+ # Find recent reviews on a topic
435
+ "CRISPR" intitle:review 2023..2024
436
+
437
+ # Find papers by specific author on topic
438
+ author:Church "synthetic biology"
439
+
440
+ # Find highly cited foundational work
441
+ "deep learning" 2012..2015 sort:citations
442
+
443
+ # Exclude surveys and focus on methods
444
+ "protein folding" -survey -review intitle:method
445
+ ```
446
+
447
+ ### PubMed Best Practices
448
+
449
+ **Using MeSH Terms**:
450
+ MeSH (Medical Subject Headings) provides controlled vocabulary for precise searching.
451
+
452
+ 1. **Find MeSH terms** at https://meshb.nlm.nih.gov/search
453
+ 2. **Use in queries**: `"Diabetes Mellitus, Type 2"[MeSH]`
454
+ 3. **Combine with keywords** for comprehensive coverage
455
+
456
+ **Field Tags**:
457
+ ```
458
+ [Title] # Search in title only
459
+ [Title/Abstract] # Search in title or abstract
460
+ [Author] # Search by author name
461
+ [Journal] # Search specific journal
462
+ [Publication Date] # Date range
463
+ [Publication Type] # Article type
464
+ [MeSH] # MeSH term
465
+ ```
466
+
467
+ **Building Complex Queries**:
468
+ ```bash
469
+ # Clinical trials on diabetes treatment published recently
470
+ "Diabetes Mellitus, Type 2"[MeSH] AND "Drug Therapy"[MeSH]
471
+ AND "Clinical Trial"[Publication Type] AND 2020:2024[Publication Date]
472
+
473
+ # Reviews on CRISPR in specific journal
474
+ "CRISPR-Cas Systems"[MeSH] AND "Nature"[Journal] AND "Review"[Publication Type]
475
+
476
+ # Specific author's recent work
477
+ "Smith AB"[Author] AND cancer[Title/Abstract] AND 2022:2024[Publication Date]
478
+ ```
479
+
480
+ **E-utilities for Automation**:
481
+ The scripts use NCBI E-utilities API for programmatic access:
482
+ - **ESearch**: Search and retrieve PMIDs
483
+ - **EFetch**: Retrieve full metadata
484
+ - **ESummary**: Get summary information
485
+ - **ELink**: Find related articles
486
+
487
+ See `references/pubmed_search.md` for complete API documentation.
488
+
489
+ ## Tools and Scripts
490
+
491
+ ### search_google_scholar.py
492
+
493
+ Search Google Scholar and export results.
494
+
495
+ **Features**:
496
+ - Automated searching with rate limiting
497
+ - Pagination support
498
+ - Year range filtering
499
+ - Export to JSON or BibTeX
500
+ - Citation count information
501
+
502
+ **Usage**:
503
+ ```bash
504
+ # Basic search
505
+ python scripts/search_google_scholar.py "quantum computing"
506
+
507
+ # Advanced search with filters
508
+ python scripts/search_google_scholar.py "quantum computing" \
509
+ --year-start 2020 \
510
+ --year-end 2024 \
511
+ --limit 100 \
512
+ --sort-by citations \
513
+ --output quantum_papers.json
514
+
515
+ # Export directly to BibTeX
516
+ python scripts/search_google_scholar.py "machine learning" \
517
+ --limit 50 \
518
+ --format bibtex \
519
+ --output ml_papers.bib
520
+ ```
521
+
522
+ ### search_pubmed.py
523
+
524
+ Search PubMed using E-utilities API.
525
+
526
+ **Features**:
527
+ - Complex query support (MeSH, field tags, Boolean)
528
+ - Date range filtering
529
+ - Publication type filtering
530
+ - Batch retrieval with metadata
531
+ - Export to JSON or BibTeX
532
+
533
+ **Usage**:
534
+ ```bash
535
+ # Simple keyword search
536
+ python scripts/search_pubmed.py "CRISPR gene editing"
537
+
538
+ # Complex query with filters
539
+ python scripts/search_pubmed.py \
540
+ --query '"CRISPR-Cas Systems"[MeSH] AND "therapeutic"[Title/Abstract]' \
541
+ --date-start 2020-01-01 \
542
+ --date-end 2024-12-31 \
543
+ --publication-types "Clinical Trial,Review" \
544
+ --limit 200 \
545
+ --output crispr_therapeutic.json
546
+
547
+ # Export to BibTeX
548
+ python scripts/search_pubmed.py "Alzheimer's disease" \
549
+ --limit 100 \
550
+ --format bibtex \
551
+ --output alzheimers.bib
552
+ ```
553
+
554
+ ### extract_metadata.py
555
+
556
+ Extract complete metadata from paper identifiers.
557
+
558
+ **Features**:
559
+ - Supports DOI, PMID, arXiv ID, URL
560
+ - Queries CrossRef, PubMed, arXiv APIs
561
+ - Handles multiple identifier types
562
+ - Batch processing
563
+ - Multiple output formats
564
+
565
+ **Usage**:
566
+ ```bash
567
+ # Single DOI
568
+ python scripts/extract_metadata.py --doi 10.1038/s41586-021-03819-2
569
+
570
+ # Single PMID
571
+ python scripts/extract_metadata.py --pmid 34265844
572
+
573
+ # Single arXiv ID
574
+ python scripts/extract_metadata.py --arxiv 2103.14030
575
+
576
+ # From URL
577
+ python scripts/extract_metadata.py \
578
+ --url "https://www.nature.com/articles/s41586-021-03819-2"
579
+
580
+ # Batch processing (file with one identifier per line)
581
+ python scripts/extract_metadata.py \
582
+ --input paper_ids.txt \
583
+ --output references.bib
584
+
585
+ # Different output formats
586
+ python scripts/extract_metadata.py \
587
+ --doi 10.1038/nature12345 \
588
+ --format json # or bibtex, yaml
589
+ ```
590
+
591
+ ### validate_citations.py
592
+
593
+ Validate BibTeX entries for accuracy and completeness.
594
+
595
+ **Features**:
596
+ - DOI verification via doi.org and CrossRef
597
+ - Required field checking
598
+ - Duplicate detection
599
+ - Format validation
600
+ - Auto-fix common issues
601
+ - Detailed reporting
602
+
603
+ **Usage**:
604
+ ```bash
605
+ # Basic validation
606
+ python scripts/validate_citations.py references.bib
607
+
608
+ # With auto-fix
609
+ python scripts/validate_citations.py references.bib \
610
+ --auto-fix \
611
+ --output fixed_references.bib
612
+
613
+ # Detailed validation report
614
+ python scripts/validate_citations.py references.bib \
615
+ --report validation_report.json \
616
+ --verbose
617
+
618
+ # Only check DOIs
619
+ python scripts/validate_citations.py references.bib \
620
+ --check-dois-only
621
+ ```
622
+
623
+ ### format_bibtex.py
624
+
625
+ Format and clean BibTeX files.
626
+
627
+ **Features**:
628
+ - Standardize formatting
629
+ - Sort entries (by key, year, author)
630
+ - Remove duplicates
631
+ - Validate syntax
632
+ - Fix common errors
633
+ - Enforce citation key conventions
634
+
635
+ **Usage**:
636
+ ```bash
637
+ # Basic formatting
638
+ python scripts/format_bibtex.py references.bib
639
+
640
+ # Sort by year (newest first)
641
+ python scripts/format_bibtex.py references.bib \
642
+ --sort year \
643
+ --descending \
644
+ --output sorted_refs.bib
645
+
646
+ # Remove duplicates
647
+ python scripts/format_bibtex.py references.bib \
648
+ --deduplicate \
649
+ --output clean_refs.bib
650
+
651
+ # Complete cleanup
652
+ python scripts/format_bibtex.py references.bib \
653
+ --deduplicate \
654
+ --sort year \
655
+ --validate \
656
+ --auto-fix \
657
+ --output final_refs.bib
658
+ ```
659
+
660
+ ### doi_to_bibtex.py
661
+
662
+ Quick DOI to BibTeX conversion.
663
+
664
+ **Features**:
665
+ - Fast single DOI conversion
666
+ - Batch processing
667
+ - Multiple output formats
668
+ - Clipboard support
669
+
670
+ **Usage**:
671
+ ```bash
672
+ # Single DOI
673
+ python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2
674
+
675
+ # Multiple DOIs
676
+ python scripts/doi_to_bibtex.py \
677
+ 10.1038/nature12345 \
678
+ 10.1126/science.abc1234 \
679
+ 10.1016/j.cell.2023.01.001
680
+
681
+ # From file (one DOI per line)
682
+ python scripts/doi_to_bibtex.py --input dois.txt --output references.bib
683
+
684
+ # Copy to clipboard
685
+ python scripts/doi_to_bibtex.py 10.1038/nature12345 --clipboard
686
+ ```
687
+
688
+ ## Best Practices
689
+
690
+ ### Search Strategy
691
+
692
+ 1. **Start broad, then narrow**:
693
+ - Begin with general terms to understand the field
694
+ - Refine with specific keywords and filters
695
+ - Use synonyms and related terms
696
+
697
+ 2. **Use multiple sources**:
698
+ - Google Scholar for comprehensive coverage
699
+ - PubMed for biomedical focus
700
+ - arXiv for preprints
701
+ - Combine results for completeness
702
+
703
+ 3. **Leverage citations**:
704
+ - Check "Cited by" for seminal papers
705
+ - Review references from key papers
706
+ - Use citation networks to discover related work
707
+
708
+ 4. **Document your searches**:
709
+ - Save search queries and dates
710
+ - Record number of results
711
+ - Note any filters or restrictions applied
712
+
713
+ ### Metadata Extraction
714
+
715
+ 1. **Always use DOIs when available**:
716
+ - Most reliable identifier
717
+ - Permanent link to the publication
718
+ - Best metadata source via CrossRef
719
+
720
+ 2. **Verify extracted metadata**:
721
+ - Check author names are correct
722
+ - Verify journal/conference names
723
+ - Confirm publication year
724
+ - Validate page numbers and volume
725
+
726
+ 3. **Handle edge cases**:
727
+ - Preprints: Include repository and ID
728
+ - Preprints later published: Use published version
729
+ - Conference papers: Include conference name and location
730
+ - Book chapters: Include book title and editors
731
+
732
+ 4. **Maintain consistency**:
733
+ - Use consistent author name format
734
+ - Standardize journal abbreviations
735
+ - Use same DOI format (URL preferred)
736
+
737
+ ### BibTeX Quality
738
+
739
+ 1. **Follow conventions**:
740
+ - Use meaningful citation keys (FirstAuthor2024keyword)
741
+ - Protect capitalization in titles with {}
742
+ - Use -- for page ranges (not single dash)
743
+ - Include DOI field for all modern publications
744
+
745
+ 2. **Keep it clean**:
746
+ - Remove unnecessary fields
747
+ - No redundant information
748
+ - Consistent formatting
749
+ - Validate syntax regularly
750
+
751
+ 3. **Organize systematically**:
752
+ - Sort by year or topic
753
+ - Group related papers
754
+ - Use separate files for different projects
755
+ - Merge carefully to avoid duplicates
756
+
757
+ ### Validation
758
+
759
+ 1. **Validate early and often**:
760
+ - Check citations when adding them
761
+ - Validate complete bibliography before submission
762
+ - Re-validate after any manual edits
763
+
764
+ 2. **Fix issues promptly**:
765
+ - Broken DOIs: Find correct identifier
766
+ - Missing fields: Extract from original source
767
+ - Duplicates: Choose best version, remove others
768
+ - Format errors: Use auto-fix when safe
769
+
770
+ 3. **Manual review for critical citations**:
771
+ - Verify key papers cited correctly
772
+ - Check author names match publication
773
+ - Confirm page numbers and volume
774
+ - Ensure URLs are current
775
+
776
+ ## Common Pitfalls to Avoid
777
+
778
+ 1. **Single source bias**: Only using Google Scholar or PubMed
779
+ - **Solution**: Search multiple databases for comprehensive coverage
780
+
781
+ 2. **Accepting metadata blindly**: Not verifying extracted information
782
+ - **Solution**: Spot-check extracted metadata against original sources
783
+
784
+ 3. **Ignoring DOI errors**: Broken or incorrect DOIs in bibliography
785
+ - **Solution**: Run validation before final submission
786
+
787
+ 4. **Inconsistent formatting**: Mixed citation key styles, formatting
788
+ - **Solution**: Use format_bibtex.py to standardize
789
+
790
+ 5. **Duplicate entries**: Same paper cited multiple times with different keys
791
+ - **Solution**: Use duplicate detection in validation
792
+
793
+ 6. **Missing required fields**: Incomplete BibTeX entries
794
+ - **Solution**: Validate and ensure all required fields present
795
+
796
+ 7. **Outdated preprints**: Citing preprint when published version exists
797
+ - **Solution**: Check if preprints have been published, update to journal version
798
+
799
+ 8. **Special character issues**: Broken LaTeX compilation due to characters
800
+ - **Solution**: Use proper escaping or Unicode in BibTeX
801
+
802
+ 9. **No validation before submission**: Submitting with citation errors
803
+ - **Solution**: Always run validation as final check
804
+
805
+ 10. **Manual BibTeX entry**: Typing entries by hand
806
+ - **Solution**: Always extract from metadata sources using scripts
807
+
808
+ ## Example Workflows
809
+
810
+ ### Example 1: Building a Bibliography for a Paper
811
+
812
+ ```bash
813
+ # Step 1: Find key papers on your topic
814
+ python scripts/search_google_scholar.py "transformer neural networks" \
815
+ --year-start 2017 \
816
+ --limit 50 \
817
+ --output transformers_gs.json
818
+
819
+ python scripts/search_pubmed.py "deep learning medical imaging" \
820
+ --date-start 2020 \
821
+ --limit 50 \
822
+ --output medical_dl_pm.json
823
+
824
+ # Step 2: Extract metadata from search results
825
+ python scripts/extract_metadata.py \
826
+ --input transformers_gs.json \
827
+ --output transformers.bib
828
+
829
+ python scripts/extract_metadata.py \
830
+ --input medical_dl_pm.json \
831
+ --output medical.bib
832
+
833
+ # Step 3: Add specific papers you already know
834
+ python scripts/doi_to_bibtex.py 10.1038/s41586-021-03819-2 >> specific.bib
835
+ python scripts/doi_to_bibtex.py 10.1126/science.aam9317 >> specific.bib
836
+
837
+ # Step 4: Combine all BibTeX files
838
+ cat transformers.bib medical.bib specific.bib > combined.bib
839
+
840
+ # Step 5: Format and deduplicate
841
+ python scripts/format_bibtex.py combined.bib \
842
+ --deduplicate \
843
+ --sort year \
844
+ --descending \
845
+ --output formatted.bib
846
+
847
+ # Step 6: Validate
848
+ python scripts/validate_citations.py formatted.bib \
849
+ --auto-fix \
850
+ --report validation.json \
851
+ --output final_references.bib
852
+
853
+ # Step 7: Review any issues
854
+ cat validation.json | grep -A 3 '"errors"'
855
+
856
+ # Step 8: Use in LaTeX
857
+ # \bibliography{final_references}
858
+ ```
859
+
860
+ ### Example 2: Converting a List of DOIs
861
+
862
+ ```bash
863
+ # You have a text file with DOIs (one per line)
864
+ # dois.txt contains:
865
+ # 10.1038/s41586-021-03819-2
866
+ # 10.1126/science.aam9317
867
+ # 10.1016/j.cell.2023.01.001
868
+
869
+ # Convert all to BibTeX
870
+ python scripts/doi_to_bibtex.py --input dois.txt --output references.bib
871
+
872
+ # Validate the result
873
+ python scripts/validate_citations.py references.bib --verbose
874
+ ```
875
+
876
+ ### Example 3: Cleaning an Existing BibTeX File
877
+
878
+ ```bash
879
+ # You have a messy BibTeX file from various sources
880
+ # Clean it up systematically
881
+
882
+ # Step 1: Format and standardize
883
+ python scripts/format_bibtex.py messy_references.bib \
884
+ --output step1_formatted.bib
885
+
886
+ # Step 2: Remove duplicates
887
+ python scripts/format_bibtex.py step1_formatted.bib \
888
+ --deduplicate \
889
+ --output step2_deduplicated.bib
890
+
891
+ # Step 3: Validate and auto-fix
892
+ python scripts/validate_citations.py step2_deduplicated.bib \
893
+ --auto-fix \
894
+ --output step3_validated.bib
895
+
896
+ # Step 4: Sort by year
897
+ python scripts/format_bibtex.py step3_validated.bib \
898
+ --sort year \
899
+ --descending \
900
+ --output clean_references.bib
901
+
902
+ # Step 5: Final validation report
903
+ python scripts/validate_citations.py clean_references.bib \
904
+ --report final_validation.json \
905
+ --verbose
906
+
907
+ # Review report
908
+ cat final_validation.json
909
+ ```
910
+
911
+ ### Example 4: Finding and Citing Seminal Papers
912
+
913
+ ```bash
914
+ # Find highly cited papers on a topic
915
+ python scripts/search_google_scholar.py "AlphaFold protein structure" \
916
+ --year-start 2020 \
917
+ --year-end 2024 \
918
+ --sort-by citations \
919
+ --limit 20 \
920
+ --output alphafold_seminal.json
921
+
922
+ # Extract the top 10 by citation count
923
+ # (script will have included citation counts in JSON)
924
+
925
+ # Convert to BibTeX
926
+ python scripts/extract_metadata.py \
927
+ --input alphafold_seminal.json \
928
+ --output alphafold_refs.bib
929
+
930
+ # The BibTeX file now contains the most influential papers
931
+ ```
932
+
933
+ ## Integration with Other Skills
934
+
935
+ ### Literature Review Skill
936
+
937
+ **Citation Management** provides the technical infrastructure for **Literature Review**:
938
+
939
+ - **Literature Review**: Multi-database systematic search and synthesis
940
+ - **Citation Management**: Metadata extraction and validation
941
+
942
+ **Combined workflow**:
943
+ 1. Use literature-review for systematic search methodology
944
+ 2. Use citation-management to extract and validate citations
945
+ 3. Use literature-review to synthesize findings
946
+ 4. Use citation-management to ensure bibliography accuracy
947
+
948
+ ### Scientific Writing Skill
949
+
950
+ **Citation Management** ensures accurate references for **Scientific Writing**:
951
+
952
+ - Export validated BibTeX for use in LaTeX manuscripts
953
+ - Verify citations match publication standards
954
+ - Format references according to journal requirements
955
+
956
+ ### Venue Templates Skill
957
+
958
+ **Citation Management** works with **Venue Templates** for submission-ready manuscripts:
959
+
960
+ - Different venues require different citation styles
961
+ - Generate properly formatted references
962
+ - Validate citations meet venue requirements
963
+
964
+ ## Resources
965
+
966
+ ### Bundled Resources
967
+
968
+ **References** (in `references/`):
969
+ - `google_scholar_search.md`: Complete Google Scholar search guide
970
+ - `pubmed_search.md`: PubMed and E-utilities API documentation
971
+ - `metadata_extraction.md`: Metadata sources and field requirements
972
+ - `citation_validation.md`: Validation criteria and quality checks
973
+ - `bibtex_formatting.md`: BibTeX entry types and formatting rules
974
+
975
+ **Scripts** (in `scripts/`):
976
+ - `search_google_scholar.py`: Google Scholar search automation
977
+ - `search_pubmed.py`: PubMed E-utilities API client
978
+ - `extract_metadata.py`: Universal metadata extractor
979
+ - `validate_citations.py`: Citation validation and verification
980
+ - `format_bibtex.py`: BibTeX formatter and cleaner
981
+ - `doi_to_bibtex.py`: Quick DOI to BibTeX converter
982
+
983
+ **Assets** (in `assets/`):
984
+ - `bibtex_template.bib`: Example BibTeX entries for all types
985
+ - `citation_checklist.md`: Quality assurance checklist
986
+
987
+ ### External Resources
988
+
989
+ **Search Engines**:
990
+ - Google Scholar: https://scholar.google.com/
991
+ - PubMed: https://pubmed.ncbi.nlm.nih.gov/
992
+ - PubMed Advanced Search: https://pubmed.ncbi.nlm.nih.gov/advanced/
993
+
994
+ **Metadata APIs**:
995
+ - CrossRef API: https://api.crossref.org/
996
+ - PubMed E-utilities: https://www.ncbi.nlm.nih.gov/books/NBK25501/
997
+ - arXiv API: https://arxiv.org/help/api/
998
+ - DataCite API: https://api.datacite.org/
999
+
1000
+ **Tools and Validators**:
1001
+ - MeSH Browser: https://meshb.nlm.nih.gov/search
1002
+ - DOI Resolver: https://doi.org/
1003
+ - BibTeX Format: http://www.bibtex.org/Format/
1004
+
1005
+ **Citation Styles**:
1006
+ - BibTeX documentation: http://www.bibtex.org/
1007
+ - LaTeX bibliography management: https://www.overleaf.com/learn/latex/Bibliography_management
1008
+
1009
+ ## Dependencies
1010
+
1011
+ ### Required Python Packages
1012
+
1013
+ ```bash
1014
+ # Core dependencies
1015
+ pip install requests # HTTP requests for APIs
1016
+ pip install bibtexparser # BibTeX parsing and formatting
1017
+ pip install biopython # PubMed E-utilities access
1018
+
1019
+ # Optional (for Google Scholar)
1020
+ pip install scholarly # Google Scholar API wrapper
1021
+ # or
1022
+ pip install selenium # For more robust Scholar scraping
1023
+ ```
1024
+
1025
+ ### Optional Tools
1026
+
1027
+ ```bash
1028
+ # For advanced validation
1029
+ pip install crossref-commons # Enhanced CrossRef API access
1030
+ pip install pylatexenc # LaTeX special character handling
1031
+ ```
1032
+
1033
+ ## Summary
1034
+
1035
+ The citation-management skill provides:
1036
+
1037
+ 1. **Comprehensive search capabilities** for Google Scholar and PubMed
1038
+ 2. **Automated metadata extraction** from DOI, PMID, arXiv ID, URLs
1039
+ 3. **Citation validation** with DOI verification and completeness checking
1040
+ 4. **BibTeX formatting** with standardization and cleaning tools
1041
+ 5. **Quality assurance** through validation and reporting
1042
+ 6. **Integration** with scientific writing workflow
1043
+ 7. **Reproducibility** through documented search and extraction methods
1044
+
1045
+ Use this skill to maintain accurate, complete citations throughout your research and ensure publication-ready bibliographies.
1046
+