Borrowing it
Nothing to install: this file belongs to sean-galloway/RTLDesignSherpa. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/sean-galloway/RTLDesignSherpa/main/.claude/skills/fsm-discipline/SKILL.mdgit clone --depth 1 https://github.com/sean-galloway/RTLDesignSherpaWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sean-galloway/rtldesignsherpa/fsm-discipline)<a href="https://agentmods.dev/skills/sean-galloway/rtldesignsherpa/fsm-discipline"><img src="https://agentmods.dev/badge/skills/sean-galloway/rtldesignsherpa/fsm-discipline/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/sean-galloway/rtldesignsherpa/fsm-discipline"><img src="https://agentmods.dev/badge/skills/sean-galloway/rtldesignsherpa/fsm-discipline.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What 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.1 | $0.00038 | $0.00441 |
| Opus 5 | $0.00019 | $0.00220 |
| Sonnet 5 | $0.00008 | $0.00088 |
| Haiku 4.5 | $0.00004 | $0.00044 |
Grade A, and why
fsm-discipline 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 11d ago.
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.
What it actually says
fsm-discipline
READ FIRST: vault/handbook/INDEX.md (the handbook is the repo's memory; this skill is the signpost). Canonical: vault/handbook/design/streaming-no-fsm.md (the datapath rule) and vault/handbook/design/minimal-fsm.md (the control-path rule).
Two rules, and the first is absolute:
1. No FSM in the per-beat data path. Not a minimal one, not a two-state one.
Datapath blocks are valid/ready pipelines: s_ready = !r_valid || m_ready,
register the beat, propagate backpressure. An FSM there caps throughput at one
beat per state visit, and forces a separate correctness argument per state for
m_ready deasserting mid-beat — which is where the bugs that reach silicon live.
2. Where an FSM IS right — control paths: descriptor lifecycle, schedulers, init sequencers, error recovery — keep it minimal. Fewest states carrying real distinctions; two-process form with a default-hold; one FSM per module.
The dividing question is not "is this complicated?" but "does this logic see per-beat data?" If yes, it is datapath, and it gets a pipeline.
Before minimizing a machine, ask whether it should exist. The handbook note has
the substitution table (counter for a waiting state, r_valid for a mid-burst
state, arbiter for a turn-taking state) and the pumice precedent, where retiring
whole FSMs into counters plus qualifiers came out both simpler and faster.
The handbook root is vault/handbook/INDEX.md - design/, dv/, fpga/, authoring/ areas, atomic notes, wikilinked. When you learn a durable lesson in this domain, ADD IT TO THE HANDBOOK NOTE, not to this skill.
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.
- 11d ago First seen · 35 lines · 38 tokens per session scan A ee87c07cea61
fsm-discipline is a skill published in the GitHub repository sean-galloway/RTLDesignSherpa (23 stars, last pushed today), licensed MIT. It adds 38 tokens to every session and 441 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-30.
Other skills, from other repositories
readable-verilog-generator
Use when creating, writing, reviewing, annotating, repairing, refactoring, or validating readable Verilog RTL, including synthesizable Verilog-2001 .v files, existing-RTL analysis, semantic comment annotation, testbench scaffold planning, ASIC-quality review, local or remote Vivado/xsim validation, evidence-backed…
rtl-p3-uarch-policy
Internal reference: rtl p3 uarch policy (agent-loaded; do not invoke).
p1-spec-research-policy
Internal reference: p1 spec research policy (agent-loaded; do not invoke).
codec-conformance-eval
Evaluate C ref-model decoder against JVET/JCTVC conformance bitstreams (bitexact/MD5) — 'decoder conformance'; C-level, not RTL (rtl-conformance-test).
codec-rd-eval
Encoder RD evaluation of C ref model: BD-PSNR/BD-rate (VCEG-M33) across sequences/QPs — 'RD eval', 'BD-rate', codec algorithm quality comparison.
domain-consult
Route domain questions to the best expert agent: codec standards, video/signal processing, fixed-point math, HW protocols. Trigger: 'consult domain expert'.