Engineering Figure Agent
Use this skill after the figure goal is already reasonably clear. For conceptual
framework or experiment-design figures, prefer conceptual-figure-workflow first
so academic-research can review the theory structure and produce a figure brief
before this skill handles schematic or image execution.
Boundary
Good fit:
- Turn a figure brief into a conceptual diagram, workflow figure, schematic,
graphical abstract, redraw, or edited image.
- Produce an editable
.drawio figure when labels, arrows, topology, or later
manual revision must remain exact.
- Build prompts, generate conceptual panels, and refine existing briefs.
- Assemble already rendered quantitative panels with a schematic when the panel
contract is fixed.
Not the main tool for:
- Deciding from scratch what claim the paper should visualize.
- Full paper-argument or reviewer-style critique.
- Reviewing theoretical structure, variable relationships, mechanisms, hypotheses, or claim-evidence boundaries for a conceptual framework.
- Creating empirical, statistical, benchmark, ablation, map, or multi-panel
results figures from numeric data. Use
nature-figure for those tasks.
If the user is still deciding the figure claim, panel logic, or caption argument,
use conceptual-figure-workflow or academic-research first.
Legacy plot scripts and references remain for upstream compatibility. Do not load
or invoke them in normal routing; send numeric-data figure work to
nature-figure.
Core Decision
openai-image mode: illustrative conceptual figures, graphical abstracts,
reference-inspired redraws, and image edits where visual synthesis matters
more than object-level editability.
drawio mode: label-heavy conceptual frameworks, mechanism diagrams,
architecture/workflow figures, or any figure requiring exact nodes, arrows,
topology, and editable vector-like objects. Route execution to the installed
drawio skill while preserving this skill's reviewed figure contract.
mixed mode: use nature-figure to produce quantitative panels, then use this
skill only for conceptual panels or final schematic-led composition. Use
Draw.io when the final composition must remain editable.
Never use image generation for exact values, axes, or benchmark geometry.
Default Workflow
- Inspect the user input and decide whether a figure brief is already present.
- If needed, create a brief using
references/figure-brief-spec.md.
- Lock the semantic contract before rendering: nodes, directed relationships,
evidence status, visible-text allowlist, prohibited implications, and any
unresolved issue ledger.
- Choose
openai-image, drawio, or mixed mode. Prefer Draw.io when a
mislabeled arrow or generated-text error would change the scientific claim.
- For image execution, prefer the prompt-builder scripts; read template
references only when template wording needs customization.
- For Draw.io execution, hand the semantic and render contracts to
drawio.
Keep the .drawio source as the primary editable artifact.
- For a mixed figure, obtain quantitative panels from
nature-figure without
asking image generation to redraw their values, axes, or geometry.
- When the brief selects
explore, create 2-4 structurally distinct low-cost
candidates, compare them against one issue ledger, then refine only 1-2
directions. Do not use candidate exploration by default.
- Audit the final figure against the semantic contract. Reject unsupported
arrows, unapproved visible text, reversed flows, duplicated concepts, and
decorative elements that imply evidence not present in the brief.
- Save prompt/spec/source/output paths when files are produced, then run only
the checks needed for the touched path.
Reference Loading
Read only what is needed:
references/figure-brief-spec.md: brief structure and mode rules.
references/semantic-render-audit.md: semantic graph, render graph, text
allowlist, candidate comparison, and final audit.
references/publication-figure-design.md: publication styling defaults.
references/provider-selection.md: OpenAI-first setup and optional
Gemini/Banana compatibility.
references/highres-policy.md: high-resolution and fail-closed rules.
references/chinese-labels.md: Chinese label readability rules.
references/engineering-figure-templates.md and references/materials-science-figure-template.md: template wording when script output needs customization.
references/editable-figure-handoff.md: Draw.io-first editable handoff and
optional SVG reconstruction.
Scripts
- Build a prompt without network calls:
python scripts/build_engineering_figure_prompt.py --figure-template system-architecture --lang en "technical background"
python scripts/build_materials_figure_prompt.py --materials-figure mechanism-figure --lang en "scientific background"
- Generate or edit a conceptual image:
python scripts/generate_image.py --provider openai --figure-template system-architecture --lang en "technical background"
python scripts/generate_image.py --provider openai --materials-figure mechanism-figure --lang en "scientific background"
python scripts/efa.py prompt --figure-template system-architecture "technical background"
python scripts/efa.py prompt --materials-figure mechanism-figure "scientific background"
python scripts/efa.py check
For the meaning of approved nodes and edges, read semantic approval scope. Directly supported semantics do not require an extra approval round; new or conflicting scientific assertions still require a user decision.
Quality Rules
- Do not fabricate measurements, benchmark values, hardware specs, or unsupported causal claims.
- Keep arrows, reading order, and module hierarchy explicit.
- Treat every arrow as a scientific assertion. Match it to an approved semantic
edge and preserve direction, relation type, and certainty.
- Render only allowlisted visible text. Do not let image generation invent
acronyms, metrics, stages, captions, or explanatory labels.
- Favor white backgrounds, publication-style spacing, and readable labels.
- Use prompt-first workflows when layout fidelity matters.
- Use the official OpenAI image path by default. Use Gemini, Banana, relays, or
other providers only when the user explicitly selects them.
- For high-resolution requests, follow
references/highres-policy.md.
- For third-party providers, require explicit opt-in before sending keys or user files.
- For Chinese figures, preserve standard technical notation when it improves clarity.
1---2name: engineering-figure-agent3description: Use when the user needs to execute an already scoped engineering or research-paper figure brief, including system architecture diagrams, algorithm workflows, hardware schematics, mechanism diagrams, graphical abstracts, editable Draw.io diagrams, redraws, or image edits. Uses the official OpenAI image path by default, with Gemini, Nano Banana, and other providers retained as explicit opt-in compatibility paths. For conceptual framework or experiment-design figures whose theory, variables, mechanisms, or claim-evidence boundaries are not yet reviewed, use conceptual-figure-workflow first.4---56# Engineering Figure Agent78Use this skill after the figure goal is already reasonably clear. For conceptual9framework or experiment-design figures, prefer `conceptual-figure-workflow` first10so `academic-research` can review the theory structure and produce a figure brief11before this skill handles schematic or image execution.1213## Boundary1415Good fit:1617- Turn a figure brief into a conceptual diagram, workflow figure, schematic,18 graphical abstract, redraw, or edited image.19- Produce an editable `.drawio` figure when labels, arrows, topology, or later20 manual revision must remain exact.21- Build prompts, generate conceptual panels, and refine existing briefs.22- Assemble already rendered quantitative panels with a schematic when the panel23 contract is fixed.2425Not the main tool for:2627- Deciding from scratch what claim the paper should visualize.28- Full paper-argument or reviewer-style critique.29- Reviewing theoretical structure, variable relationships, mechanisms, hypotheses, or claim-evidence boundaries for a conceptual framework.30- Creating empirical, statistical, benchmark, ablation, map, or multi-panel31 results figures from numeric data. Use `nature-figure` for those tasks.3233If the user is still deciding the figure claim, panel logic, or caption argument,34use `conceptual-figure-workflow` or `academic-research` first.3536Legacy plot scripts and references remain for upstream compatibility. Do not load37or invoke them in normal routing; send numeric-data figure work to38`nature-figure`.3940## Core Decision4142- `openai-image` mode: illustrative conceptual figures, graphical abstracts,43 reference-inspired redraws, and image edits where visual synthesis matters44 more than object-level editability.45- `drawio` mode: label-heavy conceptual frameworks, mechanism diagrams,46 architecture/workflow figures, or any figure requiring exact nodes, arrows,47 topology, and editable vector-like objects. Route execution to the installed48 `drawio` skill while preserving this skill's reviewed figure contract.49- `mixed` mode: use `nature-figure` to produce quantitative panels, then use this50 skill only for conceptual panels or final schematic-led composition. Use51 Draw.io when the final composition must remain editable.5253Never use image generation for exact values, axes, or benchmark geometry.5455## Default Workflow56571. Inspect the user input and decide whether a figure brief is already present.582. If needed, create a brief using `references/figure-brief-spec.md`.593. Lock the semantic contract before rendering: nodes, directed relationships,60 evidence status, visible-text allowlist, prohibited implications, and any61 unresolved issue ledger.624. Choose `openai-image`, `drawio`, or `mixed` mode. Prefer Draw.io when a63 mislabeled arrow or generated-text error would change the scientific claim.645. For image execution, prefer the prompt-builder scripts; read template65 references only when template wording needs customization.666. For Draw.io execution, hand the semantic and render contracts to `drawio`.67 Keep the `.drawio` source as the primary editable artifact.687. For a mixed figure, obtain quantitative panels from `nature-figure` without69 asking image generation to redraw their values, axes, or geometry.708. When the brief selects `explore`, create 2-4 structurally distinct low-cost71 candidates, compare them against one issue ledger, then refine only 1-272 directions. Do not use candidate exploration by default.739. Audit the final figure against the semantic contract. Reject unsupported74 arrows, unapproved visible text, reversed flows, duplicated concepts, and75 decorative elements that imply evidence not present in the brief.7610. Save prompt/spec/source/output paths when files are produced, then run only77 the checks needed for the touched path.7879## Reference Loading8081Read only what is needed:8283- `references/figure-brief-spec.md`: brief structure and mode rules.84- `references/semantic-render-audit.md`: semantic graph, render graph, text85 allowlist, candidate comparison, and final audit.86- `references/publication-figure-design.md`: publication styling defaults.87- `references/provider-selection.md`: OpenAI-first setup and optional88 Gemini/Banana compatibility.89- `references/highres-policy.md`: high-resolution and fail-closed rules.90- `references/chinese-labels.md`: Chinese label readability rules.91- `references/engineering-figure-templates.md` and `references/materials-science-figure-template.md`: template wording when script output needs customization.92- `references/editable-figure-handoff.md`: Draw.io-first editable handoff and93 optional SVG reconstruction.9495## Scripts9697- Build a prompt without network calls:9899```bash100python scripts/build_engineering_figure_prompt.py --figure-template system-architecture --lang en "technical background"101python scripts/build_materials_figure_prompt.py --materials-figure mechanism-figure --lang en "scientific background"102```103104- Generate or edit a conceptual image:105106```bash107python scripts/generate_image.py --provider openai --figure-template system-architecture --lang en "technical background"108python scripts/generate_image.py --provider openai --materials-figure mechanism-figure --lang en "scientific background"109```110111- Use the unified CLI:112113```bash114python scripts/efa.py prompt --figure-template system-architecture "technical background"115python scripts/efa.py prompt --materials-figure mechanism-figure "scientific background"116python scripts/efa.py check117```118119For the meaning of approved nodes and edges, read [semantic approval scope](references/figure-brief-spec.md#meaning-of-approved-semantics). Directly supported semantics do not require an extra approval round; new or conflicting scientific assertions still require a user decision.120121## Quality Rules122123- Do not fabricate measurements, benchmark values, hardware specs, or unsupported causal claims.124- Keep arrows, reading order, and module hierarchy explicit.125- Treat every arrow as a scientific assertion. Match it to an approved semantic126 edge and preserve direction, relation type, and certainty.127- Render only allowlisted visible text. Do not let image generation invent128 acronyms, metrics, stages, captions, or explanatory labels.129- Favor white backgrounds, publication-style spacing, and readable labels.130- Use prompt-first workflows when layout fidelity matters.131- Use the official OpenAI image path by default. Use Gemini, Banana, relays, or132 other providers only when the user explicitly selects them.133- For high-resolution requests, follow `references/highres-policy.md`.134- For third-party providers, require explicit opt-in before sending keys or user files.135- For Chinese figures, preserve standard technical notation when it improves clarity.