jupytermind 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/.github/skills/ai-chemistry-scientist/SKILL.md +97 -0
  2. package/.github/skills/ai-chemistry-scientist/manifest.json +156 -0
  3. package/.github/skills/ai-data-scientist/SKILL.md +330 -0
  4. package/.github/skills/ai-genomics-scientist/SKILL.md +98 -0
  5. package/.github/skills/ai-genomics-scientist/manifest.json +93 -0
  6. package/.github/skills/ai-materials-scientist/SKILL.md +51 -0
  7. package/.github/skills/ai-materials-scientist/manifest.json +58 -0
  8. package/.github/skills/ai-scientist/SKILL.md +69 -0
  9. package/.github/skills/ai-scientist/manifest.json +61 -0
  10. package/.github/skills/ai-structural-biology-scientist/SKILL.md +67 -0
  11. package/.github/skills/ai-structural-biology-scientist/manifest.json +72 -0
  12. package/.github/skills/japanese-prose/NOTICE.md +17 -0
  13. package/.github/skills/japanese-prose/SKILL.md +111 -0
  14. package/.github/skills/japanese-prose/references/review-workflow.md +50 -0
  15. package/.github/skills/japanese-prose/references/scoring.md +24 -0
  16. package/.github/skills/japanese-prose/references/writing-guidelines.md +60 -0
  17. package/.github/skills/japanese-prose/scripts/core.py +192 -0
  18. package/.github/skills/japanese-prose/scripts/fixtures/natural.md +5 -0
  19. package/.github/skills/japanese-prose/scripts/fixtures/unnatural.md +5 -0
  20. package/.github/skills/japanese-prose/scripts/lint.py +378 -0
  21. package/.github/skills/japanese-prose/scripts/outline.py +68 -0
  22. package/.github/skills/japanese-prose/scripts/terms.py +112 -0
  23. package/.github/skills/japanese-prose/scripts/test_engine.py +117 -0
  24. package/.github/skills/presentation-planner/SKILL.md +257 -0
  25. package/.github/skills/presentation-planner/assets/design-templates/data-report.yaml +97 -0
  26. package/.github/skills/presentation-planner/assets/design-templates/executive-proposal.yaml +92 -0
  27. package/.github/skills/presentation-planner/assets/design-templates/technical-briefing.yaml +96 -0
  28. package/.github/skills/presentation-planner/assets/scenario-templates/data-report.md +47 -0
  29. package/.github/skills/presentation-planner/assets/scenario-templates/executive-decision.md +43 -0
  30. package/.github/skills/presentation-planner/assets/scenario-templates/technical-briefing.md +45 -0
  31. package/.github/skills/presentation-planner/references/customizing-design-templates.md +160 -0
  32. package/.github/skills/presentation-planner/references/design-spec-schema.md +72 -0
  33. package/.github/skills/presentation-planner/references/handoff-contract.md +49 -0
  34. package/.github/skills/presentation-planner/references/responsibility-boundary.md +32 -0
  35. package/.github/skills/presentation-planner/references/scenario-templates.md +55 -0
  36. package/.github/skills/tech-writer/SKILL.md +434 -0
  37. package/.github/skills/tech-writer/assets/templates/blueprint.md +187 -0
  38. package/.github/skills/tech-writer/assets/templates/design-doc.md +29 -0
  39. package/.github/skills/tech-writer/assets/templates/migration-plan.md +173 -0
  40. package/.github/skills/tech-writer/assets/templates/operations-runbook.md +202 -0
  41. package/.github/skills/tech-writer/assets/templates/pr-description.md +23 -0
  42. package/.github/skills/tech-writer/assets/templates/qiita.md +44 -0
  43. package/.github/skills/tech-writer/assets/templates/readme.md +38 -0
  44. package/.github/skills/tech-writer/assets/templates/requirements-definition.md +170 -0
  45. package/.github/skills/tech-writer/assets/templates/rfi.md +113 -0
  46. package/.github/skills/tech-writer/assets/templates/rfp.md +180 -0
  47. package/.github/skills/tech-writer/assets/templates/security-design.md +167 -0
  48. package/.github/skills/tech-writer/assets/templates/system-design.md +220 -0
  49. package/.github/skills/tech-writer/assets/templates/technical-proposal.md +112 -0
  50. package/.github/skills/tech-writer/assets/templates/test-plan.md +153 -0
  51. package/.github/skills/tech-writer/assets/templates/user-manual.md +22 -0
  52. package/.github/skills/tech-writer/assets/templates/white-paper.md +192 -0
  53. package/.github/skills/tech-writer/references/doctypes/api-docs.md +33 -0
  54. package/.github/skills/tech-writer/references/doctypes/blueprint.md +81 -0
  55. package/.github/skills/tech-writer/references/doctypes/code-comments.md +39 -0
  56. package/.github/skills/tech-writer/references/doctypes/design-doc.md +42 -0
  57. package/.github/skills/tech-writer/references/doctypes/migration-plan.md +63 -0
  58. package/.github/skills/tech-writer/references/doctypes/operations-runbook.md +63 -0
  59. package/.github/skills/tech-writer/references/doctypes/pr-commit.md +82 -0
  60. package/.github/skills/tech-writer/references/doctypes/qiita.md +75 -0
  61. package/.github/skills/tech-writer/references/doctypes/readme.md +43 -0
  62. package/.github/skills/tech-writer/references/doctypes/release-notes.md +30 -0
  63. package/.github/skills/tech-writer/references/doctypes/requirements-definition.md +61 -0
  64. package/.github/skills/tech-writer/references/doctypes/rfi.md +43 -0
  65. package/.github/skills/tech-writer/references/doctypes/rfp.md +46 -0
  66. package/.github/skills/tech-writer/references/doctypes/security-design.md +71 -0
  67. package/.github/skills/tech-writer/references/doctypes/system-design.md +74 -0
  68. package/.github/skills/tech-writer/references/doctypes/technical-proposal.md +49 -0
  69. package/.github/skills/tech-writer/references/doctypes/test-plan.md +67 -0
  70. package/.github/skills/tech-writer/references/doctypes/user-manual.md +58 -0
  71. package/.github/skills/tech-writer/references/doctypes/white-paper.md +84 -0
  72. package/.github/skills/tech-writer/references/doctypes/zenn.md +66 -0
  73. package/.github/skills/tech-writer/references/japanese-prose-optimization.md +110 -0
  74. package/.github/skills/tech-writer/references/style-constitution.md +104 -0
  75. package/.github/skills/tech-writer/scripts/lint.py +412 -0
  76. package/LICENSE +21 -0
  77. package/README.md +92 -0
  78. package/bin/ai-data-scientist.js +123 -0
  79. package/package.json +41 -0
  80. package/pyproject.toml +45 -0
  81. package/src/ai_chemistry_scientist/__init__.py +0 -0
  82. package/src/ai_chemistry_scientist/admet_prediction.py +71 -0
  83. package/src/ai_chemistry_scientist/bioactivity_classification.py +73 -0
  84. package/src/ai_chemistry_scientist/data/sample_molecules.csv +21 -0
  85. package/src/ai_chemistry_scientist/dispatch.py +369 -0
  86. package/src/ai_chemistry_scientist/docking_score.py +97 -0
  87. package/src/ai_chemistry_scientist/drug_likeness_rules.py +84 -0
  88. package/src/ai_chemistry_scientist/evidence.py +41 -0
  89. package/src/ai_chemistry_scientist/molecular_descriptors.py +97 -0
  90. package/src/ai_chemistry_scientist/molecular_formula_mass.py +40 -0
  91. package/src/ai_chemistry_scientist/molecular_similarity.py +78 -0
  92. package/src/ai_chemistry_scientist/qsar_modeling.py +105 -0
  93. package/src/ai_chemistry_scientist/salt_standardization.py +81 -0
  94. package/src/ai_chemistry_scientist/structural_alerts.py +76 -0
  95. package/src/ai_chemistry_scientist/structure_format_conversion.py +84 -0
  96. package/src/ai_chemistry_scientist/validation.py +70 -0
  97. package/src/ai_data_scientist/__init__.py +0 -0
  98. package/src/ai_data_scientist/analysis_assumptions.py +121 -0
  99. package/src/ai_data_scientist/anomaly_detection.py +39 -0
  100. package/src/ai_data_scientist/automl.py +109 -0
  101. package/src/ai_data_scientist/cleaning.py +56 -0
  102. package/src/ai_data_scientist/cli.py +90 -0
  103. package/src/ai_data_scientist/clustering.py +54 -0
  104. package/src/ai_data_scientist/dashboard.py +33 -0
  105. package/src/ai_data_scientist/data_definition.py +100 -0
  106. package/src/ai_data_scientist/data_quality.py +164 -0
  107. package/src/ai_data_scientist/dataset_validation.py +135 -0
  108. package/src/ai_data_scientist/dependency_pins.py +60 -0
  109. package/src/ai_data_scientist/eda.py +82 -0
  110. package/src/ai_data_scientist/experiment_evaluation.py +635 -0
  111. package/src/ai_data_scientist/explainability.py +340 -0
  112. package/src/ai_data_scientist/feature_engineering.py +163 -0
  113. package/src/ai_data_scientist/gate_config.py +32 -0
  114. package/src/ai_data_scientist/ingestion.py +127 -0
  115. package/src/ai_data_scientist/insight_engine.py +180 -0
  116. package/src/ai_data_scientist/japanese_nlp.py +43 -0
  117. package/src/ai_data_scientist/jupyter_launcher.py +137 -0
  118. package/src/ai_data_scientist/jupyter_mcp_client.py +94 -0
  119. package/src/ai_data_scientist/language_router.py +28 -0
  120. package/src/ai_data_scientist/lifecycle.py +221 -0
  121. package/src/ai_data_scientist/mcp_gateway.py +113 -0
  122. package/src/ai_data_scientist/mcp_runtime.py +194 -0
  123. package/src/ai_data_scientist/mcp_transport.py +53 -0
  124. package/src/ai_data_scientist/ml_modeling.py +451 -0
  125. package/src/ai_data_scientist/model_tuning.py +104 -0
  126. package/src/ai_data_scientist/notebook_audit.py +574 -0
  127. package/src/ai_data_scientist/project_manager.py +243 -0
  128. package/src/ai_data_scientist/report_export.py +73 -0
  129. package/src/ai_data_scientist/sensitivity.py +445 -0
  130. package/src/ai_data_scientist/signal_analysis.py +201 -0
  131. package/src/ai_data_scientist/skill_packaging.py +40 -0
  132. package/src/ai_data_scientist/stats_analysis.py +88 -0
  133. package/src/ai_data_scientist/text_nlp.py +44 -0
  134. package/src/ai_data_scientist/timeseries.py +68 -0
  135. package/src/ai_data_scientist/visualization.py +708 -0
  136. package/src/ai_genomics_scientist/__init__.py +1 -0
  137. package/src/ai_genomics_scientist/differential_expression.py +147 -0
  138. package/src/ai_genomics_scientist/dispatch.py +267 -0
  139. package/src/ai_genomics_scientist/evidence.py +45 -0
  140. package/src/ai_genomics_scientist/gene_set_enrichment.py +76 -0
  141. package/src/ai_genomics_scientist/sequence_alignment.py +97 -0
  142. package/src/ai_genomics_scientist/sequence_features.py +111 -0
  143. package/src/ai_genomics_scientist/splice_site_scoring.py +66 -0
  144. package/src/ai_genomics_scientist/validation.py +83 -0
  145. package/src/ai_genomics_scientist/variant_effect.py +147 -0
  146. package/src/ai_genomics_scientist/variant_pathogenicity.py +125 -0
  147. package/src/ai_materials_scientist/__init__.py +0 -0
  148. package/src/ai_materials_scientist/calphad.py +117 -0
  149. package/src/ai_materials_scientist/classical_monte_carlo.py +165 -0
  150. package/src/ai_materials_scientist/crystal_plasticity.py +184 -0
  151. package/src/ai_materials_scientist/dispatch.py +100 -0
  152. package/src/ai_materials_scientist/evidence.py +84 -0
  153. package/src/ai_materials_scientist/fem.py +279 -0
  154. package/src/ai_materials_scientist/kinetic_monte_carlo.py +145 -0
  155. package/src/ai_materials_scientist/molecular_dynamics.py +240 -0
  156. package/src/ai_materials_scientist/phase_field.py +167 -0
  157. package/src/ai_materials_scientist/validation.py +70 -0
  158. package/src/ai_scientist/__init__.py +1 -0
  159. package/src/ai_scientist/completion_gate.py +15 -0
  160. package/src/ai_scientist/data_analysis.py +46 -0
  161. package/src/ai_scientist/evidence_registry.py +99 -0
  162. package/src/ai_scientist/experimental_design.py +20 -0
  163. package/src/ai_scientist/language.py +14 -0
  164. package/src/ai_scientist/latex_renderer.py +41 -0
  165. package/src/ai_scientist/literature_review.py +37 -0
  166. package/src/ai_scientist/manifest.py +87 -0
  167. package/src/ai_scientist/manuscript.py +94 -0
  168. package/src/ai_scientist/mcp_config.py +76 -0
  169. package/src/ai_scientist/mcp_external.py +42 -0
  170. package/src/ai_scientist/mcp_failures.py +23 -0
  171. package/src/ai_scientist/mcp_gateway.py +38 -0
  172. package/src/ai_scientist/mcp_managed.py +180 -0
  173. package/src/ai_scientist/npm_packaging.py +49 -0
  174. package/src/ai_scientist/orchestrator.py +133 -0
  175. package/src/ai_scientist/peer_review.py +60 -0
  176. package/src/ai_scientist/phase_gate.py +74 -0
  177. package/src/ai_scientist/phase_state.py +230 -0
  178. package/src/ai_scientist/presentation.py +56 -0
  179. package/src/ai_scientist/project_config.py +31 -0
  180. package/src/ai_scientist/project_handle.py +74 -0
  181. package/src/ai_scientist/reproducibility.py +20 -0
  182. package/src/ai_scientist/research_planning.py +20 -0
  183. package/src/ai_scientist/skill_invocation.py +21 -0
  184. package/src/ai_scientist/tdd_gate.py +99 -0
  185. package/src/ai_structural_biology_scientist/__init__.py +0 -0
  186. package/src/ai_structural_biology_scientist/contact_map.py +87 -0
  187. package/src/ai_structural_biology_scientist/dispatch.py +269 -0
  188. package/src/ai_structural_biology_scientist/evidence.py +43 -0
  189. package/src/ai_structural_biology_scientist/hydrophobicity.py +101 -0
  190. package/src/ai_structural_biology_scientist/protein_docking_score.py +104 -0
  191. package/src/ai_structural_biology_scientist/secondary_structure.py +95 -0
  192. package/src/ai_structural_biology_scientist/structural_similarity.py +74 -0
  193. package/src/ai_structural_biology_scientist/validation.py +100 -0
@@ -0,0 +1,98 @@
1
+ ---
2
+ name: ai-genomics-scientist
3
+ description: "Use when a user asks, in Japanese or English, to run a computational-genomics module: sequence feature analysis, variant effect heuristic annotation, splice-site strength heuristic scoring, gene-set enrichment analysis, pairwise sequence alignment, differential expression heuristic analysis, or variant pathogenicity prediction heuristic scoring. ゲノミクス固有の処理(配列特徴量解析、バリアント効果ヒューリスティック注釈、スプライス部位強度ヒューリスティック、遺伝子セットエンリッチメント解析、配列アラインメント、差次発現解析ヒューリスティック、バリアント病原性予測ヒューリスティック)を実行する際に使用。"
4
+ ---
5
+ # AI Genomics Scientist / AIゲノミクス科学者
6
+
7
+ Respond in the user's input language (日本語 / English) for every
8
+ user-facing message (REQ-AGENOM-001). Dispatch to exactly one of the 7
9
+ supported genomics modules per request; never mix modules in a single
10
+ run (REQ-AGENOM-002).
11
+
12
+ ## Workflow / 手順
13
+ 1. **Detect language and match the request** — call
14
+ `ai_genomics_scientist.dispatch.dispatch(request_text)`, which loads
15
+ `.github/skills/ai-genomics-scientist/manifest.json`, normalizes the
16
+ request and manifest names with Unicode NFKC, and matches the request
17
+ text against each module's registered English/Japanese
18
+ name/synonym list.
19
+ - Exactly one match → invoke that module's handler function.
20
+ - Two or more distinct modules matched → ask a clarification question
21
+ listing every matched candidate; invoke no module.
22
+ - No match → return a rejection message; invoke no module.
23
+ 2. **Validate parameters before any computation** — each module validates
24
+ its resolved parameters before running any computation
25
+ (REQ-AGENOM-003). `sequence-features` validates and computes
26
+ per-item, continuing past individual rejected sequences rather than
27
+ failing the whole batch. `variant-effect-annotation`,
28
+ `splice-site-strength`, `gene-set-enrichment`,
29
+ `pairwise-sequence-alignment`, `differential-expression`, and
30
+ `variant-pathogenicity` validate atomically and reject the whole
31
+ run on any invalid parameter.
32
+ 3. **Record reproducible run evidence** — every completed run returns a
33
+ `RunRecord` with exactly `metadata`, `parameters`, and `result`
34
+ (REQ-AGENOM-004), including the numpy version used and the scipy
35
+ version for the gene-set-enrichment and differential-expression
36
+ modules.
37
+
38
+ ## Supported modules / 対応モジュール
39
+ | Method | English | 日本語 |
40
+ | --- | --- | --- |
41
+ | Sequence features | `sequence-features` / sequence feature analysis | `配列特徴量解析` |
42
+ | Variant effect annotation | `variant-effect-annotation` / variant effect heuristic annotation | `バリアント効果注釈` |
43
+ | Splice-site strength | `splice-site-strength` / splice-site strength heuristic | `スプライス部位強度` |
44
+ | Gene-set enrichment | `gene-set-enrichment` / gene set enrichment analysis | `遺伝子セットエンリッチメント` |
45
+ | Pairwise sequence alignment | `pairwise-sequence-alignment` / pairwise sequence alignment | `配列アラインメント` |
46
+ | Differential expression | `differential-expression` / differential expression analysis | `差次発現解析` |
47
+ | Variant pathogenicity | `variant-pathogenicity` / variant pathogenicity prediction | `バリアント病原性予測` |
48
+
49
+ ## Important limitations / 重要な制限
50
+ Splice-site strength results are governed by a fixed, illustrative
51
+ heuristic and must always be understood with this exact limitation
52
+ label:
53
+ - Splice-site heuristic (en): "Heuristic only: a fixed illustrative
54
+ position-weight scoring scheme, not a validated splice-site predictor
55
+ (not SpliceAI, not based on real splice-site frequency data)."
56
+ - Splice-site heuristic (ja): "ヒューリスティックのみ:これは固定された
57
+ 例示用の position-weight スコアリング方式であり、検証済みの
58
+ スプライス部位予測器ではない(SpliceAI ではなく、実際の
59
+ スプライス部位頻度データにも基づかない)。"
60
+
61
+ Differential expression results use a simplified Welch's-t-test
62
+ heuristic over DESeq2's own median-of-ratios normalization, not a full
63
+ negative-binomial GLM/Wald test and not a pyDESeq2 reimplementation,
64
+ and must always be understood with this exact limitation label:
65
+ - Differential expression heuristic (en): "Heuristic only: DESeq2-style
66
+ median-of-ratios normalization with a Welch's t-test, not a full
67
+ negative-binomial GLM/Wald test and not a pyDESeq2 reimplementation."
68
+ - Differential expression heuristic (ja): "ヒューリスティックのみ:
69
+ DESeq2 風の median-of-ratios 正規化と Welch の t 検定であり、完全な
70
+ 負の二項 GLM/Wald 検定ではなく、pyDESeq2 の再実装でもない。"
71
+
72
+ Variant pathogenicity prediction results use a fixed embedded BLOSUM62
73
+ matrix and a linear weighted-sum heuristic, not a trained or externally
74
+ calibrated classifier, and must always be understood with this exact
75
+ limitation label:
76
+ - Variant pathogenicity heuristic (en): "Heuristic only: a fixed
77
+ BLOSUM62-based linear weighted-sum score, not a trained or externally
78
+ calibrated pathogenicity classifier (not PolyPhen-2, not SIFT, not
79
+ AlphaMissense)."
80
+ - Variant pathogenicity heuristic (ja): "ヒューリスティックのみ:固定の
81
+ BLOSUM62 ベース線形加重和スコアであり、学習済みまたは外部較正済みの
82
+ 病原性分類器ではない(PolyPhen-2 でも SIFT でも AlphaMissense でも
83
+ ない)。"
84
+
85
+ ## Scope boundary / 対象外
86
+ Genomics stays separate from `ai-chemistry-scientist`,
87
+ `ai-structural-biology-scientist`, `ai-data-scientist`, and
88
+ `ai-scientist`. This skill owns offline computational genomics only,
89
+ implemented with numpy/scipy plus the standard library. It does not own
90
+ cheminformatics, structural-biology workflows, generic domain-agnostic
91
+ data analysis, or multi-phase research orchestration, and it does not
92
+ call the network or external bioinformatics libraries such as
93
+ Biopython.
94
+
95
+ Traceability: REQ-AGENOM-001 through REQ-AGENOM-070, DES-AGENOM-001
96
+ through DES-AGENOM-070
97
+ (`.musubix/features/ai-genomics-scientist/`).
98
+
@@ -0,0 +1,93 @@
1
+ {
2
+ "sequence-features": {
3
+ "modulePath": "ai_genomics_scientist.dispatch",
4
+ "functionName": "handle_sequence_features",
5
+ "names": {
6
+ "en": [
7
+ "sequence-features",
8
+ "sequence feature analysis"
9
+ ],
10
+ "ja": [
11
+ "配列特徴量解析"
12
+ ]
13
+ }
14
+ },
15
+ "variant-effect-annotation": {
16
+ "modulePath": "ai_genomics_scientist.dispatch",
17
+ "functionName": "handle_variant_effect_annotation",
18
+ "names": {
19
+ "en": [
20
+ "variant-effect-annotation",
21
+ "variant effect heuristic annotation"
22
+ ],
23
+ "ja": [
24
+ "バリアント効果注釈"
25
+ ]
26
+ }
27
+ },
28
+ "splice-site-strength": {
29
+ "modulePath": "ai_genomics_scientist.dispatch",
30
+ "functionName": "handle_splice_site_strength",
31
+ "names": {
32
+ "en": [
33
+ "splice-site-strength",
34
+ "splice-site strength heuristic"
35
+ ],
36
+ "ja": [
37
+ "スプライス部位強度"
38
+ ]
39
+ }
40
+ },
41
+ "gene-set-enrichment": {
42
+ "modulePath": "ai_genomics_scientist.dispatch",
43
+ "functionName": "handle_gene_set_enrichment",
44
+ "names": {
45
+ "en": [
46
+ "gene-set-enrichment",
47
+ "gene set enrichment analysis"
48
+ ],
49
+ "ja": [
50
+ "遺伝子セットエンリッチメント"
51
+ ]
52
+ }
53
+ },
54
+ "pairwise-sequence-alignment": {
55
+ "modulePath": "ai_genomics_scientist.dispatch",
56
+ "functionName": "handle_pairwise_sequence_alignment",
57
+ "names": {
58
+ "en": [
59
+ "pairwise-sequence-alignment",
60
+ "pairwise sequence alignment"
61
+ ],
62
+ "ja": [
63
+ "配列アラインメント"
64
+ ]
65
+ }
66
+ },
67
+ "differential-expression": {
68
+ "modulePath": "ai_genomics_scientist.dispatch",
69
+ "functionName": "handle_differential_expression",
70
+ "names": {
71
+ "en": [
72
+ "differential-expression",
73
+ "differential expression analysis"
74
+ ],
75
+ "ja": [
76
+ "差次発現解析"
77
+ ]
78
+ }
79
+ },
80
+ "variant-pathogenicity": {
81
+ "modulePath": "ai_genomics_scientist.dispatch",
82
+ "functionName": "handle_variant_pathogenicity",
83
+ "names": {
84
+ "en": [
85
+ "variant-pathogenicity",
86
+ "variant pathogenicity prediction"
87
+ ],
88
+ "ja": [
89
+ "バリアント病原性予測"
90
+ ]
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,51 @@
1
+ ---
2
+ name: ai-materials-scientist
3
+ description: "Use when a user asks, in Japanese or English, to run a materials-science simulation module: phase-field microstructure evolution, molecular dynamics, classical Monte Carlo, kinetic Monte Carlo, crystal plasticity, a simplified finite-element field solver, or a simplified binary CALPHAD phase diagram. 材料科学固有のシミュレーション(フェーズフィールド法、分子動力学、古典/速度論的モンテカルロ、結晶塑性、有限要素法、CALPHAD状態図)を実行する際に使用。"
4
+ ---
5
+ # AI Materials Scientist / AI材料科学者
6
+
7
+ Respond in the user's input language (日本語 / English) for every user-facing
8
+ message (REQ-AIMS-001). Dispatch to exactly one of the 7 supported
9
+ simulation modules per request; never mix modules in a single run
10
+ (REQ-AIMS-002).
11
+
12
+ ## Workflow / 手順
13
+ 1. **Detect language and match the request** — call
14
+ `ai_materials_scientist.dispatch.dispatch(request_text)`, which loads
15
+ `.github/skills/ai-materials-scientist/manifest.json` and matches the
16
+ request text against each module's registered English/Japanese
17
+ name/synonym list.
18
+ - Exactly one match → invoke that module's handler function.
19
+ - Two or more distinct modules matched → ask a clarification question
20
+ listing every matched candidate; invoke no module.
21
+ - No match → return a rejection message; invoke no module.
22
+ 2. **Validate parameters before any simulation step** — each module handler
23
+ validates its own resolved parameters against its documented
24
+ stability/physical-definedness domain (REQ-AIMS-003) before mutating any
25
+ state; on violation it rejects the run naming the parameter and the
26
+ violated constraint.
27
+ 3. **Record reproducible run evidence** — every completed run returns a
28
+ `RunRecord` with exactly `metadata`, `parameters`, and `arrays`
29
+ (REQ-AIMS-004), using the unit system fixed for that module
30
+ (REQ-AIMS-005).
31
+
32
+ ## Supported modules / 対応モジュール
33
+ | Method | English | 日本語 |
34
+ | --- | --- | --- |
35
+ | Phase-field | phase-field | フェーズフィールド法 |
36
+ | Molecular dynamics | molecular dynamics | 分子動力学 |
37
+ | Classical Monte Carlo | classical monte carlo | 古典モンテカルロ |
38
+ | Kinetic Monte Carlo | kinetic monte carlo | 速度論的モンテカルロ |
39
+ | Crystal plasticity | crystal plasticity | 結晶塑性 |
40
+ | Finite element | finite element | 有限要素法 |
41
+ | CALPHAD | calphad / phase diagram | CALPHAD / 状態図 |
42
+
43
+ ## Scope boundary / 対象外
44
+ Generic, domain-agnostic analysis (including Bayesian optimization for
45
+ next-experiment design) stays in `ai-data-scientist`; multi-phase research
46
+ orchestration stays in `ai-scientist`. This skill owns materials-science
47
+ simulation only, implemented with numpy/scipy/pandas/scikit-learn (no
48
+ external solver binaries, no network calls).
49
+
50
+ Traceability: REQ-AIMS-001 through REQ-AIMS-070, DES-AIMS-001 through
51
+ DES-AIMS-070 (`.musubix/features/ai-materials-scientist/`).
@@ -0,0 +1,58 @@
1
+ {
2
+ "phase-field": {
3
+ "modulePath": "ai_materials_scientist.phase_field",
4
+ "functionName": "run_phase_field",
5
+ "names": {
6
+ "en": ["phase-field", "phase field"],
7
+ "ja": ["フェーズフィールド法", "フェーズフィールド"]
8
+ }
9
+ },
10
+ "molecular-dynamics": {
11
+ "modulePath": "ai_materials_scientist.molecular_dynamics",
12
+ "functionName": "run_molecular_dynamics",
13
+ "names": {
14
+ "en": ["molecular dynamics"],
15
+ "ja": ["分子動力学"]
16
+ }
17
+ },
18
+ "classical-monte-carlo": {
19
+ "modulePath": "ai_materials_scientist.classical_monte_carlo",
20
+ "functionName": "run_classical_monte_carlo",
21
+ "names": {
22
+ "en": ["classical monte carlo"],
23
+ "ja": ["古典モンテカルロ"]
24
+ }
25
+ },
26
+ "kinetic-monte-carlo": {
27
+ "modulePath": "ai_materials_scientist.kinetic_monte_carlo",
28
+ "functionName": "run_kinetic_monte_carlo",
29
+ "names": {
30
+ "en": ["kinetic monte carlo"],
31
+ "ja": ["速度論的モンテカルロ", "キネティックモンテカルロ"]
32
+ }
33
+ },
34
+ "crystal-plasticity": {
35
+ "modulePath": "ai_materials_scientist.crystal_plasticity",
36
+ "functionName": "run_crystal_plasticity",
37
+ "names": {
38
+ "en": ["crystal plasticity"],
39
+ "ja": ["結晶塑性"]
40
+ }
41
+ },
42
+ "finite-element": {
43
+ "modulePath": "ai_materials_scientist.fem",
44
+ "functionName": "run_fem",
45
+ "names": {
46
+ "en": ["finite element", "finite-element"],
47
+ "ja": ["有限要素法", "有限要素"]
48
+ }
49
+ },
50
+ "calphad": {
51
+ "modulePath": "ai_materials_scientist.calphad",
52
+ "functionName": "run_calphad",
53
+ "names": {
54
+ "en": ["calphad", "phase diagram"],
55
+ "ja": ["カルファド", "状態図"]
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,69 @@
1
+ ---
2
+ name: ai-scientist
3
+ description: "Use when a user asks, in Japanese or English, to guide a single research project through planning, literature review, experimental design, data analysis, manuscript writing, peer review, reproducibility checks, and presentation. 研究プロジェクトを研究計画から発表まで単一セッションで進める際に使用。"
4
+ ---
5
+ # AI Scientist / AIサイエンティスト
6
+
7
+ Respond in the user's input language (日本語 / English) for every user-facing
8
+ message. Guide one project through eight fixed phases in order:
9
+ research-planning, literature-review, experimental-design, data-analysis,
10
+ manuscript-writing, peer-review, reproducibility-check, and presentation.
11
+
12
+ ## Workflow / 手順
13
+ 1. **Resolve the shared project handle** — call
14
+ `ai_scientist.project_handle.resolve_research_project(name)` so workspace
15
+ paths reuse `ai_data_scientist.project_manager.resolve_project`'s validated,
16
+ stable root contract.
17
+ 2. **Check language and phase state** — call
18
+ `ai_scientist.language.detect_language(instruction)` and
19
+ `ai_scientist.phase_state.load_phase_state(handle)`; when the requested phase
20
+ differs from the active one, enforce `ai_scientist.phase_gate.check_gate(...)`
21
+ before dispatch.
22
+ 3. **Run the phase handler declared in the manifest** — load
23
+ `.github/skills/ai-scientist/manifest.json` with
24
+ `ai_scientist.manifest.load_phase_manifest()` and dispatch only to the
25
+ declared module function for that phase.
26
+ 4. **Delegate specialized phases instead of duplicating logic**:
27
+ - `data-analysis` → `ai_scientist.data_analysis.delegate_data_analysis(...)`
28
+ which reuses `ai_data_scientist.project_manager.resolve_project` /
29
+ `ensure_notebook` and `ai_data_scientist.mcp_gateway.run_and_record(...)`.
30
+ - `manuscript-writing` → `ai_scientist.manuscript.write_manuscript(...)`,
31
+ which invokes the pinned `tech-writer` sibling skill through a provided
32
+ `SkillInvoker`, records manuscript language metadata, and optionally
33
+ renders LaTeX from the returned Markdown.
34
+ - `peer-review` → `ai_scientist.peer_review.review_manuscript(...)`, which
35
+ routes to `japanese-prose` for `ja` manuscripts or `tech-writer` for `en`
36
+ manuscripts using the persisted manuscript metadata.
37
+ - `presentation` → `ai_scientist.presentation.build_presentation(...)`,
38
+ which invokes the pinned `presentation-planner` sibling skill.
39
+ 5. **Route literature or domain-tool lookups through MCP only** — use
40
+ `ai_scientist.mcp_gateway.McpGateway.call_tool(...)`; managed MCP servers are
41
+ started on demand via `ai_scientist.mcp_managed.ensure_managed_server(...)`,
42
+ and external endpoints are connected via
43
+ `ai_scientist.mcp_external.connect_external_server(...)`.
44
+ 6. **Record evidence before completion** — every phase artifact must be written
45
+ through `ai_scientist.evidence_registry.record_evidence(...)`; only then may
46
+ `ai_scientist.phase_state.mark_phase_complete(...)` advance the lifecycle.
47
+
48
+ ## Constraints / 制約
49
+ - Do not implement manuscript prose, peer-review prose, or presentation
50
+ structuring inside this skill's Python code; use the pinned sibling skills
51
+ declared in the manifest.
52
+ - Do not make direct domain-tool network calls from phase handlers; use the MCP
53
+ gateway/client abstraction.
54
+ - The default Python-side `DefaultSkillInvoker` intentionally raises
55
+ `NotImplementedError`: the live Copilot runtime must supply the real sibling
56
+ skill invocation mechanism when executing this skill outside the test suite.
57
+
58
+ ## Source layout / 実装
59
+ - `src/ai_scientist/orchestrator.py`
60
+ - `src/ai_scientist/project_handle.py`
61
+ - `src/ai_scientist/phase_state.py`
62
+ - `src/ai_scientist/phase_gate.py`
63
+ - `src/ai_scientist/evidence_registry.py`
64
+ - `src/ai_scientist/data_analysis.py`
65
+ - `src/ai_scientist/manuscript.py`
66
+ - `src/ai_scientist/peer_review.py`
67
+ - `src/ai_scientist/presentation.py`
68
+ - `src/ai_scientist/mcp_*.py`
69
+ - `.github/skills/ai-scientist/manifest.json`
@@ -0,0 +1,61 @@
1
+ {
2
+ "research-planning": {
3
+ "modulePath": "ai_scientist.research_planning",
4
+ "functionName": "handle_research_planning",
5
+ "skillDependencies": []
6
+ },
7
+ "literature-review": {
8
+ "modulePath": "ai_scientist.literature_review",
9
+ "functionName": "handle_literature_review",
10
+ "skillDependencies": []
11
+ },
12
+ "experimental-design": {
13
+ "modulePath": "ai_scientist.experimental_design",
14
+ "functionName": "handle_experimental_design",
15
+ "skillDependencies": []
16
+ },
17
+ "data-analysis": {
18
+ "modulePath": "ai_scientist.data_analysis",
19
+ "functionName": "delegate_data_analysis",
20
+ "skillDependencies": []
21
+ },
22
+ "manuscript-writing": {
23
+ "modulePath": "ai_scientist.manuscript",
24
+ "functionName": "write_manuscript",
25
+ "skillDependencies": [
26
+ {
27
+ "skillId": "tech-writer",
28
+ "version": "0.3.0"
29
+ }
30
+ ]
31
+ },
32
+ "peer-review": {
33
+ "modulePath": "ai_scientist.peer_review",
34
+ "functionName": "review_manuscript",
35
+ "skillDependencies": {
36
+ "ja": {
37
+ "skillId": "japanese-prose",
38
+ "version": "0.3.0"
39
+ },
40
+ "en": {
41
+ "skillId": "tech-writer",
42
+ "version": "0.3.0"
43
+ }
44
+ }
45
+ },
46
+ "reproducibility-check": {
47
+ "modulePath": "ai_scientist.reproducibility",
48
+ "functionName": "handle_reproducibility_check",
49
+ "skillDependencies": []
50
+ },
51
+ "presentation": {
52
+ "modulePath": "ai_scientist.presentation",
53
+ "functionName": "build_presentation",
54
+ "skillDependencies": [
55
+ {
56
+ "skillId": "presentation-planner",
57
+ "version": "0.3.0"
58
+ }
59
+ ]
60
+ }
61
+ }
@@ -0,0 +1,67 @@
1
+ ---
2
+ name: ai-structural-biology-scientist
3
+ description: "Use when a user asks, in Japanese or English, to run a structural-biology module: a secondary-structure heuristic, per-residue hydrophobicity/burial analysis, a protein-protein docking-score heuristic, structural similarity by RMSD after optimal superposition, or a residue contact-map heuristic. 構造生物学固有の処理(二次構造ヒューリスティック、残基ごとの疎水性・埋没度解析、タンパク質間ドッキングスコア・ヒューリスティック、最適重ね合わせ後RMSDによる構造類似性、残基コンタクトマップ・ヒューリスティック)を実行する際に使用。"
4
+ ---
5
+ # AI Structural Biology Scientist / AI構造生物学科学者
6
+
7
+ Respond in the user's input language (日本語 / English) for every
8
+ user-facing message (REQ-ASTRUCT-001). Dispatch to exactly one of the 5
9
+ supported structural-biology modules per request; never mix modules in a
10
+ single run (REQ-ASTRUCT-002).
11
+
12
+ ## Workflow / 手順
13
+ 1. **Detect language and match the request** — call
14
+ `ai_structural_biology_scientist.dispatch.dispatch(request_text)`,
15
+ which loads
16
+ `.github/skills/ai-structural-biology-scientist/manifest.json` and
17
+ matches the request text against each module's registered
18
+ English/Japanese name/synonym list.
19
+ - Exactly one match → invoke that module's handler function.
20
+ - Two or more distinct modules matched → ask a clarification question
21
+ listing every matched candidate; invoke no module.
22
+ - No match → return a rejection message; invoke no module.
23
+ 2. **Validate parameters before any computation** — each module validates
24
+ its resolved parameters before running any lookup, averaging,
25
+ scoring, superposition, or contact calculation (REQ-ASTRUCT-003); on
26
+ violation it rejects the run naming the parameter and the violated
27
+ constraint. Sequence modules accept only non-empty uppercase sequences
28
+ over `ACDEFGHIKLMNPQRSTVWY`; coordinate-based modules accept only
29
+ finite numeric three-element coordinate sequences.
30
+ 3. **Record reproducible run evidence** — every completed run returns a
31
+ `RunRecord` with exactly `metadata`, `parameters`, and `result`
32
+ (REQ-ASTRUCT-004), including the numpy version used.
33
+
34
+ ## Supported modules / 対応モジュール
35
+ | Method | English | 日本語 |
36
+ | --- | --- | --- |
37
+ | Secondary structure heuristic | secondary structure / secondary-structure heuristic | 二次構造 / 二次構造ヒューリスティック |
38
+ | Hydrophobicity / burial heuristic | per-residue hydrophobicity / hydrophobicity burial heuristic | 残基ごとの疎水性・埋没度 / 疎水性・埋没度ヒューリスティック |
39
+ | Protein-protein docking score | protein-protein docking score / protein docking score | タンパク質間ドッキングスコア / タンパク質ドッキングスコア |
40
+ | Structural similarity RMSD | structural similarity rmsd / structural similarity | 構造類似性RMSD / 構造類似性 |
41
+ | Residue contact map | residue contact map / contact map | 残基コンタクトマップ / コンタクトマップ |
42
+
43
+ ## Important limitations / 重要な制限
44
+ Secondary-structure and protein-protein docking-score results always
45
+ carry fixed, verbatim limitation labels stating they are heuristics, not
46
+ validated predictors or physically accurate simulations:
47
+ - Secondary structure (en): "Heuristic only: a fixed illustrative per-residue propensity lookup, not a validated secondary-structure predictor (no windowing, no real Chou-Fasman statistics)."
48
+ - Secondary structure (ja): "ヒューリスティックのみ:固定の説明用残基別 propensity lookup であり、検証済みの二次構造予測器ではない(windowing なし、実際の Chou-Fasman 統計なし)。"
49
+ - Protein docking (en): "Heuristic only: a fixed-formula geometric/compositional complementarity score, not a physically accurate protein-protein docking simulation (no 3D structure, no energy function)."
50
+ - Protein docking (ja): "ヒューリスティックのみ:固定式の幾何・組成補完性スコアであり、物理的に正確なタンパク質間ドッキングシミュレーションではない(3D 構造なし、エネルギー関数なし)。"
51
+
52
+ ## Scope boundary / 対象外
53
+ Structural biology stays separate from neighboring skills:
54
+ - `ai-chemistry-scientist` owns cheminformatics and small-molecule
55
+ analysis.
56
+ - `ai-genomics-scientist` owns sequence/genomics-specific analysis.
57
+ - `ai-data-scientist` owns generic, domain-agnostic data analysis.
58
+ - `ai-scientist` owns multi-phase research orchestration.
59
+
60
+ This skill owns only the 5 structural-biology heuristics documented
61
+ above, implemented offline with Python/numpy only: no network calls, no
62
+ Biopython or PyMOL, and no real PDB/mmCIF parsing beyond caller-supplied
63
+ inline coordinate lists.
64
+
65
+ Traceability: REQ-ASTRUCT-001 through REQ-ASTRUCT-050,
66
+ DES-ASTRUCT-001 through DES-ASTRUCT-050
67
+ (`.musubix/features/ai-structural-biology-scientist/`).
@@ -0,0 +1,72 @@
1
+ {
2
+ "secondary-structure-heuristic": {
3
+ "modulePath": "ai_structural_biology_scientist.dispatch",
4
+ "functionName": "handle_secondary_structure",
5
+ "names": {
6
+ "en": [
7
+ "secondary structure",
8
+ "secondary-structure heuristic"
9
+ ],
10
+ "ja": [
11
+ "二次構造",
12
+ "二次構造ヒューリスティック"
13
+ ]
14
+ }
15
+ },
16
+ "hydrophobicity-burial-heuristic": {
17
+ "modulePath": "ai_structural_biology_scientist.dispatch",
18
+ "functionName": "handle_hydrophobicity",
19
+ "names": {
20
+ "en": [
21
+ "per-residue hydrophobicity",
22
+ "hydrophobicity burial heuristic"
23
+ ],
24
+ "ja": [
25
+ "残基ごとの疎水性・埋没度",
26
+ "疎水性・埋没度ヒューリスティック"
27
+ ]
28
+ }
29
+ },
30
+ "protein-protein-docking-score": {
31
+ "modulePath": "ai_structural_biology_scientist.dispatch",
32
+ "functionName": "handle_protein_docking_score",
33
+ "names": {
34
+ "en": [
35
+ "protein-protein docking score",
36
+ "protein docking score"
37
+ ],
38
+ "ja": [
39
+ "タンパク質間ドッキングスコア",
40
+ "タンパク質ドッキングスコア"
41
+ ]
42
+ }
43
+ },
44
+ "structural-similarity-rmsd": {
45
+ "modulePath": "ai_structural_biology_scientist.dispatch",
46
+ "functionName": "handle_structural_similarity",
47
+ "names": {
48
+ "en": [
49
+ "structural similarity rmsd",
50
+ "structural similarity"
51
+ ],
52
+ "ja": [
53
+ "構造類似性RMSD",
54
+ "構造類似性"
55
+ ]
56
+ }
57
+ },
58
+ "residue-contact-map": {
59
+ "modulePath": "ai_structural_biology_scientist.dispatch",
60
+ "functionName": "handle_contact_map",
61
+ "names": {
62
+ "en": [
63
+ "residue contact map",
64
+ "contact map"
65
+ ],
66
+ "ja": [
67
+ "残基コンタクトマップ",
68
+ "コンタクトマップ"
69
+ ]
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,17 @@
1
+ # GiNZA dependency notice
2
+
3
+ This skill is an original kotonoha implementation and does not include source
4
+ code from `coji/natural-japanese`.
5
+
6
+ Morphological and syntactic analysis uses
7
+ [GiNZA](https://github.com/megagonlabs/ginza), its `ja_ginza` model, and
8
+ spaCy. These dependencies are resolved by `uv` when a diagnostic script is
9
+ run. GiNZA and its Japanese Universal Dependencies models are distributed
10
+ under the MIT License. spaCy is distributed under the MIT License.
11
+ SudachiPy and SudachiDict are distributed under the Apache License 2.0.
12
+ GiNZA documents the licenses of its remaining dependencies and training
13
+ datasets.
14
+
15
+ The implementation targets GiNZA 5.2.x and uses token surface forms, lemmas,
16
+ universal part-of-speech tags, dependency relationships, sentence boundaries,
17
+ and named-entity labels.