Odin Native

Odin Native from OutlineDriven/odin-claude-plugin.

Skills in this plugin

118
  1. Cross Gcc · outlinedriven-odin-claude-plugin bundle
    Use when compiling for ARM, AArch64, RISC-V, or MIPS from x86-64 with a GCC cross toolchain: triplets, sysroots, pkg-config, CMake toolchain files, QEMU. Not for Zig: use zig-cross.
    0 installs
  2. Ebpf Rust · outlinedriven-odin-claude-plugin bundle
    Use when writing eBPF programs in Rust with aya-ebpf and aya-log, declaring maps, sharing them with a tokio user-space loader, or debugging an Aya load failure. Not for C and libbpf: use ebpf.
    0 installs
  3. Hare Lang · outlinedriven-odin-claude-plugin bundle
    Use when building or evaluating a Hare program: hare build, run, or test, tagged-union error handling, or calling C through bodyless fn declarations and -l. Not for Zig or C: use zig-cinterop or gcc.
    0 installs
  4. Heaptrack · outlinedriven-odin-claude-plugin bundle
    Use when tracking heap allocations on Linux with heaptrack: allocation hotspots, peak heap, temporary allocations, leaks, or a diff of two runs via heaptrack_print. Not for heap errors: use valgrind.
    0 installs
  5. Core Dumps · outlinedriven-odin-claude-plugin bundle
    Use when loading core files in GDB or LLDB, enabling core dump generation via ulimit or coredumpctl, mapping symbols with debuginfod, or extracting backtraces from production segfaults.
    0 installs
  6. Linux Perf · outlinedriven-odin-claude-plugin bundle
    Use when collecting sampling profiles with perf record, reading perf report or perf annotate, or measuring counters with perf stat on Linux. Not for SVG rendering: use flamegraphs.
    0 installs
  7. Rdma Verbs · outlinedriven-odin-claude-plugin bundle
    Use when programming InfiniBand or RoCE with libibverbs: device setup, memory registration, queue pairs, send/recv or RDMA write, completion polling, or perftest benchmarks. Not for MPI: use mpi.
    0 installs
  8. Rust Cross · outlinedriven-odin-claude-plugin bundle
    Use when building Rust binaries for a different target architecture or OS, using cross or cargo-zigbuild, configuring .cargo/config.toml, or targeting embedded bare-metal.
    0 installs
  9. Sanitizers · outlinedriven-odin-claude-plugin bundle
    Use when enabling or interpreting ASan, UBSan, TSan, MSan, LSan, or HWASan with GCC or Clang, or reading sanitizer reports. Not for fuzz target setup: use fuzzing.
    0 installs
  10. Carbon Lang · outlinedriven-odin-claude-plugin bundle
    Use when evaluating Carbon for a C++ code base, running the carbon toolchain from a nightly or Bazel build, or comparing Carbon with staying on C++. Not for C++ modules: use cpp-modules.
    0 installs
  11. Conan Vcpkg · outlinedriven-odin-claude-plugin bundle
    Use when adding C/C++ dependencies with Conan or vcpkg, managing binary compatibility, integrating with CMake via conanfile.txt or vcpkg.json, or choosing between Conan and vcpkg.
    0 installs
  12. Cpp Modules · outlinedriven-odin-claude-plugin bundle
    Use when a C++ project adopts C++20 modules: named modules, partitions, header units, the global module fragment, CMake CXX_MODULES, or a BMI lookup error. Not for flag basics: use clang.
    0 installs
  13. Device Tree · outlinedriven-odin-claude-plugin bundle
    Use when writing DTS/DTSI, bindings, overlays, phandles, or debugging OF platform probe failures. Not for probe and remove code: use platform-device-model.
    0 installs
  14. Flamegraphs · outlinedriven-odin-claude-plugin bundle
    Use when turning perf, DTrace, pprof, or async-profiler stacks into an SVG flamegraph with the FlameGraph scripts, reading one, or diffing two profiles. Not for collecting data: use linux-perf.
    0 installs
  15. Linkers Lto · outlinedriven-odin-claude-plugin bundle
    Use when choosing a linker, fixing link order or undefined symbol errors, enabling LTO or ThinLTO, or cutting dead code with --gc-sections. Not for inspecting the linked binary: use elf-inspection.
    0 installs
  16. Llvm Passes · outlinedriven-odin-claude-plugin bundle
    Use when writing an LLVM pass plugin, registering it for opt -passes, using DominatorTree or LoopInfo, or testing with FileCheck and lit. Not for reading IR: use llvm-ir-and-passes.
    0 installs
  17. Rust No Std · outlinedriven-odin-claude-plugin bundle
    Use when writing #![no_std] Rust crates, using core and alloc without std, selecting panic handlers, or testing no_std code on the host.
    0 installs
  18. Rust Unsafe · outlinedriven-odin-claude-plugin bundle
    Use when writing, reviewing, or auditing unsafe Rust, or understanding raw pointers, transmute, UnsafeCell, and safe abstractions over unsafe code.
    0 installs
  19. Triton Lang · outlinedriven-odin-claude-plugin bundle
    Use when writing Triton kernels with @triton.jit, tl.load and tl.store with masking, tl.atomic_add, autotuning, benchmarking, or integrating kernels into PyTorch. Not for raw CUDA: use cuda.
    0 installs
  20. Zig Testing · outlinedriven-odin-claude-plugin bundle
    Use when writing or running Zig tests: test blocks, zig test, filters, std.testing assertions, the leak-detecting allocator, comptime tests, or the fuzzer. Not for build.zig: use zig-build-system.
    0 installs
  21. Assembly Arm · outlinedriven-odin-claude-plugin bundle
    Use when reading or writing AArch64 or AArch32 Thumb assembly, inline asm in C, AAPCS64 register roles, or NEON and SVE vector code. Not for ABI detail across ISAs: use abi-and-calling-conventions.
    0 installs
  22. Assembly X86 · outlinedriven-odin-claude-plugin bundle
    Use when reading GCC or Clang x86-64 assembly, writing inline asm, decoding AT&T syntax, or applying System V AMD64 register rules. Not for SIMD intrinsic selection: use simd-intrinsics.
    0 installs
  23. Dwarf Expert · outlinedriven-odin-claude-plugin bundle
    Use when inspecting, searching, verifying, or parsing DWARF debug info: DIEs, DW_TAG_/DW_AT_ entries, .debug_* sections, line tables, or llvm-dwarfdump/readelf output.
    0 installs
  24. Interpreters · outlinedriven-odin-claude-plugin bundle
    Use when designing bytecode dispatch loops, choosing stack or register VM shapes, adding inline caches, or building a first JIT with mmap. Not for a language toolchain: use compiler-frontend.
    0 installs
  25. Memory Model · outlinedriven-odin-claude-plugin bundle
    Use when choosing memory orderings for C++ or Rust atomics, reasoning about happens-before, writing lock-free patterns, or diagnosing data races. Not for lock-based design: use kernel-concurrency.
    0 installs
  26. Openocd Jtag · outlinedriven-odin-claude-plugin bundle
    Use when configuring OpenOCD for a JTAG or SWD target, flashing through it, attaching GDB to a bare-metal MCU, or setting hardware breakpoints and watchpoints. Not for probe-rs: use embedded-rust.
    0 installs
  27. Rustc Basics · outlinedriven-odin-claude-plugin bundle
    Use when selecting RUSTFLAGS, configuring Cargo profiles, tuning release builds, reading assembly or MIR output, understanding monomorphization, or diagnosing compilation errors.
    0 installs
  28. Zig Cinterop · outlinedriven-odin-claude-plugin bundle
    Use when Zig code calls C or C code calls Zig: @cImport, translate-c, C type mapping, extern and packed structs, export fn, opaque handles, or a mixed C and Zig build. Not for Rust FFI: use rust-ffi.
    0 installs
  29. Zig Compiler · outlinedriven-odin-claude-plugin bundle
    Use when invoking zig directly: build-exe, build-lib, optimize modes, zig cc as a C compiler, emit flags, ast-check, fmt, or a Zig compile error. Not for build.zig projects: use zig-build-system.
    0 installs
  30. Zig Comptime · outlinedriven-odin-claude-plugin bundle
    Use when Zig code needs compile-time evaluation: comptime parameters, generic types, anytype, @typeInfo reflection, comptime tables, or a ported C++ template pattern. Not for C++: use cpp-templates.
    0 installs
  31. Apple Silicon · outlinedriven-odin-claude-plugin bundle
    Use when tuning or profiling native code on Apple M-series Macs: unified memory, 16 KiB pages, Accelerate and Metal for matrix work, xctrace and leaks, Rosetta 2, or sysctl hardware queries.
    0 installs
  32. Cpp Templates · outlinedriven-odin-claude-plugin bundle
    Use when a C++ template error needs decoding, a template needs a concept or requires-clause instead of SFINAE, or template instantiation is slowing compilation. Not for C++20 modules: use cpp-modules.
    0 installs
  33. Cpu Cache Opt · outlinedriven-odin-claude-plugin bundle
    Use when diagnosing cache misses with perf, fixing false sharing, choosing AoS or SoA layout, or adding software prefetch. Not for cache theory: use memory-hierarchy-and-caches.
    0 installs
  34. Dma Baremetal · outlinedriven-odin-claude-plugin bundle
    Use when configuring DMA channels, circular buffer mode, double buffering, memory-to-peripheral transfers, or DMA IRQ completion on bare-metal MCUs. Not for cache theory: use cpu-cache-opt.
    0 installs
  35. Embedded Rust · outlinedriven-odin-claude-plugin bundle
    Use when writing no_std Cortex-M or RISC-V firmware in Rust with cortex-m-rt, probe-rs, defmt, RTIC, or a panic handler. Not for no_std library constraints: use rust-no-std.
    0 installs
  36. Production Go · outlinedriven-odin-claude-plugin bundle
    Use when writing, reviewing, debugging, or architecting Go code. Routes by project type and topic to conventions and reference chapters, then verifies with toolchain gates and unseen behavioral tests.
    0 installs
  37. Rust Security · outlinedriven-odin-claude-plugin bundle
    Use when auditing Rust dependencies for vulnerabilities, enforcing license and source policies with cargo-deny, reviewing RUSTSEC advisories, or fuzzing and testing unsafe code for security.
    0 installs
  38. Strace Ltrace · outlinedriven-odin-claude-plugin bundle
    Use when a binary misbehaves without crashing and the question is which file, socket, syscall, or library call fails: strace for syscalls, ltrace for library calls. Not for stepping: use gdb.
    0 installs
  39. Wasm Wasmtime · outlinedriven-odin-claude-plugin bundle
    Use when running WASM with the wasmtime CLI, embedding wasmtime in Rust, limiting execution with fuel, or building WASI preview2 components. Not for browser targets: use wasm-emscripten.
    0 installs
  40. Zig Debugging · outlinedriven-odin-claude-plugin bundle
    Use when a Zig program panics, returns an error trace, or needs stepping in GDB or LLDB, print or std.log tracing, or a comptime value printed. Not for compiler flags: use zig-compiler.
    0 installs
  41. Assembly Riscv · outlinedriven-odin-claude-plugin bundle
    Use when reading or writing RV32/RV64 assembly, inline asm in C, the RISC-V psABI, IMAFD extension naming, compressed instructions, or QEMU RISC-V debugging.
    0 installs
  42. Cpp Coroutines · outlinedriven-odin-claude-plugin bundle
    Use when working with C++20 co_await, co_yield, and co_return, implementing promise_type, sizing coroutine frames, or debugging suspended coroutines in GDB. Not for Rust async: use idiomatic-rust.
    0 installs
  43. Cuda Debugging · outlinedriven-odin-claude-plugin bundle
    Use when debugging CUDA with cuda-gdb or Compute Sanitizer, reading GPU core dumps, using device printf, or triaging error codes 700, 701, 702, and 719. Not for performance: use cuda-profiling.
    0 installs
  44. Cuda Profiling · outlinedriven-odin-claude-plugin bundle
    Use when profiling CUDA with Nsight Systems or Nsight Compute, reading roofline and occupancy metrics, or annotating phases with NVTX. Not for correctness: use cuda-debugging.
    0 installs
  45. Device Drivers · outlinedriven-odin-claude-plugin bundle
    Use when writing or fixing a Linux device driver: platform/i2c/spi probe and remove, char device lifecycle, threaded IRQs, DMA mappings, regmap, runtime PM, or udev rules.
    0 installs
  46. Elf Inspection · outlinedriven-odin-claude-plugin bundle
    Use when examining ELF binaries with readelf, objdump, nm, or ldd: dependencies, symbols, sections, relocations, build IDs, or hardening. Not for modifying binaries: use binutils.
    0 installs
  47. Gpio Baremetal · outlinedriven-odin-claude-plugin bundle
    Use when configuring GPIO modes, alternate functions, pull resistors, or EXTI interrupts on STM32/nRF/ESP32-class MCUs. Not for register access rules: use mmio-and-bit-manipulation.
    0 installs
  48. Idiomatic Rust · outlinedriven-odin-claude-plugin bundle
    Use when writing, reviewing, or refactoring Rust code. Routes the task to handbook chapters on idioms, lints, errors, testing, generics, and pointers under the edition 2024 and current-stable pins.
    0 installs
  49. Kernel Testing · outlinedriven-odin-claude-plugin bundle
    Use when writing KUnit tests, adding kselftest cases, fuzzing syscalls with syzkaller and kcov, running LTP, or wiring CI for a kernel patch.
    0 installs
  50. Linker Scripts · outlinedriven-odin-claude-plugin bundle
    Use when writing a GNU ld script for a bare-metal target, placing code in a flash or RAM region, wiring .data and .bss startup, or fixing a region overflowed error. Not for LTO: use linkers-lto.
    0 installs
  51. Os Dev Scratch · outlinedriven-odin-claude-plugin bundle
    Use when building a minimal x86-64 OS: boot protocols, long mode, page tables, IDT, PIC/APIC, serial and keyboard drivers, frame allocator, or context switching.
    0 installs
  52. Rust Debugging · outlinedriven-odin-claude-plugin bundle
    Use when debugging Rust binaries with GDB or LLDB, enabling pretty-printers, interpreting panics and backtraces, debugging async with tokio-console, or stepping through no_std code.
    0 installs
  53. Rust Profiling · outlinedriven-odin-claude-plugin bundle
    Use when profiling Rust binaries with flamegraphs, cargo-bloat, cargo-llvm-lines, Criterion, perf, heaptrack, or DHAT.
    0 installs
  54. Cargo Workflows · outlinedriven-odin-claude-plugin bundle
    Use when managing Cargo workspaces, feature flags, build scripts, CI caching, dependency auditing, or Cargo.lock with Rust.
    0 installs
  55. Dynamic Linking · outlinedriven-odin-claude-plugin bundle
    Use when debugging shared library load failures, setting RPATH or RUNPATH, applying soname versioning, writing dlopen plugins, or intercepting with LD_PRELOAD. Not for static archives: use binutils.
    0 installs
  56. Jit Compilation · outlinedriven-odin-claude-plugin bundle
    Use when adding code generation with LLVM ORC or LLJIT, Cranelift, or dynasm, lazy compilation or inline caches, or fixing W^X faults. Not for AST-to-IR: use compiler-frontend.
    0 installs
  57. Kernel Security · outlinedriven-odin-claude-plugin bundle
    Use when writing an SELinux or AppArmor policy, a seccomp-bpf filter, enabling CET, PAC, or BTI, or triaging a kernel CVE. Not for KASAN report analysis: use kernel-debugging.
    0 installs
  58. Simd Intrinsics · outlinedriven-odin-claude-plugin bundle
    Use when reading auto-vectorization reports, writing SSE2, AVX2, or NEON intrinsics, or fixing vectorization failures. Not for reading the asm itself: use assembly-x86.
    0 installs
  59. Static Analysis · outlinedriven-odin-claude-plugin bundle
    Use when hardening C/C++ code quality with clang-tidy, cppcheck, or scan-build, interpreting check categories, suppressing false positives, integrating into CI, or working with compile_commands.json.
    0 installs
  60. Stm32 Baremetal · outlinedriven-odin-claude-plugin bundle
    Use when scaffolding STM32 firmware without HAL, CMSIS-only clock/RCC config, STM32F4/H7 bring-up, or building with arm-none-eabi-gcc for Cortex-M. Not for the startup file: use baremetal-startup.
    0 installs