BF

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.zip

Installs 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.
150 chars✓ has a “when” trigger
Advanced

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

You give it
Peripheral name, duration, and optional specific registers
You get back
CSV file containing captured register values

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.md and/or BFD-Kit/.learnings/LEARNINGS.md; unresolved capability gaps go to BFD-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.md and mention the improvement in the task close-out.

Use this skill to capture register evidence with repeatable scripts.

Quick Start

  1. Run bootstrap profile first.
  2. Select peripheral and register set.
  3. 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

  1. Run bootstrap profile.
  2. Define peripheral and registers.
  3. Run short validation capture.
  4. 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-init
  • bfd-debug-executor
  • bfd-rtt-logger
  • bfd-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

bootstrap profile

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.

SkillInstallsUpdatedSafetyDifficulty
bfd-register-capture (this skill)05moReviewAdvanced
nrf52840-platformio03moReviewAdvanced
unreal-engine-cpp-pro434moNo flagsAdvanced
llvm-tooling16moReviewAdvanced

Try saying

Example prompts that trigger this skill in your AI assistant.

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

00

unreal-engine-cpp-pro

sickn33

Expert guide for Unreal Engine 5.x C++ development, covering UObject hygiene, performance patterns, and best practices.

43117

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.

126

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.

518

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.

415

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.

116

Search skills

Search the agent skills registry