Odin Native

Odin Native from OutlineDriven/odin-claude-plugin.

Skills in this plugin

118
  1. Wasm Emscripten · outlinedriven-odin-claude-plugin bundle
    Use when compiling C or C++ to WebAssembly with emcc, exporting functions to JavaScript, sizing WASM memory, using Asyncify, or debugging .wasm. Not for server-side runtimes: use wasm-wasmtime.
    0 installs
  2. Binary Hardening · outlinedriven-odin-claude-plugin bundle
    Use when enabling RELRO, PIE, stack canaries, FORTIFY_SOURCE, CET, CFI, or seccomp filters, or checking a binary with checksec. Not for runtime sanitizer builds: use sanitizers.
    0 installs
  3. Gpu Memory Model · outlinedriven-odin-claude-plugin bundle
    Use when analyzing warp divergence, memory coalescing, shared memory bank conflicts, cache behavior, atomics, or occupancy tradeoffs on NVIDIA and AMD GPUs. Not for tool commands: use cuda-profiling.
    0 installs
  4. Kernel Debugging · outlinedriven-odin-claude-plugin bundle
    Use when debugging the Linux kernel: kgdb and kdb, ftrace and kprobes, dynamic debug, kdump and crash analysis, or printk levels on a live or crashed target.
    0 installs
  5. Kernel Internals · outlinedriven-odin-claude-plugin bundle
    Use when diagnosing scheduler latency, kmalloc vs vmalloc, page cache, meminfo under pressure, or OOM victim choice, or when reading kernel/sched, mm, or fs source.
    0 installs
  6. Numa Programming · outlinedriven-odin-claude-plugin bundle
    Use when detecting NUMA topology, binding processes with numactl, using the libnuma API, building NUMA-aware data structures, or measuring remote memory access penalties.
    0 installs
  7. Riscv Privileged · outlinedriven-odin-claude-plugin bundle
    Use when writing RISC-V M-mode or S-mode code: CSRs, trap handlers, PLIC and CLINT interrupts, OpenSBI payloads, Sv39 or Sv48 page tables, or QEMU virt boot. Not for user-mode asm: use assembly-riscv.
    0 installs
  8. Rust Build Times · outlinedriven-odin-claude-plugin bundle
    Use when profiling slow Rust builds with cargo --timings, configuring sccache, selecting the Cranelift dev backend, splitting a workspace for parallelism, or tuning LTO and the linker.
    0 installs
  9. Zig Build System · outlinedriven-odin-claude-plugin bundle
    Use when writing or fixing a build.zig: executables, libraries, modules, C sources, build options, test steps, custom steps, or build.zig.zon dependencies. Not for one-file builds: use zig-compiler.
    0 installs
  10. Adc Dac Baremetal · outlinedriven-odin-claude-plugin bundle
    Use when configuring ADC sampling time, DMA-driven ADC, calibration, or DAC channel setup on bare-metal MCUs. Not for the DMA stream itself: use dma-baremetal.
    0 installs
  11. Baremetal Startup · outlinedriven-odin-claude-plugin bundle
    Use when writing reset-to-main startup code, vector tables, VTOR, .data/.bss init, stack setup, startup.s, or crt0 for Cortex-M/RISC-V. Not for the bootloader jump: use bootloaders-embedded.
    0 installs
  12. Compiler Frontend · outlinedriven-odin-claude-plugin bundle
    Use when building a lexer, Pratt or recursive-descent parser, AST, symbol table, type checker, or LLVM IR emitter for a language or DSL. Not for optimizing IR: use llvm-passes.
    0 installs
  13. Custom Allocators · outlinedriven-odin-claude-plugin bundle
    Use when implementing pool/slab/arena allocators, tuning jemalloc/mimalloc/tcmalloc, writing a Rust GlobalAlloc, or benchmarking allocator performance and fragmentation.
    0 installs
  14. Hardware Counters · outlinedriven-odin-claude-plugin bundle
    Use when measuring PMU events with perf stat -e or PAPI, computing IPC, miss rates, or MPKI, or attributing cache misses to source lines with perf annotate. Not for sampling profiles: use linux-perf.
    0 installs
  15. Protocol Analysis · outlinedriven-odin-claude-plugin bundle
    Use when decoding I2C, SPI, or UART captures with sigrok or PulseView, checking bus traffic against a datasheet, or post-processing captures in Python. Not for bus drivers: use spi-i2c-baremetal.
    0 installs
  16. Spi I2c Baremetal · outlinedriven-odin-claude-plugin bundle
    Use when implementing SPI/I2C master transfers, register read/write protocols, I2C START/STOP, clock phase/polarity, or bus stalls on bare-metal MCUs. Not for Linux drivers: use bus-drivers-i2c-spi.
    0 installs
  17. Build Acceleration · outlinedriven-odin-claude-plugin bundle
    Use when reducing C/C++ compilation times with ccache, sccache, distcc, unity builds, precompiled headers, split DWARF, IWYU, or link time reduction.
    0 installs
  18. Dwarf Debug Format · outlinedriven-odin-claude-plugin bundle
    Use when inspecting .debug_info or .debug_line sections with dwarfdump or readelf, working with split-DWARF .dwo files, setting up debuginfod, or checking how LTO and stripping affect debug info.
    0 installs
  19. Kernel Concurrency · outlinedriven-odin-claude-plugin bundle
    Use when choosing kernel spinlocks versus mutexes, using RCU, seqlocks, completions, or memory barriers, or debugging scheduling-while-atomic. Not for userspace atomics: use concurrency-debugging.
    0 installs
  20. Llvm Ir And Passes · outlinedriven-odin-claude-plugin bundle
    Use when reading LLVM IR, explaining SSA and PHI nodes, finding what -O2 changed, or running opt on a .ll or .bc file. Not for writing a pass plugin: use llvm-passes.
    0 installs
  21. Low Power Embedded · outlinedriven-odin-claude-plugin bundle
    Use when configuring MCU sleep/stop/standby, WFI, STM32 PWR, nRF sleep, clock gating, wake-up EXTI sources, or measuring current draw. Not for the wake ISR: use interrupts-and-exceptions-baremetal.
    0 installs
  22. Bus Drivers I2c Spi · outlinedriven-odin-claude-plugin bundle
    Use when writing a Linux i2c_driver or spi_driver, doing bus register access, DMA-safe SPI transfers, or debugging -EREMOTEIO. Not for MMIO platform drivers: use platform-device-model.
    0 installs
  23. Reverse Engineering · outlinedriven-odin-claude-plugin bundle
    Use when triaging an unknown binary, decompiling with Ghidra, scripting radare2, or diffing two builds for patched functions. Not for ELF structure basics: use elf-inspection.
    0 installs
  24. Bootloaders Embedded · outlinedriven-odin-claude-plugin bundle
    Use when writing a custom bootloader, jumping to application code, relocating VTOR, or implementing DFU/USB firmware update on Cortex-M. Not for reset-to-main: use baremetal-startup.
    0 installs
  25. C Hardening Baseline · outlinedriven-odin-claude-plugin bundle
    Use when C code is written or audited and needs a pure-C baseline: standard, undefined behavior, integer and buffer safety, sanitizers, fuzzing, build flags. Not for C++: use modern-cpp-practices.
    0 installs
  26. Containers Internals · outlinedriven-odin-claude-plugin bundle
    Use when explaining or building on Linux container primitives: namespaces, cgroups v2, overlayfs, runc and the OCI spec, seccomp-bpf, capabilities, or escapes. Not for VM isolation: use qemu-kvm.
    0 installs
  27. Cpu Kernel Authoring · outlinedriven-odin-claude-plugin bundle
    Use when writing, optimizing, or benchmarking a C++ CPU kernel with AVX2 or AVX512 intrinsics for the Hugging Face kernels ecosystem. Not for CUDA kernels: use cuda.
    0 installs
  28. Hypervisor Internals · outlinedriven-odin-claude-plugin bundle
    Use when studying Intel VT-x or AMD-V internals: VMCS and VMCB, EPT and NPT, VM exit handling, APIC virtualization, or building a minimal type-1 hypervisor. Not for running VMs: use qemu-kvm.
    0 installs
  29. Include What You Use · outlinedriven-odin-claude-plugin bundle
    Use when reducing header bloat and compilation cascades with Include What You Use, interpreting IWYU reports, mapping files, forward declarations, or CMake integration.
    0 installs
  30. Linux Kernel Modules · outlinedriven-odin-claude-plugin bundle
    Use when writing loadable kernel modules: Kbuild, module parameters, proc and sysfs entries, char devices, or ftrace debugging. Not for driver architecture: use writing-char-drivers.
    0 installs
  31. Modern Cpp Practices · outlinedriven-odin-claude-plugin bundle
    Use when C++ code is being written or reviewed and the compiler supports modern safe idioms. Read-only. No source or remote-system changes.
    0 installs
  32. Rust Async Internals · outlinedriven-odin-claude-plugin bundle
    Use when understanding the Rust Future poll model, Pin and Unpin, tokio scheduling, async stack traces, waker leaks, or select!/join! behavior.
    0 installs
  33. Rust Sanitizers Miri · outlinedriven-odin-claude-plugin bundle
    Use when running AddressSanitizer, ThreadSanitizer, MemorySanitizer, UndefinedBehaviorSanitizer, or Miri on Rust code, interpreting sanitizer output, or validating unsafe code for undefined behaviour.
    0 installs
  34. Timers Pwm Baremetal · outlinedriven-odin-claude-plugin bundle
    Use when configuring general-purpose timers for PWM, input capture, periodic ticks, timer prescaler, PWM duty cycle, or SysTick without an RTOS. Not for the timer pin mux: use gpio-baremetal.
    0 installs
  35. Writing Char Drivers · outlinedriven-odin-claude-plugin bundle
    Use when writing a Linux char driver: file_operations, cdev, copy_to_user, ioctl commands, device memory mmap, or poll. Not for probe and remove lifecycle: use platform-device-model.
    0 installs
  36. Concurrency Debugging · outlinedriven-odin-claude-plugin bundle
    Use when reading TSan race reports, debugging deadlocks with GDB thread inspection, analyzing Helgrind lock-order violations, or reviewing std::atomic and happens-before usage.
    0 installs
  37. Intel Vtune Amd Uprof · outlinedriven-odin-claude-plugin bundle
    Use when profiling with Intel VTune or AMD uProf for hotspots, top-down pipeline stalls, memory-bound analysis, or roofline data. Not for raw perf stat counters: use hardware-counters.
    0 installs
  38. Platform Device Model · outlinedriven-odin-claude-plugin bundle
    Use when implementing or debugging platform_driver probe/remove, sysfs attributes, device properties, or deferred probe on Linux. Not for device tree syntax: use device-tree.
    0 installs
  39. Uart Serial Baremetal · outlinedriven-odin-claude-plugin bundle
    Use when configuring UART baud rate/BRR, polling or IRQ-driven TX/RX, serial printf retargeting, USART interrupts, or UART with DMA on bare-metal MCUs. Not for the DMA stream: use dma-baremetal.
    0 installs
  40. Debug Optimized Builds · outlinedriven-odin-claude-plugin bundle
    Use when debugging RelWithDebInfo or -O2 release builds, using -Og for debuggable optimization, split-DWARF, GDB scheduler-locking, reading inlined frames, or understanding "value optimized out".
    0 installs
  41. Kernel Memory Management · outlinedriven-odin-claude-plugin bundle
    Use when using kmalloc, vmalloc, or the page allocator, sizing kmalloc allocations, working with SLUB or the buddy allocator, or debugging memory zones and kernel OOM.
    0 installs
  42. Qemu Embedded Simulation · outlinedriven-odin-claude-plugin bundle
    Use when running ARM or RISC-V bare-metal firmware in QEMU: machine selection, -kernel ELF loading, semihosting, or GDB debugging without hardware. Not for KVM guests: use qemu-kvm.
    0 installs
  43. Cpu Pipelines And Hazards · outlinedriven-odin-claude-plugin bundle
    Use when explaining pipeline stages, data or control hazards, forwarding, stalls, or superscalar basics behind a counter reading. Not for mispredict cost: use branch-prediction-and-speculation.
    0 installs
  44. Kernel Debugging Advanced · outlinedriven-odin-claude-plugin bundle
    Use when tracing kernel functions with ftrace or trace-cmd, profiling with perf, kprobes, or dyndbg, or analyzing a vmcore with crash. Not for QEMU GDB stubs: use qemu-for-kernel-development.
    0 installs
  45. Linux Kernel Architecture · outlinedriven-odin-claude-plugin bundle
    Use when navigating kernel source, understanding boot flow, initcall levels, or major subsystems (VFS, scheduler, MM) in linux.git. Not for driver-model depth: use platform-device-model.
    0 installs
  46. Mmio And Bit Manipulation · outlinedriven-odin-claude-plugin bundle
    Use when accessing memory-mapped peripherals with volatile, bit masks, read-modify-write, register alignment, or endianness in bare-metal firmware. Not for pin setup: use gpio-baremetal.
    0 installs
  47. Peripherals From Datasheet · outlinedriven-odin-claude-plugin bundle
    Use when writing a register-level peripheral driver from an MCU reference manual: register map, init sequence, timing, bit definitions. Not for finding facts: use datasheet-and-refmanual-reading.
    0 installs
  48. Abi And Calling Conventions · outlinedriven-odin-claude-plugin bundle
    Use when explaining System V AMD64, ARM AAPCS, RISC-V psABI, stack frames, variadic calls, or FFI register rules. Not for the Rust FFI binding layer: use rust-ffi.
    0 installs
  49. Compiler Optimizations Deep · outlinedriven-odin-claude-plugin bundle
    Use when -O3 leaves a hot loop scalar, spills appear in assembly, or a PGO or BOLT deployment is planned or stalls. Not for machine lowering: use code-generation-and-backends.
    0 installs
  50. Memory Hierarchy And Caches · outlinedriven-odin-claude-plugin bundle
    Use when explaining cache levels, associativity, cache lines, false sharing, prefetching, or MESI coherence. Not for measuring and fixing cache misses in a program: use cpu-cache-opt.
    0 installs
  51. Qemu For Kernel Development · outlinedriven-odin-claude-plugin bundle
    Use when booting custom kernels in QEMU, building Buildroot or Yocto rootfs, attaching virtio devices, or iterating kernel modules over NFS or 9p root. Not for KVM management: use qemu-kvm.
    0 installs
  52. Verilog Basics For Lowlevel · outlinedriven-odin-claude-plugin bundle
    Use when reading RTL to understand hardware behavior, reset and clock domains, CDC synchronizers, APB/AHB/AXI bus protocols, or collaborating with hardware teams on SoC diagrams.
    0 installs
  53. Code Generation And Backends · outlinedriven-odin-claude-plugin bundle
    Use when reading llc output, tracing IR through legalization and instruction selection, or scoping a new LLVM target. Not for IR-level passes: use llvm-ir-and-passes.
    0 installs
  54. Resource Optimization Lowend · outlinedriven-odin-claude-plugin bundle
    Use when reducing flash or RAM usage on constrained MCUs, analyzing stack depth, reading linker map files, or tuning -Os size-versus-speed tradeoffs on bare-metal and small RTOS images.
    0 installs
  55. Virtual Memory Paging And Tlb · outlinedriven-odin-claude-plugin bundle
    Use when explaining page faults, multi-level page tables, TLB misses, huge pages, or mmap and brk behavior. Not for the kernel page allocator: use kernel-memory-management.
    0 installs
  56. Datasheet And Refmanual Reading · outlinedriven-odin-claude-plugin bundle
    Use when extracting pinouts, electrical limits, register maps, clock trees, timing, or errata from MCU datasheets and reference manuals. Not for writing the driver: use peripherals-from-datasheet.
    0 installs
  57. Branch Prediction And Speculation · outlinedriven-odin-claude-plugin bundle
    Use when explaining branch predictors, mispredict penalties, speculative execution, Spectre or Meltdown mitigations, or branchless code. Not for pipeline stage theory: use cpu-pipelines-and-hazards.
    0 installs
  58. Interrupts And Exceptions Baremetal · outlinedriven-odin-claude-plugin bundle
    Use when writing Cortex-M NVIC ISRs, configuring priorities, handling HardFault, tail-chaining, or measuring interrupt latency. Not for the vector table itself: use baremetal-startup.
    0 installs