Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/chipweaver/veripower/simulationnpx skills add chipweaver/veripower --skill simulationgit clone --depth 1 https://github.com/chipweaver/veripowerWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00034 | $0.03138 |
| Opus 5 | $0.00017 | $0.01569 |
| Sonnet 5 | $0.00007 | $0.00628 |
| Haiku 4.5 | $0.00003 | $0.00314 |
Grade A, and why
simulation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 223 lines — stays where its author put it; the contents beside it link to each section on GitHub.
UVM Simulation
Your sole responsibility: turn this module's approved verification plan into a running UVM
testbench, establish that the checks in it verify what the plan asked for, and close the run
through the sim CLI. You do that as a dispatcher over three sequential sub-Tasks, gating each
time on what the wave left on disk rather than on what it says about itself.
You never author TB inline, never read the TB body, and never re-run heavy EDA: what you read is status files, envelopes and paths.
Iron Rule
- Write only under
{workdir}. Every injected input location is read-only, as is every other stage's output. - Scripts are black boxes, never Read their source. Invoke them per this skill's documented
command lines (flags via
--help); on a non-zero exit act on the documented failure protocol (stderr, stdout verdict), not the source. Sole exception: debugging a suspected bug in a script itself. - The DUT RTL is never the reference. No refmodel, scoreboard or checker may be written from reading RTL source: a golden model taken off the implementation mirrors its bugs and can never disagree with it, so a testbench built that way passes whatever the design does. RTL reaches this stage through the compile filelist and nowhere else.
What you read, and who writes the rest
<skill> is this skill's own base directory, named on the first line of this file.
{workdir}/dispatch.json carries the inputs table below, so <key> denotes a location and you
read <key>/<subpath>. None of it needs an existence check: the kernel dispatches you only once
each input's producer has recorded it and the fingerprint on disk still matches.
| Path | Use |
|---|---|
<scaffold>/tb-scaffold.json + <scaffold>/sequences.json |
The plan's judgment: which agent owns which interface_group, and what to run. agents / sequences / tests are what gets materialized into SV; testpoints[] carry the check semantics (inlined_check_hints[]), what each testpoint drives (intent) and what it should reach (bins). top names the DUT. A sub-Task input: you hand over the path. |
<plan>/verification-plan.md |
The human-readable plan the env-build child fills intent against. A sub-Task input; you hand over the path. |
<rtl>/rtl-files.json |
Per-child DUT file layout, which bootstrap turns into rtl_filelist.f. Schema: skills/rtl-design/references/rtl-files.schema.json. |
<spec>/top-io.json + <spec>/clocks.json |
The DUT boundary. bootstrap derives every vif signal, every clock generator and the reset polarity from these at render time — the scaffold does not restate them, so nothing you see in the TB can disagree with what specification declared. |
What ships with it
49 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
- defaults.yaml 953 B
- references/artifact-contract.md 2.3 KB
- references/conformance-fix-task-contract.md 2.2 KB
- references/conformance-review-task-contract.md 6.3 KB
- references/coverage-iteration.md 3.2 KB
- references/env-task-contract.md 12 KB
- references/inlined-check-hints.md 4.4 KB
- references/repair-boundaries.md 2.3 KB
- references/result.schema.json 2.9 KB
- references/verify-task-contract.md 5.1 KB
- scripts/sim/__init__.py 0 B runs code
- scripts/sim/__main__.py 4.8 KB runs code
- scripts/sim/_boundary.py 6.3 KB runs code
- scripts/sim/_filelist.py 2.3 KB runs code
- scripts/sim/_gate.py 5.6 KB runs code
- scripts/sim/_guards.py 3.3 KB runs code
- scripts/sim/_plan.py 1.2 KB runs code
- scripts/sim/_render.py 2.6 KB runs code
- scripts/sim/bootstrap.py 7.1 KB runs code
- scripts/sim/materialization.py 1.6 KB runs code
- scripts/sim/result.py 11 KB runs code
- scripts/sim/scaffold.py 21 KB runs code
- templates/infra/env.sh 1.1 KB runs code
- templates/infra/Makefile 1.6 KB
- templates/infra/scripts/dump.tcl 845 B
- templates/infra/scripts/parse_coverage.py 11 KB runs code
- templates/infra/scripts/run_vcs_regression.sh 5.1 KB runs code
- templates/infra/scripts/select_tests.py 1.1 KB runs code
- templates/infra/scripts/write_summary.py 6.5 KB runs code
- templates/infra/tb/uvm/seq/base_seq.sv 353 B
- templates/infra/tb/uvm/test/base_test.sv 1.6 KB
- templates/scaffold/agent_agent.sv 1.2 KB
- templates/scaffold/agent_driver.sv 1.3 KB
- templates/scaffold/agent_field_macros.svh 17 B
- templates/scaffold/agent_fields.svh 160 B
- templates/scaffold/agent_if.sv 783 B
- templates/scaffold/agent_monitor.sv 1.4 KB
- templates/scaffold/agent_signals.svh 169 B
- templates/scaffold/agent_txn.sv 722 B
- templates/scaffold/env.sv 978 B
- templates/scaffold/filelist.f 457 B
- templates/scaffold/reset.svh 621 B
- templates/scaffold/rule_rm.sv 1.7 KB
- templates/scaffold/scoreboard.sv 1.9 KB
- templates/scaffold/seq.sv 858 B
- templates/scaffold/tb_pkg.sv 600 B
- templates/scaffold/tb_sources.f 547 B
- templates/scaffold/tb_top.sv 1.3 KB
- templates/scaffold/test.sv 514 B
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 223 lines · 34 tokens per session scan A d660d8cdaae7
simulation is a skill published in the GitHub repository chipweaver/veripower (4 stars, last pushed 2d ago), licensed MIT. It adds 34 tokens to every session and 3,138 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
vdesign
Generate a design proposal, documentation, and RTL backbone from a requirement file.
varch
Decompose an IP requirement into submodules, define interfaces, and generate an architecture document plus per-module requirement files and a top-level skeleton.
vfill
Implement Verilog code from an approved design proposal, then lint and simulate.
vflow
Scan project state to determine phase completion, write flowstatus.md, and orchestrate the full RTL design flow from architecture to documentation.
vsynth
Synthesize a Verilog module or full IP with Vivado and report resource utilization, Fmax, and power.
vexplain
Generate documentation for any RTL module from Verilog source files.