AgentStack
SKILL verified MIT Self-run

Cbindgen Verify

skill-gertsylvest-meta-team-cbindgen-verify · by gertsylvest

Regenerate a C header from a Rust crate via cbindgen and diff it against the committed header. Fails if the generated output differs — catches "Rust signature changed but the C header was not regenerated" before it reaches the C side.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-gertsylvest-meta-team-cbindgen-verify

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README — it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-gertsylvest-meta-team-cbindgen-verify)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
1mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Cbindgen Verify? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

cbindgen Verify

When a Rust crate exposes a C ABI for use by a C/C++ host (the audio driver, a JUCE plugin shell, an Emscripten-built worklet host), the C header is generated from the Rust source by cbindgen and committed to the repo so C consumers do not need Cargo installed.

This skill regenerates the header from the current Rust source and diffs it against the committed file. Any drift means the Rust ABI has been changed without updating the header — a class of bug that otherwise surfaces only when the C side fails to link or, worse, links against a stale header and produces UB at runtime.

Requirements

  • cbindgen — install via cargo install --force cbindgen.
  • A cbindgen.toml config file in the crate directory (cbindgen's standard convention).
  • The committed C header to compare against.

Instructions

The arguments are in $ARGUMENTS. Pass them directly to the verify script:

bash "$(dirname "$0")/verify.sh" $ARGUMENTS

Argument 1 is the crate directory (containing Cargo.toml and cbindgen.toml). Argument 2 is the path to the committed header.

Output sections

| Section | What it reports | |---|---| | CBINDGEN | Whether cbindgen ran successfully | | DIFF | Unified diff between regenerated and committed headers, or PASS if identical |

Typical usage

# Verify a single crate's header
bash verify.sh ./rust/audio-dsp ./include/audio_dsp.h

# As a pre-commit hook
bash verify.sh ./rust/audio-dsp ./include/audio_dsp.h || {
  echo "C header out of date — regenerate with: cbindgen --config rust/audio-dsp/cbindgen.toml --crate audio-dsp --output include/audio_dsp.h"
  exit 1
}

What to look for

  • DIFF showing added/removed functions — the Rust public ABI changed; either the change is intentional (regenerate and commit the new header, notify the c-audio-engineer) or accidental (revert the Rust change).
  • DIFF showing changed signatures — a parameter type, return type, or struct field changed. This is a breaking change for the C side regardless of whether the new layout is binary-compatible. Coordinate with the c-audio-engineer before regenerating.
  • DIFF showing only comment or whitespace changes — usually a cbindgen version mismatch between the developer who committed the header and the CI environment. Pin cbindgen's version in the project (e.g. cargo install --version X.Y.Z cbindgen) to eliminate the drift.

When to skip

Do not skip. The cost of running it is sub-second; the cost of a stale header is silent UB.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.