Generate publication-ready scientific figures with the official SciDraw AI web app and public API. Use for paper figures, graphical abstracts, mechanism diagrams, research workflows, and model architectures.
Coding
Science Simulation Author
Try itGenerate self-contained interactive science simulations as a single index.html from a SimSpec YAML or JSON. Use when the user asks for physics, chemistry, bi...
What it does
Generate self-contained interactive science simulations as a single index.html from a SimSpec YAML or JSON. Use when the user asks for physics, chemistry, bi...
The skill document
Science Simulation Author
Core promise
Generate one self-contained index.html that runs offline, renders a STEM simulation on a 2D canvas, exposes model parameters as sliders, plots a time series, and includes an inquiry worksheet.
Inputs
Accept a SimSpec in YAML or JSON with:
id,title,domainstate,params,initial,equations,outputs- optional
level,dt,worksheet,success_criteria
Validate against templates/sim_spec_schema.json before generating anything.
Output contract
- Produce exactly one file named
index.html. - Keep all CSS in
and all JS in. - Do not use bundlers, package managers, CDNs, external fonts, or runtime network access.
- Include these DOM ids:
simCanvas,plotCanvas,runToggle,stepBtn,resetBtn,dtSlider,paramControls,readouts,statusBanner,worksheet,copyJsonBtn,downloadCsvBtn. - Include controls, readouts, one time-series plot, local JSON snapshot export, local CSV download, and a non-empty worksheet.
Workflow
- Validate the incoming SimSpec against templates/sim_spec_schema.json.
- Normalize the spec:
- If
dtis missing, usedefault=0.01,min=0.001,max=0.05. - If a parameter omits
step, derivestep=(max-min)/100with sensible rounding. - Normalize derivative aliases such as
dx,dy,dvx,dvy,dq,dvcto canonicaldkeys before generating JS. - Default readouts to
tplus every state variable in state order.
- If
- Choose the renderer:
mechanics+ state includesxandy->trajectory2dmechanics+ state includesxandv->oscillator1delectromagnetism+ state includesqorvc->circuit_rc- Otherwise stop and ask the user for a clearer SimSpec instead of guessing.
- Populate templates/sim_single_file_html_template.html with pre-normalized values.
- Run rubrics/validation_checklist.md before returning the final
index.html.
Template placeholders
Populate these mustache variables:
sim_id,sim_title,domain,level,renderer_kindstate_json,params_json,initial_json,equations_json,outputs_jsonworksheet_json,success_criteria_json,readout_fields_jsondt_default,dt_min,dt_maxmodel_step_logic_js,scene_draw_js,readout_map_js
Expectations:
- JSON placeholders must be serialized before insertion.
- String placeholders used in data attributes should be plain strings.
model_step_logic_jsmust return a derivative object without usingevalorFunction.scene_draw_jsandreadout_map_jsmay be no-ops; usereturn [];for an empty readout override.
Rendering and model rules
- Use the shared RK4 and Euler integrators already present in the template.
- Keep physics fixed-step and rendering on
requestAnimationFrame. - Auto-pause if any state becomes
NaNorInfinity. - Cap trail history and plot history.
- Prefer one clear plot target from
outputs; if multiple plots are supplied, use the first one for the visible plot and keep the rest only as metadata.
Worksheet rules
- If the SimSpec provides a worksheet, keep it unless it is incomplete.
- If any worksheet category is missing, synthesize it using rubrics/pedagogy_inquiry_prompts.md.
- Always return:
- 3 Predict prompts
- 2 Test prompts
- 2 Explain prompts
- 2 Misconceptions prompts
Safety rules
Apply rubrics/security_notes.md strictly.
- Do not tell the user to run shell commands.
- Do not request secrets or API keys.
- Do not fetch remote assets or scripts.
- Do not add hidden telemetry or analytics.
- Do not produce multiple files.
Templates and references
- Template: templates/sim_single_file_html_template.html
- Schema: templates/sim_spec_schema.json
- Validation checklist: rubrics/validation_checklist.md
- Pedagogy prompts: rubrics/pedagogy_inquiry_prompts.md
- Security notes: rubrics/security_notes.md
Examples
- examples/projectile_drag.yml
- examples/spring_mass.yml
- examples/rc_circuit.yml
Related skills
Diagnose, configure, generate, simulate, and report on NI Multisim circuits through the Multisim MCP server. Use when the user asks to install or configure Multisim MCP, generate a Multisim schematic, run circuit simulation, analyze waveforms, or produce an electronic design report.
教材虚拟仿真系统生成器,支持多种教材格式(文本/PDF/JSON)转换为交互式教育仿真 Web 应用。 能够生成3D场景、交互式组件、数据分析功能,适用于教育实验、操作培训、知识图谱等多种仿真类型。 当用户提出以下意图时触发:创建教材仿真、生成虚拟实验、构建教学模拟、制作教育3D场景、 教材可视化、交互式教学应用...
根据工程要求生成安全、可复现的 Multisim 电路实验并核对理论与仿真结果;use when creating a new circuit, schematic, simulation, or experiment report
基于已注册实验的真实产物撰写中英实验报告;use when producing a lab report, design record, reproducibility package, or formal HTML/PDF output
Use when the user wants to generate or edit images with Google's Nanobanana/Gemini image models using the official Gemini API shape, or when they need public...