mcpField
A
Academic Figure Prompt

Academic Figure Prompt

github.com/azhi-ssDesign & UI17748 installsUpdated 2w ago
Repository

About Academic Figure Prompt

Academic Figure Prompt is a skill for turning scientific material into a structured figure specification and an image-model prompt. It guides researchers through content, palette, layout, text limits, and rendering constraints, with placeholders for missing information.

Key features

  1. 01Structured JSON figure specification
  2. 02Palette selection guidance
  3. 03Exact visible-text locking
  4. 04Image prompt generation
  5. 05Caption content reservation
  6. 06Missing-information placeholders

Use cases

  1. 01Preparing a scientific method diagram
  2. 02Turning paper content into a figure brief
  3. 03Creating a renderer-ready visual prompt
  4. 04Handling incomplete figure requirements

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/azhi-ss/academic-figure-skills --skill academic-figure-prompt

After installing, type/academic-figure-promptin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

json-schema.md
references/
image-prompt-guide.md
architecture-icons.md
json-to-prompt.md
prompt-templates.md
missing-info-policy.md
palettes.md

Details

From the project README

Academic Figure Prompt

Default deliverable: a JSON figure spec (exact_* text locks + layout blocks + rendering rules). Text prompts only for simple charts or explicit user request.

Schema and examples: → json-schema.md
Palettes: → references/palettes.md
Image prompt writing: → references/image-prompt-guide.md
Icon vocabulary: → references/architecture-icons.md
Prompt templates: → references/prompt-templates.md
JSON→prompt conversion: → references/json-to-prompt.md
Missing info: → references/missing-info-policy.md

Text Budget (leading rule)

On-figure text is short labels and structure. Formulas, params, and long prose go to Figure Caption.

elementlimit
module title≤ 5 words
subcomponent≤ 3 words
pipeline step≤ 2 words primary + ≤ 2 secondary
formula on figure≤ 1 line core only
arrow label≤ 3 words

Label hierarchy: Primary (must read at a glance) → Secondary (drop first under space pressure) → Caption (never on figure).

Input Contract

  • Prefer: figure type, paper/section content, modules, labels, formulas, dims, Palette Decision, reference image

  • aspect_ratio (optional, from Figure Plan)

  • Minimum: figure type + subject/method overview

  • Missing: skeleton spec with placeholders; mark 推断 / 待确认

  • Chinese figure name + type

  • JSON spec (structured intermediate)

  • Image prompt (200-400 word English visual brief for the image model)

  • palette name + hex used

  • caption reserve list

  • completeness block (see missing info policy)

Steps

Step 1: Ground content

Read available paper/section material. Extract modules, dataflow, symbols, dims.

Done when: every claimed module has a source span or is marked placeholder.

Step 2: Reference image (if any)

Extract palette, layout flow, box style, annotation density, special links.

Done when: reference constraints are listed or “no reference” is explicit.

Step 3: Palette

Do not maintain a private palette table. This skill is classic family only (pastel → other skill).

  1. User-specified palette / hex → use it
  2. Else existing Palette Decision from color-expert → use it
  3. Else run references/palettes.md Scene → palette decision (hard constraints → type → venue → domain); if still empty, safe default (≥4 modules → Nature Blue; else Okabe-Ito) and say so
  4. Load hex from references/palettes.md
  5. If user signals airy/pastel, stop and route to academic-figure-prompt-pastel instead of forcing classic borders

Done when: palette name + hex are fixed, family is classic, and the decision branch is stated.

Step 4: Emit JSON spec

Load json-schema.md. Build layout_and_content_blocks with exact_* locks for every visible word. Include physical_spec_and_typography (canvas 89mm/183mm, font hierarchy 10pt/8pt/6pt, stroke hierarchy 1.5pt/1.0pt). White fill + colored borders. Attach rendering rules and caption_note list.

Done when checklist passes:

  • every on-figure string is in an exact_* field
  • aspect_ratio copied from Figure Plan when present
  • physical_spec_and_typography block present (89mm/183mm width, font 10pt/8pt/6pt, stroke 1.5pt/1.0pt)
  • Text Budget respected
  • white fill / colored borders only
  • ≤ 3 chromatics from chosen palette
  • caption reserve lists off-figure content
  • no empty module shells
  • every major block has an icon or visual anchor (see references/architecture-icons.md)
  • weight status (frozen vs trainable) uses non-emoji pattern (dashed/solid borders, hatching, or pills)
  • explicit negative instructions included: NO emojis, NO lock/fire/lightning icons, NO 3D rendering
Step 5: Write image prompt

Read references/image-prompt-guide.md and references/json-to-prompt.md. Convert the JSON spec into a 200-400 word English image prompt following the 8-slot structure:

  1. Image type (lead with this)
  2. Core subject (one sentence)
  3. Composition/layout (spatial arrangement, flow, grouping)
  4. Supporting modules (icons from architecture-icons.md, dimension labels, formulas, token pills, legends)
  5. Visual tone (concrete descriptors, not vague words)
  6. Material/texture (border width, fills, corner radius)
  7. Typography & Physical Specs (font hierarchy: title 10-12pt bold, label 8-9pt, tensor 6-7pt; column width: 89mm single / 183mm double; stroke width: 1.5pt borders, 1.0pt dividers)
  8. Aspect ratio (last)

Use references/prompt-templates.md for the template matching the figure type. Every major block must have a visual anchor (icon, thumbnail, or geometric marker). Parameters and long formulas go in caption_note, not on the figure.

Done when: prompt is 200-400 words, all 8 slots present, every JSON block translated to spatial prose (not listed mechanically), and supporting modules included.

Step 6: Fallback text prompt (rare)

Only if ≤ 3 modules without branches, pure data chart, or user demands prose prompt. Use four-layer skeleton in json-schema.md (Global Context → Section/Column Encapsulation → Annotations & Links → Style Specifications with hex & negative constraints).

Stop

Stop when the Figure Spec Package (JSON spec + image prompt) for the requested figure(s) is delivered, or when figure type and subject are both missing (ask for those two only).

Comments

Markdown supported