bfd-register-capture
Tool for sampling and tracking STM32 peripheral register states during hardware analysis.
Install
mkdir -p .claude/skills/bfd-register-capture && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/11712" && unzip -o skill.zip -d .claude/skills/bfd-register-capture && rm skill.zipInstalls to .claude/skills/bfd-register-capture
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Use when sampling STM32 peripheral registers, tracking register changes over time, or exporting register snapshots to CSV for hardware-state analysis.Key capabilities
- →Capture STM32 peripheral register values
- →Track register changes over time
- →Export register snapshots to CSV files
- →Perform fast status checks for peripherals
- →Conduct high-frequency batch captures
How it works
The skill executes scripts to capture register values for specified STM32 peripherals over a duration. It can target specific registers and output the data to CSV files.
Inputs & outputs
When to use bfd-register-capture
- →Debug hardware peripherals
- →Track register changes
- →Export hardware state for analysis
- →Monitor register status
About this skill
BFD Register Capture
Self-Improvement Loop (Required)
- When this skill encounters a build, flash, debug, script-usage, or other workflow problem, do not stop at the local workaround after the issue is solved.
- Record the resolved issue and lesson in
BFD-Kit/.learnings/ERRORS.mdand/orBFD-Kit/.learnings/LEARNINGS.md; unresolved capability gaps go toBFD-Kit/.learnings/FEATURE_REQUESTS.md. - Promote reusable fixes into the affected BFD-Kit asset in the same task when feasible: update the relevant
SKILL.md, script, wrapper, or resource so the next run benefits by default. - When a learning is promoted into a skill or script, append a short entry to
BFD-Kit/.learnings/CHANGELOG.mdand mention the improvement in the task close-out.
Use this skill to capture register evidence with repeatable scripts.
Quick Start
- Run bootstrap profile first.
- Select peripheral and register set.
- Capture short first, then extend duration.
Core Commands
# 0) Bootstrap profile (required)
python3 ./.codex/skills/bfd-project-init/scripts/bootstrap.py --project-root . --mode check
# USART1, 1 second
./.codex/skills/bfd-register-capture/scripts/capture_registers.sh -p USART1 -d 1 -o logs/debug/usart1_1s.csv
# FDCAN1 key status registers
./.codex/skills/bfd-register-capture/scripts/capture_registers.sh -p FDCAN1 -r CCCR,PSR,ECR,IR,TXBRP,RXF0S -d 5 -o logs/debug/fdcan1_status.csv
# Fast status check
./.codex/skills/bfd-register-capture/scripts/capture_registers.sh -p FDCAN1 -s
# High-frequency batch capture
./.codex/skills/bfd-register-capture/scripts/jlink_batch_capture.sh USART1 10 logs/debug/usart1_batch.csv
Workflow
- Run bootstrap profile.
- Define peripheral and registers.
- Run short validation capture.
- Run production capture and export CSV.
Hard Rules
- Fail-fast if bootstrap profile is missing.
- Save final captures under
logs/debug/. - Do not sample unknown peripheral addresses.
- Treat zero-sample output as failed capture.
Scripts
.codex/skills/bfd-register-capture/scripts/capture_registers.sh.codex/skills/bfd-register-capture/scripts/capture_registers.ps1.codex/skills/bfd-register-capture/scripts/jlink_batch_capture.sh.codex/skills/bfd-register-capture/scripts/jlink_fast_capture.py
Related Skills
bfd-project-initbfd-debug-executorbfd-rtt-loggerbfd-data-acquisition
When not to use it
- →When sampling unknown peripheral addresses
- →When zero-sample output is acceptable as a successful capture
- →When the bootstrap profile is missing
Prerequisites
Limitations
- →Must run bootstrap profile first
- →Final captures must be saved under `logs/debug/`
- →Does not sample unknown peripheral addresses
How it compares
This skill provides repeatable scripts for capturing STM32 peripheral register evidence and exporting it to CSV, offering a structured approach to hardware-state analysis compared to manual debugging.
Compared to similar skills
bfd-register-capture side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| bfd-register-capture (this skill) | 0 | 5mo | Review | Advanced |
| nrf52840-platformio | 0 | 3mo | Review | Advanced |
| unreal-engine-cpp-pro | 43 | 4mo | No flags | Advanced |
| llvm-tooling | 1 | 6mo | Review | Advanced |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by Sonder4
View all by Sonder4 →You might also like
nrf52840-platformio
the78mole
Build, flash, and debug nRF52840 projects with PlatformIO and the Adafruit BSP. Use when: setting up PlatformIO for nRF52840-DK, flashing via J-Link, restoring SoftDevice and Bootloader, understanding the flash memory layout, fixing 'pulsing LED' DFU mode, using firmware_signature.bin, selective app
unreal-engine-cpp-pro
sickn33
Expert guide for Unreal Engine 5.x C++ development, covering UObject hygiene, performance patterns, and best practices.
llvm-tooling
gmh5225
Expertise in LLVM tooling development including Clang plugins, LLDB debugger extensions, Clangd/LSP, and LibTooling. Use this skill when building source code analysis tools, refactoring tools, debugger extensions, or IDE integrations.
static-analysis
gmh5225
Expertise in LLVM-based static analysis including dataflow analysis, pointer analysis, taint tracking, and program verification. Use this skill when implementing security scanners, bug finders, code quality tools, or performing program analysis research.
memory-safety-patterns
sickn33
Implement memory-safe programming with RAII, ownership, smart pointers, and resource management across Rust, C++, and C. Use when writing safe systems code, managing resources, or preventing memory bugs.
debug-lldb
regenrek
Capture and analyze thread backtraces with LLDB/GDB to debug hangs, deadlocks, UI freezes, IPC stalls, or high-CPU loops across any language or project. Use when an app becomes unresponsive, switching contexts stalls, or you need thread stacks to locate lock inversion or blocking calls.