@brainpilot/skills 0.0.6 → 0.0.8
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.
- package/package.json +2 -2
- package/skills/01_Meta-Skills/academic-research-hub/SKILL.md +108 -0
- package/skills/01_Meta-Skills/academic-research-hub/scripts/requirements.txt +17 -0
- package/skills/01_Meta-Skills/academic-research-hub/scripts/research.py +781 -0
- package/skills/01_Meta-Skills/beautiful-log/SKILL.md +64 -0
- package/skills/01_Meta-Skills/beautiful-log/scripts/beautiful_log.py +274 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/SKILL.md +130 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/assets/config.template.yaml +54 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/assets/top5_digest_template.md +5 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/build_top5_digest.py +300 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/common.py +137 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/merge_results.py +106 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/run_pipeline.py +177 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/search_arxiv.py +162 -0
- package/skills/01_Meta-Skills/ethoclaw-daily-paper/scripts/search_pubmed.py +202 -0
- package/skills/01_Meta-Skills/ethoclaw-normalize-tabular/SKILL.md +173 -0
- package/skills/01_Meta-Skills/ethoclaw-normalize-tabular/scripts/normalize_data.py +874 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/SKILL.md +134 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/references/confirmation-prompts.md +31 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/references/output-patterns.md +45 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/build_markdown_deliverables.py +41 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/build_research_log.py +84 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/build_summary_md.py +63 -0
- package/skills/01_Meta-Skills/ethoclaw-pdf-research/scripts/extract_pdf_bundle.py +140 -0
- package/skills/01_Meta-Skills/experiment-controller/SKILL.md +140 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/SKILL.md +366 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/entity_resolution.py +120 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/extraction_prompt_template.txt +19 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/graph_query.py +106 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/hypothesis_cli_reference.py +42 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/new_data_source_template.py +116 -0
- package/skills/01_Meta-Skills/knowledge-graph-builder/scripts/requirements.txt +15 -0
- package/skills/01_Meta-Skills/method-design/SKILL.md +61 -0
- package/skills/01_Meta-Skills/multi-search-engine/SKILL.md +119 -0
- package/skills/01_Meta-Skills/research-idea/SKILL.md +65 -0
- package/skills/05_EEG_ERP/eeg-skill/SKILL.md +197 -0
- package/skills/05_EEG_ERP/meg-skill/SKILL.md +188 -0
- package/skills/05_EEG_ERP/meg-skill/scripts/time_frequency.py +223 -0
- package/skills/05_EEG_ERP/mne-eeg-tool/SKILL.md +165 -0
- package/skills/05_EEG_ERP/mne-eeg-tool/scripts/eeg_pipeline_reference.py +231 -0
- package/skills/05_EEG_ERP/seed-iv-skill/SKILL.md +184 -0
- package/skills/05_EEG_ERP/seed-iv-skill/scripts/classify_seed_iv.py +154 -0
- package/skills/05_EEG_ERP/seed-iv-skill/scripts/extract_seed_iv_features.py +190 -0
- package/skills/05_EEG_ERP/seed-iv-skill/scripts/validate_seed_iv.py +102 -0
- package/skills/05_EEG_ERP/seed-vig-skill/SKILL.md +182 -0
- package/skills/05_EEG_ERP/seed-vig-skill/scripts/classify_seed_vig.py +165 -0
- package/skills/05_EEG_ERP/seed-vig-skill/scripts/extract_seed_vig_features.py +185 -0
- package/skills/05_EEG_ERP/seed-vig-skill/scripts/validate_seed_vig.py +88 -0
- package/skills/06_fMRI_Neuroimaging/abcd-skill/SKILL.md +308 -0
- package/skills/06_fMRI_Neuroimaging/abcd-skill/scripts/abcd_qc_summary.py +449 -0
- package/skills/06_fMRI_Neuroimaging/abcd-skill/scripts/extract_abcd_phenotype.py +292 -0
- package/skills/06_fMRI_Neuroimaging/abcd-skill/scripts/reorganize_abcd.py +387 -0
- package/skills/06_fMRI_Neuroimaging/abide-skill/SKILL.md +302 -0
- package/skills/06_fMRI_Neuroimaging/abide-skill/scripts/abide_qc_summary.py +317 -0
- package/skills/06_fMRI_Neuroimaging/abide-skill/scripts/extract_abide_phenotype.py +267 -0
- package/skills/06_fMRI_Neuroimaging/abide-skill/scripts/reorganize_abide.py +387 -0
- package/skills/06_fMRI_Neuroimaging/adhd200-skill/SKILL.md +244 -0
- package/skills/06_fMRI_Neuroimaging/adhd200-skill/scripts/adhd200_qc_summary.py +98 -0
- package/skills/06_fMRI_Neuroimaging/adhd200-skill/scripts/extract_adhd200_phenotype.py +134 -0
- package/skills/06_fMRI_Neuroimaging/adhd200-skill/scripts/reorganize_adhd200.py +206 -0
- package/skills/06_fMRI_Neuroimaging/adni-skill/SKILL.md +358 -0
- package/skills/06_fMRI_Neuroimaging/adni-skill/scripts/generate_adni_task_files.py +1305 -0
- package/skills/06_fMRI_Neuroimaging/adni-skill/scripts/generate_vqa_from_tasks.py +766 -0
- package/skills/06_fMRI_Neuroimaging/adni-skill/scripts/reorganize_adni.py +491 -0
- package/skills/06_fMRI_Neuroimaging/aibl-skill/SKILL.md +295 -0
- package/skills/06_fMRI_Neuroimaging/aibl-skill/scripts/aibl_qc_summary.py +260 -0
- package/skills/06_fMRI_Neuroimaging/aibl-skill/scripts/extract_aibl_phenotype.py +365 -0
- package/skills/06_fMRI_Neuroimaging/aibl-skill/scripts/reorganize_aibl.py +394 -0
- package/skills/06_fMRI_Neuroimaging/aomic-skill/SKILL.md +292 -0
- package/skills/06_fMRI_Neuroimaging/aomic-skill/scripts/aomic_qc_summary.py +258 -0
- package/skills/06_fMRI_Neuroimaging/aomic-skill/scripts/extract_aomic_phenotype.py +284 -0
- package/skills/06_fMRI_Neuroimaging/aomic-skill/scripts/reorganize_aomic.py +322 -0
- package/skills/06_fMRI_Neuroimaging/asl-skill/SKILL.md +168 -0
- package/skills/06_fMRI_Neuroimaging/asl-skill/scripts/compute_cbf.py +224 -0
- package/skills/06_fMRI_Neuroimaging/bids-organizer/SKILL.md +241 -0
- package/skills/06_fMRI_Neuroimaging/bold5000-skill/SKILL.md +186 -0
- package/skills/06_fMRI_Neuroimaging/bold5000-skill/scripts/bold5000_qc_summary.py +96 -0
- package/skills/06_fMRI_Neuroimaging/bold5000-skill/scripts/extract_bold5000_stimulus.py +125 -0
- package/skills/06_fMRI_Neuroimaging/bold5000-skill/scripts/reorganize_bold5000.py +102 -0
- package/skills/06_fMRI_Neuroimaging/camcan-skill/SKILL.md +213 -0
- package/skills/06_fMRI_Neuroimaging/camcan-skill/scripts/camcan_qc_summary.py +131 -0
- package/skills/06_fMRI_Neuroimaging/camcan-skill/scripts/extract_camcan_phenotype.py +145 -0
- package/skills/06_fMRI_Neuroimaging/camcan-skill/scripts/validate_camcan.py +141 -0
- package/skills/06_fMRI_Neuroimaging/cobre-skill/SKILL.md +201 -0
- package/skills/06_fMRI_Neuroimaging/cobre-skill/scripts/cobre_qc_summary.py +95 -0
- package/skills/06_fMRI_Neuroimaging/cobre-skill/scripts/extract_cobre_phenotype.py +104 -0
- package/skills/06_fMRI_Neuroimaging/cobre-skill/scripts/reorganize_cobre.py +140 -0
- package/skills/06_fMRI_Neuroimaging/conn-tool/SKILL.md +180 -0
- package/skills/06_fMRI_Neuroimaging/dcm2nii/SKILL.md +189 -0
- package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/SKILL.md +183 -0
- package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/scripts/dmt_har_med_qc_summary.py +96 -0
- package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/scripts/extract_dmt_har_med_phenotype.py +121 -0
- package/skills/06_fMRI_Neuroimaging/dmt-har-med-skill/scripts/reorganize_dmt_har_med.py +125 -0
- package/skills/06_fMRI_Neuroimaging/dwi-skill/SKILL.md +359 -0
- package/skills/06_fMRI_Neuroimaging/fmri-skill/SKILL.md +371 -0
- package/skills/06_fMRI_Neuroimaging/fmriprep-tool/SKILL.md +228 -0
- package/skills/06_fMRI_Neuroimaging/freesurfer-tool/SKILL.md +286 -0
- package/skills/06_fMRI_Neuroimaging/freesurfer-tool/scripts/freesurfer_processor.py +145 -0
- package/skills/06_fMRI_Neuroimaging/fsl-tool/SKILL.md +208 -0
- package/skills/06_fMRI_Neuroimaging/hbn-skill/SKILL.md +271 -0
- package/skills/06_fMRI_Neuroimaging/hbn-skill/scripts/extract_hbn_phenotype.py +107 -0
- package/skills/06_fMRI_Neuroimaging/hbn-skill/scripts/hbn_qc_summary.py +96 -0
- package/skills/06_fMRI_Neuroimaging/hbn-skill/scripts/reorganize_hbn.py +150 -0
- package/skills/06_fMRI_Neuroimaging/hcpa-skill/SKILL.md +210 -0
- package/skills/06_fMRI_Neuroimaging/hcpa-skill/scripts/extract_hcpa_phenotype.py +146 -0
- package/skills/06_fMRI_Neuroimaging/hcpa-skill/scripts/hcpa_qc_summary.py +120 -0
- package/skills/06_fMRI_Neuroimaging/hcpa-skill/scripts/reorganize_hcpa.py +155 -0
- package/skills/06_fMRI_Neuroimaging/hcpd-skill/SKILL.md +210 -0
- package/skills/06_fMRI_Neuroimaging/hcpd-skill/scripts/extract_hcpd_phenotype.py +148 -0
- package/skills/06_fMRI_Neuroimaging/hcpd-skill/scripts/hcpd_qc_summary.py +125 -0
- package/skills/06_fMRI_Neuroimaging/hcpd-skill/scripts/reorganize_hcpd.py +146 -0
- package/skills/06_fMRI_Neuroimaging/hcpep-skill/SKILL.md +215 -0
- package/skills/06_fMRI_Neuroimaging/hcpep-skill/scripts/extract_hcpep_phenotype.py +157 -0
- package/skills/06_fMRI_Neuroimaging/hcpep-skill/scripts/hcpep_qc_summary.py +143 -0
- package/skills/06_fMRI_Neuroimaging/hcpep-skill/scripts/reorganize_hcpep.py +146 -0
- package/skills/06_fMRI_Neuroimaging/hcppipeline-tool/SKILL.md +217 -0
- package/skills/06_fMRI_Neuroimaging/hcpya-skill/SKILL.md +214 -0
- package/skills/06_fMRI_Neuroimaging/hcpya-skill/scripts/extract_hcpya_phenotype.py +190 -0
- package/skills/06_fMRI_Neuroimaging/hcpya-skill/scripts/hcpya_qc_summary.py +152 -0
- package/skills/06_fMRI_Neuroimaging/hcpya-skill/scripts/reorganize_hcpya.py +203 -0
- package/skills/06_fMRI_Neuroimaging/ixi-skill/SKILL.md +198 -0
- package/skills/06_fMRI_Neuroimaging/ixi-skill/scripts/ixi_qc_summary.py +137 -0
- package/skills/06_fMRI_Neuroimaging/ixi-skill/scripts/reorganize_ixi.py +190 -0
- package/skills/06_fMRI_Neuroimaging/mnd-skill/SKILL.md +191 -0
- package/skills/06_fMRI_Neuroimaging/mnd-skill/scripts/extract_mnd_phenotype.py +143 -0
- package/skills/06_fMRI_Neuroimaging/mnd-skill/scripts/mnd_qc_summary.py +120 -0
- package/skills/06_fMRI_Neuroimaging/mnd-skill/scripts/validate_mnd.py +107 -0
- package/skills/06_fMRI_Neuroimaging/mschallenge-skill/SKILL.md +203 -0
- package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/analyze_lesions.py +119 -0
- package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/longitudinal_lesion.py +148 -0
- package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/mschallenge_qc_summary.py +132 -0
- package/skills/06_fMRI_Neuroimaging/mschallenge-skill/scripts/validate_mschallenge.py +116 -0
- package/skills/06_fMRI_Neuroimaging/nibabel-skill/SKILL.md +184 -0
- package/skills/06_fMRI_Neuroimaging/nibabel-skill/scripts/atlas_coordinate_reference.py +61 -0
- package/skills/06_fMRI_Neuroimaging/nibabel-skill/scripts/freesurfer_io_reference.py +34 -0
- package/skills/06_fMRI_Neuroimaging/nibabel-skill/scripts/nifti_inspection_reference.py +35 -0
- package/skills/06_fMRI_Neuroimaging/nifd-skill/SKILL.md +205 -0
- package/skills/06_fMRI_Neuroimaging/nifd-skill/scripts/extract_nifd_phenotype.py +132 -0
- package/skills/06_fMRI_Neuroimaging/nifd-skill/scripts/nifd_qc_summary.py +111 -0
- package/skills/06_fMRI_Neuroimaging/nifd-skill/scripts/validate_nifd.py +111 -0
- package/skills/06_fMRI_Neuroimaging/nii2dcm/SKILL.md +143 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/SKILL.md +266 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/connectome_reference.py +65 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/denoise_timeseries_reference.py +58 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/hierarchical_parcellation_reference.py +53 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/kmeans_parcellation_reference.py +53 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/preprocess_bold_reference.py +76 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/rest_dictlearning_reference.py +56 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/rest_ica_reference.py +59 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/second_level_glm_reference.py +58 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/spacenet_classifier_reference.py +59 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/svm_classifier_reference.py +60 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/task_glm_reference.py +63 -0
- package/skills/06_fMRI_Neuroimaging/nilearn-tool/scripts/zalff_summary_reference.py +109 -0
- package/skills/06_fMRI_Neuroimaging/nsd-skill/SKILL.md +210 -0
- package/skills/06_fMRI_Neuroimaging/nsd-skill/scripts/extract_nsd_stimulus.py +171 -0
- package/skills/06_fMRI_Neuroimaging/nsd-skill/scripts/nsd_qc_summary.py +142 -0
- package/skills/06_fMRI_Neuroimaging/nsd-skill/scripts/validate_nsd.py +142 -0
- package/skills/06_fMRI_Neuroimaging/oasis-skill/SKILL.md +205 -0
- package/skills/06_fMRI_Neuroimaging/oasis-skill/scripts/extract_oasis_phenotype.py +126 -0
- package/skills/06_fMRI_Neuroimaging/oasis-skill/scripts/oasis_qc_summary.py +115 -0
- package/skills/06_fMRI_Neuroimaging/oasis-skill/scripts/validate_oasis.py +119 -0
- package/skills/06_fMRI_Neuroimaging/pet-skill/SKILL.md +173 -0
- package/skills/06_fMRI_Neuroimaging/pet-skill/scripts/compute_suvr.py +202 -0
- package/skills/06_fMRI_Neuroimaging/pnc-skill/SKILL.md +206 -0
- package/skills/06_fMRI_Neuroimaging/pnc-skill/scripts/extract_pnc_phenotype.py +136 -0
- package/skills/06_fMRI_Neuroimaging/pnc-skill/scripts/pnc_qc_summary.py +116 -0
- package/skills/06_fMRI_Neuroimaging/pnc-skill/scripts/validate_pnc.py +120 -0
- package/skills/06_fMRI_Neuroimaging/ppmi-skill/SKILL.md +209 -0
- package/skills/06_fMRI_Neuroimaging/ppmi-skill/scripts/extract_ppmi_phenotype.py +138 -0
- package/skills/06_fMRI_Neuroimaging/ppmi-skill/scripts/ppmi_qc_summary.py +111 -0
- package/skills/06_fMRI_Neuroimaging/ppmi-skill/scripts/validate_ppmi.py +117 -0
- package/skills/06_fMRI_Neuroimaging/qsiprep-tool/SKILL.md +320 -0
- package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/SKILL.md +215 -0
- package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/extract_rest_mdd_phenotype.py +132 -0
- package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/harmonize_sites.py +152 -0
- package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/rest_mdd_qc_summary.py +124 -0
- package/skills/06_fMRI_Neuroimaging/rest-mneta-mdd-skill/scripts/validate_rest_mdd.py +103 -0
- package/skills/06_fMRI_Neuroimaging/smri-skill/SKILL.md +302 -0
- package/skills/06_fMRI_Neuroimaging/tcp-skill/SKILL.md +204 -0
- package/skills/06_fMRI_Neuroimaging/tcp-skill/scripts/extract_tcp_phenotype.py +139 -0
- package/skills/06_fMRI_Neuroimaging/tcp-skill/scripts/tcp_qc_summary.py +111 -0
- package/skills/06_fMRI_Neuroimaging/tcp-skill/scripts/validate_tcp.py +99 -0
- package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/SKILL.md +217 -0
- package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/scripts/extract_ucla_cnp_phenotype.py +145 -0
- package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/scripts/ucla_cnp_qc_summary.py +111 -0
- package/skills/06_fMRI_Neuroimaging/ucla-cnp-skill/scripts/validate_ucla_cnp.py +113 -0
- package/skills/06_fMRI_Neuroimaging/ukb-skill/SKILL.md +310 -0
- package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/build_ukb_survival.py +210 -0
- package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/extract_ukb_cases.py +308 -0
- package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/extract_ukb_phenotype.py +232 -0
- package/skills/06_fMRI_Neuroimaging/ukb-skill/scripts/ukb_qc_summary.py +158 -0
- package/skills/06_fMRI_Neuroimaging/wmh-segmentation/SKILL.md +133 -0
- package/skills/07_Computational_Modeling/detrending/SKILL.md +118 -0
- package/skills/07_Computational_Modeling/dictlearning/SKILL.md +122 -0
- package/skills/07_Computational_Modeling/filtering/SKILL.md +121 -0
- package/skills/07_Computational_Modeling/glm/SKILL.md +153 -0
- package/skills/07_Computational_Modeling/hierarchical/SKILL.md +121 -0
- package/skills/07_Computational_Modeling/ica/SKILL.md +122 -0
- package/skills/07_Computational_Modeling/kmeans/SKILL.md +119 -0
- package/skills/07_Computational_Modeling/run_models/SKILL.md +427 -0
- package/skills/07_Computational_Modeling/spacenet/SKILL.md +122 -0
- package/skills/07_Computational_Modeling/svm/SKILL.md +120 -0
- package/skills/08_Computational_Neuroscience/brain_gnn/SKILL.md +183 -0
- package/skills/08_Computational_Neuroscience/dipy-tool/SKILL.md +239 -0
- package/skills/08_Computational_Neuroscience/dipy-tool/scripts/dti_metrics_reference.py +70 -0
- package/skills/08_Computational_Neuroscience/dipy-tool/scripts/load_and_mask_reference.py +76 -0
- package/skills/08_Computational_Neuroscience/dipy-tool/scripts/roi_stats_reference.py +59 -0
- package/skills/08_Computational_Neuroscience/fm_app/SKILL.md +195 -0
- package/skills/08_Computational_Neuroscience/neurostorm/SKILL.md +151 -0
- package/skills/13_Visualization/brain-visualization/SKILL.md +191 -0
- package/skills/13_Visualization/brain-visualization/scripts/connectome_reference.py +108 -0
- package/skills/13_Visualization/brain-visualization/scripts/freesurfer_ply_reference.py +54 -0
- package/skills/13_Visualization/brain-visualization/scripts/zalff_summary_reference.py +116 -0
- package/skills/13_Visualization/ethoclaw-paper-figure-layout/SKILL.md +78 -0
- package/skills/13_Visualization/ethoclaw-paper-figure-layout/assets/naturecomm_figures.tex +74 -0
- package/skills/13_Visualization/ethoclaw-paper-figure-layout/scripts/layout_results_foldered.py +579 -0
- package/skills/14_Writing/overleaf-skill/SKILL.md +184 -0
- package/skills/14_Writing/overleaf-skill/scripts/install.sh +30 -0
- package/skills/14_Writing/paper-writing/SKILL.md +146 -0
- package/skills/14_Writing/paper-writing/scripts/data_statement_templates.py +164 -0
- package/skills/14_Writing/paper-writing/scripts/figure_templates.py +315 -0
- package/skills/14_Writing/paper-writing/scripts/nature_figure_style.py +214 -0
- package/skills/14_Writing/paper-writing/scripts/section_phrasebank.py +246 -0
- package/skills/16_Animal_Behavior/deeplabcut/SKILL.md +154 -0
- package/skills/16_Animal_Behavior/deeplabcut/references/3d-pose.md +89 -0
- package/skills/16_Animal_Behavior/deeplabcut/references/maDLC.md +123 -0
- package/skills/16_Animal_Behavior/deeplabcut/references/modelzoo.md +98 -0
- package/skills/16_Animal_Behavior/deeplabcut/references/standard-pipeline.md +165 -0
- package/skills/16_Animal_Behavior/deeplabcut/references/utilities.md +146 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/SKILL.md +274 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/report_template_en.html +112 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/report_template_en.md +21 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/cluster-section.md +5 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/heatmap-section.md +5 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/integrated-interpretation.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/overview.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/project-summary.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/radar-section.md +5 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/raw-trajectory.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/sample-check.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/single-subject-section.md +3 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/assets/section_templates/stats-section.md +5 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/epm.md +52 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/fst.md +37 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/nor.md +39 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/oft.md +43 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/tcst.md +45 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/experiment-types/tst.md +36 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/input-types.md +59 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/interpretation-guardrails.md +45 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/metadata-schema.md +57 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/report-sections.md +86 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/section-selection-rules.md +169 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/scripts/build_report_manifest.py +27 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/scripts/render_report.py +34 -0
- package/skills/16_Animal_Behavior/ethoclaw-analysis-report/scripts/report_utils.py +1121 -0
- package/skills/16_Animal_Behavior/ethoclaw-animal-grounding/SKILL.md +390 -0
- package/skills/16_Animal_Behavior/ethoclaw-animal-grounding/reference_code.py +98 -0
- package/skills/16_Animal_Behavior/ethoclaw-animal-pose-estimation/SKILL.md +336 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/README.md +21 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/SKILL.md +41 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/batch_kinematic_generator.py +663 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/config.json +19 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/generate_kinematic_parameter.py +401 -0
- package/skills/16_Animal_Behavior/ethoclaw-kinematic-parameter-generator/kinematic_generator.py +265 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/SKILL.md +72 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/references/config.example.toml +56 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/scripts/cluster_all_params.py +232 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-clustermap-generate/scripts/cluster_all_params_from_config.py +236 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-radar-generate/SKILL.md +68 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-radar-generate/references/notes.md +5 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-radar-generate/scripts/plot_h5_radar.py +513 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/SKILL.md +52 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/config.toml +81 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/references/stats-rule.md +18 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/scripts/h5_inspect.py +79 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/scripts/h5_violin_batch.py +624 -0
- package/skills/16_Animal_Behavior/ethoclaw-multiparameter-violin-stats-generate/scripts/h5_violin_stats.py +438 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/SKILL.md +280 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/core_scripts/heatmap_trajectory.py +790 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/core_scripts/heatmap_velocity.py +855 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/reference_data/reference_2d.csv +101 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/reference_data/reference_2d.h5 +0 -0
- package/skills/16_Animal_Behavior/ethoclaw-trajectory-velocity-heatmap-generate/reference_data/reference_data_readme.md +126 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Report Sections
|
|
2
|
+
|
|
3
|
+
Read this file when organizing report structure or understanding `manifest["section_bodies"]`.
|
|
4
|
+
|
|
5
|
+
## Body Filling Contract
|
|
6
|
+
|
|
7
|
+
All body text is directly written to:
|
|
8
|
+
|
|
9
|
+
- `manifest["section_bodies"][body_key]["body"]`
|
|
10
|
+
|
|
11
|
+
Do not create `sections.json`. Do not write body text to other intermediate files.
|
|
12
|
+
|
|
13
|
+
## Available Body List
|
|
14
|
+
|
|
15
|
+
### `project_summary_body`
|
|
16
|
+
|
|
17
|
+
- Corresponding section: Project Summary
|
|
18
|
+
- Purpose: Compress path scope, core materials, current report mode, and key gaps into a short section
|
|
19
|
+
- Empty condition: Never leave empty, should always be filled
|
|
20
|
+
|
|
21
|
+
### `overview_body`
|
|
22
|
+
|
|
23
|
+
- Corresponding section: Overview
|
|
24
|
+
- Purpose: Provide high-level overview at the project level and add a sentence about experimental purpose and basic workflow
|
|
25
|
+
- Empty condition: Only can be minimally written as result organization when project purpose and core background cannot be confirmed at all
|
|
26
|
+
|
|
27
|
+
### `sample_check_body`
|
|
28
|
+
|
|
29
|
+
- Corresponding section: Sample and Group Verification
|
|
30
|
+
- Purpose: Verify sample count, sample IDs, candidate groups, group mapping, and control group
|
|
31
|
+
- Empty condition: Never leave empty, should always be filled
|
|
32
|
+
|
|
33
|
+
### `raw_trajectory_body`
|
|
34
|
+
|
|
35
|
+
- Corresponding section: Raw Trajectory Summary
|
|
36
|
+
- Purpose: When only raw skeleton or trajectory data exists, directly summarize activity areas, axis distribution, path length, and differences between samples
|
|
37
|
+
- Empty condition: Leave empty when no directly readable trajectory coordinates exist; applicable to both single-sample and multi-sample projects
|
|
38
|
+
|
|
39
|
+
### `heatmap_body`
|
|
40
|
+
|
|
41
|
+
- Corresponding section: Heatmap Findings
|
|
42
|
+
- Purpose: Describe spatial distribution or movement patterns reflected in heatmaps, trajectory plots, atlas, time-series plots
|
|
43
|
+
- Empty condition: Leave empty when current directory has no heatmap materials
|
|
44
|
+
|
|
45
|
+
### `radar_body`
|
|
46
|
+
|
|
47
|
+
- Corresponding section: Radar Profile Findings
|
|
48
|
+
- Purpose: Describe multi-parameter profiles in radar plots
|
|
49
|
+
- Empty condition: Leave empty when current directory has no radar plots
|
|
50
|
+
|
|
51
|
+
### `stats_body`
|
|
52
|
+
|
|
53
|
+
- Corresponding section: Statistical Comparison Findings
|
|
54
|
+
- Purpose: Summarize comparison results supported by statistical tables or clear statistical figures
|
|
55
|
+
- Empty condition: Leave empty when no statistical basis exists or grouping information is insufficient to support comparisons
|
|
56
|
+
|
|
57
|
+
### `cluster_body`
|
|
58
|
+
|
|
59
|
+
- Corresponding section: Clustering Findings
|
|
60
|
+
- Purpose: Describe pattern structures in cluster plots
|
|
61
|
+
- Empty condition: Leave empty when current directory has no cluster plots
|
|
62
|
+
|
|
63
|
+
### `single_subject_body`
|
|
64
|
+
|
|
65
|
+
- Corresponding section: Single-Subject Profile
|
|
66
|
+
- Purpose: Summarize core indicators and image observations for single sample in single-sample mode
|
|
67
|
+
- Empty condition: Leave empty when not in `single-subject` mode
|
|
68
|
+
|
|
69
|
+
### `integrated_interpretation_body`
|
|
70
|
+
|
|
71
|
+
- Corresponding section: Integrated Interpretation
|
|
72
|
+
- Purpose: Integrate multiple result sources across figure types to form concise direct comprehensive summary
|
|
73
|
+
- Empty condition: Leave empty when figure types are insufficient or metadata is insufficient to support comprehensive organization
|
|
74
|
+
|
|
75
|
+
## Usage Principles
|
|
76
|
+
|
|
77
|
+
- Not every body needs to be filled every time
|
|
78
|
+
- Figure-related bodies should be left empty when no evidence exists
|
|
79
|
+
- Empty bodies will not be rendered
|
|
80
|
+
- The `purpose`, `write_when`, `source_fields`, `rules` in `section_bodies` are writing constraints for the agent, should not be rendered as-is into final reports
|
|
81
|
+
- Body language defaults to current user conversation language; when terms first appear, prioritize writing as "Chinese (English)"
|
|
82
|
+
- When filling bodies, directly edit `manifest.json`, do not inject large text through shell pipes or inline commands to avoid encoding contamination
|
|
83
|
+
- Each body should prioritize summarizing the most obvious results of current data, do not write entire section as "cannot draw conclusions"
|
|
84
|
+
- If limitations need to be stated, prioritize concentrating in `project_summary_body`, `overview_body`, or `integrated_interpretation_body`
|
|
85
|
+
- For obvious file name prefixes like `control`, `model`, `sham`, `vehicle`, can directly use as candidate groupings
|
|
86
|
+
- For projects with only skeleton data, prioritize writing the most obvious activity areas, axis distribution, or movement range differences, not just doing material inventory
|
package/skills/16_Animal_Behavior/ethoclaw-analysis-report/references/section-selection-rules.md
ADDED
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Section Selection Rules
|
|
2
|
+
|
|
3
|
+
Read this file when dynamically selecting report mode and `section_bodies` based on project materials.
|
|
4
|
+
|
|
5
|
+
## Report Mode Determination
|
|
6
|
+
|
|
7
|
+
### `single-subject`
|
|
8
|
+
|
|
9
|
+
Applicable conditions:
|
|
10
|
+
|
|
11
|
+
- Only one sample detected
|
|
12
|
+
- No formal groupings to compare
|
|
13
|
+
- Focus is on summarizing single trajectory, single image result, or single statistical metric
|
|
14
|
+
|
|
15
|
+
Enabled by default:
|
|
16
|
+
|
|
17
|
+
- `project_summary_body`
|
|
18
|
+
- `overview_body`
|
|
19
|
+
- `sample_check_body`
|
|
20
|
+
- `single_subject_body`
|
|
21
|
+
|
|
22
|
+
Supplement based on materials:
|
|
23
|
+
|
|
24
|
+
- `raw_trajectory_body`
|
|
25
|
+
- `heatmap_body`
|
|
26
|
+
- `radar_body`
|
|
27
|
+
- `stats_body`
|
|
28
|
+
- `integrated_interpretation_body`
|
|
29
|
+
|
|
30
|
+
### `multi-sample-no-groups`
|
|
31
|
+
|
|
32
|
+
Applicable conditions:
|
|
33
|
+
|
|
34
|
+
- Multiple samples detected
|
|
35
|
+
- No clear groupings
|
|
36
|
+
- Or only ambiguous abbreviation labels appear
|
|
37
|
+
|
|
38
|
+
Enabled by default:
|
|
39
|
+
|
|
40
|
+
- `project_summary_body`
|
|
41
|
+
- `overview_body`
|
|
42
|
+
- `sample_check_body`
|
|
43
|
+
|
|
44
|
+
Supplement based on materials:
|
|
45
|
+
|
|
46
|
+
- `raw_trajectory_body`
|
|
47
|
+
- `heatmap_body`
|
|
48
|
+
- `radar_body`
|
|
49
|
+
- `cluster_body`
|
|
50
|
+
- `integrated_interpretation_body`
|
|
51
|
+
|
|
52
|
+
Do not write formal inter-group conclusions.
|
|
53
|
+
|
|
54
|
+
### `grouped-raw-summary`
|
|
55
|
+
|
|
56
|
+
Applicable conditions:
|
|
57
|
+
|
|
58
|
+
- Multiple samples detected
|
|
59
|
+
- Clear groupings already appear in file name prefixes or configuration, e.g., `control` / `model`
|
|
60
|
+
- Currently no formal statistical tables or result figures, but can directly make basic summaries from raw skeleton trajectories
|
|
61
|
+
|
|
62
|
+
Enabled by default:
|
|
63
|
+
|
|
64
|
+
- `project_summary_body`
|
|
65
|
+
- `overview_body`
|
|
66
|
+
- `sample_check_body`
|
|
67
|
+
- `raw_trajectory_body`
|
|
68
|
+
|
|
69
|
+
Supplement based on materials:
|
|
70
|
+
|
|
71
|
+
- `heatmap_body`
|
|
72
|
+
- `radar_body`
|
|
73
|
+
- `integrated_interpretation_body`
|
|
74
|
+
|
|
75
|
+
Allowed to directly write difference directions on raw trajectories, such as larger activity range, principal axis distribution more biased toward one side, but do not write as significance or mechanistic conclusions.
|
|
76
|
+
|
|
77
|
+
### `grouped-comparison`
|
|
78
|
+
|
|
79
|
+
Applicable conditions:
|
|
80
|
+
|
|
81
|
+
- Clear groupings exist
|
|
82
|
+
- Group meanings are confirmed, or file name prefixes are clear enough to support basic comparisons
|
|
83
|
+
- At least some inter-group comparison figures, statistical tables, or other high-level results exist
|
|
84
|
+
|
|
85
|
+
Enabled by default:
|
|
86
|
+
|
|
87
|
+
- `project_summary_body`
|
|
88
|
+
- `overview_body`
|
|
89
|
+
- `sample_check_body`
|
|
90
|
+
|
|
91
|
+
Supplement based on materials:
|
|
92
|
+
|
|
93
|
+
- `raw_trajectory_body`
|
|
94
|
+
- `heatmap_body`
|
|
95
|
+
- `radar_body`
|
|
96
|
+
- `stats_body`
|
|
97
|
+
- `cluster_body`
|
|
98
|
+
- `integrated_interpretation_body`
|
|
99
|
+
|
|
100
|
+
### `raw-trajectory-summary`
|
|
101
|
+
|
|
102
|
+
Applicable conditions:
|
|
103
|
+
|
|
104
|
+
- Main available materials are raw skeleton or trajectory data
|
|
105
|
+
- Not enough high-level result figures or statistical tables
|
|
106
|
+
- But still can extract basic behavioral summaries from coordinate distributions and path lengths
|
|
107
|
+
|
|
108
|
+
Enabled by default:
|
|
109
|
+
|
|
110
|
+
- `project_summary_body`
|
|
111
|
+
- `overview_body`
|
|
112
|
+
- `sample_check_body`
|
|
113
|
+
- `raw_trajectory_body`
|
|
114
|
+
|
|
115
|
+
### `figure-only-summary`
|
|
116
|
+
|
|
117
|
+
Applicable conditions:
|
|
118
|
+
|
|
119
|
+
- Main inputs are image results
|
|
120
|
+
- Lacking reliable tables or metadata support
|
|
121
|
+
|
|
122
|
+
Enabled by default:
|
|
123
|
+
|
|
124
|
+
- `project_summary_body`
|
|
125
|
+
- `overview_body`
|
|
126
|
+
- `sample_check_body`
|
|
127
|
+
|
|
128
|
+
Supplement based on materials:
|
|
129
|
+
|
|
130
|
+
- `heatmap_body`
|
|
131
|
+
- `radar_body`
|
|
132
|
+
- `cluster_body`
|
|
133
|
+
- `integrated_interpretation_body`
|
|
134
|
+
|
|
135
|
+
### `data-inventory-only`
|
|
136
|
+
|
|
137
|
+
Applicable conditions:
|
|
138
|
+
|
|
139
|
+
- Missing key background
|
|
140
|
+
- Materials under `project_path` are very scattered
|
|
141
|
+
- Cannot extract reliable result-level information
|
|
142
|
+
|
|
143
|
+
Enabled by default:
|
|
144
|
+
|
|
145
|
+
- `project_summary_body`
|
|
146
|
+
- `overview_body`
|
|
147
|
+
- `sample_check_body`
|
|
148
|
+
|
|
149
|
+
Do not enable bodies that depend on figure interpretation.
|
|
150
|
+
|
|
151
|
+
## Body Enabling Conditions
|
|
152
|
+
|
|
153
|
+
- `project_summary_body`: Always enabled
|
|
154
|
+
- `overview_body`: Always enabled
|
|
155
|
+
- `sample_check_body`: Always enabled
|
|
156
|
+
- `raw_trajectory_body`: Exists trajectory coordinates that can be directly read; enabled for both single-sample and multi-sample projects
|
|
157
|
+
- `heatmap_body`: At least one heatmap, trajectory plot, atlas, or time-series plot exists
|
|
158
|
+
- `radar_body`: Radar plot exists
|
|
159
|
+
- `stats_body`: Statistical figure or statistical table exists
|
|
160
|
+
- `cluster_body`: Cluster plot exists
|
|
161
|
+
- `single_subject_body`: Current mode is `single-subject`
|
|
162
|
+
- `integrated_interpretation_body`: At least two different evidence sources exist simultaneously, e.g., raw trajectory + image results, or two types of image results
|
|
163
|
+
|
|
164
|
+
## Usage Boundaries
|
|
165
|
+
|
|
166
|
+
- If file name prefixes are already obvious, labels like `control`, `model`, `sham`, `vehicle` can be directly used as candidate groupings
|
|
167
|
+
- If labels are opaque abbreviations like `Y`, `K`, `A1`, still confirm with the user first
|
|
168
|
+
- Leave `stats_body` empty when no statistical basis exists
|
|
169
|
+
- `raw_trajectory_body` should prioritize writing intuitive features on coordinate distributions and activity ranges, not degrade to material inventory
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
from report_utils import build_manifest, ensure_project_path, save_json
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def parse_args() -> argparse.Namespace:
|
|
10
|
+
parser = argparse.ArgumentParser(description="Build a manifest.json for an Ethoclaw analysis project.")
|
|
11
|
+
parser.add_argument("--project-path", required=True, help="Path to the project directory to analyze.")
|
|
12
|
+
parser.add_argument("--output", help="Optional output file path for manifest.json.")
|
|
13
|
+
return parser.parse_args()
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def main() -> None:
|
|
17
|
+
args = parse_args()
|
|
18
|
+
project_path = ensure_project_path(args.project_path)
|
|
19
|
+
manifest = build_manifest(project_path)
|
|
20
|
+
if args.output:
|
|
21
|
+
save_json(Path(args.output), manifest)
|
|
22
|
+
else:
|
|
23
|
+
print(manifest)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
if __name__ == "__main__":
|
|
27
|
+
main()
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import argparse
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
6
|
+
from report_utils import load_json, render_report_html, render_report_markdown, write_text
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def parse_args() -> argparse.Namespace:
|
|
10
|
+
parser = argparse.ArgumentParser(description="Render markdown and HTML outputs from a manifest.json file.")
|
|
11
|
+
parser.add_argument("--manifest", required=True, help="Path to an existing manifest JSON file.")
|
|
12
|
+
parser.add_argument("--output-dir", help="Directory for rendered report outputs.")
|
|
13
|
+
return parser.parse_args()
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def main() -> None:
|
|
17
|
+
args = parse_args()
|
|
18
|
+
manifest_path = Path(args.manifest).resolve()
|
|
19
|
+
manifest = load_json(manifest_path)
|
|
20
|
+
project_path = Path(manifest["project_path"]).resolve()
|
|
21
|
+
|
|
22
|
+
output_dir = Path(args.output_dir).resolve() if args.output_dir else (project_path / "report_output")
|
|
23
|
+
output_dir.mkdir(parents=True, exist_ok=True)
|
|
24
|
+
|
|
25
|
+
markdown_text = render_report_markdown(manifest)
|
|
26
|
+
html_text = render_report_html(manifest, markdown_text)
|
|
27
|
+
|
|
28
|
+
write_text(output_dir / "report.md", markdown_text)
|
|
29
|
+
write_text(output_dir / "report.html", html_text)
|
|
30
|
+
print(f"Rendered HTML report to {output_dir}")
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
if __name__ == "__main__":
|
|
34
|
+
main()
|