
Dwarf Expert
- 1 installs
- 44k repo stars
- Updated July 27, 2026
- sickn33/antigravity-awesome-skills
This is a copy of dwarf-expert by trailofbits - installs and ranking accrue to the original listing.
dwarf-expert is an agent skill that provides DWARF v3–v5 expertise for parsing, verifying, and explaining debug information in compiled binaries.
About
dwarf-expert is a deep technical agent skill for developers and systems-oriented indies who touch native toolchains, custom CLI utilities, or language runtimes where debug info quality determines whether you can trust stack traces and line tables. It encodes procedural knowledge about the DWARF standard versions 3 through 5: how to interpret DIE trees, common attribute patterns, and practical workflows with dwarfdump, readelf, and llvm-dwarfdump verification. Use it when you are writing or reviewing parsers, explaining why symbols vanished after a linker flag change, or producing examples of DWARF features for documentation in your repo. The skill deliberately stops short of v1/v2 archaeology, pure ELF layout tasks without debug sections, interactive debugger sessions, and reverse-engineering playbooks—those paths waste context and violate the documented when-not-to-use gates. For Prism’s audience shipping Rust, Go, or C++ CLIs, this is review work: validate artifacts before you publish binaries or integrate crash telemetry.
- Covers DWARF standard expertise for versions 3, 4, and 5 only—explicitly not v1/v2
- Guides use of dwarfdump, readelf, and llvm-dwarfdump --verify for integrity checks
- Supports code that parses DWARF via libdwarf, pyelftools, gimli, and similar libraries
- Allowed tools: Read, Bash, Grep, Glob, WebSearch for inspecting binaries and references
- Anti-patterns documented: not for general ELF-only work, runtime gdb debugging, or binary reverse engineering
Dwarf Expert by the numbers
- 1 all-time installs (skills.sh)
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill dwarf-expertAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1 |
|---|---|
| repo stars | ★ 44k |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 27, 2026 |
| Repository | sickn33/antigravity-awesome-skills ↗ |
What it does
Answer DWARF v3–v5 questions and guide parsing or verification of debug sections in compiled binaries when you are diagnosing toolchain or symbol issues.
Who is it for?
Advanced tool authors validating debug metadata, maintaining symbol-related CLI tools, or answering DWARF spec questions during code review.
Skip if: DWARF v1/v2 legacy binaries, gdb/lldb stepping sessions, general ELF tasks with no debug data, or reverse-engineering workflows called out in the skill’s when-not-to-use list.
When should I use this skill?
Triggers when understanding DWARF information, interacting with DWARF files, answering DWARF-related questions, or working with code that parses DWARF data.
What you get
You get standard-accurate explanations, tool commands, and implementation guidance scoped to DWARF 3–5 without conflating ELF parsing or live debugging.
- DWARF-standard explanations
- Suggested dwarfdump/readelf command sequences
- Parser or review guidance for DWARF-consuming code
By the numbers
- DWARF versions 3, 4, and 5 covered
- 5 allowed tool classes (Read, Bash, Grep, Glob, WebSearch)
Files
Overview
This skill provides technical knowledge and expertise about the DWARF standard and how to interact with DWARF files. Tasks include answering questions about the DWARF standard, providing examples of various DWARF features, parsing and/or creating DWARF files, and writing/modifying/analyzing code that interacts with DWARF data.
When to Use This Skill
- Understanding or parsing DWARF debug information from compiled binaries
- Answering questions about the DWARF standard (v3, v4, v5)
- Writing or reviewing code that interacts with DWARF data
- Using
dwarfdumporreadelfto extract debug information - Verifying DWARF data integrity with
llvm-dwarfdump --verify - Working with DWARF parsing libraries (libdwarf, pyelftools, gimli, etc.)
When NOT to Use This Skill
- DWARF v1/v2 Analysis: Expertise limited to versions 3, 4, and 5.
- General ELF Parsing: Use standard ELF tools if DWARF data isn't needed.
- Executable Debugging: Use dedicated debugging tools (gdb, lldb, etc) for debugging executable code/runtime behavior.
- Binary Reverse Engineering: Use dedicated RE tools (Ghidra, IDA) unless specifically analyzing DWARF sections.
- Compiler Debugging: DWARF generation issues are compiler-specific, not covered here.
Authoritative Sources
When specific DWARF standard information is needed, use these authoritative sources:
1. Official DWARF Standards (dwarfstd.org): Use web search to find specific sections of the official DWARF specification at dwarfstd.org. Search queries like "DWARF5 DW_TAG_subprogram attributes site:dwarfstd.org" are effective.
2. LLVM DWARF Implementation: The LLVM project's DWARF handling code at llvm/lib/DebugInfo/DWARF/ serves as a reliable reference implementation. Key files include:
DWARFDie.cpp- DIE handling and attribute accessDWARFUnit.cpp- Compilation unit parsingDWARFDebugLine.cpp- Line number informationDWARFVerifier.cpp- Validation logic
3. libdwarf: The reference C implementation at github.com/davea42/libdwarf-code provides detailed handling of DWARF data structures.
Verification Workflows
Use llvm-dwarfdump verification options to validate DWARF data integrity:
Structural Validation
# Verify DWARF structure (compile units, DIE relationships, address ranges)
llvm-dwarfdump --verify <binary>
# Detailed error output with summary
llvm-dwarfdump --verify --error-display=full <binary>
# Machine-readable JSON error summary
llvm-dwarfdump --verify --verify-json=errors.json <binary>Quality Metrics
# Output debug info quality metrics as JSON
llvm-dwarfdump --statistics <binary>The --statistics output helps compare debug info quality across compiler versions and optimization levels.
Common Verification Patterns
- After compilation: Verify binaries have valid DWARF before distribution
- Comparing builds: Use
--statisticsto detect debug info quality regressions - Debugging debuggers: Identify malformed DWARF causing debugger issues
- DWARF tool development: Validate parser output against known-good binaries
Parsing DWARF Debug Information
readelf
ELF files can be parsed via the readelf command ({baseDir}/reference/readelf.md). Use this for general ELF information, but prefer dwarfdump for DWARF-specific parsing.
dwarfdump
DWARF files can be parsed via the dwarfdump command, which is more effective at parsing and displaying complex DWARF information than readelf and should be used for most DWARF parsing tasks ({baseDir}/reference/dwarfdump.md).
Working With Code
This skill supports writing, modifying, and reviewing code that interacts with DWARF data. This may involve code that parses DWARF debug data from scratch or code that leverages libraries to parse and interact with DWARF data ({baseDir}/reference/coding.md).
Choosing Your Approach
┌─ Need to verify DWARF data integrity?
│ └─ Use `llvm-dwarfdump --verify` (see Verification Workflows above)
├─ Need to answer questions about the DWARF standard?
│ └─ Search dwarfstd.org or reference LLVM/libdwarf source
├─ Need simple section dump or general ELF info?
│ └─ Use `readelf` ({baseDir}/reference/readelf.md)
├─ Need to parse, search, and/or dump DWARF DIE nodes?
│ └─ Use `dwarfdump` ({baseDir}/reference/dwarfdump.md)
└─ Need to write, modify, or review code that interacts with DWARF data?
└─ Refer to the coding reference ({baseDir}/reference/coding.md)Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Related skills
How it compares
Use dwarf-expert for DWARF spec and file semantics instead of asking a generic debugging skill to improvise DIE grammar.
FAQ
Who is dwarf-expert for?
dwarf-expert is for developers shipping native binaries or DWARF-aware tooling who need spec-grounded help with debug sections, not casual app-only JavaScript developers.
When should I use dwarf-expert?
Use it in Ship review when verifying DWARF with llvm-dwarfdump, parsing DIEs for a CLI tool, or answering standard questions while modifying libdwarf/gimli/pyelftools code—skip it for runtime gdb sessions or non-DWARF ELF work.
Is dwarf-expert safe to install?
It allows Read, Bash, Grep, and Glob on your binaries; review the Security Audits panel on this page and avoid pointing agents at sensitive production artifacts without scoping paths.