PVS-Studio Static Analysis
SkillDev toolsLets your agent run PVS-Studio static analysis on TinyUSB code for a chosen board and get readable or SARIF reports.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the PVS-Studio Static Analysis skill
About this capability
Use when running PVS-Studio static analysis (SAST + MISRA C:2023 / C++:2008) on TinyUSB for a given board. Builds the examples with an exported compile_commands.json, runs pvs-studio-analyzer against .PVS-Studio/.pvsconfig, and emits readable + SARIF output.
What this skill tells your AI
The instructions your AI receives, as published by hathach/tinyusb in .claude/skills/pvs/SKILL.md and read by ahel’s review.
run_pvs.sh <BOARD> builds all examples for the board (with
compile_commands.json exported), runs pvs-studio-analyzer against
.PVS-Studio/.pvsconfig, then writes pvs-<board>.log and pvs-<board>.sarif
plus printed errorfile findings. Needs a license file or $PVS_STUDIO_CREDENTIALS.
.claude/skills/pvs/run_pvs.sh raspberry_pi_pico # whole project for a board
# Scope to specific files — -S takes a plaintext list (one path per line),
# NOT a source file directly. Extra args pass through to the analyzer.
printf 'src/tusb.c\nsrc/class/cdc/cdc_device.c\n' > /tmp/files.txt
.claude/skills/pvs/run_pvs.sh stm32f407disco -S /tmp/files.txt
Notes
- Board:
raspberry_pi_picomirrors CI (needs Pico SDK deps);stm32f407discois fastest (no external SDK). Any board works once its deps are fetched (python3 tools/get_deps.py -b <board>). .pvsconfigalready excludes vendored code and suppresses accepted MISRA deviations — don't re-add those on the command line. Survivingsrc/findings are genuinely new.- Timing is dominated by the build (deps may push it past a minute); the analysis pass is ~10-30 s. Use a timeout ≥ 10 min when deps must be fetched first.
--dump-filesis intentionally omitted — it scatters.PVS-Studio.i/.cfgdumps across the tree (FP-debugging only); add it back via the passthrough args.
After a run, summarize findings by rule/severity from the errorfile output and
point the user at pvs-<board>.sarif.
Signals
- GitHub stars
- 7k
- Forks
- 2k
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
pvs- Source
- github.com/hathach/tinyusb