CtrlK
BlogDocsLog inGet started
Tessl Logo

zig-docs

Fetches Zig language and standard library documentation via CLI. Activates when needing Zig API details, std lib function signatures, or language reference content that isn't covered in zig-best-practices.

86

1.50x

Quality

87%

Does it follow best practices?

Impact

72%

1.50x

Average score across 3 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

SKILL.md
Quality
Evals
Security

Zig Documentation Fetching

Instructions

  • Use raw Codeberg sources for std lib documentation (most reliable)
  • Use pandoc for language reference from ziglang.org (works for prose content)
  • The std lib HTML docs at ziglang.org are JavaScript-rendered and return empty content; avoid them
  • Zig source files contain doc comments (//! for module docs, /// for item docs) that serve as authoritative documentation

Quick Reference

Fetch Standard Library Source (Recommended)

Standard library modules are self-documenting. Fetch source directly:

# Module source with doc comments
curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/<module>.zig"

# Common modules:
curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/log.zig"
curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/mem.zig"
curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/fs.zig"
curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/heap.zig"
curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/debug.zig"
curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/testing.zig"

Fetch Allocator Interface

curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/mem/Allocator.zig"

Fetch Language Reference (Prose)

# Full language reference (large, ~500KB of text)
pandoc -f html -t plain "https://ziglang.org/documentation/master/"

# Pipe to head for specific sections
pandoc -f html -t plain "https://ziglang.org/documentation/master/" | head -200

List Standard Library Contents

# List all std lib modules via Codeberg API
curl -sL "https://codeberg.org/api/v1/repos/ziglang/zig/contents/lib/std" | jq -r '.[].name'

# List subdirectory contents
curl -sL "https://codeberg.org/api/v1/repos/ziglang/zig/contents/lib/std/mem" | jq -r '.[].name'

Fetch zig.guide Content

# Landing page and navigation
pandoc -f html -t plain "https://zig.guide/"

Documentation Sources

SourceURL PatternNotes
Std lib sourcecodeberg.org/ziglang/zig/raw/branch/master/lib/std/<path>Most reliable; includes doc comments
Language referenceziglang.org/documentation/master/Use pandoc; prose content
zig.guidezig.guide/Beginner-friendly; use pandoc
Codeberg APIcodeberg.org/api/v1/repos/ziglang/zig/contents/lib/stdList directory contents

Common Module Paths

ModulePath
Allocatorlib/std/mem/Allocator.zig
ArrayListlib/std/array_list.zig
HashMaplib/std/hash_map.zig
StringHashMaplib/std/hash/map.zig
File Systemlib/std/fs.zig
Filelib/std/fs/File.zig
IOlib/std/Io.zig
Logginglib/std/log.zig
Testinglib/std/testing.zig
Debuglib/std/debug.zig
Heaplib/std/heap.zig
Build Systemlib/std/Build.zig
JSONlib/std/json.zig
HTTPlib/std/http.zig
Threadlib/std/Thread.zig
Processlib/std/process.zig

Version-Specific Documentation

Replace master with version tag for stable releases:

# 0.14.0 release
curl -sL "https://codeberg.org/ziglang/zig/raw/tag/0.14.0/lib/std/log.zig"

# Language reference for specific version
pandoc -f html -t plain "https://ziglang.org/documentation/0.14.0/"

Searching Documentation

Search for specific function/type in std lib

# Search for function name across std lib
curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/<module>.zig" | grep -A5 "pub fn <name>"

# Example: find allocator.create
curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/mem/Allocator.zig" | grep -A10 "pub fn create"

Extract doc comments

# Module-level docs (//!)
curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/log.zig" | grep "^//!"

# Function/type docs (///)
curl -sL "https://codeberg.org/ziglang/zig/raw/branch/master/lib/std/mem/Allocator.zig" | grep -B1 "pub fn" | grep "///"

Troubleshooting

Empty content from ziglang.org/documentation/master/std/:

  • The std lib HTML docs are JavaScript-rendered; use raw Codeberg instead

pandoc fails:

  • Some pages require JavaScript; fall back to curl + raw Codeberg
  • Check URL is correct (no trailing slash issues)

Rate limiting on Codeberg API:

  • Use codeberg.org raw URLs directly instead of API
  • Cache frequently accessed content locally

References

  • Language Reference: https://ziglang.org/documentation/master/
  • Standard Library Source: https://codeberg.org/ziglang/zig/src/branch/master/lib/std
  • Zig Guide: https://zig.guide/
  • Release Tags: https://codeberg.org/ziglang/zig/tags
Repository
NeverSight/skills_feed
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.