{"id":"16edb726-4613-426c-92b4-96d71fb7fa61","entityType":"agent","slug":"clawhub-yang1bai-nature-figure","name":"nature-figure","canonicalUrl":"https://www.xpersona.co/agent/clawhub-yang1bai-nature-figure","canonicalPath":"/agent/clawhub-yang1bai-nature-figure","generatedAt":"2026-10-10T05:40:24.835Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T02:47:52.430Z","emptyReason":null},"description":"Generate publication-quality figures for Nature-series journals using Python (matplotlib) or R (ggplot2). Trigger when user wants to create, polish, or redes... Skill: nature-figure Owner: yang1bai Summary: Generate publication-quality figures for Nature-series journals using Python (matplotlib) or R (ggplot2). Trigger when user wants to create, polish, or redes... Tags: latest:1.0.0 Version history: v1.0.0 | 2026-05-17T20:30:55.560Z | user Part of nature-paper-hub v1.0.0 Archive index: Archive v1.0.0: 3 files, 5144 bytes Files: skill-card.md (1886b), SKILL.md (7618b), _meta","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.8K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17a5t9np755jt96j5sjz953dh86xqbw:nature-figure","sourceUrl":"https://clawhub.ai/yang1bai/nature-figure","homepage":"https://clawhub.ai/yang1bai/skills/nature-figure","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/yang1bai/nature-figure","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/yang1bai/skills/nature-figure","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":65,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Generate publication-quality figures for Nature-series journals using Python (matplotlib) or R (ggplot2). Trigger when user wants to create, polish, or redes..."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T02:47:52.430Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T02:47:52.430Z","emptyReason":null},"stars":null,"forks":null,"downloads":1758,"packageName":null,"latestVersion":"1.0.0","tractionLabel":"1.8K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T02:47:52.430Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T02:47:52.430Z","lastCrawledAt":"2026-10-10T02:47:52.430Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T02:47:52.430Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.0","createdAt":"2026-05-17T20:30:55.560Z","changelog":"Part of nature-paper-hub v1.0.0","fileCount":3,"zipByteSize":5144}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17a5t9np755jt96j5sjz953dh86xqbw:nature-figure","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yang1bai-nature-figure/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yang1bai-nature-figure/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yang1bai-nature-figure/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-yang1bai-nature-figure/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-yang1bai-nature-figure/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-yang1bai-nature-figure/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T05:40:24.834Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yang1bai-nature-figure/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yang1bai-nature-figure/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yang1bai-nature-figure/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-yang1bai-nature-figure/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T02:47:52.430Z","emptyReason":null},"readme":"Skill: nature-figure\n\nOwner: yang1bai\n\nSummary: Generate publication-quality figures for Nature-series journals using Python (matplotlib) or R (ggplot2). Trigger when user wants to create, polish, or redes...\n\nTags: latest:1.0.0\n\nVersion history:\n\nv1.0.0 | 2026-05-17T20:30:55.560Z | user\n\nPart of nature-paper-hub v1.0.0\n\nArchive index:\n\nArchive v1.0.0: 3 files, 5144 bytes\n\nFiles: skill-card.md (1886b), SKILL.md (7618b), _meta.json (132b)\n\nFile v1.0.0:SKILL.md\n\n---\nname: nature-figure\ndescription: Generate publication-quality figures for Nature-series journals using Python (matplotlib) or R (ggplot2). Trigger when user wants to create, polish, or redesign scientific figures for high-impact journals. Handles multi-panel layouts, Nature color palettes, correct typography, and exports SVG/PDF/PNG.\n---\n\n# nature-figure\n\n## Purpose\nGenerate multi-panel scientific figures that meet Nature portfolio visual standards:\ncorrect typography, semantic colour palette, accessible design, and editable SVG output.\n\n---\n\n## Trigger Conditions\nActivate when user mentions:\n- \"画图\" / \"figure\" / \"plot\" / \"科研绘图\"\n- \"Nature figure\" / \"publication figure\" / \"publication plot\"\n- \"matplotlib\" / \"ggplot\" / \"seaborn\"\n- \"配色\" / \"color palette\" / \"color scheme\"\n- Wants to improve or reformat an existing figure\n\n---\n\n## Nature Figure Standards\n\n### Typography\n- Font family: **Arial** or **Helvetica** (sans-serif, never Times New Roman in figures)\n- Minimum font size in final print: **7 pt** (axis labels, tick labels)\n- Panel labels (a, b, c...): **8 pt bold**, lowercase\n- Figure title (if any): not embedded in figure — goes in legend\n- All text must be editable (not rasterized)\n\n### Size & Resolution\n| Format | Width | Resolution |\n|--------|-------|------------|\n| Single column | 89 mm (3.5 in) | 300 DPI min |\n| 1.5 column | 120 mm (4.7 in) | 300 DPI min |\n| Double column | 183 mm (7.2 in) | 300 DPI min |\n| Line art | any | **600 DPI** |\n| Final submission | PDF or TIFF | vector preferred |\n\n### Colour Palette (Nature-approved, colorblind-safe)\n```python\nNATURE_COLORS = {\n    \"blue\":    \"#4878CF\",\n    \"red\":     \"#D65F5F\", \n    \"green\":   \"#6ACC65\",\n    \"orange\":  \"#EE854A\",\n    \"purple\":  \"#956CB4\",\n    \"teal\":    \"#82C6E2\",\n    \"brown\":   \"#D5BB67\",\n    \"gray\":    \"#8C8C8C\",\n    # Colorblind-safe primary pair:\n    \"cb_blue\": \"#0072B2\",\n    \"cb_orange\":\"#E69F00\",\n}\n```\n- Never use pure red + green together (colorblind conflict)\n- Use filled symbols + different shapes for accessibility, not colour alone\n- Grayscale must remain distinguishable\n\n### Panel Architecture\n- Each panel makes **one clear point**\n- Panel (a): overview / schematic / representative image\n- Panels (b–d): quantitative evidence\n- Final panel: comparison or generalizability\n- Panels are labelled **a, b, c** (lowercase bold, top-left corner)\n- White background; minimal gridlines (light gray, 0.5pt)\n- No chartjunk: remove top and right spines\n\n### Statistical Annotations\n- Error bars: always define in legend (mean ± s.d. or ± s.e.m.)\n- Significance: *, **, ***, **** for p < 0.05, 0.01, 0.001, 0.0001; prefer exact p-values\n- n must be stated (e.g., n = 5 independent experiments)\n- Box plots: show median, IQR, whiskers to 1.5×IQR, individual points overlaid\n\n---\n\n## Workflow\n\n### Step 0: Auto-figure from data file (fastest path)\nIf user provides a CSV, Excel, or JSON data file:\n```bash\npython3 ~/.openclaw/workspace/skills/nature-paper-hub/scripts/auto_figure.py \\\n  --input <data_file> \\\n  --output ~/Downloads/figure_<date>.pdf \\\n  --title \"[figure title]\" \\\n  --xlabel \"X axis label\" \\\n  --ylabel \"Y axis label\" \\\n  --type [auto|line|bar|scatter|heatmap|box]\n```\nThe script auto-detects column types, chooses appropriate chart type, applies Nature style, and saves PDF + PNG.\n\n### Step 1: Gather requirements (if no data file yet)\nAsk the user:\n1. What data do you have? (paste CSV, describe columns, or share values)\n2. How many panels? What does each panel show?\n3. Single/1.5/double column width?\n4. Python (matplotlib/seaborn) or R (ggplot2)?\n5. Any specific colour requirements or journal sub-style?\n\n### Step 2: Generate figure code\n\n#### Python template (matplotlib):\n```python\nimport matplotlib.pyplot as plt\nimport matplotlib.gridspec as gridspec\nimport numpy as np\n\n# --- Nature style settings ---\nplt.rcParams.update({\n    'font.family': 'Arial',\n    'font.size': 8,\n    'axes.linewidth': 0.8,\n    'axes.spines.top': False,\n    'axes.spines.right': False,\n    'xtick.major.width': 0.8,\n    'ytick.major.width': 0.8,\n    'xtick.major.size': 3,\n    'ytick.major.size': 3,\n    'xtick.direction': 'out',\n    'ytick.direction': 'out',\n    'figure.dpi': 300,\n    'savefig.dpi': 300,\n    'savefig.bbox': 'tight',\n    'savefig.pad_inches': 0.05,\n    'pdf.fonttype': 42,   # editable text in PDF\n    'ps.fonttype': 42,\n})\n\nCOLORS = {\n    \"blue\": \"#4878CF\", \"red\": \"#D65F5F\", \"green\": \"#6ACC65\",\n    \"orange\": \"#EE854A\", \"purple\": \"#956CB4\", \"teal\": \"#82C6E2\",\n    \"cb_blue\": \"#0072B2\", \"cb_orange\": \"#E69F00\",\n}\n\n# --- Figure layout ---\nfig = plt.figure(figsize=(7.2, 4.0))  # double column, adjust height\ngs = gridspec.GridSpec(1, 3, figure=fig, wspace=0.4, hspace=0.4)\n\nax_a = fig.add_subplot(gs[0])\nax_b = fig.add_subplot(gs[1])\nax_c = fig.add_subplot(gs[2])\n\n# --- Panel labels ---\nfor ax, label in zip([ax_a, ax_b, ax_c], ['a', 'b', 'c']):\n    ax.text(-0.15, 1.05, label, transform=ax.transAxes,\n            fontsize=8, fontweight='bold', va='top', ha='right')\n\n# --- YOUR DATA GOES HERE ---\n# ax_a: ...\n# ax_b: ...\n# ax_c: ...\n\nplt.savefig('figure1.pdf', format='pdf')\nplt.savefig('figure1.png', dpi=300)\nprint(\"Saved: figure1.pdf, figure1.png\")\n```\n\n#### R template (ggplot2):\n```r\nlibrary(ggplot2)\nlibrary(patchwork)\n\n# Nature theme\ntheme_nature <- function() {\n  theme_classic(base_size = 8, base_family = \"Arial\") +\n  theme(\n    axis.line = element_line(linewidth = 0.5),\n    axis.ticks = element_line(linewidth = 0.5),\n    axis.ticks.length = unit(2, \"pt\"),\n    strip.background = element_blank(),\n    legend.key.size = unit(3, \"mm\"),\n    plot.margin = margin(2, 2, 2, 2, \"mm\")\n  )\n}\n\nnature_colors <- c(\n  blue = \"#4878CF\", red = \"#D65F5F\", green = \"#6ACC65\",\n  orange = \"#EE854A\", purple = \"#956CB4\", teal = \"#82C6E2\"\n)\n\n# --- YOUR PLOTS ---\n# p1 <- ggplot(...) + theme_nature()\n# p2 <- ggplot(...) + theme_nature()\n# combined <- p1 | p2\n# ggsave(\"figure1.pdf\", combined, width = 183, height = 80, units = \"mm\", dpi = 300)\n```\n\n### Step 3: Validate\nBefore outputting, check:\n- [ ] Font ≥ 7pt in all elements\n- [ ] No top/right spines\n- [ ] Colorblind-safe palette used\n- [ ] Error bars defined\n- [ ] Panel labels present (a, b, c lowercase bold)\n- [ ] Resolution ≥ 300 DPI (600 for line art)\n- [ ] Figure width matches column format\n- [ ] PDF/SVG output for vector editability\n\n### Step 4: Figure legend\nGenerate the corresponding figure legend text:\n- Bold \"Figure X |\" prefix\n- Short title (one phrase)\n- One sentence per panel\n- Error bar definition\n- n values and statistical test used\n- Scale bar definition (for images)\n\n---\n\n## Common Figure Types\n\n### Line plot (time series / trends)\nUse solid lines with markers; different line styles + colours for groups.\n\n### Bar chart\nPrefer horizontal bars for many categories; overlay individual data points.\nUse `plt.bar()` with `edgecolor='black', linewidth=0.5`.\n\n### Scatter plot\nInclude regression line with 95% CI if showing correlation.\nState Pearson/Spearman r and p-value on plot.\n\n### Heatmap\nUse diverging colourmap (e.g., `RdBu_r`) for correlation; sequential for intensity.\nAlways include colourbar with label and units.\n\n### Box/Violin plot\nAlways overlay individual data points (`stripplot` or `geom_jitter`).\nState n per group.\n\n### Schematic / Mechanism diagram\nRecommend using BioRender (biorender.com) or Inkscape for schematics.\nExport as SVG and embed in figure.\n\n---\n\n## Output\nProvide the user with:\n1. Complete, runnable Python or R code\n2. Instructions to save in the correct format (PDF + PNG)\n3. The figure legend text\n4. A checklist of what to verify before submission\n\nFile v1.0.0:_meta.json\n\n{\n  \"ownerId\": \"kn7e8szja8rxwkwrchdswcj0d186wsdw\",\n  \"slug\": \"nature-figure\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779049855560\n}\n\nFile v1.0.0:skill-card.md\n\n## Description:\n\nGenerate publication-quality figures for Nature-series journals using Python (matplotlib) or R (ggplot2).\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[yang1bai](https://clawhub.ai/user/yang1bai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, researchers, and scientific authors use this skill to create, polish, or redesign Nature-style multi-panel figures and accompanying figure legends from supplied data or plotting requirements.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The auto-figure command template can run unintended shell commands when given an untrusted or unusual file path.\n\nMitigation: Use only trusted, normalized input paths, verify the referenced helper script is present and trusted, and avoid interpolating user-controlled paths into shell commands.\n\nRisk: Generated plotting code or commands may be executed with insufficient argument validation.\n\nMitigation: Prefer reviewing and running generated Python or R code with explicitly validated arguments before execution.\n\n## Reference(s):\n\n- [BioRender](https://biorender.com)\n\n## Skill Output:\n\n**Output Type(s):** [Code, Shell commands, Guidance, Markdown]\n\n**Output Format:** [Markdown with Python, R, or shell code blocks plus figure legend text and checklist items]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include runnable matplotlib or ggplot2 code, export instructions for PDF/PNG outputs, and a pre-submission figure verification checklist.]\n\n## Skill Version(s):\n\n1.0.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.","readmeExcerpt":"Skill: nature-figure Owner: yang1bai Summary: Generate publication-quality figures for Nature-series journals using Python (matplotlib) or R (ggplot2). Trigger when user wants to create, polish, or redes... Tags: latest:1.0.0 Version history: v1.0.0 | 2026-05-17T20:30:55.560Z | user Part of nature-paper-hub v1.0.0 Archive index: Archive v1.0.0: 3 files, 5144 bytes Files: skill-card.md (1886b), SKILL.md (7618b), _meta","codeSnippets":[],"executableExamples":[{"language":"python","snippet":"NATURE_COLORS = {\n    \"blue\":    \"#4878CF\",\n    \"red\":     \"#D65F5F\", \n    \"green\":   \"#6ACC65\",\n    \"orange\":  \"#EE854A\",\n    \"purple\":  \"#956CB4\",\n    \"teal\":    \"#82C6E2\",\n    \"brown\":   \"#D5BB67\",\n    \"gray\":    \"#8C8C8C\",\n    # Colorblind-safe primary pair:\n    \"cb_blue\": \"#0072B2\",\n    \"cb_orange\":\"#E69F00\",\n}"},{"language":"bash","snippet":"python3 ~/.openclaw/workspace/skills/nature-paper-hub/scripts/auto_figure.py \\\n  --input <data_file> \\\n  --output ~/Downloads/figure_<date>.pdf \\\n  --title \"[figure title]\" \\\n  --xlabel \"X axis label\" \\\n  --ylabel \"Y axis label\" \\\n  --type [auto|line|bar|scatter|heatmap|box]"},{"language":"python","snippet":"import matplotlib.pyplot as plt\nimport matplotlib.gridspec as gridspec\nimport numpy as np\n\n# --- Nature style settings ---\nplt.rcParams.update({\n    'font.family': 'Arial',\n    'font.size': 8,\n    'axes.linewidth': 0.8,\n    'axes.spines.top': False,\n    'axes.spines.right': False,\n    'xtick.major.width': 0.8,\n    'ytick.major.width': 0.8,\n    'xtick.major.size': 3,\n    'ytick.major.size': 3,\n    'xtick.direction': 'out',\n    'ytick.direction': 'out',\n    'figure.dpi': 300,\n    'savefig.dpi': 300,\n    'savefig.bbox': 'tight',\n    'savefig.pad_inches': 0.05,\n    'pdf.fonttype': 42,   # editable text in PDF\n    'ps.fonttype': 42,\n})\n\nCOLORS = {\n    \"blue\": \"#4878CF\", \"red\": \"#D65F5F\", \"green\": \"#6ACC65\",\n    \"orange\": \"#EE854A\", \"purple\": \"#956CB4\", \"teal\": \"#82C6E2\",\n    \"cb_blue\": \"#0072B2\", \"cb_orange\": \"#E69F00\",\n}\n\n# --- Figure layout ---\nfig = plt.figure(figsize=(7.2, 4.0))  # double column, adjust height\ngs = gridspec.GridSpec(1, 3, figure=fig, wspace=0.4, hspace=0.4)\n\nax_a = fig.add_subplot(gs[0])\nax_b = fig.add_subplot(gs[1])\nax_c = fig.add_subplot(gs[2])\n\n# --- Panel labels ---\nfor ax, label in zip([ax_a, ax_b, ax_c], ['a', 'b', 'c']):\n    ax.text(-0.15, 1.05, label, transform=ax.transAxes,\n            fontsize=8, fontweight='bold', va='top', ha='right')\n\n# --- YOUR DATA GOES HERE ---\n# ax_a: ...\n# ax_b: ...\n# ax_c: ...\n\nplt.savefig('figure1.pdf', format='pdf')\nplt.savefig('figure1.png', dpi=300)\nprint(\"Saved: figure1.pdf, figure1.png\")"},{"language":"r","snippet":"library(ggplot2)\nlibrary(patchwork)\n\n# Nature theme\ntheme_nature <- function() {\n  theme_classic(base_size = 8, base_family = \"Arial\") +\n  theme(\n    axis.line = element_line(linewidth = 0.5),\n    axis.ticks = element_line(linewidth = 0.5),\n    axis.ticks.length = unit(2, \"pt\"),\n    strip.background = element_blank(),\n    legend.key.size = unit(3, \"mm\"),\n    plot.margin = margin(2, 2, 2, 2, \"mm\")\n  )\n}\n\nnature_colors <- c(\n  blue = \"#4878CF\", red = \"#D65F5F\", green = \"#6ACC65\",\n  orange = \"#EE854A\", purple = \"#956CB4\", teal = \"#82C6E2\"\n)\n\n# --- YOUR PLOTS ---\n# p1 <- ggplot(...) + theme_nature()\n# p2 <- ggplot(...) + theme_nature()\n# combined <- p1 | p2\n# ggsave(\"figure1.pdf\", combined, width = 183, height = 80, units = \"mm\", dpi = 300)"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: nature-figure\ndescription: Generate publication-quality figures for Nature-series journals using Python (matplotlib) or R (ggplot2). Trigger when user wants to create, polish, or redesign scientific figures for high-impact journals. Handles multi-panel layouts, Nature color palettes, correct typography, and exports SVG/PDF/PNG.\n---\n\n# nature-figure\n\n## Purpose\nGenerate multi-panel scientific figures that meet Nature portfolio visual standards:\ncorrect typography, semantic colour palette, accessible design, and editable SVG output.\n\n---\n\n## Trigger Conditions\nActivate when user mentions:\n- \"画图\" / \"figure\" / \"plot\" / \"科研绘图\"\n- \"Nature figure\" / \"publication figure\" / \"publication plot\"\n- \"matplotlib\" / \"ggplot\" / \"seaborn\"\n- \"配色\" / \"color palette\" / \"color scheme\"\n- Wants to improve or reformat an existing figure\n\n---\n\n## Nature Figure Standards\n\n### Typography\n- Font family: **Arial** or **Helvetica** (sans-serif, never Times New Roman in figures)\n- Minimum font size in final print: **7 pt** (axis labels, tick labels)\n- Panel labels (a, b, c...): **8 pt bold**, lowercase\n- Figure title (if any): not embedded in figure — goes in legend\n- All text must be editable (not rasterized)\n\n### Size & Resolution\n| Format | Width | Resolution |\n|--------|-------|------------|\n| Single column | 89 mm (3.5 in) | 300 DPI min |\n| 1.5 column | 120 mm (4.7 in) | 300 DPI min |\n| Double column | 183 mm (7.2 in) | 300 DPI min |\n| Line art | any | **600 DPI** |\n| Final submission | PDF or TIFF | vector preferred |\n\n### Colour Palette (Nature-approved, colorblind-safe)\n```python\nNATURE_COLORS = {\n    \"blue\":    \"#4878CF\",\n    \"red\":     \"#D65F5F\", \n    \"green\":   \"#6ACC65\",\n    \"orange\":  \"#EE854A\",\n    \"purple\":  \"#956CB4\",\n    \"teal\":    \"#82C6E2\",\n    \"brown\":   \"#D5BB67\",\n    \"gray\":    \"#8C8C8C\",\n    # Colorblind-safe primary pair:\n    \"cb_blue\": \"#0072B2\",\n    \"cb_orange\":\"#E69F00\",\n}\n```\n- Never use pure red + green together (colorblind conflict)\n- Use filled symbols + different shapes for accessibility, not colour alone\n- Grayscale must remain distinguishable\n\n### Panel Architecture\n- Each panel makes **one clear point**\n- Panel (a): overview / schematic / representative image\n- Panels (b–d): quantitative evidence\n- Final panel: comparison or generalizability\n- Panels are labelled **a, b, c** (lowercase bold, top-left corner)\n- White background; minimal gridlines (light gray, 0.5pt)\n- No chartjunk: remove top and right spines\n\n### Statistical Annotations\n- Error bars: always define in legend (mean ± s.d. or ± s.e.m.)\n- Significance: *, **, ***, **** for p < 0.05, 0.01, 0.001, 0.0001; prefer exact p-values\n- n must be stated (e.g., n = 5 independent experiments)\n- Box plots: show median, IQR, whiskers to 1.5×IQR, individual points overlaid\n\n---\n\n## Workflow\n\n### Step 0: Auto-figure from data file (fastest path)\nIf user provides a CSV, Excel, or JSON data file:\n```bash\npython3 ~/.openclaw/workspace/skills/nature-paper-hub/scripts/auto_figure.py \\\n  --inpu"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7e8szja8rxwkwrchdswcj0d186wsdw\",\n  \"slug\": \"nature-figure\",\n  \"version\": \"1.0.0\",\n  \"publishedAt\": 1779049855560\n}"},{"path":"skill-card.md","content":"## Description:\n\nGenerate publication-quality figures for Nature-series journals using Python (matplotlib) or R (ggplot2).\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[yang1bai](https://clawhub.ai/user/yang1bai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers, researchers, and scientific authors use this skill to create, polish, or redesign Nature-style multi-panel figures and accompanying figure legends from supplied data or plotting requirements.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The auto-figure command template can run unintended shell commands when given an untrusted or unusual file path.\n\nMitigation: Use only trusted, normalized input paths, verify the referenced helper script is present and trusted, and avoid interpolating user-controlled paths into shell commands.\n\nRisk: Generated plotting code or commands may be executed with insufficient argument validation.\n\nMitigation: Prefer reviewing and running generated Python or R code with explicitly validated arguments before execution.\n\n## Reference(s):\n\n- [BioRender](https://biorender.com)\n\n## Skill Output:\n\n**Output Type(s):** [Code, Shell commands, Guidance, Markdown]\n\n**Output Format:** [Markdown with Python, R, or shell code blocks plus figure legend text and checklist items]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include runnable matplotlib or ggplot2 code, export instructions for PDF/PNG outputs, and a pre-submission figure verification checklist.]\n\n## Skill Version(s):\n\n1.0.0 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Generate publication-quality figures for Nature-series journals using Python (matplotlib) or R (ggplot2). Trigger when user wants to create, polish, or redes... Skill: nature-figure Owner: yang1bai Summary: Generate publication-quality figures for Nature-series journals using Python (matplotlib) or R (ggplot2). Trigger when user wants to create, polish, or redes... Tags: latest:1.0.0 Version history: v1.0.0 | 2026-05-17T20:30:55.560Z | user Part of nature-paper-hub v1.0.0 Archive index: Archive v1.0.0: 3 files, 5144 bytes Files: skill-card.md (1886b), SKILL.md (7618b), _meta","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":965,"uniquenessScore":61,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T02:47:52.430Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T02:47:52.430Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T05:40:24.835Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}