@brainpilot/skills 0.0.6 → 0.0.7

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 (285) hide show
  1. package/package.json +2 -2
  2. package/skills/01_Meta-Skills/academic-research-hub/SKILL.md +108 -0
  3. package/skills/01_Meta-Skills/academic-research-hub/scripts/requirements.txt +17 -0
  4. package/skills/01_Meta-Skills/academic-research-hub/scripts/research.py +781 -0
  5. package/skills/01_Meta-Skills/beautiful-log/SKILL.md +64 -0
  6. package/skills/01_Meta-Skills/beautiful-log/scripts/beautiful_log.py +274 -0
  7. package/skills/01_Meta-Skills/ethoclaw-daily-paper/SKILL.md +130 -0
  8. package/skills/01_Meta-Skills/ethoclaw-daily-paper/assets/config.template.yaml +54 -0
  9. package/skills/01_Meta-Skills/ethoclaw-daily-paper/assets/top5_digest_template.md +5 -0
  10. package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/build_top5_digest.py +300 -0
  11. package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/common.py +137 -0
  12. package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/merge_results.py +106 -0
  13. package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/run_pipeline.py +177 -0
  14. package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/search_arxiv.py +162 -0
  15. package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/search_pubmed.py +202 -0
  16. package/skills/01_Meta-Skills/ethoclaw-normalize-tabular/SKILL.md +173 -0
  17. package/skills/01_Meta-Skills/ethoclaw-normalize-tabular/scripts/normalize_data.py +874 -0
  18. package/skills/01_Meta-Skills/ethoclaw-pdf-research/SKILL.md +134 -0
  19. package/skills/01_Meta-Skills/ethoclaw-pdf-research/references/confirmation-prompts.md +31 -0
  20. package/skills/01_Meta-Skills/ethoclaw-pdf-research/references/output-patterns.md +45 -0
  21. package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/build_markdown_deliverables.py +41 -0
  22. package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/build_research_log.py +84 -0
  23. package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/build_summary_md.py +63 -0
  24. package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/extract_pdf_bundle.py +140 -0
  25. package/skills/01_Meta-Skills/experiment-controller/SKILL.md +140 -0
  26. package/skills/01_Meta-Skills/knowledge-graph-builder/SKILL.md +366 -0
  27. package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/entity_resolution.py +120 -0
  28. package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/extraction_prompt_template.txt +19 -0
  29. package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/graph_query.py +106 -0
  30. package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/hypothesis_cli_reference.py +42 -0
  31. package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/new_data_source_template.py +116 -0
  32. package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/requirements.txt +15 -0
  33. package/skills/01_Meta-Skills/method-design/SKILL.md +61 -0
  34. package/skills/01_Meta-Skills/multi-search-engine/SKILL.md +119 -0
  35. package/skills/01_Meta-Skills/research-idea/SKILL.md +65 -0
  36. package/skills/05_EEG_ERP/eeg-skill/SKILL.md +197 -0
  37. package/skills/05_EEG_ERP/meg-skill/SKILL.md +188 -0
  38. package/skills/05_EEG_ERP/meg-skill/scripts/time_frequency.py +223 -0
  39. package/skills/05_EEG_ERP/mne-eeg-tool/SKILL.md +165 -0
  40. package/skills/05_EEG_ERP/mne-eeg-tool/scripts/eeg_pipeline_reference.py +231 -0
  41. package/skills/05_EEG_ERP/seed-iv-skill/SKILL.md +184 -0
  42. package/skills/05_EEG_ERP/seed-iv-skill/scripts/classify_seed_iv.py +154 -0
  43. package/skills/05_EEG_ERP/seed-iv-skill/scripts/extract_seed_iv_features.py +190 -0
  44. package/skills/05_EEG_ERP/seed-iv-skill/scripts/validate_seed_iv.py +102 -0
  45. package/skills/05_EEG_ERP/seed-vig-skill/SKILL.md +182 -0
  46. package/skills/05_EEG_ERP/seed-vig-skill/scripts/classify_seed_vig.py +165 -0
  47. package/skills/05_EEG_ERP/seed-vig-skill/scripts/extract_seed_vig_features.py +185 -0
  48. package/skills/05_EEG_ERP/seed-vig-skill/scripts/validate_seed_vig.py +88 -0
  49. package/skills/06_fMRI_Neuroimaging/abcd-skill/SKILL.md +308 -0
  50. package/skills/06_fMRI_Neuroimaging/abcd-skill/scripts/abcd_qc_summary.py +449 -0
  51. package/skills/06_fMRI_Neuroimaging/abcd-skill/scripts/extract_abcd_phenotype.py +292 -0
  52. package/skills/06_fMRI_Neuroimaging/abcd-skill/scripts/reorganize_abcd.py +387 -0
  53. package/skills/06_fMRI_Neuroimaging/abide-skill/SKILL.md +302 -0
  54. package/skills/06_fMRI_Neuroimaging/abide-skill/scripts/abide_qc_summary.py +317 -0
  55. package/skills/06_fMRI_Neuroimaging/abide-skill/scripts/extract_abide_phenotype.py +267 -0
  56. package/skills/06_fMRI_Neuroimaging/abide-skill/scripts/reorganize_abide.py +387 -0
  57. package/skills/06_fMRI_Neuroimaging/adhd200-skill/SKILL.md +244 -0
  58. package/skills/06_fMRI_Neuroimaging/adhd200-skill/scripts/adhd200_qc_summary.py +98 -0
  59. package/skills/06_fMRI_Neuroimaging/adhd200-skill/scripts/extract_adhd200_phenotype.py +134 -0
  60. package/skills/06_fMRI_Neuroimaging/adhd200-skill/scripts/reorganize_adhd200.py +206 -0
  61. package/skills/06_fMRI_Neuroimaging/adni-skill/SKILL.md +358 -0
  62. package/skills/06_fMRI_Neuroimaging/adni-skill/scripts/generate_adni_task_files.py +1305 -0
  63. package/skills/06_fMRI_Neuroimaging/adni-skill/scripts/generate_vqa_from_tasks.py +766 -0
  64. package/skills/06_fMRI_Neuroimaging/adni-skill/scripts/reorganize_adni.py +491 -0
  65. package/skills/06_fMRI_Neuroimaging/aibl-skill/SKILL.md +295 -0
  66. package/skills/06_fMRI_Neuroimaging/aibl-skill/scripts/aibl_qc_summary.py +260 -0
  67. package/skills/06_fMRI_Neuroimaging/aibl-skill/scripts/extract_aibl_phenotype.py +365 -0
  68. package/skills/06_fMRI_Neuroimaging/aibl-skill/scripts/reorganize_aibl.py +394 -0
  69. package/skills/06_fMRI_Neuroimaging/aomic-skill/SKILL.md +292 -0
  70. package/skills/06_fMRI_Neuroimaging/aomic-skill/scripts/aomic_qc_summary.py +258 -0
  71. package/skills/06_fMRI_Neuroimaging/aomic-skill/scripts/extract_aomic_phenotype.py +284 -0
  72. package/skills/06_fMRI_Neuroimaging/aomic-skill/scripts/reorganize_aomic.py +322 -0
  73. package/skills/06_fMRI_Neuroimaging/asl-skill/SKILL.md +168 -0
  74. package/skills/06_fMRI_Neuroimaging/asl-skill/scripts/compute_cbf.py +224 -0
  75. package/skills/06_fMRI_Neuroimaging/bids-organizer/SKILL.md +241 -0
  76. package/skills/06_fMRI_Neuroimaging/bold5000-skill/SKILL.md +186 -0
  77. package/skills/06_fMRI_Neuroimaging/bold5000-skill/scripts/bold5000_qc_summary.py +96 -0
  78. package/skills/06_fMRI_Neuroimaging/bold5000-skill/scripts/extract_bold5000_stimulus.py +125 -0
  79. package/skills/06_fMRI_Neuroimaging/bold5000-skill/scripts/reorganize_bold5000.py +102 -0
  80. package/skills/06_fMRI_Neuroimaging/camcan-skill/SKILL.md +213 -0
  81. package/skills/06_fMRI_Neuroimaging/camcan-skill/scripts/camcan_qc_summary.py +131 -0
  82. package/skills/06_fMRI_Neuroimaging/camcan-skill/scripts/extract_camcan_phenotype.py +145 -0
  83. package/skills/06_fMRI_Neuroimaging/camcan-skill/scripts/validate_camcan.py +141 -0
  84. package/skills/06_fMRI_Neuroimaging/cobre-skill/SKILL.md +201 -0
  85. package/skills/06_fMRI_Neuroimaging/cobre-skill/scripts/cobre_qc_summary.py +95 -0
  86. package/skills/06_fMRI_Neuroimaging/cobre-skill/scripts/extract_cobre_phenotype.py +104 -0
  87. package/skills/06_fMRI_Neuroimaging/cobre-skill/scripts/reorganize_cobre.py +140 -0
  88. package/skills/06_fMRI_Neuroimaging/conn-tool/SKILL.md +180 -0
  89. package/skills/06_fMRI_Neuroimaging/dcm2nii/SKILL.md +189 -0
  90. package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/SKILL.md +183 -0
  91. package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/scripts/dmt_har_med_qc_summary.py +96 -0
  92. package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/scripts/extract_dmt_har_med_phenotype.py +121 -0
  93. package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/scripts/reorganize_dmt_har_med.py +125 -0
  94. package/skills/06_fMRI_Neuroimaging/dwi-skill/SKILL.md +359 -0
  95. package/skills/06_fMRI_Neuroimaging/fmri-skill/SKILL.md +371 -0
  96. package/skills/06_fMRI_Neuroimaging/fmriprep-tool/SKILL.md +228 -0
  97. package/skills/06_fMRI_Neuroimaging/freesurfer-tool/SKILL.md +286 -0
  98. package/skills/06_fMRI_Neuroimaging/freesurfer-tool/scripts/freesurfer_processor.py +145 -0
  99. package/skills/06_fMRI_Neuroimaging/fsl-tool/SKILL.md +208 -0
  100. package/skills/06_fMRI_Neuroimaging/hbn-skill/SKILL.md +271 -0
  101. package/skills/06_fMRI_Neuroimaging/hbn-skill/scripts/extract_hbn_phenotype.py +107 -0
  102. package/skills/06_fMRI_Neuroimaging/hbn-skill/scripts/hbn_qc_summary.py +96 -0
  103. package/skills/06_fMRI_Neuroimaging/hbn-skill/scripts/reorganize_hbn.py +150 -0
  104. package/skills/06_fMRI_Neuroimaging/hcpa-skill/SKILL.md +210 -0
  105. package/skills/06_fMRI_Neuroimaging/hcpa-skill/scripts/extract_hcpa_phenotype.py +146 -0
  106. package/skills/06_fMRI_Neuroimaging/hcpa-skill/scripts/hcpa_qc_summary.py +120 -0
  107. package/skills/06_fMRI_Neuroimaging/hcpa-skill/scripts/reorganize_hcpa.py +155 -0
  108. package/skills/06_fMRI_Neuroimaging/hcpd-skill/SKILL.md +210 -0
  109. package/skills/06_fMRI_Neuroimaging/hcpd-skill/scripts/extract_hcpd_phenotype.py +148 -0
  110. package/skills/06_fMRI_Neuroimaging/hcpd-skill/scripts/hcpd_qc_summary.py +125 -0
  111. package/skills/06_fMRI_Neuroimaging/hcpd-skill/scripts/reorganize_hcpd.py +146 -0
  112. package/skills/06_fMRI_Neuroimaging/hcpep-skill/SKILL.md +215 -0
  113. package/skills/06_fMRI_Neuroimaging/hcpep-skill/scripts/extract_hcpep_phenotype.py +157 -0
  114. package/skills/06_fMRI_Neuroimaging/hcpep-skill/scripts/hcpep_qc_summary.py +143 -0
  115. package/skills/06_fMRI_Neuroimaging/hcpep-skill/scripts/reorganize_hcpep.py +146 -0
  116. package/skills/06_fMRI_Neuroimaging/hcppipeline-tool/SKILL.md +217 -0
  117. package/skills/06_fMRI_Neuroimaging/hcpya-skill/SKILL.md +214 -0
  118. package/skills/06_fMRI_Neuroimaging/hcpya-skill/scripts/extract_hcpya_phenotype.py +190 -0
  119. package/skills/06_fMRI_Neuroimaging/hcpya-skill/scripts/hcpya_qc_summary.py +152 -0
  120. package/skills/06_fMRI_Neuroimaging/hcpya-skill/scripts/reorganize_hcpya.py +203 -0
  121. package/skills/06_fMRI_Neuroimaging/ixi-skill/SKILL.md +198 -0
  122. package/skills/06_fMRI_Neuroimaging/ixi-skill/scripts/ixi_qc_summary.py +137 -0
  123. package/skills/06_fMRI_Neuroimaging/ixi-skill/scripts/reorganize_ixi.py +190 -0
  124. package/skills/06_fMRI_Neuroimaging/mnd-skill/SKILL.md +191 -0
  125. package/skills/06_fMRI_Neuroimaging/mnd-skill/scripts/extract_mnd_phenotype.py +143 -0
  126. package/skills/06_fMRI_Neuroimaging/mnd-skill/scripts/mnd_qc_summary.py +120 -0
  127. package/skills/06_fMRI_Neuroimaging/mnd-skill/scripts/validate_mnd.py +107 -0
  128. package/skills/06_fMRI_Neuroimaging/mschallenge-skill/SKILL.md +203 -0
  129. package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/analyze_lesions.py +119 -0
  130. package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/longitudinal_lesion.py +148 -0
  131. package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/mschallenge_qc_summary.py +132 -0
  132. package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/validate_mschallenge.py +116 -0
  133. package/skills/06_fMRI_Neuroimaging/nibabel-skill/SKILL.md +184 -0
  134. package/skills/06_fMRI_Neuroimaging/nibabel-skill/scripts/atlas_coordinate_reference.py +61 -0
  135. package/skills/06_fMRI_Neuroimaging/nibabel-skill/scripts/freesurfer_io_reference.py +34 -0
  136. package/skills/06_fMRI_Neuroimaging/nibabel-skill/scripts/nifti_inspection_reference.py +35 -0
  137. package/skills/06_fMRI_Neuroimaging/nifd-skill/SKILL.md +205 -0
  138. package/skills/06_fMRI_Neuroimaging/nifd-skill/scripts/extract_nifd_phenotype.py +132 -0
  139. package/skills/06_fMRI_Neuroimaging/nifd-skill/scripts/nifd_qc_summary.py +111 -0
  140. package/skills/06_fMRI_Neuroimaging/nifd-skill/scripts/validate_nifd.py +111 -0
  141. package/skills/06_fMRI_Neuroimaging/nii2dcm/SKILL.md +143 -0
  142. package/skills/06_fMRI_Neuroimaging/nilearn-tool/SKILL.md +266 -0
  143. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/connectome_reference.py +65 -0
  144. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/denoise_timeseries_reference.py +58 -0
  145. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/hierarchical_parcellation_reference.py +53 -0
  146. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/kmeans_parcellation_reference.py +53 -0
  147. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/preprocess_bold_reference.py +76 -0
  148. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/rest_dictlearning_reference.py +56 -0
  149. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/rest_ica_reference.py +59 -0
  150. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/second_level_glm_reference.py +58 -0
  151. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/spacenet_classifier_reference.py +59 -0
  152. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/svm_classifier_reference.py +60 -0
  153. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/task_glm_reference.py +63 -0
  154. package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/zalff_summary_reference.py +109 -0
  155. package/skills/06_fMRI_Neuroimaging/nsd-skill/SKILL.md +210 -0
  156. package/skills/06_fMRI_Neuroimaging/nsd-skill/scripts/extract_nsd_stimulus.py +171 -0
  157. package/skills/06_fMRI_Neuroimaging/nsd-skill/scripts/nsd_qc_summary.py +142 -0
  158. package/skills/06_fMRI_Neuroimaging/nsd-skill/scripts/validate_nsd.py +142 -0
  159. package/skills/06_fMRI_Neuroimaging/oasis-skill/SKILL.md +205 -0
  160. package/skills/06_fMRI_Neuroimaging/oasis-skill/scripts/extract_oasis_phenotype.py +126 -0
  161. package/skills/06_fMRI_Neuroimaging/oasis-skill/scripts/oasis_qc_summary.py +115 -0
  162. package/skills/06_fMRI_Neuroimaging/oasis-skill/scripts/validate_oasis.py +119 -0
  163. package/skills/06_fMRI_Neuroimaging/pet-skill/SKILL.md +173 -0
  164. package/skills/06_fMRI_Neuroimaging/pet-skill/scripts/compute_suvr.py +202 -0
  165. package/skills/06_fMRI_Neuroimaging/pnc-skill/SKILL.md +206 -0
  166. package/skills/06_fMRI_Neuroimaging/pnc-skill/scripts/extract_pnc_phenotype.py +136 -0
  167. package/skills/06_fMRI_Neuroimaging/pnc-skill/scripts/pnc_qc_summary.py +116 -0
  168. package/skills/06_fMRI_Neuroimaging/pnc-skill/scripts/validate_pnc.py +120 -0
  169. package/skills/06_fMRI_Neuroimaging/ppmi-skill/SKILL.md +209 -0
  170. package/skills/06_fMRI_Neuroimaging/ppmi-skill/scripts/extract_ppmi_phenotype.py +138 -0
  171. package/skills/06_fMRI_Neuroimaging/ppmi-skill/scripts/ppmi_qc_summary.py +111 -0
  172. package/skills/06_fMRI_Neuroimaging/ppmi-skill/scripts/validate_ppmi.py +117 -0
  173. package/skills/06_fMRI_Neuroimaging/qsiprep-tool/SKILL.md +320 -0
  174. package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/SKILL.md +215 -0
  175. package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/extract_rest_mdd_phenotype.py +132 -0
  176. package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/harmonize_sites.py +152 -0
  177. package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/rest_mdd_qc_summary.py +124 -0
  178. package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/validate_rest_mdd.py +103 -0
  179. package/skills/06_fMRI_Neuroimaging/smri-skill/SKILL.md +302 -0
  180. package/skills/06_fMRI_Neuroimaging/tcp-skill/SKILL.md +204 -0
  181. package/skills/06_fMRI_Neuroimaging/tcp-skill/scripts/extract_tcp_phenotype.py +139 -0
  182. package/skills/06_fMRI_Neuroimaging/tcp-skill/scripts/tcp_qc_summary.py +111 -0
  183. package/skills/06_fMRI_Neuroimaging/tcp-skill/scripts/validate_tcp.py +99 -0
  184. package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/SKILL.md +217 -0
  185. package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/scripts/extract_ucla_cnp_phenotype.py +145 -0
  186. package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/scripts/ucla_cnp_qc_summary.py +111 -0
  187. package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/scripts/validate_ucla_cnp.py +113 -0
  188. package/skills/06_fMRI_Neuroimaging/ukb-skill/SKILL.md +310 -0
  189. package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/build_ukb_survival.py +210 -0
  190. package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/extract_ukb_cases.py +308 -0
  191. package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/extract_ukb_phenotype.py +232 -0
  192. package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/ukb_qc_summary.py +158 -0
  193. package/skills/06_fMRI_Neuroimaging/wmh-segmentation/SKILL.md +133 -0
  194. package/skills/07_Computational_Modeling/detrending/SKILL.md +118 -0
  195. package/skills/07_Computational_Modeling/dictlearning/SKILL.md +122 -0
  196. package/skills/07_Computational_Modeling/filtering/SKILL.md +121 -0
  197. package/skills/07_Computational_Modeling/glm/SKILL.md +153 -0
  198. package/skills/07_Computational_Modeling/hierarchical/SKILL.md +121 -0
  199. package/skills/07_Computational_Modeling/ica/SKILL.md +122 -0
  200. package/skills/07_Computational_Modeling/kmeans/SKILL.md +119 -0
  201. package/skills/07_Computational_Modeling/run_models/SKILL.md +427 -0
  202. package/skills/07_Computational_Modeling/spacenet/SKILL.md +122 -0
  203. package/skills/07_Computational_Modeling/svm/SKILL.md +120 -0
  204. package/skills/08_Computational_Neuroscience/brain_gnn/SKILL.md +183 -0
  205. package/skills/08_Computational_Neuroscience/dipy-tool/SKILL.md +239 -0
  206. package/skills/08_Computational_Neuroscience/dipy-tool/scripts/dti_metrics_reference.py +70 -0
  207. package/skills/08_Computational_Neuroscience/dipy-tool/scripts/load_and_mask_reference.py +76 -0
  208. package/skills/08_Computational_Neuroscience/dipy-tool/scripts/roi_stats_reference.py +59 -0
  209. package/skills/08_Computational_Neuroscience/fm_app/SKILL.md +195 -0
  210. package/skills/08_Computational_Neuroscience/neurostorm/SKILL.md +151 -0
  211. package/skills/13_Visualization/brain-visualization/SKILL.md +191 -0
  212. package/skills/13_Visualization/brain-visualization/scripts/connectome_reference.py +108 -0
  213. package/skills/13_Visualization/brain-visualization/scripts/freesurfer_ply_reference.py +54 -0
  214. package/skills/13_Visualization/brain-visualization/scripts/zalff_summary_reference.py +116 -0
  215. package/skills/13_Visualization/ethoclaw-paper-figure-layout/SKILL.md +78 -0
  216. package/skills/13_Visualization/ethoclaw-paper-figure-layout/assets/naturecomm_figures.tex +74 -0
  217. package/skills/13_Visualization/ethoclaw-paper-figure-layout/scripts/layout_results_foldered.py +579 -0
  218. package/skills/14_Writing/overleaf-skill/SKILL.md +184 -0
  219. package/skills/14_Writing/overleaf-skill/scripts/install.sh +30 -0
  220. package/skills/14_Writing/paper-writing/SKILL.md +146 -0
  221. package/skills/14_Writing/paper-writing/scripts/data_statement_templates.py +164 -0
  222. package/skills/14_Writing/paper-writing/scripts/figure_templates.py +315 -0
  223. package/skills/14_Writing/paper-writing/scripts/nature_figure_style.py +214 -0
  224. package/skills/14_Writing/paper-writing/scripts/section_phrasebank.py +246 -0
  225. package/skills/16_Animal_Behavior/deeplabcut/SKILL.md +154 -0
  226. package/skills/16_Animal_Behavior/deeplabcut/references/3d-pose.md +89 -0
  227. package/skills/16_Animal_Behavior/deeplabcut/references/maDLC.md +123 -0
  228. package/skills/16_Animal_Behavior/deeplabcut/references/modelzoo.md +98 -0
  229. package/skills/16_Animal_Behavior/deeplabcut/references/standard-pipeline.md +165 -0
  230. package/skills/16_Animal_Behavior/deeplabcut/references/utilities.md +146 -0
  231. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/SKILL.md +274 -0
  232. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/report_template_en.html +112 -0
  233. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/report_template_en.md +21 -0
  234. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/cluster-section.md +5 -0
  235. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/heatmap-section.md +5 -0
  236. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/integrated-interpretation.md +3 -0
  237. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/overview.md +3 -0
  238. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/project-summary.md +3 -0
  239. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/radar-section.md +5 -0
  240. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/raw-trajectory.md +3 -0
  241. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/sample-check.md +3 -0
  242. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/single-subject-section.md +3 -0
  243. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/stats-section.md +5 -0
  244. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/epm.md +52 -0
  245. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/fst.md +37 -0
  246. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/nor.md +39 -0
  247. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/oft.md +43 -0
  248. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/tcst.md +45 -0
  249. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/tst.md +36 -0
  250. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/input-types.md +59 -0
  251. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/interpretation-guardrails.md +45 -0
  252. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/metadata-schema.md +57 -0
  253. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/report-sections.md +86 -0
  254. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/section-selection-rules.md +169 -0
  255. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/scripts/build_report_manifest.py +27 -0
  256. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/scripts/render_report.py +34 -0
  257. package/skills/16_Animal_Behavior/ethoclaw-analysis-report/scripts/report_utils.py +1121 -0
  258. package/skills/16_Animal_Behavior/ethoclaw-animal-grounding/SKILL.md +390 -0
  259. package/skills/16_Animal_Behavior/ethoclaw-animal-grounding/reference_code.py +98 -0
  260. package/skills/16_Animal_Behavior/ethoclaw-animal-pose-estimation/SKILL.md +336 -0
  261. package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/README.md +21 -0
  262. package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/SKILL.md +41 -0
  263. package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/batch_kinematic_generator.py +663 -0
  264. package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/config.json +19 -0
  265. package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/generate_kinematic_parameter.py +401 -0
  266. package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/kinematic_generator.py +265 -0
  267. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/SKILL.md +72 -0
  268. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/references/config.example.toml +56 -0
  269. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/scripts/cluster_all_params.py +232 -0
  270. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/scripts/cluster_all_params_from_config.py +236 -0
  271. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-radar-generate/SKILL.md +68 -0
  272. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-radar-generate/references/notes.md +5 -0
  273. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-radar-generate/scripts/plot_h5_radar.py +513 -0
  274. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/SKILL.md +52 -0
  275. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/config.toml +81 -0
  276. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/references/stats-rule.md +18 -0
  277. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/scripts/h5_inspect.py +79 -0
  278. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/scripts/h5_violin_batch.py +624 -0
  279. package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/scripts/h5_violin_stats.py +438 -0
  280. package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/SKILL.md +280 -0
  281. package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/core_scripts/heatmap_trajectory.py +790 -0
  282. package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/core_scripts/heatmap_velocity.py +855 -0
  283. package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/reference_data/reference_2d.csv +101 -0
  284. package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/reference_data/reference_2d.h5 +0 -0
  285. package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/reference_data/reference_data_readme.md +126 -0
@@ -0,0 +1,112 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <title>{{ report_title }}</title>
6
+ <style>
7
+ :root {
8
+ --page-width: 1100px;
9
+ --border: #d7dee7;
10
+ --ink: #1f1f1f;
11
+ --muted: #56697d;
12
+ --panel: #f5f8fb;
13
+ --accent: #1b4f72;
14
+ }
15
+ body {
16
+ font-family: "Noto Serif", Georgia, serif;
17
+ line-height: 1.7;
18
+ color: var(--ink);
19
+ margin: 0;
20
+ background: #eef3f7;
21
+ }
22
+ .page {
23
+ max-width: var(--page-width);
24
+ margin: 32px auto;
25
+ background: #ffffff;
26
+ padding: 40px 48px 56px;
27
+ box-shadow: 0 16px 40px rgba(22, 37, 56, 0.08);
28
+ }
29
+ h1, h2, h3 {
30
+ color: var(--accent);
31
+ line-height: 1.3;
32
+ }
33
+ h1 {
34
+ font-size: 28px;
35
+ margin: 0 0 20px;
36
+ }
37
+ h2 {
38
+ font-size: 22px;
39
+ margin: 36px 0 14px;
40
+ padding-bottom: 6px;
41
+ border-bottom: 1px solid var(--border);
42
+ }
43
+ h3 {
44
+ font-size: 18px;
45
+ margin: 24px 0 10px;
46
+ }
47
+ p {
48
+ margin: 10px 0;
49
+ }
50
+ ul {
51
+ margin: 10px 0 14px 20px;
52
+ padding: 0;
53
+ }
54
+ li {
55
+ margin: 6px 0;
56
+ }
57
+ .meta {
58
+ padding: 14px 18px;
59
+ background: var(--panel);
60
+ border-left: 4px solid #5c89b0;
61
+ margin-bottom: 28px;
62
+ }
63
+ figure {
64
+ margin: 20px auto 28px;
65
+ padding: 14px;
66
+ border: 1px solid var(--border);
67
+ background: #fafcfe;
68
+ max-width: 980px;
69
+ }
70
+ img {
71
+ display: block;
72
+ width: auto;
73
+ max-width: min(100%, 960px);
74
+ max-height: 560px;
75
+ height: auto;
76
+ margin: 0 auto;
77
+ object-fit: contain;
78
+ }
79
+ figcaption {
80
+ margin-top: 10px;
81
+ text-align: center;
82
+ color: var(--muted);
83
+ font-size: 14px;
84
+ }
85
+ code {
86
+ background: #eef3f7;
87
+ padding: 1px 5px;
88
+ border-radius: 4px;
89
+ font-size: 0.95em;
90
+ }
91
+ a {
92
+ color: #18507a;
93
+ text-decoration: none;
94
+ }
95
+ a:hover {
96
+ text-decoration: underline;
97
+ }
98
+ </style>
99
+ </head>
100
+ <body>
101
+ <div class="page">
102
+ <h1>{{ report_title }}</h1>
103
+ <div class="meta">
104
+ <div><strong>Project Path:</strong> {{ project_path }}</div>
105
+ <div><strong>Report Mode:</strong> {{ report_mode }}</div>
106
+ <div><strong>Report Goal:</strong> {{ report_goal }}</div>
107
+ </div>
108
+
109
+ {{ body_html }}
110
+ </div>
111
+ </body>
112
+ </html>
@@ -0,0 +1,21 @@
1
+ # {{ report_title }}
2
+
3
+ {{ project_summary_section }}
4
+
5
+ {{ overview_section }}
6
+
7
+ {{ sample_check_section }}
8
+
9
+ {{ raw_trajectory_section }}
10
+
11
+ {{ heatmap_section }}
12
+
13
+ {{ radar_section }}
14
+
15
+ {{ stats_section }}
16
+
17
+ {{ cluster_section }}
18
+
19
+ {{ single_subject_section }}
20
+
21
+ {{ integrated_interpretation_section }}
@@ -0,0 +1,5 @@
1
+ ## Clustering Results
2
+
3
+ {{ cluster_body }}
4
+
5
+ {{ cluster_gallery }}
@@ -0,0 +1,5 @@
1
+ ## Heatmap and Trajectory Results
2
+
3
+ {{ heatmap_body }}
4
+
5
+ {{ heatmap_gallery }}
@@ -0,0 +1,3 @@
1
+ ## Integrated Interpretation
2
+
3
+ {{ integrated_interpretation_body }}
@@ -0,0 +1,3 @@
1
+ ## Project Overview
2
+
3
+ {{ overview_body }}
@@ -0,0 +1,3 @@
1
+ ## Project Overview and Materials
2
+
3
+ {{ project_summary_body }}
@@ -0,0 +1,5 @@
1
+ ## Radar Plot Results
2
+
3
+ {{ radar_body }}
4
+
5
+ {{ radar_gallery }}
@@ -0,0 +1,3 @@
1
+ ## Raw Trajectory Summary
2
+
3
+ {{ raw_trajectory_body }}
@@ -0,0 +1,3 @@
1
+ ## Sample and Group Verification
2
+
3
+ {{ sample_check_body }}
@@ -0,0 +1,3 @@
1
+ ## Single-Subject Results Overview
2
+
3
+ {{ single_subject_body }}
@@ -0,0 +1,5 @@
1
+ ## Statistical Summary Plot Results
2
+
3
+ {{ stats_body }}
4
+
5
+ {{ stats_gallery }}
@@ -0,0 +1,52 @@
1
+ # EPM
2
+
3
+ `EPM` stands for Elevated Plus Maze.
4
+
5
+ ## What It Primarily Evaluates
6
+
7
+ - Open-arm exploration
8
+ - Closed-arm preference
9
+ - Time in center and transitions between arms
10
+ - In some projects, also looks at the balance between exploration and avoidance combined with total activity
11
+
12
+ ## Common Experimental Procedure
13
+
14
+ - Apparatus usually consists of two open arms and two closed arms
15
+ - Animal starts exploring from the center
16
+ - Record time in and entries to open arms, closed arms, and center within fixed duration
17
+
18
+ ## Common Readouts
19
+
20
+ - Time in open arms
21
+ - Open arm entries
22
+ - Time in closed arms
23
+ - Time in center
24
+ - Total arm entries
25
+ - Total distance
26
+
27
+ ## How to Write When Only Raw Skeleton Data Exists
28
+
29
+ - First look at where trajectories are mainly concentrated, rather than saying "only have materials, cannot summarize"
30
+ - If device orientation is not clearly labeled, prioritize writing distribution in "longitudinal axis / transverse axis / center", do not force naming open arms and closed arms
31
+ - If grouping prefixes like `control`, `model` are already obvious, can directly compare which group has larger lateral spread, which group is more concentrated near center or axis
32
+ - Can directly write "larger / more concentrated activity range", "more / fewer center transitions", "more biased toward certain axis activity"
33
+
34
+ ## How to Summarize in Reports
35
+
36
+ - When formal area indicators exist, first summarize whether open-arm exploration increases or decreases, then see if total entries or total distance change synchronously
37
+ - When only raw trajectories exist, first summarize which type of area activities are mainly concentrated in, then write whether activity range contracts or expands
38
+ - In multi-sample projects, if differences between `control` and `model` are already intuitive, can directly write which group is more dispersed, which is more concentrated
39
+ - Single-sample projects can directly summarize trajectory features like "mainly active near center and certain axis", "limited lateral spread"
40
+
41
+ ## Recommended Summary Style
42
+
43
+ - "Trajectories mainly concentrated on the longitudinal axis passing through center, with relatively limited lateral spread."
44
+ - "`control` group has larger lateral activity range, `model` group trajectories more concentrated near center and axis areas."
45
+ - "Overall sample has larger activity range, with frequent transitions between center and arm sections."
46
+ - "If combined with formal area statistics, open-arm exploration is reduced, overall more biased toward closed areas."
47
+
48
+ ## Do Not Overstep
49
+
50
+ - Do not directly write reduced open-arm exploration as clinical anxiety diagnosis
51
+ - Do not ignore motor ability confounds from decreased total entries or total activity
52
+ - Only have axis distribution, no device mapping: do not force longitudinal and transverse axes as confirmed open/closed arms
@@ -0,0 +1,37 @@
1
+ # FST
2
+
3
+ `FST` stands for Forced Swim Test.
4
+
5
+ ## What It Primarily Evaluates
6
+
7
+ - Behavioral responses to inescapable water environment stress
8
+ - Commonly used for antidepressant-like efficacy screening
9
+
10
+ ## Common Experimental Procedure
11
+
12
+ - Place the animal in a water tank or cylindrical container from which it cannot escape
13
+ - Record swimming, struggling, and immobility within a fixed duration
14
+ - Some protocols include pre-test and test session
15
+
16
+ ## Common Readouts
17
+
18
+ - Immobility time
19
+ - Latency to immobility
20
+ - Swimming time
21
+ - Climbing / struggling time
22
+
23
+ ## How to Summarize in Reports
24
+
25
+ - Directly summarize the main change direction of immobility time, swimming time, or struggling time
26
+ - If behavioral typing is clear, can directly write "increased passive coping / increased active coping"
27
+ - Single-sample projects can directly summarize the main coping style
28
+
29
+ ## Recommended Summary Style
30
+
31
+ - "Increased immobility time, showing more obvious passive coping."
32
+ - "More swimming and struggling time, overall showing more active stress coping."
33
+
34
+ ## Do Not Overstep
35
+
36
+ - Do not write FST alone as sufficient evidence for "enhanced/reduced depression-like behavior"
37
+ - Do not ignore protocol differences, such as whether there is a pre-test
@@ -0,0 +1,39 @@
1
+ # NOR
2
+
3
+ `NOR` stands for Novel Object Recognition.
4
+
5
+ ## What It Primarily Evaluates
6
+
7
+ - Recognition memory
8
+ - Novelty preference
9
+
10
+ ## Common Experimental Procedure
11
+
12
+ Usually includes two core phases:
13
+
14
+ 1. Familiarization / training phase: Animal is exposed to two identical or equivalent objects
15
+ 2. Test phase: Replace one of the objects with a novel object and record exploration preference
16
+
17
+ ## Common Readouts
18
+
19
+ - Novel object exploration time
20
+ - Familiar object exploration time
21
+ - Discrimination index
22
+ - Preference index
23
+ - Total object exploration time
24
+
25
+ ## How to Summarize in Reports
26
+
27
+ - First summarize whether preference for novel object increases, decreases, or is not obvious
28
+ - If discrimination index or preference index exists, directly write the direction
29
+ - Single-sample projects can directly summarize as "prefers novel object / prefers familiar object / preference not obvious"
30
+
31
+ ## Recommended Summary Style
32
+
33
+ - "Longer exploration time for novel object, showing obvious novelty preference."
34
+ - "Decreased novelty preference, with decreasing discrimination index."
35
+
36
+ ## Do Not Overstep
37
+
38
+ - Do not write NOR alone as "comprehensive learning memory impairment/recovery"
39
+ - Do not ignore object attraction differences and side bias
@@ -0,0 +1,43 @@
1
+ # OFT
2
+
3
+ `OFT` stands for Open Field Test.
4
+
5
+ ## What It Primarily Evaluates
6
+
7
+ - Spontaneous locomotor activity
8
+ - Novelty-driven exploration
9
+ - Partial indicators of anxiety-like behavior, such as center avoidance or thigmotaxis
10
+
11
+ ## Common Experimental Procedure
12
+
13
+ - Place the animal in an open field (square or circular arena)
14
+ - Record movement trajectory and behavior within a fixed duration
15
+ - Often divide the arena into center zone and periphery
16
+
17
+ ## Common Readouts
18
+
19
+ - Total distance traveled
20
+ - Average velocity
21
+ - Time in center
22
+ - Center entries
23
+ - Thigmotaxis (wall-hugging behavior)
24
+ - Rearing
25
+ - Immobility
26
+
27
+ ## How to Summarize in Reports
28
+
29
+ - First summarize whether activity increases, decreases, or remains stable
30
+ - Then summarize whether center exploration and periphery preference change
31
+ - If total distance and center exploration direction are consistent, can directly write conclusions like "decreased activity accompanied by reduced center exploration"
32
+ - Single-sample projects can directly summarize as "high/low activity", "more/less center exploration", "obvious/not obvious thigmotaxis"
33
+
34
+ ## Recommended Summary Style
35
+
36
+ - "Decreased locomotor activity, accompanied by reduced center exploration."
37
+ - "Test animals stay more in the periphery, showing obvious thigmotaxis."
38
+ - "Increased center entries suggests enhanced center exploration in the open field."
39
+
40
+ ## Do Not Overstep
41
+
42
+ - Do not directly write changes in center time as changes in anxiety level while completely ignoring activity level
43
+ - Do not write OFT alone as depression-like conclusions
@@ -0,0 +1,45 @@
1
+ # TCST
2
+
3
+ `TCST` in this skill refers to Three-Chamber Social Test (Three-Chamber Sociability and Social Novelty Test).
4
+
5
+ ## What It Primarily Evaluates
6
+
7
+ - Sociability
8
+ - Social novelty preference
9
+ - In some designs, can also reflect social recognition
10
+
11
+ ## Common Experimental Procedure
12
+
13
+ Typical procedure is divided into 2 to 3 phases:
14
+
15
+ 1. Habituation phase: Subject mouse freely explores the three-chamber apparatus
16
+ 2. Sociability phase: Stranger mouse placed on one side, empty cup/cage on the other side
17
+ 3. Social novelty phase: Familiar mouse on one side, novel stranger on the other side
18
+
19
+ ## Common Readouts
20
+
21
+ - Time in each chamber
22
+ - Time near stimulus cup/cage
23
+ - Sniffing time
24
+ - Entries to each chamber
25
+ - Social preference index
26
+ - Social novelty index
27
+
28
+ ## How to Summarize in Reports
29
+
30
+ - If data comes from "stranger vs empty cup" phase, prioritize summarizing whether sociability increases or decreases
31
+ - If data comes from "familiar vs novel stranger" phase, prioritize summarizing whether social novelty preference exists
32
+ - If only chamber time is available, can directly summarize spatial preference and social cue preference direction
33
+ - Single-sample projects can directly write "this sample mainly stayed on which side, approached which type of stimulus more"
34
+
35
+ ## Recommended Summary Style
36
+
37
+ - "In the sociability phase, the subject mouse spent more time in the chamber containing the stranger mouse, suggesting strong sociability."
38
+ - "In the social novelty phase, the subject mouse approached the novel stranger more, showing social novelty preference."
39
+ - "Current single-sample results show that this sample mainly stayed in... area and approached... stimulus more."
40
+
41
+ ## Do Not Overstep
42
+
43
+ - Do not directly write chamber time differences as "impaired social memory" unless the design and indicators sufficiently support it
44
+ - Do not automatically interpret low-activity samples as social avoidance
45
+ - Do not write single TCST results as complete autism-like behavioral conclusions
@@ -0,0 +1,36 @@
1
+ # TST
2
+
3
+ `TST` stands for Tail Suspension Test.
4
+
5
+ ## What It Primarily Evaluates
6
+
7
+ - Behavioral responses to inescapable stress
8
+ - Commonly used for antidepressant-like efficacy screening
9
+
10
+ ## Common Experimental Procedure
11
+
12
+ - Mice are suspended by fixing their tails
13
+ - Record struggling and immobility within a fixed duration
14
+ - Common duration is 6 minutes
15
+
16
+ ## Common Readouts
17
+
18
+ - Immobility time
19
+ - Latency to immobility
20
+ - Mobility / struggling time
21
+
22
+ ## How to Summarize in Reports
23
+
24
+ - Directly summarize whether immobility time increases or decreases
25
+ - If latency or struggling time exists, also directly write the direction of active coping or passive coping
26
+ - Single-sample projects can summarize as "mainly immobile" or "more struggling"
27
+
28
+ ## Recommended Summary Style
29
+
30
+ - "Increased immobility time suggests enhanced passive coping."
31
+ - "Decreased immobility time, with increased struggling time, indicates more active stress coping."
32
+
33
+ ## Do Not Overstep
34
+
35
+ - Do not directly write TST results as "having depression" or "higher depression level"
36
+ - Do not ignore the effects of motor ability or sedative effects on immobility
@@ -0,0 +1,59 @@
1
+ # Input Types
2
+
3
+ Read this file when determining "what materials are available in the project path for generating reports".
4
+
5
+ ## Common Input Types
6
+
7
+ ### Raw or Semi-Raw Data
8
+
9
+ - `.h5`: Common for skeleton, trajectory, keypoints, or intermediate results.
10
+ - `.csv` / `.xlsx`: Common for behavioral summary tables, event tables, significance test results.
11
+ - `txt` / `yaml` / `json`: Common for parameter orders, group name descriptions, configuration files.
12
+
13
+ These files are typically used to determine:
14
+
15
+ - Whether there is single-sample or multi-sample data.
16
+ - Whether group labels exist.
17
+ - Whether there are quantifiable tables that can support figure interpretation.
18
+
19
+ ### Image or Document Results
20
+
21
+ - Heatmaps, trajectory plots: spatial distribution, activity paths, velocity distributions.
22
+ - Radar plots: multi-parameter profiles, group mean comparisons, single-sample overviews.
23
+ - Violin plots / box plots: parameter distributions and inter-group differences.
24
+ - Cluster plots / clustermap: sample or parameter pattern structures.
25
+
26
+ These files are typically used for:
27
+
28
+ - Generating figure captions.
29
+ - Organizing result sections.
30
+ - Deciding which figures go into the main text and which are suitable for appendices.
31
+
32
+ ## Priority Questions When Scanning Within Path
33
+
34
+ 1. Are there file names or table columns that can identify samples.
35
+ 2. Are there group labels, but do not automatically interpret label meanings.
36
+ 3. Are there statistical result tables like `stats_overall.csv`, `stats_pairwise.csv`.
37
+ 4. Are there figures representing overall patterns, such as group means radar, clustermap.
38
+ 5. Are there same-directory description texts, experimental notes, or background information supplemented by the user in conversation.
39
+
40
+ ## Handling Principles When Materials Are Incomplete
41
+
42
+ - Only figures, no tables: Can do figure organization and conservative descriptions, do not make strong statistical interpretations.
43
+ - Have tables, no figures: Can generate text-based result summaries, but image display is limited.
44
+ - Have multiple figure types but no background: First do material inventory and ask the user questions.
45
+ - Only single sample: Prioritize switching to `single-subject` mode.
46
+
47
+ ## Minimum Judgment Items to Output to Upper Flow
48
+
49
+ At least judge and organize these boolean or summary fields:
50
+
51
+ - `has_skeleton_data`
52
+ - `has_behavior_summary`
53
+ - `has_stats_tables`
54
+ - `has_heatmaps`
55
+ - `has_radar`
56
+ - `has_cluster_figure`
57
+ - `sample_count_detected`
58
+ - `group_labels_detected`
59
+ - `metadata_files_found`
@@ -0,0 +1,45 @@
1
+ # Interpretation Guardrails
2
+
3
+ Read this file when generating result interpretation and summary text.
4
+
5
+ ## General Principles
6
+
7
+ - First give the most direct result conclusions, then add a sentence about which figures or tables they are based on.
8
+ - Prioritize summarizing "the most obvious characteristics of current data", do not give up normal summarization just because background is incomplete.
9
+ - Separate "observed facts" from "interpretations based on experimental paradigm", but do not repeat limitation statements in every paragraph.
10
+ - If key limitations truly exist, concentrate them in one section briefly, do not repeatedly write disclaimers throughout.
11
+
12
+ ## Allowed Conclusion Types to Write Directly
13
+
14
+ - Main activity areas, preference directions, entry patterns, residence patterns of single samples
15
+ - High/low differences already clearly presented between multiple groups in images or statistical tables
16
+ - Simple summaries based on trajectory axis distribution, activity range, and path length when only raw skeleton data exists
17
+ - Readout conclusions directly corresponding to experimental paradigm, e.g., increased open-arm exploration, decreased center exploration, enhanced novel object preference
18
+
19
+ ## Not Allowed to Overstep Situations
20
+
21
+ - When only ambiguous abbreviation labels exist, do not explain inter-group relationships
22
+ - When no statistical tables exist, do not write "significantly increased / significantly decreased"
23
+ - Cluster plot showing separation does not equal statistical significant difference
24
+ - Heatmap showing activity distribution does not equal mechanistic conclusions
25
+ - Single-sample results should not be written as group-level patterns
26
+ - Obvious file name prefixes like `control`, `model`, `sham`, `vehicle` can be used as candidate groupings first; other abbreviations should not be directly interpreted as biological groupings
27
+
28
+ ## Recommended Expression Style
29
+
30
+ - "Results show..."
31
+ - "Images and statistical results together indicate..."
32
+ - "This sample mainly exhibits..."
33
+ - "Under this experimental paradigm, this typically corresponds to..."
34
+ - "If looking only at evidence within the current project path, the most obvious characteristic is..."
35
+
36
+ ## Conclusion Levels
37
+
38
+ Prioritize output with the following strength:
39
+
40
+ 1. Direct result summary
41
+ 2. Comparisons with statistical support
42
+ 3. Interpretations combined with experimental paradigm
43
+ 4. Mechanistic conclusions
44
+
45
+ Default should cover levels 1 to 3. Only enter level 4 when user explicitly allows and evidence is sufficient.
@@ -0,0 +1,57 @@
1
+ # Metadata Schema
2
+
3
+ Read this file when determining "what information must be confirmed with the user".
4
+
5
+ ## Key Metadata
6
+
7
+ The following information, if cannot be confirmed from the project directory, file names, figure titles, or user conversation, should first be asked to the user:
8
+
9
+ - `project_name`: Project name or report title
10
+ - `report_goal`: Report purpose, e.g., result organization, internal reporting, manuscript draft
11
+ - `experiment_type`: Experimental paradigm or task type
12
+ - `has_groups`: Whether groupings exist
13
+ - `group_mapping`: What each group label represents
14
+ - `control_group`: If there is a control group, which group is the control
15
+ - `allow_interpretive_conclusion`: Whether interpretive conclusions are allowed
16
+
17
+ ## Recommended Supplementary Information
18
+
19
+ - `species`
20
+ - `sample_definition`: Whether one record corresponds to individual, session, trial, or other unit
21
+ - `preferred_language`
22
+ - `priority_figures`
23
+ - `main_result_dirs`
24
+ - `notes`
25
+
26
+ ## Where This Information Comes From
27
+
28
+ There are only three sources of metadata:
29
+
30
+ - Existing description texts, result files, and figure titles within the project directory
31
+ - Information that can be directly inferred from file names, directory names, and sample naming conventions
32
+ - Experimental background and writing requirements supplemented by the user in conversation
33
+
34
+ ## Questioning Rules
35
+
36
+ - Missing `project_path`: Ask for the path first, do not do other work
37
+ - When group names are obvious labels like `control`, `model`, `sham`, `vehicle`, they can be used as candidate groupings first
38
+ - When group names are opaque abbreviations like `Y`, `con`, `k`, ask for group meaning first
39
+ - Need to write formal inter-group comparisons but no `control_group`: Ask for control group first
40
+ - User requests interpretive conclusions but `allow_interpretive_conclusion` is unclear: Ask if allowed
41
+
42
+ ## What Can Be Written When Unconfirmed
43
+
44
+ Even if metadata is incomplete, the following are allowed to be output first:
45
+
46
+ - Project and material overview
47
+ - Sample and candidate grouping verification
48
+ - Raw trajectory summary
49
+ - Direct summary of image and statistical results
50
+
51
+ Do not avoid obvious data characteristics just because of a small amount of missing background; only when key information is truly missing, do not hard-interpret opaque abbreviations as formal experimental group definitions.
52
+
53
+ ## Relationship with Manifest
54
+
55
+ - `build_report_manifest.py` will aggregate unconfirmed items into `facts.unconfirmed_items`
56
+ - When agents fill in `project_summary_body`, `overview_body`, `sample_check_body`, they can briefly mention key points that still need confirmation
57
+ - All body text is directly filled back into `manifest.json`, no additional configuration or section files are created