name: "zigman"
description: "Look up uncertain Zig language semantics in the version-matched reference using zigman."
createdAt: "2026-09-11T18:46:00.191404+00:00"
repoUrl: "https://skillz.supply/skills/did:plc:xbtmt2zjwlrfegqvch7fboei/skills.zigman/SKILL.md"
# zigman — read the Zig reference instead of guessing Zig moves fast and small syntax/semantic details matter. When writing or reviewing Zig, look the answer up in the language reference rather than recalling it. One lookup is cheaper than a wrong compile. ## when to reach for it - unsure about a language feature: slices vs arrays vs pointers, `comptime`, error unions, optionals, `switch`/`for`/`while`, `defer`, casting, result-location semantics - need a builtin's exact behavior: `@TypeOf`, `@import`, `@intCast`, `@bitCast`, `@Type`, ... - a compile error names a concept you're not 100% sure of — read that section first - before asserting "Zig does X" in a review ## how to use it ```bash zigman comptime # print the matching section (markdown, real code examples) zigman slice # fuzzy: if several match, it lists them — pick one zigman -l # full table of contents (discover exact section names) zigman -l error # list sections whose name matches a word zigman -V 0.15.1 comptime # read a specific Zig version (default: master) ``` Output is plain markdown on stdout, so it pipes: `zigman comptime | head -40`. Workflow: `zigman -l <word>` to find the section, then `zigman <name>` to read it. ## scope The reference documents the **language**, not the standard library. For `std.ArrayList`, `std.Io`, `std.fmt`, allocators, etc., read the std source instead (`zig env` reports `.std_dir`, relative to `$HOME`) — `zigman` won't have those. ## install If `zigman` is unavailable, follow the upstream installation instructions at https://tangled.org/zzstoatzz.io/zigman, or read the version-matched reference at https://ziglang.org/documentation/ directly.