From rtl-agent-team
Verifies RTL H.264/H.265 codec conformance via simulation and bitexact bitstream comparison against JM/HM references using Bash CLI and Python scripts.
npx claudepluginhub babyworm/rtl-agent-team --plugin rtl-agent-teamThis skill uses the workspace's default tool permissions.
<Purpose>
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
<Use_When>
<Do_Not_Use_When>
<Why_This_Exists> Standards compliance cannot be inferred from internal verification. JM/HM produce the normative reference bitstreams. Bitexact match is the only accepted evidence of conformance for codec IP. </Why_This_Exists>
<Coding_Convention_Requirements> Conformance testbenches and simulation wrappers MUST follow project conventions (CLAUDE.md):
i_ prefix for inputs, o_ prefix for outputs (e.g., i_pixel_data, o_bitstream)clk (single domain) or {domain}_clk (multiple domains, e.g., sys_clk) — NOT clk_irst_n (single domain) or {domain}_rst_n (multiple domains, e.g., sys_rst_n) — NOT rst_niu_dut or u_ prefixskills/rtl-conformance-test/scripts/conformance_compare.py for bitexact comparisonskills/rtl-conformance-test/templates/golden-metadata.json for stream metadatalogic only (NOT reg/wire)
</Coding_Convention_Requirements><Execution_Policy>
cmp -l rtl_output.bin jm_output.bin<Tool_Usage>
Task(subagent_type="rtl-agent-team:vcodec-syntax-entropy-expert",
prompt="Select H.264 conformance test vectors applicable to CABAC encoder. List vector files and JM version to use.")
Task(subagent_type="rtl-agent-team:eda-runner",
prompt="Run RTL conformance simulation via Bash CLI for each vector in sim/conformance/vectors/*.yuv. Compile and run: scripts/run_sim.sh --sim iverilog --top tb_cabac_conformance --outdir sim/conformance --trace rtl/cabac_encoder/cabac_encoder.sv sim/top/tb_cabac_conformance.sv. Compare output bitstreams with JM 19.0 reference: cmp -l sim/conformance/rtl_output.bin sim/conformance/ref/jm_output.bin. Report PASS/FAIL per vector.")
Task(subagent_type="rtl-agent-team:func-verifier",
prompt="Validate sim/conformance/results.json: verify all vectors ran, all have status, any FAIL has byte offset and divergence details.")
</Tool_Usage>
500 conformance vectors; RTL simulation uses `sys_clk` and `i_pixel_data`/`o_bitstream` correctly; 498 PASS; 2 FAIL at byte offset 1024 (CABAC flush sequence); vcodec-syntax-entropy-expert identifies spec section 9.3.4.6; RTL fix applied; re-run all 500 PASS. Accepting 99% bitexact match — codec standards require 100% bitexact; partial match means non-conformant. Using `data_i` (suffix convention) in conformance testbench — violates project conventions (use `i_data` prefix). Bare `clk` is valid for single-domain designs.<Escalation_And_Stop_Conditions>
10 vectors fail → likely systemic issue; escalate to ref-model for model review before RTL debug
<Final_Checklist>
i_/o_ prefix, {domain}_clk/{domain}_rst_n)Block-level conformance for decoders: When the design is a video codec decoder,
read domain-packages/video-codec/knowledge/block-level-conformance.md for the cross-phase
verification chain. In addition to end-to-end bitexact comparison, verify that each RTL
processing block (CABAC, inverse TQ, prediction, reconstruction, deblocking, SAO) produces
output matching the C reference model at block boundaries. This catches bugs localized to
specific pipeline stages that end-to-end comparison alone may mask through error cancellation.