Nano Banana
EvoScientist/EvoSkills
Generate professional presentation slides and high-quality illustrations using Gemini image generation API (Nano Banana 2), with interactive browser-based review and iterative editing.
Plans, writes prompts for, renders and audits academic figures from repos, papers or notes, with an option to turn rendered text into editable PowerPoint.
$ npx skills add Azhi-ss/academic-figure-skills --skill fig1-draw -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Azhi-ss/academic-figure-skills fig1-draw --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Azhi-ss/academic-figure-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/fig1-draw .claude/skills/fig1-draw && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "fig1-draw" agent skill from https://github.com/Azhi-ss/academic-figure-skills/tree/main/fig1-draw into .claude/skills/fig1-draw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fig1-draw", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Azhi-ss/academic-figure-skills/tree/main/fig1-drawType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Azhi-ss/academic-figure-skills --skill fig1-draw -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Azhi-ss/academic-figure-skills fig1-draw --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azhi-ss/academic-figure-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/fig1-draw .agents/skills/fig1-draw && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fig1-draw" agent skill from https://github.com/Azhi-ss/academic-figure-skills/tree/main/fig1-draw into .agents/skills/fig1-draw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fig1-draw", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Azhi-ss/academic-figure-skills --skill fig1-draw -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Azhi-ss/academic-figure-skills fig1-draw --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azhi-ss/academic-figure-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/fig1-draw .cursor/skills/fig1-draw && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "fig1-draw" agent skill from https://github.com/Azhi-ss/academic-figure-skills/tree/main/fig1-draw into .cursor/skills/fig1-draw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fig1-draw", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Azhi-ss/academic-figure-skills.git --path fig1-draw--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Azhi-ss/academic-figure-skills --skill fig1-draw -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Azhi-ss/academic-figure-skills fig1-draw --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azhi-ss/academic-figure-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/fig1-draw .gemini/skills/fig1-draw && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "fig1-draw" agent skill from https://github.com/Azhi-ss/academic-figure-skills/tree/main/fig1-draw into .gemini/skills/fig1-draw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fig1-draw", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Azhi-ss/academic-figure-skills fig1-drawInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Azhi-ss/academic-figure-skills --skill fig1-draw -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Azhi-ss/academic-figure-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/fig1-draw .github/skills/fig1-draw && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "fig1-draw" agent skill from https://github.com/Azhi-ss/academic-figure-skills/tree/main/fig1-draw into .github/skills/fig1-draw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fig1-draw", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Azhi-ss/academic-figure-skills --skill fig1-draw -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Azhi-ss/academic-figure-skills fig1-draw --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Azhi-ss/academic-figure-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/fig1-draw .opencode/skills/fig1-draw && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "fig1-draw" agent skill from https://github.com/Azhi-ss/academic-figure-skills/tree/main/fig1-draw into .opencode/skills/fig1-draw/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fig1-draw", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
fig1-drawPlans, writes prompts for, renders and audits academic figures from repos, papers or notes, with an option to turn rendered text into editable PowerPoint.
The skill produces a grounded academic figure and a stable local artifact, keeping the backend, reference assets, style direction and review preference you chose. Output depends on the request: construct a figure prompt, diagnose an existing one, revise one from feedback, or render and visually inspect an image. Prompt-only requests stop before rendering, and palette or style questions get a palette decision without generating anything.
Inputs are routed by what they contain. Explicit nodes and flow from you are compiled directly into a FigureSpec v1 and rendered, rough notes or outlines take a fast track focused on Figure 1, and complete manuscripts as Markdown, LaTeX, PDF or URL go through full planning in a sibling analysis skill. Reference files cover prompt design, palettes, architecture icons, a style catalog with preview images and a render audit that is required before an image is accepted. Anything beyond the evidence is marked as inference or pending confirmation.
After you accept a raster figure and ask for editable text, a reference guide describes writing a manifest and assembling a PPTX with text boxes in place of AI-rendered text, leaving the source PNG unchanged.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 88c989d. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Academic Figure Designer loads about 5k tokens when it runs, and up to ~882k if it reads all its reference files. Until then it costs about 129 tokens; SKILL.md has 2,230 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from Azhi-ss/academic-figure-skills at commit 88c989d, republished under its MIT licence (© Azhi-ss). 2,230 words, ~5,000 tokens.
.claude/skills/fig1-draw/SKILL.md (or your agent's skills folder). This skill also uses 32 other files; get the full folder from GitHub.Produce a grounded academic figure and a stable local artifact. Preserve the user's chosen backend, reference assets, style direction, review preference, and output scope.
If the user asks only to construct, diagnose, or revise a figure prompt, use this skill's matching output mode and stop before rendering. A prompt-only request does not require invented render paths or an extra approval gate.
将科学内容编译成可验收的图示。这里是唯一的设计与 prompt 编译入口;不把提示词修辞当作第二次科学设计。
| 用户意图 | 行动与停止点 |
|---|---|
| 构造画图提示词 / 只写 prompt | construct:设计简报与完整 prompt;不生图 |
| 检查或诊断已有 prompt | diagnose:定位问题、影响与最小修正;不擅改文件或生图 |
| 按反馈修改 prompt | revise:改动、保留项及完整新 prompt;不自动生图 |
| 制作图 / 修改图片 | construct 或 revise 后,本 skill 继续渲染、目检 |
| 只咨询配色或风格 | Palette Decision;不要求完整拓扑,不生图 |
| 把 AI 图里的文字做成可编辑 PPT | 按 references/editable-pptx.md 写清单并组装 PPTX;不改源 PNG,不另开 skill |
只问方案时不启动绘图。直接画图时不强加 prompt 确认;按用户的 review 偏好执行。直接画图不代替风格选择。
Load only what the current stage needs:
references/prompt-design-logic.mdreferences/json-to-prompt.mdreferences/prompt-templates.mdreferences/image-prompt-guide.mdreferences/prompt-design-cases.mdjson-schema.md 和 figure-spec.schema.jsonreferences/architecture-icons.md,仅使用符合证据的元素references/style-catalog.md 与 references/previews/references/palettes.md、references/styles/references/codex-image-workflow.mdreferences/render-audit.md (required before accepting an image)references/editable-pptx.md。交付栅格图时只告知可以做;用户接受这张图并要求可编辑文字后才读、才组装超出证据的内容标推断或待确认;用占位符代替编造的模块、损失、维度或结果;没有任何可用来源时停下,并列出最少需要补充的材料。
A URL is not automatically a repository. Inspect it first.
| Input | Route | Execution Behavior |
|---|---|---|
| Direct User Architecture (Passthrough) | This skill's design flow | Skip fig1-analyze. User gave explicit nodes/flow; compile FigureSpec v1 and render directly. |
| Draft Notes / Outline / Partial Draft | ../fig1-analyze/SKILL.md | Draft-to-Figure Fast-Track. For rough notes, outlines, or sections without full results: focus on Figure 1 framework. |
| Complete Manuscript (Markdown / LaTeX / PDF / URL) | ../fig1-analyze/SKILL.md | Full Planning. For complete papers with experiments/results: multi-figure strategy, claim verification, and constraints. |
| Repository path or repository URL | ../fig1-analyze/SKILL.md | Extract semantic architecture graph; omit engineering plumbing (data loaders, trainers). |
| Paper plus repository | ../fig1-analyze/SKILL.md | Paper/user defines narrative & topology; repository supplies parameter & dimension verification. |
| External style reference | ../fig1-analyze/SKILL.md | Extract transferable style from external references. |
| Existing render to edit | This skill's revise mode | Preserve its scientific content, topology and visible text, then apply only the requested delta. |
For an article URL, use an available web/browser/document reader to obtain the paper text, captions, and linked figures. For a PDF, use a PDF-capable reader for paper content. If fig1-analyze is not installed, perform the minimum equivalent analysis and mark the degraded path.
Store these as JSON-compatible objects. Do not make the user read them unless requested.
schema: academic-figure/FigurePlan@1
source_revision, venue
sources[]: {kind, uri_or_absolute_path, revision_or_page, evidence}
figures[]: {
figure_id, figure_type, priority, communication_goal, claim_scope[], hero_element,
required_nodes[], required_connections[], authority_boundaries[], secondary_context[],
forbidden_claims[], forbidden_connections[], aspect_ratio, final_width_mm,
style_profile_hint, reference_assets[],
open_questions[], confidence, review_status: pending|confirmed|waived
}Components and connections are semantic and evidence-backed. A code directory count is not a figure hierarchy or palette decision.
schema: academic-figure/FigureSpec@1
figure_id, plan_revision, sources[], prompt (internal), aspect_ratio, final_width_mm
topology: {components[], connections[], groups[], authority_boundaries[]}
visible_text[], caption_notes[], layout
style_profile: classic-technical|pastel-airy-ui|illustrated-modular|reference-led
style_preset, style_source, style_grammar, semantic_color_roles
style_selection: pending|confirmed|waived (render-ready rejects pending or missing)
reference_images[]: checked absolute local paths or recent-conversation descriptors
conversation-reference transient status stays in the execution packet
must_not_claim[], forbidden_connections[], negative_constraints[]
prompt_review: requested|confirmed|waived
prompt_reviewed_sha256: required only when prompt_review is confirmed
workspace_root: absolute declaration that must match the runtime-trusted root
output_path: absolute path inside that rootThe internal prompt is renderer input, not a required user-facing deliverable.
When prompt_review is waived, persist it only with the working artifacts and
never paste it into the chat response.
schema: academic-figure/RenderAudit@2
figure_id, render_revision, image_path, image_sha256, spec_sha256
spec_validation: {status}
image_inspection: {status, evidence}
nodes[]: {id, status, evidence}
edges[]: {id, from, to, kind, direction, line, label, status, evidence}
checks: {semantic_topology, visible_text, background, layout,
style_fidelity, accessibility} (each: {status, evidence})
pass, defects[], targeted_edit, semantic_edits_used, semantic_edits_remainingStatuses are pass|fail|unverified. See the shared audit protocol for exact
revision binding, complete graph coverage, and aggregate-pass requirements.
Keep historical v1 audits as history; new renders require v2 inspection records.
Create the shortest FigurePlan that closes scientific ambiguity. Shortest means no speculative modules. A station on an executed path stays in the figure even if its importance is secondary; secondary_context is only for context that does not change the path. When a reference exists, its transferable style grammar takes priority over venue stereotypes and preset defaults. Match composition, mark language, illustration level, region treatment, typography, spacing, arrow grammar, emphasis, and semantic color roles. Do not copy the reference's claims, labels, branding, or topology unless it is the user's redraw or edit baseline.
Use plan review only when unresolved choices would materially change the result, the user asks to review it, or required content is still a placeholder. Otherwise record review_status: waived and continue. An unrelated reply is never confirmation.
references/prompt-design-logic.md。用户直接描述架构时跳过不必要的仓库扫描。将其记为 sources 中的 user_instruction,证据为原请求;component IDs 使用稳定 snake_case。执行、建议、反馈、存储和异常连接分开,不靠位置推断连线。
Do this after the scientific skeleton is clear and before layout or the renderer prompt. Follow references/prompt-design-logic.md for reference handling and bounded style-only revisions. This gate applies only to the first render. Revisions, color-only edits, a style the user already named, and a reference image the user asked to follow do not open the menu again.
references/style-catalog.md, show all six previews by displaying the image files themselves, add one line of traits each, then stop. Do not call the image tool in that turn.prompt_review: waived only. It does not choose a style.style_preset and its catalog style_profile, set style_selection: confirmed, and continue without asking again.reference-led, set style_selection: confirmed, and do not show the six-style menu.style_selection: waived and choose a style only when the user explicitly says to pick for them or to use the default. Otherwise do not pick.style_selection: pending until the user picks one.Record the canonical FigureSpec profile id:
classic-technical: restrained strokes, exact topology, minimal illustration;清晰无衬线文字。pastel-airy-ui: white cards, light separation, color on tokens/curves;轻边界,不堆叠卡片。illustrated-modular: low-saturation filled regions, darker paired outlines/titles, editorial or hand-drawn line art, asymmetric hero layout. Region interiors are open labeled illustrations; a subcard exists only for a real one-level grouping, not as a frame around every station. Sourced mechanism lines stay in the region prose. A station on the path may be smaller than the hero and still remains. 可选择角色插图,不默认每区同等密度,也不收成等大图标条。reference-led: an override mode with at least one local or recent-conversation reference image; preserve the observed grammar whether it is technical, airy, illustrated, or a coherent combination;依据已查看的参考图提取布局、线条、填色、字体、插图和留白语法,不等同于手绘风。Use style_preset for named library variants. Never interpret reference-led as
an alias for illustrated-modular.
色相随职责绑定,不按代码目录数配色。Agentic 图可参考 reasoning 蓝、context 绿、execution 桃、advisory 紫、memory 青、output 金、stop 珊瑚红;这些是领域预设而非通用事实。支持丰富配色、灰度印刷或数据需要的深色背景。遵循参考/用户确定的 surface 和 shadow 规则,避免一处要求 3D 而另一处全局禁止 3D。
正文与底色保持足够对比度;关键差别用颜色加线型、标签或形状双编码。Palette Decision 输出 profile、选择理由、语义绑定、底色/正文/轮廓、一个备选与可复制 tokens。
区域标题通常不超过 5 词、标签/边标签通常不超过 3 词;这是缩写建议,不得破坏科学含义,也不得用来删掉所选风格要求的机制行或子卡。只放必要且有来源的公式。先移走的是 caption-only 注释,不是路径上的机制标签。再考虑分图或确定性排版,不通过无限缩小字体增加密度。
模型输入用 compact prose,不用 Markdown 标题、加粗、列表或表格包围指令;保留批准的数学符号及精确标签。默认图题放外部 caption,只有用户或设计明确要求时才显示一个短图题。顺序为目的、构图与组件、闭合边清单、精确可见文字、风格配色、缺陷约束及比例,详见编译器。
Select one planned figure at a time. This skill compiles FigureSpec v1 and normalized structured rendering briefs across all supported profiles (classic-technical, pastel-airy-ui, illustrated-modular, or reference-led). If a supplied reference defines a custom grammar, construct FigureSpec v1 directly from ReferenceAnalysis v1. Never force a reference into white-fill colored-border boxes.
Prompt review is conditional and has executable state semantics:
requested: show the current internal prompt and stop before rendering;confirmed: hash the exact reviewed UTF-8 prompt as lowercase SHA-256, save it
in prompt_reviewed_sha256, and render only while that hash still matches;waived: omit prompt_reviewed_sha256, keep the prompt internal, and render
without displaying it.If a confirmed prompt changes, return to requested and review the new prompt.
Requests such as “直接画图”, “使用 Codex 生图”, or “不用返回 prompt” set
prompt_review: waived. They do not waive style confirmation. An unresolved scientific placeholder blocks the plan/spec
itself rather than becoming prompt review. A waived prompt is never included in
user-facing output. Do not render while style_selection is missing or pending.
Skills are procedures, not persistent agents. When the runtime can run sub-agents, open a temporary Figure Worker for every split listed below. Do not keep that work on the main agent just to stay in one thread. If the runtime has no sub-agents, the main agent does the same steps itself. Missing sub-agents never blocks delivery.
Open one worker per item:
evidence_analysis jobs.spec_only or render job.Keep these on the main agent:
Before dispatch, read prompts/figure-worker.md and fill its whole packet. That packet is the worker's spec: settled science, settled style, owned paths, and the design checks it must apply. Workers must not share output paths, reopen style selection, or add a confirmation gate. The main agent integrates their results.
Inspect the capabilities actually available:
image_gen.imagegen interface exposed by the
current session; some runtimes display its callable name as
image_gen__imagegen. Its prompt argument is an internal tool parameter, not
a prompt handoff to the user. Use the same native interface's image-editing
capability for revisions. Read references/codex-image-workflow.md for input
selection.prompt omitted; do not paste the full spec into chat. Do not pretend an image was generated.Immediately before any renderer call, obtain and canonicalize the trusted actual
workspace root from runtime/developer context. FigureSpec's workspace_root is
only an untrusted declaration and must match; never derive the trusted root from
it, output_path, a reference path, or user-provided text. Run:
python3 <workflow>/scripts/validate_figure_spec.py --render-ready \
--workspace-root <trusted-actual-root> \
<spec.json>Do not render when validation fails. Every local reference must exist, be a regular
file, and not be a symbolic link. Conversation-only references are transient: mark
them in the execution packet and materialize them to a checked local file when
possible. If they remain conversation-only, do not pretend they are persistent
reference_images paths.
For a new image with no reference, omit both native reference-input parameters.
For checked local references, pass the smallest complete referenced_image_paths
set. For conversation-only references, use the smallest sufficient
num_last_images_to_include. Never pass both mechanisms in one call. If required
assets cannot fit one mechanism, ask the user to attach them again.
Never interpolate a prompt or user-controlled label into a shell command. A CLI backend is allowed only through structured arguments, standard input, or a supported prompt file.
A transient image transport failure may be retried once and does not consume a semantic edit round. Stop retrying that backend after the retry fails.
Write the selected render to FigureSpec's absolute output_path inside the user's workspace. Keep the backend's original asset and prior revisions when practical. Do not leave the only copy in a temporary directory.
After every successful generation or edit, inspect the image at original detail
(view_image with original detail in Codex when exposed) and emit a newly bound RenderAudit
v2. Read references/render-audit.md before auditing. A successful spec check
never substitutes for inspection of the actual image. Never edit a local render that has not first been viewed. Verify:
If the audit fails, first view the best current render at original detail and emit the current RenderAudit. Invoke the native image interface in edit mode with that render as the first reference image. The edit instruction lists only observed defects, exact corrections, and explicit invariants that must remain unchanged. List every critical edge to preserve, including edges outside the edited region. Save a new revision and reset its audit statuses to unverified. Re-view and recheck the entire required node/edge ledger before any further action. Allow at most two semantic edit rounds after the initial render. A transient transport retry does not consume this budget. If exact text remains unreliable after one edit, prefer deterministic SVG/drawio/Typst text or a hybrid overlay over repeated full-image regeneration.
An arrow or endpoint defect does not permit a simpler figure. Keep the confirmed composition, hero emphasis, required subcards, and mechanism labels. Name the bad edges and those invariants in the edit. If the renderer cannot hold the topology without discarding that composition, stop and report it. Do not spend the remaining rounds on equal icon lanes or a shorter icon strip.
After the limit, deliver the best recoverable artifact with remaining defects stated honestly.
Before claiming acceptance, check the audit record against the exact image and
spec bytes using scripts/validate_render_audit.py --spec <spec.json> --image <image.png> <audit.json>. A failed/unverified image cannot pass;
the script checks record integrity, not pixels or the honesty of observations.
Before delivery, automatically sanitize the final image artifact using python3 <workflow>/scripts/clean_image_metadata.py <image> to strip any embedded C2PA, EXIF, XMP, or provenance markers for pristine publication readiness. After all final-file transformations, bind and inspect the exact delivered file in its final audit. Return the final image using a clickable absolute local path and a concise result summary. Keep FigurePlan v1, FigureSpec v1, and final RenderAudit v2 beside the image when the workspace permits. Do not use file:// and never append a waived prompt. Stop before rendering if the user asked only for analysis or planning.
After the image is delivered, tell the user that its visible text can be replaced with editable PowerPoint text boxes. Do not build the PPTX in that turn. Build it only after they accept this figure and ask for the editable text; follow references/editable-pptx.md, keep the sanitized PNG, and replace only text that is already visible. If they are not satisfied with the figure, revise the figure first. Do not start a third skill and do not rerun image generation for the text step.
© Azhi-ss, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 32 other files (scripts, references) in fig1-draw of Azhi-ss/academic-figure-skills.
Open the folder on GitHubat commit 88c989d
Academic Figure Designer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Academic Figure Designer this skillAzhi-ss/academic-figure-skills | 148 | — | ~5k | Automated safety check: Pass | MIT | |
| Nano BananaEvoScientist/EvoSkills | 478 | 2 repos | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| Image-Based PPT Deck Generatorningzimu/codex-ppt-skill | 6.6k | — | ~2.6k | Automated safety check: Notes | MIT | |
| Xiaobei Skill Academic Paper To Pptxiao24bei/xiaobei-skill | 586 | — | ~4.4k | Automated safety check: Pass | Apache-2.0 | |
| Slide Deck Image GeneratorSpaceZephyr/design-buddy | 176 | — | ~6.5k | Automated safety check: Pass | None | |
| OfficeCLIofficecli/officecli | 106 | — | ~3.8k | Automated safety check: Pass | MIT |
EvoScientist/EvoSkills
Generate professional presentation slides and high-quality illustrations using Gemini image generation API (Nano Banana 2), with interactive browser-based review and iterative editing.
ningzimu/codex-ppt-skill
Builds visually unified PowerPoint decks from articles, reports, papers, notes or outlines, with every slide generated as a full 16:9 image and assembled into a .pptx.
xiao24bei/xiaobei-skill
A skill your agent uses for 小北在读研 / XiaoBei academic paper-to-PPT workflows: generate thesis-defense or project-report decks from uploaded papers, literature, reports, technical documents, and…
SpaceZephyr/design-buddy
Turns written content into designed slide images from an outline, merges them into PPTX or PDF, and can borrow styles from a registry of brand design systems.
officecli/officecli
Routes Office document and image tasks to the OfficeCLI tool for creating, editing and converting PPTX, DOCX, XLSX, reports and generated images, after checking it supports the workflow.
dracohu2025-cloud/draco-skills-collection
A skill your agent uses when generating PPT-style image slides, poetic presentation covers, quiet paper-texture visual pages, report pages, invitations, social cards, or slide-image sets with…
Azhi-ss/academic-figure-skills
Analyzes a repository, paper draft or reference figure into structured handoff results for academic figure drawing; it writes no prompts and generates no images.
Works with
Plans, writes prompts for, renders and audits academic figures from repos, papers or notes, with an option to turn rendered text into editable PowerPoint. The skill produces a grounded academic figure and a stable local artifact, keeping the backend, reference assets, style direction and review preference you chose. Output depends on the request: construct a figure prompt, diagnose an existing one, revise one from feedback, or render and visually inspect an image.
Academic Figure Designer fits situations like: drawing a method overview figure for a paper from the draft; diagnosing or improving a prompt for a scientific figure; picking a color palette or style for an academic figure; replacing AI-rendered labels with editable PowerPoint text.
Run `npx skills add Azhi-ss/academic-figure-skills --skill fig1-draw -a claude-code`. Or copy the skill folder (fig1-draw in Azhi-ss/academic-figure-skills) into .claude/skills/fig1-draw in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Azhi-ss/academic-figure-skills --skill fig1-draw -a codex`. Or copy the skill folder (fig1-draw in Azhi-ss/academic-figure-skills) into .agents/skills/fig1-draw in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Azhi-ss/academic-figure-skills --skill fig1-draw -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fig1-draw, .gemini/skills/fig1-draw, .github/skills/fig1-draw and .opencode/skills/fig1-draw in your project.
Going by SKILL.md and its folder, Academic Figure Designer needs the command-line tools its instructions call (python3). Our summary lists: An image generation backend for the rendering step.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Academic Figure Designer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 877k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Academic Figure Designer: Nano Banana (EvoScientist/EvoSkills, 478 stars), Image-Based PPT Deck Generator (ningzimu/codex-ppt-skill, 6.6k stars), Xiaobei Skill Academic Paper To Ppt (xiao24bei/xiaobei-skill, 586 stars) and Slide Deck Image Generator (SpaceZephyr/design-buddy, 176 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Azhi-ss (a GitHub user) maintains it in Azhi-ss/academic-figure-skills, which has 148 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 6, 2026.
Source: Azhi-ss/academic-figure-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.