psyclaw 0.28.0 → 0.28.2

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 (167) hide show
  1. package/README.md +5 -5
  2. package/agents/recommended/catalog.json +99 -0
  3. package/dist/apps/panel/index.html +5 -5
  4. package/dist/src/adapters/pi/extension.js +164 -18
  5. package/dist/src/adapters/pi/extension.js.map +1 -1
  6. package/dist/src/adapters/pi/rpc.d.ts +2 -0
  7. package/dist/src/adapters/pi/rpc.js +9 -2
  8. package/dist/src/adapters/pi/rpc.js.map +1 -1
  9. package/dist/src/agents/recommended-personas.d.ts +42 -0
  10. package/dist/src/agents/recommended-personas.js +135 -0
  11. package/dist/src/agents/recommended-personas.js.map +1 -0
  12. package/dist/src/ars/mode-editor.d.ts +20 -0
  13. package/dist/src/ars/mode-editor.js +57 -0
  14. package/dist/src/ars/mode-editor.js.map +1 -0
  15. package/dist/src/ars/profile.d.ts +4 -1
  16. package/dist/src/ars/profile.js +23 -6
  17. package/dist/src/ars/profile.js.map +1 -1
  18. package/dist/src/cli.js +6 -3
  19. package/dist/src/cli.js.map +1 -1
  20. package/dist/src/creation/contracts.d.ts +3 -0
  21. package/dist/src/creation/service.js +17 -5
  22. package/dist/src/creation/service.js.map +1 -1
  23. package/dist/src/index.d.ts +1 -0
  24. package/dist/src/index.js +1 -0
  25. package/dist/src/index.js.map +1 -1
  26. package/dist/src/orchestration/bundled-personas.d.ts +16 -0
  27. package/dist/src/orchestration/bundled-personas.js +101 -0
  28. package/dist/src/orchestration/bundled-personas.js.map +1 -0
  29. package/dist/src/orchestration/effects.d.ts +8 -0
  30. package/dist/src/orchestration/effects.js +39 -0
  31. package/dist/src/orchestration/effects.js.map +1 -0
  32. package/dist/src/orchestration/personas.d.ts +2 -1
  33. package/dist/src/orchestration/personas.js +20 -7
  34. package/dist/src/orchestration/personas.js.map +1 -1
  35. package/dist/src/orchestration/pi-executor.d.ts +9 -5
  36. package/dist/src/orchestration/pi-executor.js +55 -22
  37. package/dist/src/orchestration/pi-executor.js.map +1 -1
  38. package/dist/src/orchestration/research-agents.d.ts +3 -7
  39. package/dist/src/orchestration/research-agents.js +5 -69
  40. package/dist/src/orchestration/research-agents.js.map +1 -1
  41. package/dist/src/panel/server.js +6 -0
  42. package/dist/src/panel/server.js.map +1 -1
  43. package/dist/src/style/cli-ui.d.ts +14 -0
  44. package/dist/src/style/cli-ui.js +45 -0
  45. package/dist/src/style/cli-ui.js.map +1 -1
  46. package/dist/src/tui/skill-manager.js +1 -1
  47. package/dist/src/tui/skill-manager.js.map +1 -1
  48. package/dist/src/updates/update.js +9 -3
  49. package/dist/src/updates/update.js.map +1 -1
  50. package/package.json +11 -3
  51. package/vendor/academic-paper-skills/LICENSE +21 -0
  52. package/vendor/academic-paper-skills/NOTICE.md +7 -0
  53. package/vendor/academic-paper-skills/PSYCLAW_SOURCE.json +14 -0
  54. package/vendor/academic-paper-skills/academic-paper-composer/SKILL.md +840 -0
  55. package/vendor/academic-paper-skills/academic-paper-composer/references/section_guides.md +675 -0
  56. package/vendor/academic-paper-skills/academic-paper-composer/references/writing_standards.md +629 -0
  57. package/vendor/academic-paper-skills/academic-paper-composer/scripts/chapter_quality_check.py +470 -0
  58. package/vendor/academic-paper-skills/academic-paper-composer/scripts/final_evaluation.py +550 -0
  59. package/vendor/academic-paper-skills/academic-paper-strategist/SKILL.md +670 -0
  60. package/vendor/academic-paper-skills/academic-paper-strategist/references/quality_standards.md +336 -0
  61. package/vendor/academic-paper-skills/academic-paper-strategist/references/search_strategy.md +459 -0
  62. package/vendor/academic-paper-skills/academic-paper-strategist/scripts/evaluate_samples.py +300 -0
  63. package/vendor/academic-paper-skills/academic-paper-strategist/scripts/gap_analysis.py +399 -0
  64. package/vendor/ars/pi/wrapper.js +9 -0
  65. package/vendor/nature-skills/LICENSE +201 -0
  66. package/vendor/nature-skills/NOTICE.md +7 -0
  67. package/vendor/nature-skills/PSYCLAW_SOURCE.json +19 -0
  68. package/vendor/nature-skills/skills/nature-figure/README.md +107 -0
  69. package/vendor/nature-skills/skills/nature-figure/README_EN.md +107 -0
  70. package/vendor/nature-skills/skills/nature-figure/SKILL.md +154 -0
  71. package/vendor/nature-skills/skills/nature-figure/agents/openai.yaml +4 -0
  72. package/vendor/nature-skills/skills/nature-figure/evals/evals.json +325 -0
  73. package/vendor/nature-skills/skills/nature-figure/manifest.yaml +103 -0
  74. package/vendor/nature-skills/skills/nature-figure/references/ai-graphical-abstract-workflow.md +129 -0
  75. package/vendor/nature-skills/skills/nature-figure/references/api.md +576 -0
  76. package/vendor/nature-skills/skills/nature-figure/references/asset-adaptation.md +72 -0
  77. package/vendor/nature-skills/skills/nature-figure/references/backend-selection.md +118 -0
  78. package/vendor/nature-skills/skills/nature-figure/references/chart-types.md +348 -0
  79. package/vendor/nature-skills/skills/nature-figure/references/common-patterns.md +371 -0
  80. package/vendor/nature-skills/skills/nature-figure/references/demos.md +58 -0
  81. package/vendor/nature-skills/skills/nature-figure/references/design-theory.md +467 -0
  82. package/vendor/nature-skills/skills/nature-figure/references/figure-contract.md +122 -0
  83. package/vendor/nature-skills/skills/nature-figure/references/figure-legend-conventions.md +90 -0
  84. package/vendor/nature-skills/skills/nature-figure/references/multipanel-evidence-architecture.md +268 -0
  85. package/vendor/nature-skills/skills/nature-figure/references/nature-2026-observations.md +124 -0
  86. package/vendor/nature-skills/skills/nature-figure/references/nature-article-requirements.md +149 -0
  87. package/vendor/nature-skills/skills/nature-figure/references/openrouter-image-generation.md +141 -0
  88. package/vendor/nature-skills/skills/nature-figure/references/qa-contract.md +344 -0
  89. package/vendor/nature-skills/skills/nature-figure/references/r-template-index.md +66 -0
  90. package/vendor/nature-skills/skills/nature-figure/references/r-workflow.md +234 -0
  91. package/vendor/nature-skills/skills/nature-figure/references/template-catalog.md +33 -0
  92. package/vendor/nature-skills/skills/nature-figure/references/tutorials.md +260 -0
  93. package/vendor/nature-skills/skills/nature-figure/requirements.txt +1 -0
  94. package/vendor/nature-skills/skills/nature-figure/scripts/audit_figure_collisions.py +742 -0
  95. package/vendor/nature-skills/skills/nature-figure/scripts/audit_panel_alignment.py +933 -0
  96. package/vendor/nature-skills/skills/nature-figure/scripts/audit_pdf_text.py +152 -0
  97. package/vendor/nature-skills/skills/nature-figure/scripts/figure_safety.py +50 -0
  98. package/vendor/nature-skills/skills/nature-figure/scripts/generate_openrouter_schematic.py +260 -0
  99. package/vendor/nature-skills/skills/nature-figure/scripts/nature_figure_backend.py +93 -0
  100. package/vendor/nature-skills/skills/nature-figure/scripts/panel_alignment.R +188 -0
  101. package/vendor/nature-skills/skills/nature-figure/scripts/plot_templates.py +604 -0
  102. package/vendor/nature-skills/skills/nature-figure/scripts/validate_figure.py +835 -0
  103. package/vendor/nature-skills/skills/nature-figure/static/core/contract.md +55 -0
  104. package/vendor/nature-skills/skills/nature-figure/static/core/stance.md +41 -0
  105. package/vendor/nature-skills/skills/nature-figure/static/fragments/backend/python.md +56 -0
  106. package/vendor/nature-skills/skills/nature-figure/static/fragments/backend/r.md +63 -0
  107. package/vendor/nature-skills/skills/nature-figure/tests/test_figure_safety.py +209 -0
  108. package/vendor/nature-skills/skills/nature-polishing/README.md +58 -0
  109. package/vendor/nature-skills/skills/nature-polishing/README_EN.md +58 -0
  110. package/vendor/nature-skills/skills/nature-polishing/SKILL.md +111 -0
  111. package/vendor/nature-skills/skills/nature-polishing/agents/openai.yaml +4 -0
  112. package/vendor/nature-skills/skills/nature-polishing/manifest.yaml +101 -0
  113. package/vendor/nature-skills/skills/nature-polishing/references/latex-layout.md +211 -0
  114. package/vendor/nature-skills/skills/nature-polishing/references/nat-comms-2025-diction.md +73 -0
  115. package/vendor/nature-skills/skills/nature-polishing/references/phrasebank-playbook.md +175 -0
  116. package/vendor/nature-skills/skills/nature-polishing/references/published-article-patterns.md +126 -0
  117. package/vendor/nature-skills/skills/nature-polishing/references/section-moves.md +252 -0
  118. package/vendor/nature-skills/skills/nature-polishing/references/style-guardrails.md +94 -0
  119. package/vendor/nature-skills/skills/nature-polishing/references/writing-strategy.md +160 -0
  120. package/vendor/nature-skills/skills/nature-polishing/static/core/failure-modes.md +29 -0
  121. package/vendor/nature-skills/skills/nature-polishing/static/core/output-format.md +21 -0
  122. package/vendor/nature-skills/skills/nature-polishing/static/core/stance.md +26 -0
  123. package/vendor/nature-skills/skills/nature-polishing/static/fragments/journal/generic.md +17 -0
  124. package/vendor/nature-skills/skills/nature-polishing/static/fragments/journal/nat-comms.md +38 -0
  125. package/vendor/nature-skills/skills/nature-polishing/static/fragments/journal/nat-mach-intell.md +102 -0
  126. package/vendor/nature-skills/skills/nature-polishing/static/fragments/journal/nature.md +19 -0
  127. package/vendor/nature-skills/skills/nature-polishing/static/fragments/language/en.md +19 -0
  128. package/vendor/nature-skills/skills/nature-polishing/static/fragments/language/zh-to-en.md +19 -0
  129. package/vendor/nature-skills/skills/nature-polishing/static/fragments/paper_type/algorithmic.md +18 -0
  130. package/vendor/nature-skills/skills/nature-polishing/static/fragments/paper_type/hypothesis.md +17 -0
  131. package/vendor/nature-skills/skills/nature-polishing/static/fragments/paper_type/methods.md +35 -0
  132. package/vendor/nature-skills/skills/nature-polishing/static/fragments/paper_type/research.md +29 -0
  133. package/vendor/nature-skills/skills/nature-polishing/static/fragments/paper_type/review.md +17 -0
  134. package/vendor/nature-skills/skills/nature-polishing/static/fragments/section/abstract.md +26 -0
  135. package/vendor/nature-skills/skills/nature-polishing/static/fragments/section/conclusion.md +15 -0
  136. package/vendor/nature-skills/skills/nature-polishing/static/fragments/section/discussion.md +48 -0
  137. package/vendor/nature-skills/skills/nature-polishing/static/fragments/section/intro.md +33 -0
  138. package/vendor/nature-skills/skills/nature-polishing/static/fragments/section/methods.md +26 -0
  139. package/vendor/nature-skills/skills/nature-polishing/static/fragments/section/results.md +61 -0
  140. package/vendor/nature-skills/skills/nature-polishing/static/fragments/section/title.md +17 -0
  141. package/vendor/nature-skills/skills/nature-ref-verifier/README.md +44 -0
  142. package/vendor/nature-skills/skills/nature-ref-verifier/README_EN.md +44 -0
  143. package/vendor/nature-skills/skills/nature-ref-verifier/SKILL.md +196 -0
  144. package/vendor/nature-skills/skills/nature-ref-verifier/agents/openai.yaml +4 -0
  145. package/vendor/nature-skills/skills/nature-ref-verifier/manifest.yaml +19 -0
  146. package/vendor/nature-skills/skills/nature-ref-verifier/references/common-patterns.md +96 -0
  147. package/vendor/nature-skills/skills/nature-shared/README.md +43 -0
  148. package/vendor/nature-skills/skills/nature-shared/README_EN.md +43 -0
  149. package/vendor/nature-skills/skills/nature-shared/SKILL.md +33 -0
  150. package/vendor/nature-skills/skills/nature-shared/agents/openai.yaml +6 -0
  151. package/vendor/nature-skills/skills/nature-shared/core/consistency-sweep.md +122 -0
  152. package/vendor/nature-skills/skills/nature-shared/core/discussion-argument-language.md +192 -0
  153. package/vendor/nature-skills/skills/nature-shared/core/ethics.md +88 -0
  154. package/vendor/nature-skills/skills/nature-shared/core/main-text-discipline.md +179 -0
  155. package/vendor/nature-skills/skills/nature-shared/core/nature-abstract.md +171 -0
  156. package/vendor/nature-skills/skills/nature-shared/core/nature-introduction.md +164 -0
  157. package/vendor/nature-skills/skills/nature-shared/core/nature-results-discussion.md +215 -0
  158. package/vendor/nature-skills/skills/nature-shared/core/paper-type-taxonomy.md +41 -0
  159. package/vendor/nature-skills/skills/nature-shared/core/reader-workflow.md +21 -0
  160. package/vendor/nature-skills/skills/nature-shared/core/research-compliance.md +192 -0
  161. package/vendor/nature-skills/skills/nature-shared/core/terminology-ledger.md +58 -0
  162. package/vendor/nature-skills/skills/nature-shared/journal-formats/nat-comms.md +139 -0
  163. package/vendor/nature-skills/skills/nature-shared/journal-formats/nature-machine-intelligence.md +431 -0
  164. package/vendor/nature-skills/skills/nature-shared/journal-formats/nature.md +313 -0
  165. package/vendor/nature-skills/skills/nature-shared/manifest.yaml +52 -0
  166. package/vendor/nature-skills/skills/nature-shared/scripts/check_consistency.py +273 -0
  167. package/vendor/nature-skills/skills/nature-shared/tests/test_check_consistency.py +63 -0
@@ -0,0 +1,268 @@
1
+ # Multi-panel evidence architecture
2
+
3
+ Use this reference when planning, restructuring, or auditing a manuscript
4
+ figure with several labelled panels, or when mapping a Results evidence chain
5
+ onto a sequence of figures. Read it together with the
6
+ [Nature Results–Discussion corpus guidance](../../nature-shared/core/nature-results-discussion.md)
7
+ when figure order must mirror the manuscript's claim escalation.
8
+
9
+ ## Contents
10
+
11
+ - [Status and scope](#status-and-scope)
12
+ - [Start from the figure-level claim](#start-from-the-figure-level-claim)
13
+ - [Give panels different inferential roles](#give-panels-different-inferential-roles)
14
+ - [Choose an evidence-chain archetype](#choose-an-evidence-chain-archetype)
15
+ - [Corpus pattern anchors](#corpus-pattern-anchors)
16
+ - [Align figure order with Results claim escalation](#align-figure-order-with-results-claim-escalation)
17
+ - [Assign visual hierarchy from evidence hierarchy](#assign-visual-hierarchy-from-evidence-hierarchy)
18
+ - [Decide whether a panel belongs in the main figure](#decide-whether-a-panel-belongs-in-the-main-figure)
19
+ - [Run the multi-panel audit](#run-the-multi-panel-audit)
20
+
21
+ ## Status and scope
22
+
23
+ This is **corpus-derived Nature-style guidance, not an official journal
24
+ requirement**. It was distilled from author-supplied readings of flagship
25
+ *Nature* papers on MIRA (`s41586-026-10675-5`), centromere architecture
26
+ (`s41586-026-10841-9`), Robin (`s41586-026-10652-y`) and TabPFN
27
+ (`s41586-024-08328-6`), then generalized for Nature Portfolio manuscript
28
+ figures. Current journal instructions, article-type rules, the actual evidence
29
+ and the scientific question always take precedence.
30
+
31
+ Do not copy a published paper's panel count or letter order as a template. The
32
+ stable pattern is inferential: a figure usually answers one Results-level
33
+ scientific question, while its panels perform different jobs in the evidence
34
+ chain needed to answer it.
35
+
36
+ ## Start from the figure-level claim
37
+
38
+ Before choosing plots, write:
39
+
40
+ ```text
41
+ Results-level question:
42
+ Figure-level claim:
43
+ What could overturn that claim?
44
+ Decisive evidence:
45
+ Panel sequence:
46
+ a — question | evidence role | necessary comparison
47
+ b — question | evidence role | necessary comparison
48
+ c — question | evidence role | necessary comparison
49
+ Destination of displaced material: main figure | another figure | Extended Data/SI
50
+ ```
51
+
52
+ Treat `one figure = one major claim` as a strong planning default, not a rigid
53
+ counting rule. A figure may contain several subordinate findings when all are
54
+ necessary to establish, qualify or bound the same higher-level claim. If a
55
+ panel establishes a separate major claim, give it another figure or Results
56
+ unit. If a panel can disappear without weakening or changing the figure-level
57
+ inference, merge it, move it to Extended Data/SI, or delete it.
58
+
59
+ Panel letters mark reading order; they do not assign universal functions.
60
+ Panel `a` need not always be a schematic, and panel `d` need not always be a
61
+ stress test. Choose roles from the scientific logic.
62
+
63
+ ## Give panels different inferential roles
64
+
65
+ Select the smallest sufficient set. A figure does not need every role.
66
+
67
+ | Evidence role | Question it answers |
68
+ |---|---|
69
+ | Setup or schematic | What system, intervention, workflow or contrast is being tested? |
70
+ | Representative example | What does the phenomenon look like in a concrete case? |
71
+ | Primary quantitative evidence | Does the central effect or capability exist? |
72
+ | Baseline or control | Does it exceed a credible alternative or survive the relevant control? |
73
+ | Decomposition | Which components, strata or variables account for the effect? |
74
+ | Stratification | Does the conclusion hold across scientifically meaningful conditions? |
75
+ | Orthogonal validation | Is the conclusion recovered with another assay, measure or evidence type? |
76
+ | Perturbation or stress test | Does the claim survive an attack, or fail as predicted when a necessary relation is disrupted? |
77
+ | Boundary or failure case | Where does the effect weaken, reverse or stop generalizing? |
78
+ | Mechanistic evidence | What bounded explanation is supported for why the effect occurs? |
79
+
80
+ Panels are independently **necessary**, not independent stories. Covering one
81
+ panel should remove a distinct inferential step that the other panels cannot
82
+ recover. Prefer role diversity over metric diversity.
83
+
84
+ Weak mirror layout:
85
+
86
+ `a: R2 -> b: R2 pairwise tests -> c: MAPE -> d: MAPE pairwise tests`
87
+
88
+ This contains four panels but often only two inferential roles: overall
89
+ performance and pairwise evidence. A secondary metric can be useful, but it
90
+ does not earn a main panel merely by being another metric.
91
+
92
+ Stronger claim-driven layout:
93
+
94
+ `a: perturbation design -> b: decisive comparison -> c: full distribution or residual -> d: decomposition or boundary`
95
+
96
+ This progresses from what was changed, to what happened, to which alternative
97
+ was rejected, to what explains or limits the remaining effect.
98
+
99
+ ## Choose an evidence-chain archetype
100
+
101
+ ### Validation envelope
102
+
103
+ Use when the figure asks whether one system, simulator, intervention or model
104
+ capability is credible:
105
+
106
+ `define the capability -> establish it -> test distinct failure modes -> attack the claim -> bound it`
107
+
108
+ Consistency, leakage, safety, bias and adversarial robustness can belong in one
109
+ figure when they are different ways the same credibility claim could fail. Do
110
+ not present them as unrelated metric panels.
111
+
112
+ ### Scale-to-instance chain
113
+
114
+ Use when a population-level pattern needs biological, clinical or physical
115
+ interpretation:
116
+
117
+ `global map or distribution -> quantity -> spatial relation or scale -> internal structure -> representative exception or instance`
118
+
119
+ The representative example should explain, localize or challenge the aggregate
120
+ pattern; it should not be a decorative anecdote.
121
+
122
+ ### Discovery sequence
123
+
124
+ Use when each result changes the next scientific question:
125
+
126
+ `hypothesis -> decisive experiment -> analysis -> refined hypothesis -> next test -> mechanism validation`
127
+
128
+ At manuscript level, the figure sequence can carry this discovery loop. Keep
129
+ only steps that alter the claim or motivate the next test; do not reproduce a
130
+ chronological laboratory notebook.
131
+
132
+ ### Capability ladder
133
+
134
+ Use when a method paper makes progressively stronger claims:
135
+
136
+ `what it is -> what behaviour it learned -> whether it outperforms alternatives -> whether the gain survives harder conditions -> what broader ability follows`
137
+
138
+ Within a benchmark figure, combine complementary support such as aggregate
139
+ performance, per-dataset generality and efficiency. In the following figure,
140
+ move to a stronger question such as robustness, confounding or broader
141
+ capability instead of redrawing the same ranking.
142
+
143
+ Across these archetypes, a reusable Figure-level chain is:
144
+
145
+ `establish -> compare or control -> stress-test or discriminate -> broaden -> bound`
146
+
147
+ Use only the moves the claim needs.
148
+
149
+ ## Corpus pattern anchors
150
+
151
+ Use these author-supplied readings as reasoning examples, not layouts to copy:
152
+
153
+ - **MIRA — validation envelope.** One figure asks whether the patient agent is
154
+ a credible evaluation environment, with panels probing consistency,
155
+ information leakage and adversarial robustness as different failure modes.
156
+ Later figures ask separate higher-level questions about intervention
157
+ capability, medication, admission decisions and bias robustness. The metrics
158
+ are grouped by the claim they can overturn, not by data type.
159
+ - **Centromere architecture — scale to instance.** A resource/map figure first
160
+ defines the study object. A later variation figure moves through count,
161
+ spatial relation, scale and internal structure before showing informative
162
+ examples. The panels collectively explain which dimensions constitute the
163
+ variation rather than announcing five unrelated discoveries.
164
+ - **Robin — discovery sequence.** The figure progression follows hypothesis
165
+ generation, wet-lab testing, analysis and refined mechanism or hypothesis.
166
+ The sequence preserves the scientific discovery loop because each result
167
+ changes what is tested next.
168
+ - **TabPFN — capability ladder.** Early figures explain the system and learned
169
+ behaviour; a benchmark figure combines aggregate performance, per-dataset
170
+ generality and tuning-time efficiency; a later figure asks whether that
171
+ performance claim survives uninformative features, outliers, reduced data
172
+ and stronger competitors. The later figure escalates the claim instead of
173
+ repeating that performance is good.
174
+
175
+ These examples support three portable distinctions:
176
+
177
+ 1. several attacks on one claim can belong in one figure
178
+ 2. population summaries and representative cases can be complementary steps
179
+ in one figure
180
+ 3. a later figure should normally ask a deeper question than the preceding
181
+ figure
182
+
183
+ ## Align figure order with Results claim escalation
184
+
185
+ The relationship works at two scales:
186
+
187
+ - **Within a figure:** panels are different sentences in one compact Results
188
+ argument.
189
+ - **Across figures:** each figure should make a stronger or different claim
190
+ that creates the next scientific question.
191
+
192
+ For example:
193
+
194
+ `Fig. 1: What is it? -> Fig. 2: Is the evaluation or resource credible? -> Fig. 3: Does the phenomenon exist? -> Fig. 4: Does it beat alternatives? -> Fig. 5: Does the claim survive harder conditions? -> Fig. 6: What mechanism, generality or boundary follows?`
195
+
196
+ This is an archetype, not a mandatory six-figure template. Apply the
197
+ claim-escalation audit from the shared Results–Discussion guidance. If two
198
+ figures can both be summarized as `X performs well`, merge them, demote the
199
+ weaker evidence, or revise the later figure around a deeper discriminator.
200
+
201
+ ## Assign visual hierarchy from evidence hierarchy
202
+
203
+ - Give the decisive evidence the hero position or largest visual area.
204
+ - Keep controls and robustness panels quieter, but large enough to judge.
205
+ - Use one condition, cohort or method mapping consistently across panels.
206
+ - Do not force equal panel sizes when inferential importance differs.
207
+ - Use a setup schematic only when readers need it to interpret the evidence;
208
+ do not add a decorative panel `a` by habit.
209
+ - Make the attack, negative result or failure boundary visible when it changes
210
+ the figure-level claim.
211
+ - Keep axes, uncertainty definitions, sample definitions and comparator labels
212
+ consistent whenever panels invite direct comparison. Disclose any change in
213
+ `n`, denominator, cohort, estimator or scale.
214
+
215
+ ## Decide whether a panel belongs in the main figure
216
+
217
+ Use the necessity test:
218
+
219
+ 1. What unique inference disappears if this panel is removed?
220
+ 2. Does that inference establish, advance, qualify or bound the figure-level
221
+ claim?
222
+ 3. Is it a distinct evidence role, or the same result under another metric,
223
+ estimator, seed, threshold or visual encoding?
224
+
225
+ Then route it:
226
+
227
+ - **Main figure:** decisive evidence, a necessary control, a central
228
+ falsification, or a conclusion-changing boundary.
229
+ - **Extended Data/SI:** reassurance, provenance detail, secondary metrics,
230
+ alternative estimators, expanded subgroup views or robustness that does not
231
+ change the central interpretation.
232
+ - **Another figure:** a genuinely separate major claim or the next rung of the
233
+ manuscript's claim escalation.
234
+ - **Delete or merge:** a repeated view with no independent inference gain.
235
+
236
+ Do not hide a result that changes the conclusion merely because it is negative
237
+ or complicates the layout.
238
+
239
+ ## Run the multi-panel audit
240
+
241
+ Complete this table before drawing and again after the final render:
242
+
243
+ | Panel | Scientific question | Evidence role | Decisive comparison | Unique inference gain | Claim dependency | Destination |
244
+ |---|---|---|---|---|---|---|
245
+ | a | | | | | | |
246
+ | b | | | | | | |
247
+ | c | | | | | | |
248
+
249
+ Audit the full figure:
250
+
251
+ - Can the figure-level claim be stated in one sentence with a verb?
252
+ - Do the panels collectively answer one Results-level question?
253
+ - Does every panel add a distinct inferential role rather than only a new
254
+ metric or chart type?
255
+ - Does the panel order form a readable chain rather than a dashboard grid?
256
+ - Is the strongest evidence visually dominant?
257
+ - Are central controls, attacks and failure boundaries present?
258
+ - Would a moved panel fit Extended Data/SI without weakening the main claim?
259
+ - Does the next figure ask the question created by this figure?
260
+ - Can the caption explain what is shown and how to read it without replaying
261
+ the full Results argument?
262
+ - At final physical size, are dependencies, shared encodings, uncertainty and
263
+ panel transitions still legible?
264
+
265
+ The final design rule is: **do not begin with the number of datasets, metrics
266
+ or panels available. Begin with the one sentence the figure must establish,
267
+ then choose the few different evidence roles a skeptical reader needs to
268
+ believe it.**
@@ -0,0 +1,124 @@
1
+ # 2026 Nature Sample Observations
2
+
3
+ ## Contents
4
+
5
+ - [Archetype 1: Schematic-led composite](#archetype-1-schematic-led-composite)
6
+ - [Archetype 2: Dark image plate](#archetype-2-dark-image-plate)
7
+ - [Archetype 3: Clinical triptych](#archetype-3-clinical-triptych)
8
+ - [Archetype 4: Dense categorical physical-science panel](#archetype-4-dense-categorical-physical-science-panel)
9
+ - [Archetype 5: Asymmetric mixed-modality figure](#archetype-5-asymmetric-mixed-modality-figure)
10
+ - [Cross-cutting Nature rules from the sample](#cross-cutting-nature-rules-from-the-sample)
11
+ - [Palette guidance by modality](#palette-guidance-by-modality)
12
+ - [What not to copy blindly](#what-not-to-copy-blindly)
13
+
14
+
15
+ This note captures page-level figure patterns observed from a local 2026 sample of `Nature`
16
+ papers, plus one `Nature Biomedical Engineering` paper used as a clinical / ML-adjacent
17
+ cross-check.
18
+
19
+ Sampled figure sources:
20
+
21
+ - `s41586-026-10408-8` — wide schematic-led materials figure with supporting quant panels
22
+ - `s41586-026-10426-6` — dark whole-brain image plate with repeated views
23
+ - `s41586-026-10393-y` — clinical triptych: longitudinal lines, forest plots, summary bars
24
+ - `s41586-026-10257-5` — dense categorical stacked-area panels with direct labels
25
+ - `s41586-026-10439-1` — asymmetric genomics figure with one dominant circular panel
26
+ - `Expert-level detection of pathologies...` — compact medical / ML figure conventions
27
+
28
+ ## Archetype 1: Schematic-led composite
29
+
30
+ Seen in the printable meta-assemblies paper.
31
+
32
+ Actionable rules:
33
+
34
+ - Let the schematic occupy roughly `45–60%` of figure height.
35
+ - Use the **same physical/material palette** in the supporting plots; do not switch to generic method colors below the schematic.
36
+ - Zoom callouts should use one repeated accent style across the figure, for example a single dashed red outline family.
37
+ - Reserve at least one supporting panel for a real-world photograph or experimental snapshot when the story needs scale validation.
38
+ - Supporting quantitative panels should be smaller, cleaner and less saturated than the schematic so the eye reads the page in the intended order.
39
+
40
+ ## Archetype 2: Dark image plate
41
+
42
+ Seen in the astrocyte brain-network figure.
43
+
44
+ Actionable rules:
45
+
46
+ - Use a black facecolor only for the image plate region, not for the whole page.
47
+ - Pair grayscale context with one or two fluorescent channels; the sample repeatedly used cyan and magenta.
48
+ - Keep crops, scale bars and view boxes geometrically consistent across rows and columns.
49
+ - Use white gutters and white scale bars so the plate stays legible after print/export compression.
50
+ - Put row labels and channel labels directly on the image plate; avoid detached legends.
51
+
52
+ Recommended accent set for this modality:
53
+
54
+ ```python
55
+ CYAN = "#22D7E6"
56
+ MAGENTA = "#FF2AD4"
57
+ GREY_CONTEXT = "#B8B8B8"
58
+ ```
59
+
60
+ ## Archetype 3: Clinical triptych
61
+
62
+ Seen in the OTOF gene-therapy paper.
63
+
64
+ Actionable rules:
65
+
66
+ - Top row: line plots or longitudinal summaries, usually sharing one legend strip above the row.
67
+ - Middle row: forest-plot style effects with a dashed vertical reference line and light category bands.
68
+ - Bottom row: compact summary bars, often binary or stacked-percentage bars.
69
+ - Keep columns semantically parallel. If the first column is `ABR`, the next columns should reuse the same row logic rather than introducing a new layout.
70
+ - Baseline / reference series can be black or dark grey; follow-up or intervention groups can use a restrained warm/cool sequence.
71
+
72
+ Recommended design signal:
73
+
74
+ - Legends belong outside the data region when there are many timepoints.
75
+ - Group bands in forest plots should be pale and subordinate, never more salient than the confidence intervals.
76
+
77
+ ## Archetype 4: Dense categorical physical-science panel
78
+
79
+ Seen in the condensation-sequence figure.
80
+
81
+ Actionable rules:
82
+
83
+ - Direct-label regions when the plot has many semantically intrinsic categories.
84
+ - Use hatching or texture overlays when neighboring fills are close in luminance or may print poorly.
85
+ - Reuse the exact same axis limits and panel geometry across the full grid.
86
+ - Prefer embedded labels over a detached mega-legend when each panel repeats the same categorical structure.
87
+
88
+ ## Archetype 5: Asymmetric mixed-modality figure
89
+
90
+ Seen in the rediploidization genomics figure.
91
+
92
+ Actionable rules:
93
+
94
+ - Do not force equal panel sizes. Let the biologically central panel dominate.
95
+ - Use small supporting plots around the hero panel to answer narrower questions.
96
+ - Keep a tight, reused color mapping across all modalities, for example `wave 1 / wave 2 / wave 3` or `baseline / highlight / neutral`.
97
+ - Use whitespace and alignment, not decorative frames, to signal grouping.
98
+
99
+ ## Cross-cutting Nature rules from the sample
100
+
101
+ - Panel labels are small bold lowercase letters near the top-left corner, not large badges.
102
+ - Figure pages are narrative, not dashboard-like. A dominant panel is normal.
103
+ - Legends are often omitted if direct labeling is possible.
104
+ - Background discipline matters more than ornament. White for charts, black only for image plates.
105
+ - Saturated colors are used sparingly and usually mean either a true experimental channel or a highlighted subgroup.
106
+ - When several modalities coexist, keep axis-heavy plots visually quieter than schematics or imaging panels.
107
+ - Gutters are slightly larger when dark panels touch light panels or when modalities change.
108
+
109
+ ## Palette guidance by modality
110
+
111
+ - Materials / mechanism pages:
112
+ `aqua`, `teal`, `lilac`, `soft violet`, with one red accent for callouts only.
113
+ - Imaging plates:
114
+ `black` + `grey context` + `cyan` + `magenta`.
115
+ - Clinical quantitative figures:
116
+ `black baseline`, then restrained warm/cool follow-up hues, with pale group shading.
117
+ - Genomics / systems figures:
118
+ `neutral greys` plus one `red family` and one `blue family` for highlighted biological states.
119
+
120
+ ## What not to copy blindly
121
+
122
+ - Do not import a bright multi-hue palette just because one sampled physical-science figure used many fills. That only works when the categories are intrinsic phases/materials and directly labeled.
123
+ - Do not place all Nature figures on black backgrounds; that was specific to the imaging plate archetype.
124
+ - Do not force a legend into every panel. Many sampled figures read better with direct labels or one shared legend strip.
@@ -0,0 +1,149 @@
1
+ # Flagship Nature Article figure requirements
2
+
3
+ Use this reference for figures submitted to the flagship journal **Nature**.
4
+ Keep initial-review files separate from accepted-in-principle production files,
5
+ and do not apply these formats automatically to Nature Portfolio subjournals.
6
+
7
+ ## Contents
8
+
9
+ 1. Stage gate
10
+ 2. Initial-submission figures
11
+ 3. Legend contract
12
+ 4. Production dimensions and typography
13
+ 5. Main-figure production files
14
+ 6. Extended Data production files
15
+ 7. Accessibility and image integrity
16
+ 8. Delivery audit
17
+ 9. Official sources
18
+
19
+ ## 1. Stage gate
20
+
21
+ Record one stage before auditing:
22
+
23
+ - `initial_submission`: figures may be embedded in the Word/PDF manuscript;
24
+ production-quality files are not required
25
+ - `revision`: follow both the public guide and the editor's instructions
26
+ - `accepted_in_principle`: supply production-quality main figures and Extended
27
+ Data using their different file contracts
28
+
29
+ Do not fail an initial submission solely because it lacks separate editable
30
+ production artwork. Do fail it when the displayed data are unreadable,
31
+ misrepresented, incomplete or impossible for referees to assess.
32
+
33
+ ## 2. Initial-submission figures
34
+
35
+ - Prefer figures embedded with manuscript text in one Word or PDF file.
36
+ - Put each figure legend on the same page as its figure.
37
+ - Use enough resolution for referees to evaluate the data.
38
+ - If embedding is impractical, supply separate files or an accessible
39
+ repository route and confirm every figure is cited.
40
+ - Run the statistics, source-data and image-integrity checks even though final
41
+ artwork formatting is deferred.
42
+
43
+ ## 3. Legend contract
44
+
45
+ For every flagship Nature figure legend:
46
+
47
+ - keep the complete legend below 250 words
48
+ - begin with a brief title sentence for the whole figure
49
+ - follow with a concise description of what each panel depicts
50
+ - do not use the legend to narrate results or duplicate Methods
51
+ - include definitions needed to understand the figure in isolation
52
+ - state exact `n`, replicate definition, center/spread, error bars, test,
53
+ correction and P-value display where applicable
54
+ - identify adaptations and permissions when third-party material is used
55
+
56
+ Table legends begin with a short title sentence; explanatory detail may go in
57
+ footnotes.
58
+
59
+ ## 4. Production dimensions and typography
60
+
61
+ For accepted-in-principle main figures:
62
+
63
+ - use 89 mm for a single-column figure or 183 mm for a double-column figure
64
+ - do not exceed 170 mm height, leaving room for the legend
65
+ - keep ordinary figure text between 5 pt and 7 pt at final size
66
+ - label multi-panel figures with 8 pt bold upright lowercase `a`, `b`, `c`, etc.
67
+ - use a consistent sans-serif typeface, preferably Arial or Helvetica
68
+ - use Courier or another monospaced font for amino-acid sequences
69
+ - keep all text editable, do not outline it, and embed TrueType 2 or 42 fonts
70
+ - arrange panels alphabetically where practical and minimize unused space
71
+
72
+ ## 5. Main-figure production files
73
+
74
+ Main figures require vector artwork with editable layers.
75
+
76
+ Preferred:
77
+
78
+ - `.ai`
79
+ - `.eps`
80
+ - editable `.pdf`
81
+
82
+ Also accepted by the current research figure guide when properly prepared:
83
+
84
+ - layered Photoshop artwork
85
+ - PowerPoint converted to PDF
86
+ - plain `.svg`
87
+ - Excel
88
+ - `.ps`
89
+
90
+ Do not submit flattened `.jpeg`, `.tiff` or `.png` as the final main-figure
91
+ production file merely because the workflow also creates those formats for QA
92
+ or preview. Keep all components embedded rather than externally linked and aim
93
+ to keep each file below 50 MB.
94
+
95
+ ## 6. Extended Data production files
96
+
97
+ Extended Data has a different production contract:
98
+
99
+ - save in RGB
100
+ - use no more than 300 dpi
101
+ - keep each file at or below 10 MB
102
+ - use `.jpeg` preferably, or `.tiff`/`.eps`
103
+ - fit each item on one page with room for its legend or footnotes
104
+ - use the journal's required filename pattern based on the corresponding
105
+ author's surname and the ED figure/table number
106
+
107
+ Do not send a main figure through the Extended Data file route or vice versa.
108
+
109
+ ## 7. Accessibility and image integrity
110
+
111
+ - include axis lines and tick marks
112
+ - label every axis and place units in parentheses
113
+ - avoid background gridlines, drop shadows, decorative icons, patterns,
114
+ overlapping labels and coloured text
115
+ - use an accessible palette; do not rely on red/green or rainbow scales
116
+ - supply artwork in RGB; photographic images need at least 300 dpi, with
117
+ 450 dpi preferred for the highest online-proof resolution
118
+ - keep scale bars and their labels editable rather than flattened into images
119
+ - use scale bars instead of magnification factors
120
+
121
+ For microscopy, gels, blots or other processed images, load the image-integrity
122
+ section of `../../nature-shared/core/research-compliance.md`. Record raw-file
123
+ provenance, crop, contrast, gamma, pseudocolour, stitching, lane rearrangement
124
+ and processing software.
125
+
126
+ ## 8. Delivery audit
127
+
128
+ Return:
129
+
130
+ | Item | Stage | Required contract | Current file/evidence | Status | Action |
131
+ |---|---|---|---|---|---|
132
+
133
+ Before approval:
134
+
135
+ - run `scripts/validate_figure.py` on plotting source
136
+ - run `scripts/audit_pdf_text.py` on exported PDF text
137
+ - run `scripts/audit_figure_collisions.py` after every generated or layout-affecting revision and resolve every rendered collision FAIL
138
+ - inspect every panel and the assembled figure at final physical size
139
+ - verify that preview/export bundles are not mislabeled as the journal's final
140
+ accepted upload formats
141
+
142
+ ## 9. Official sources
143
+
144
+ Verified 2026-08-08:
145
+
146
+ - Nature initial submission: <https://www.nature.com/nature/for-authors/initial-submission>
147
+ - Preparing figures: <https://research-figure-guide.nature.com/figures/preparing-figures-our-specifications/>
148
+ - Building and exporting figure panels: <https://research-figure-guide.nature.com/figures/building-and-exporting-figure-panels/>
149
+ - Image integrity: <https://www.nature.com/nature-portfolio/editorial-policies/image-integrity>
@@ -0,0 +1,141 @@
1
+ # OpenRouter Image Generation for Manuscript Schematics
2
+
3
+ ## Contents
4
+
5
+ - [Source](#source)
6
+ - [Safety and scientific integrity](#safety-and-scientific-integrity)
7
+ - [Prompt contract](#prompt-contract)
8
+ - [Script usage](#script-usage)
9
+ - [Recommended defaults](#recommended-defaults)
10
+ - [Follow-up QA](#follow-up-qa)
11
+
12
+
13
+ Use this reference only when the user explicitly asks to generate a paper schematic, graphical abstract, mechanism diagram, or concept illustration through OpenRouter / GPT Image 2 / an image-generation API.
14
+
15
+ Read `ai-graphical-abstract-workflow.md` first. Complete its journal-policy gate,
16
+ communication brief, scientific-review plan, and provenance plan before making a
17
+ real API call. If submission eligibility has not been verified, mark the result
18
+ as an internal design draft rather than a submission-ready asset.
19
+
20
+ Do not use this route for quantitative plots, data panels, heatmaps, microscopy plates, blots, or figure assembly unless the user explicitly wants an AI-generated draft illustration. Keep data-driven figures in the Python or R route.
21
+
22
+ ## Source
23
+
24
+ OpenRouter's dedicated Images API uses:
25
+
26
+ - model discovery: `GET https://openrouter.ai/api/v1/images/models`
27
+ - generation: `POST https://openrouter.ai/api/v1/images`
28
+ - default model for this skill: `openai/gpt-image-2`
29
+
30
+ Authentication uses `OPENROUTER_API_KEY` as a bearer token.
31
+
32
+ ## Safety and scientific integrity
33
+
34
+ - Treat generated images as draft visual concepts, not evidence.
35
+ - Do not treat a Nature Careers article as permission to submit generative-AI
36
+ artwork. Verify the exact target journal's current official rules and keep
37
+ internal usefulness separate from submission eligibility.
38
+ - Do not invent quantitative values, p-values, spectra, microscopy findings, institution logos, author photos, journal marks, or unsupported mechanisms.
39
+ - Prefer short labels and simple shapes. AI image models can misspell text; final publication labels should usually be redrawn in Illustrator, Inkscape, PowerPoint, or a Python/R vector workflow.
40
+ - If the schematic could be interpreted as a data panel, explicitly mark it as conceptual.
41
+ - Do not send confidential manuscript content to OpenRouter without user permission.
42
+
43
+ ## Prompt contract
44
+
45
+ Before calling the API, collect or infer:
46
+
47
+ 1. article title or central claim
48
+ 2. key biological/material/computational entities
49
+ 3. cause-effect mechanism or workflow stages
50
+ 4. desired layout, such as left-to-right pipeline, circular mechanism, split before/after, or graphical abstract
51
+ 5. target aspect ratio and output format
52
+ 6. any labels that must appear, keeping them short
53
+ 7. things that must be excluded
54
+ 8. target journal, policy URL, access date, and intended AI-use disclosure
55
+
56
+ Write a compact prompt with:
57
+
58
+ - visual role: "Nature-style graphical abstract" or "clean scientific mechanism schematic"
59
+ - composition: panel flow, hierarchy, and focal element
60
+ - style: flat vector-like, restrained palette, high contrast, white or transparent background
61
+ - scientific constraints: no fabricated numbers, no extra organs/cells/materials, no logos
62
+ - output constraints: minimal text, editable downstream, journal-safe
63
+
64
+ ## Script usage
65
+
66
+ Use the bundled script for reproducible calls:
67
+
68
+ ```bash
69
+ export OPENROUTER_API_KEY="sk-or-..."
70
+ python skills/nature-figure/scripts/generate_openrouter_schematic.py \
71
+ --title "Paper title" \
72
+ --abstract-file abstract.txt \
73
+ --panel-map "left: problem; center: proposed mechanism; right: validated outcome" \
74
+ --outdir outputs/schematic \
75
+ --basename graphical_abstract \
76
+ --aspect-ratio 16:9 \
77
+ --resolution 2K \
78
+ --quality high
79
+ ```
80
+
81
+ Dry-run without network or API key:
82
+
83
+ ```bash
84
+ python skills/nature-figure/scripts/generate_openrouter_schematic.py \
85
+ --title "Self-healing cementitious sensor" \
86
+ --abstract "A composite sensor couples chloride ingress with recoverable piezoresistive response." \
87
+ --panel-map "left: marine exposure; center: ion transport and microcrack healing; right: signal recovery curve" \
88
+ --dry-run
89
+ ```
90
+
91
+ Use a fully custom prompt:
92
+
93
+ ```bash
94
+ python skills/nature-figure/scripts/generate_openrouter_schematic.py \
95
+ --prompt-file schematic_prompt.md \
96
+ --raw \
97
+ --outdir outputs/schematic
98
+ ```
99
+
100
+ Use one or more reference images:
101
+
102
+ ```bash
103
+ python skills/nature-figure/scripts/generate_openrouter_schematic.py \
104
+ --prompt-file schematic_prompt.md \
105
+ --reference-image draft_layout.png \
106
+ --reference-image https://example.com/style-reference.png
107
+ ```
108
+
109
+ The script saves generated files plus `request_metadata.json` in the output directory.
110
+
111
+ Use another OpenAI-compatible images endpoint (`--api-url`, or `SCHEMATIC_IMAGE_API_URL`) when the user already pays for a gateway instead of OpenRouter. The response shape (`data[].b64_json` or `data[].url`) is the same, so nothing else changes; the endpoint actually called is recorded in `request_metadata.json`. Example with OrcaRouter:
112
+
113
+ ```bash
114
+ export ORCAROUTER_API_KEY="sk-orca-..."
115
+ python skills/nature-figure/scripts/generate_openrouter_schematic.py \
116
+ --api-url https://api.orcarouter.ai/v1/images/generations \
117
+ --api-key-env ORCAROUTER_API_KEY \
118
+ --model openai/gpt-image-2 \
119
+ --title "Paper title" \
120
+ --outdir outputs/schematic
121
+ ```
122
+
123
+ ## Recommended defaults
124
+
125
+ - `model`: `openai/gpt-image-2`
126
+ - `aspect_ratio`: `16:9` for graphical abstracts, `4:3` for mechanism figures, `1:1` for cover-like concepts
127
+ - `resolution`: `2K` for review drafts; use higher only when needed
128
+ - `quality`: `high`
129
+ - `output_format`: `png`
130
+ - `background`: `opaque` unless the user asks for transparent
131
+
132
+ ## Follow-up QA
133
+
134
+ After generation:
135
+
136
+ 1. inspect the image visually
137
+ 2. check whether labels are legible and spelled correctly
138
+ 3. list any scientific hallucinations or unsupported visual claims
139
+ 4. recommend which labels or arrows should be redrawn as vector objects
140
+ 5. keep the generated image and metadata together for provenance
141
+ 6. report separate verdicts for internal design use and submission eligibility