{"id":"6163ace8-b326-4a6b-b8b8-85878dd5c39b","shortId":"UVNcHK","kind":"skill","title":"figure","tagline":"Generates complete, runnable visualization code for research figures. Produces matplotlib/seaborn Python scripts for quantitative data and Mermaid diagrams for conceptual relationships, workflows, and taxonomies. Use when the user asks for charts, graphs, visualizations, figures,","description":"# Figure Generator\n\nGenerate publication-quality visualization code for research figures.\n\n## Figure Types\n\n| Type | Use for | Format |\n|------|---------|--------|\n| **matplotlib** | Quantitative data: bar charts, scatter plots, line graphs, heatmaps, box plots | Python |\n| **seaborn** | Statistical visualizations: distributions, regressions, pair plots | Python |\n| **Mermaid** | Conceptual diagrams: workflows, taxonomies, hierarchies, timelines | Mermaid |\n\n## Decision guide\n\n- Numbers, measurements, time series → **matplotlib/seaborn**\n- Concepts, relationships, processes → **Mermaid**\n- When in doubt: generate both\n\n## Output Format\n\n````markdown\n## Figure 1: [Title]\n\n**Caption:** [Full figure caption as it would appear in a paper — what is shown and the key takeaway]\n\n**Description:** [What this figure shows and why it matters for the research]\n\n**Type:** Python (matplotlib/seaborn)\n\n```python\nimport matplotlib.pyplot as plt\nimport numpy as np\n\n# [Complete, runnable code with realistic placeholder data]\nplt.tight_layout()\nplt.savefig('figure1.png', dpi=300)\nplt.show()\n```\n````\n\n## Code requirements\n\n- **Complete and runnable** — no placeholders like `your_data_here`\n- **All imports included** — never reference a library without importing it\n- **Realistic placeholder data** — use domain-appropriate values and ranges\n- **Publication quality** — `dpi=300`, proper axis labels, legend, title\n- **Accessible colors** — avoid red/green only distinctions\n\n## Validation (always run after generating Python code)\n\nBefore presenting code to the user, validate syntax with Python's AST parser:\n\n```bash\npython -c \"import ast; ast.parse(open('figure1.py').read()); print('✅ Syntax OK')\"\n```\n\nIf the check fails, fix the syntax error and re-validate before showing the result.\n\n**For inline code blocks**, validate with:\n```python\nimport ast\ncode = \"\"\"\n# paste generated code here\n\"\"\"\ntry:\n    ast.parse(code)\n    print(\"✅ Syntax OK\")\nexcept SyntaxError as e:\n    print(f\"❌ Syntax error: {e}\")\n```\n\n> Note: AST validation checks syntax only — it does not catch runtime errors (e.g. wrong data shapes). Always include comments explaining how to adapt placeholder data to real data.\n\n## How to run\n\n**Python figures:**\n```bash\npip install matplotlib seaborn numpy\npython figure1.py\n```\n\n**Mermaid diagrams:**\n- Paste into [mermaid.live](https://mermaid.live)\n- Or use any Markdown renderer that supports Mermaid (Obsidian, GitHub, etc.)","tags":["figure","archora","skills","richard-kim-79","academic","agent-skills","claude","hypothesis","peer-review","research","science"],"capabilities":["skill","source-richard-kim-79","skill-figure","topic-academic","topic-agent-skills","topic-claude","topic-hypothesis","topic-peer-review","topic-research","topic-science"],"categories":["archora-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/richard-kim-79/archora-skills/figure","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add richard-kim-79/archora-skills","source_repo":"https://github.com/richard-kim-79/archora-skills","install_from":"skills.sh"}},"qualityScore":"0.468","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 37 github stars · SKILL.md body (2,448 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:58:32.381Z","embedding":null,"createdAt":"2026-05-15T13:05:44.945Z","updatedAt":"2026-05-18T18:58:32.381Z","lastSeenAt":"2026-05-18T18:58:32.381Z","tsv":"'1':102 '300':158,194 'access':200 'adapt':305 'alway':207,299 'appear':111 'appropri':187 'ask':30 'ast':224,230,262,284 'ast.parse':231,269 'avoid':202 'axi':196 'bar':56 'bash':226,316 'block':257 'box':63 'c':228 'caption':104,107 'catch':292 'chart':32,57 'check':240,286 'code':6,43,148,160,212,215,256,263,266,270 'color':201 'comment':301 'complet':3,146,162 'concept':89 'conceptu':21,75 'data':16,55,152,169,183,297,307,310 'decis':82 'descript':122 'diagram':19,76,325 'distinct':205 'distribut':69 'domain':186 'domain-appropri':185 'doubt':95 'dpi':157,193 'e':277,282 'e.g':295 'error':245,281,294 'etc':340 'except':274 'explain':302 'f':279 'fail':241 'figur':1,9,35,36,46,47,101,106,125,315 'figure1.png':156 'figure1.py':233,323 'fix':242 'format':52,99 'full':105 'generat':2,37,38,96,210,265 'github':339 'graph':33,61 'guid':83 'heatmap':62 'hierarchi':79 'import':138,142,172,179,229,261 'includ':173,300 'inlin':255 'instal':318 'key':120 'label':197 'layout':154 'legend':198 'librari':177 'like':167 'line':60 'markdown':100,333 'matplotlib':53,319 'matplotlib.pyplot':139 'matplotlib/seaborn':11,88,136 'matter':130 'measur':85 'mermaid':18,74,81,92,324,337 'mermaid.live':328,329 'never':174 'note':283 'np':145 'number':84 'numpi':143,321 'obsidian':338 'ok':237,273 'open':232 'output':98 'pair':71 'paper':114 'parser':225 'past':264,326 'pip':317 'placehold':151,166,182,306 'plot':59,64,72 'plt':141 'plt.savefig':155 'plt.show':159 'plt.tight':153 'present':214 'print':235,271,278 'process':91 'produc':10 'proper':195 'public':40,191 'publication-qu':39 'python':12,65,73,135,137,211,222,227,260,314,322 'qualiti':41,192 'quantit':15,54 'rang':190 're':248 're-valid':247 'read':234 'real':309 'realist':150,181 'red/green':203 'refer':175 'regress':70 'relationship':22,90 'render':334 'requir':161 'research':8,45,133 'result':253 'run':208,313 'runnabl':4,147,164 'runtim':293 'scatter':58 'script':13 'seaborn':66,320 'seri':87 'shape':298 'show':126,251 'shown':117 'skill' 'skill-figure' 'source-richard-kim-79' 'statist':67 'support':336 'syntax':220,236,244,272,280,287 'syntaxerror':275 'takeaway':121 'taxonomi':25,78 'time':86 'timelin':80 'titl':103,199 'topic-academic' 'topic-agent-skills' 'topic-claude' 'topic-hypothesis' 'topic-peer-review' 'topic-research' 'topic-science' 'tri':268 'type':48,49,134 'use':26,50,184,331 'user':29,218 'valid':206,219,249,258,285 'valu':188 'visual':5,34,42,68 'without':178 'workflow':23,77 'would':110 'wrong':296","prices":[{"id":"358c89a3-04f7-41cf-9eb3-8de29d21503b","listingId":"6163ace8-b326-4a6b-b8b8-85878dd5c39b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"richard-kim-79","category":"archora-skills","install_from":"skills.sh"},"createdAt":"2026-05-15T13:05:44.945Z"}],"sources":[{"listingId":"6163ace8-b326-4a6b-b8b8-85878dd5c39b","source":"github","sourceId":"richard-kim-79/archora-skills/figure","sourceUrl":"https://github.com/richard-kim-79/archora-skills/tree/main/skills/figure","isPrimary":false,"firstSeenAt":"2026-05-15T13:05:44.945Z","lastSeenAt":"2026-05-18T18:58:32.381Z"}],"details":{"listingId":"6163ace8-b326-4a6b-b8b8-85878dd5c39b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"richard-kim-79","slug":"figure","github":{"repo":"richard-kim-79/archora-skills","stars":37,"topics":["academic","agent-skills","claude","hypothesis","peer-review","research","science"],"license":null,"html_url":"https://github.com/richard-kim-79/archora-skills","pushed_at":"2026-05-15T06:05:22Z","description":"Academic research agent skills for Claude Code and other Agent Skills-compatible tools. Hypothesis generation, experiment design, paper drafting, peer review simulation, and more.","skill_md_sha":"423c7682fba070c1aeb3a8b190368a937d102324","skill_md_path":"skills/figure/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/richard-kim-79/archora-skills/tree/main/skills/figure"},"layout":"multi","source":"github","category":"archora-skills","frontmatter":{"name":"figure","license":"MIT","description":"Generates complete, runnable visualization code for research figures. Produces matplotlib/seaborn Python scripts for quantitative data and Mermaid diagrams for conceptual relationships, workflows, and taxonomies. Use when the user asks for charts, graphs, visualizations, figures, or diagrams. Produces code only — does not render images directly."},"skills_sh_url":"https://skills.sh/richard-kim-79/archora-skills/figure"},"updatedAt":"2026-05-18T18:58:32.381Z"}}