Search

PythonReactSEOPDF
OpenClaw

science-sim-author

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, biology, STEM, science education, classroom demos, virtual labs, PhET-style activities, mechanics simulations, circuit simulations, parameter sliders, plots, inquiry worksheets, or offline canvas-based teaching tools.

dimgouso0 source installs☆ 0 Repository stars

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

SkillHub CLI

skillhub install dimgouso/science-sim-author

Inspect the source and compatibility requirements, then follow its installation steps.

Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.

View source ↗Guides

Skill instructions

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, domain
  • state, 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 <style> and all JS in <script>.
  • 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

  1. Validate the incoming SimSpec against templates/sim_spec_schema.json.
  2. Normalize the spec:
    • If dt is missing, use default=0.01, min=0.001, max=0.05.
    • If a parameter omits step, derive step=(max-min)/100 with sensible rounding.
    • Normalize derivative aliases such as dx, dy, dvx, dvy, dq, dvc to canonical d<stateName> keys before generating JS.
    • Default readouts to t plus every state variable in state order.
  3. Choose the renderer:
    • mechanics + state includes x and y -> trajectory2d
    • mechanics + state includes x and v -> oscillator1d
    • electromagnetism + state includes q or vc -> circuit_rc
    • Otherwise stop and ask the user for a clearer SimSpec instead of guessing.
  4. Populate templates/sim_single_file_html_template.html with pre-normal...

Source information

Source
github
Repository
openclaw/skills
Path
skills/dimgouso/science-sim-author
Version
—
Commit
1d54e279f96b76de26740addd9ae2ac8892a6a48
Classification source
rules
Status
active
Visibility
public

These signals come from indexed source analysis and may lag behind changes. Check the current source files.

Extracted content

SKILL.md
# 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`, `domain`
- `state`, `params`, `initial`, `equations`, `outputs`
- optional `level`, `dt`, `worksheet`, `success_criteria`

Validate against [templates/sim_spec_schema.json](templates/sim_spec_schema.json) before generating anything.

## Output contract

- Produce exactly one file named `index.html`.
- Keep all CSS in `<style>` and all JS in `<script>`.
- 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

1. Validate the incoming SimSpec against [templates/sim_spec_schema.json](templates/sim_spec_schema.json).
2. Normalize the spec:
   - If `dt` is missing, use `default=0.01`, `min=0.001`, `max=0.05`.
   - If a parameter omits `step`, derive `step=(max-min)/100` with sensible rounding.
   - Normalize derivative aliases such as `dx`, `dy`, `dvx`, `dvy`, `dq`, `dvc` to canonical `d<stateName>` keys before generating JS.
   - Default readouts to `t` plus every state variable in state order.
3. Choose the renderer:
   - `mechanics` + state includes `x` and `y` -> `trajectory2d`
   - `mechanics` + state includes `x` and `v` -> `oscillator1d`
   - `electromagnetism` + state includes `q` or `vc` -> `circuit_rc`
   - Otherwise stop and ask the user for a clearer SimSpec instead of guessing.
4. Populate [templates/sim_single_file_html_template.html](templates/sim_single_file_html_template.html) with pre-normal...

Related skills

OpenClaw

geo-optimization

capt-marbles

Generative Engine Optimization (GEO) for AI search visibility. Optimize content to appear in ChatGPT, Perplexity, Claude, and Google AI Overviews. Use when optimizing websites, pages, or content for LLM discove...

OpenClaw

139mail

chang-tong

139邮箱邮件收发 Skill - 支持 IMAP/SMTP 协议,兼容139/QQ/163/Gmail等主流邮箱 功能: 1. 发送邮件(SMTP) 2. 接收邮件(IMAP) 3. 查看收件箱列表 4. 查看未读邮件 当用户提到 "发邮件"、"收邮件"、"查看邮件"、"邮箱"...