VA

validate-binaries

Uses objdump to inspect binary files for specific CPU instruction sets like AVX-512 and reports pass or fail status.

Install

mkdir -p .claude/skills/validate-binaries && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/3242" && unzip -o skill.zip -d .claude/skills/validate-binaries && rm skill.zip

Installs to .claude/skills/validate-binaries

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.

Validate voxtype binaries for CPU instruction contamination. Use when checking release binaries for AVX-512 or GFNI instruction leaks that would crash on older CPUs.
165 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • →Inspect binary files for zmm registers
  • →Detect forbidden AVX-512 specific instructions (vpternlog, vpermt2)
  • →Identify GFNI instruction usage
  • →Report binary safety status based on CPU compatibility

How it works

It executes objdump to disassemble binaries and greps for specific instruction sets or register names that signify incompatible CPU requirements.

Inputs & outputs

You give it
Path to binary file
You get back
Pass/fail validation status report

When to use validate-binaries

  • →Checking AVX2 binary safety
  • →Validating Vulkan binary compatibility
  • →Hunting for forbidden CPU instructions
  • →Confirming AVX-512 optimization

About this skill

Validate Binaries

Verify that voxtype binaries don't contain forbidden CPU instructions that would cause crashes on older CPUs.

What This Checks

BinaryMust NOT haveMust have
baselinezmm, AVX-512 EVEX, GFNI; must pass QEMU v2 inference-
AVX2zmm registers, AVX-512 EVEX, GFNI-
Vulkanzmm registers, AVX-512 EVEX, GFNI-
AVX-512-zmm registers (confirms optimization)

The baseline binary has a lower floor (x86-64-v2) and its own failure class. #740: a baseline build whose ggml half escaped the toolchain file passed every AVX-512 check, loaded models fine, and SIGILLed on shrx at the first inference on real Ivy Bridge.

No static count can gate the v2 floor. A correct baseline binary legitimately contains ~370 BMI2 instructions (ring's CPUID-dispatched assembly: bn_mulx4x_mont, the chacha20 AVX2 path, curve25519 ADX) and ~1800 FMA (rustfft's runtime-dispatched AVX kernels). #740's ggml contamination added only ~60 BMI2 on top of ring's baseline - inside the noise. Treat the counts as a drift alarm.

The decisive test is behavioral: real inference on a v2-modeled CPU. CI does this under qemu-x86_64-static -cpu Nehalem (see build-linux.yml) - TCG genuinely cannot decode out-of-floor instructions, and the rc4 binary reproducibly SIGILLs there while a correct build transcribes. Locally, the voxtype-ivybridge VM in CLAUDE.local.md tests the true hardware path. Either way the test must include transcribe <wav>, not just --version or setup check: model load succeeds on a contaminated build, and only the first ggml matmul executes the bad code.

Forbidden Instructions

  • zmm registers - 512-bit AVX-512 registers
  • vpternlog, vpermt2, vpblendm - AVX-512 specific
  • {1to4}, {1to8}, {1to16} - AVX-512 broadcast syntax
  • vgf2p8, gf2p8 - GFNI instructions (not on Zen 3)

Usage

When asked to validate binaries:

  1. Determine the version from context or ask
  2. Find binaries in releases/${VERSION}/
  3. Run objdump checks on each binary
  4. Report pass/fail for each

Validation Commands

# Set version
VERSION=0.4.14

# Check AVX2 binary (should be 0 for all)
echo "=== AVX2 Binary ==="
objdump -d releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-avx2 | grep -c zmm || echo "zmm: 0"
objdump -d releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-avx2 | grep -cE 'vpternlog|vpermt2|vpblendm' || echo "AVX-512 ops: 0"
objdump -d releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-avx2 | grep -cE 'vgf2p8|gf2p8' || echo "GFNI: 0"

# Check Vulkan binary (should be 0 for all)
echo "=== Vulkan Binary ==="
objdump -d releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-vulkan | grep -c zmm || echo "zmm: 0"
objdump -d releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-vulkan | grep -cE 'vgf2p8|gf2p8' || echo "GFNI: 0"

# Check AVX-512 binary (should be > 0)
echo "=== AVX-512 Binary ==="
objdump -d releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-avx512 | grep -c zmm

# Check baseline binary (zmm must be 0; BMI2/FMA are drift alarms, see #740:
# ~370 BMI2 from ring and ~1800 FMA from rustfft are expected and safe)
echo "=== Baseline Binary ==="
objdump -d releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-baseline | grep -c zmm || echo "zmm: 0"
objdump -d releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-baseline | grep -cP '\t(shrx|sarx|shlx|mulx|pdep|pext|bzhi|rorx)[ \t]' || echo "BMI2: 0"

# Behavioral check on a v2-modeled CPU (the only conclusive test):
# REAL INFERENCE, not just --version - model load succeeds on a broken build.
qemu-x86_64-static -cpu Nehalem releases/${VERSION}/voxtype-${VERSION}-linux-x86_64-baseline transcribe tests/fixtures/vad/speech_hello.wav

Interpreting Results

PASS conditions:

  • AVX2: All counts are 0
  • Vulkan: All counts are 0
  • AVX-512: zmm count > 0

FAIL conditions:

  • AVX2 or Vulkan has any zmm/GFNI instructions
  • AVX-512 has 0 zmm instructions (not optimized)

If validation fails, the Docker build cache is likely stale. Recommend:

docker compose -f docker-compose.build.yml build --no-cache avx2 vulkan

When not to use it

  • →When checking source code rather than compiled binaries
  • →When validating non-x86_64 architectures

Prerequisites

Bash shellObjdump utility

Limitations

  • →Relies on binary disassembly accuracy
  • →Requires knowledge of which CPU instruction sets are forbidden for the target hardware

How it compares

It provides an automated check for hardware compatibility issues rather than relying on runtime crash logs.

Compared to similar skills

validate-binaries side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
validate-binaries (this skill)18moReviewIntermediate
equilateral-agents511moNo flagsIntermediate
dynamic-instrumentation38moReviewAdvanced
secrets-manager18moCautionBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

equilateral-agents

Equilateral-AI

22 production-ready AI agents with database-driven orchestration for security reviews, code quality analysis, deployment validation, infrastructure checks, and compliance. Auto-activates for security concerns, deployment tasks, code reviews, quality checks, and compliance questions. Includes upgrade paths to enterprise features (GDPR, HIPAA, multi-account AWS, ML-based optimization).

564

dynamic-instrumentation

gmh5225

Expertise in LLVM-based dynamic binary instrumentation, runtime tracing, and program monitoring. Use this skill when implementing runtime analysis tools, code coverage systems, profilers, or dynamic security monitors.

313

secrets-manager

itsmostafa

AWS Secrets Manager for secure secret storage and rotation. Use when storing credentials, configuring automatic rotation, managing secret versions, retrieving secrets in applications, or integrating with RDS.

16

vertex-engine-inspector

jeremylongshore

Execute inspect and validate Vertex AI Agent Engine deployments including Code Execution Sandbox, Memory Bank, A2A protocol compliance, and security posture. Generates production readiness scores. Use when asked to "inspect agent engine" or "validate depl... Trigger with relevant phrases based on skill purpose.

00

swarm-act

ethersphere

Guide to Swarm ACT encryption and access control: create grantees, upload protected data, grant/revoke access, and troubleshoot not-found/history issues.

00

azure-artifact-signing

orgdevendra

Expert knowledge for Azure Artifact Signing development including best practices, decision making, security, configuration, and integrations & coding patterns. Use when managing signing cert lifecycle, RBAC roles, DGSSv2 migration, diagnostic logs, or CI/CD signing workflows, and other Azure Artifac

00

Search skills

Search the agent skills registry