seam-probe

Solid

Use this skill to test, validate, fuzz, or debug a process boundary ("seam") that exposes itself as an FFI dynamic library or a Unix-domain socket — for example probing a Rust runtime hosted in a Swift or Electron app via its C ABI, or sending crafted length-prefixed frames to a daemon's UDS endpoint. The skill teaches how to drive the probe from the CLI, capture both the probe's NDJSON output AND the system- under-test's stderr/logs, and triage failures by correlating the two streams. Reach for it when the user asks to "probe", "fuzz", "exercise", "test the FFI surface", "test the socket protocol", "send raw frames", "discover what a dylib exports", "find a bug in the runtime", "reproduce a crash", or "see why the seam panics or hangs".

Code & Development 11 stars 0 forks Updated today MIT

Install

View on GitHub

Quality Score: 82/100

Stars 20%
36
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# seam-probe `seam-probe` is a **generic** NDJSON probe for embedded-runtime seams. It ships **zero** app-specific knowledge. Everything app-specific is expressed in a small JSON **manifest** that the user (or you) writes and hands to the binary. There are two real seams in this skill's world: | Seam | What it is | Probe mode | | --------------- | ----------------------------------------------------- | --------------- | | FFI dylib | dlopen + extern "C" entry points + callback struct | `seam-probe ffi` | | UDS endpoint | Unix-domain socket carrying length-prefixed frames | `seam-probe socket` | Plus two utility modes that need no manifest: | Utility | What it does | | ---------------- | ----------------------------------------------------- | | `inspect` | Dump exported symbols of a dylib (Mach-O / ELF / PE) | | `vocab` | Print the stdin/stdout NDJSON contract verbatim | ### Scope: what counts as a "seam" The probe handles **dynamically-loaded native code** (FFI mode) and **Unix-domain sockets carrying byte frames** (socket mode). Concretely in scope: - `.dylib` (Mach-O), `.so` (ELF), `.dll` (PE) loaded via `dlopen` / `LoadLibrary`. The library must export an `extern "C"` lifecycle function and accept a plain C-ABI callback struct. - Unix-domain stream sockets with `be32` / `be64` / `varint` framing, or no framing at a...

Details

Author
johnkozaris
Repository
johnkozaris/jko-claude-plugins
Created
4 months ago
Last Updated
today
Language
Rust
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category