К основному содержанию
скилл CX Codex

zig-cross — скилл для Claude Code: что делает и как установить

Скилл помогает ИИ-агенту настраивать встроенную кросс-компиляцию в Zig для Windows, ARM, bare-metal и WebAssembly без установки внешних тулчейнов.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add mohitmishra786/low-level-dev-skills --skill zig-cross -a claude-code
Открыть на GitHub

Что делает zig-cross

Скилл даёт агенту инструкции по встроенным возможностям компилятора Zig. Он объясняет выбор триплов платформ вроде x86_64-linux-musl, aarch64-linux-gnu или wasm32-freestanding, а также точную настройку инструкций процессора через флаг -mcpu для архитектур от Cortex-M4 до x86-64 с AVX2.

Внутри собраны практические шаблоны: вызов zig cc для сборки Си-кода без внешнего GCC, многоцелевая сборка через build.zig и запуск под bare-metal микроконтроллеры с линкерным скриптом и кастомным обработчиком panic. Для сборки под macOS из Linux потребуется сторонний macOS SDK, но для остальных систем Zig обходится без системных заголовков и Docker.

Какие задачи решает

  • скомпилировать проект на Zig под ARM64 или Windows
  • собрать Си-код под другую платформу через zig cc
  • настроить бинарники под WebAssembly и WASI
  • сконфигурировать сборку под микроконтроллеры Cortex-M

Примеры запросов агенту

  • Скомпилируй src/main.zig под aarch64-linux-gnu с флагом -O ReleaseFast.
  • Как собрать C-проект со статической библиотекой musl через zig cc?
  • Настрой в build.zig параллельную сборку под x86-64 Linux и Windows.

Как установить zig-cross

1Через Skills CLI (Vercel)

npx skills add mohitmishra786/low-level-dev-skills --skill zig-cross -a claude-code

2Вручную: положить файлы

~/.claude/skills/zig-cross/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/zig-cross/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о zig-cross

Как установить zig-cross в Claude Code?

Выполните команду npx skills add mohitmishra786/low-level-dev-skills --skill zig-cross -a claude-code. Также файл инструкции можно поместить вручную по пути ~/.claude/skills/zig-cross/SKILL.md.

Что делает скилл zig-cross?

Он направляет агента при кросс-компиляции на Zig и C, подсказывая целевые триплы, флаги процессоров и шаблоны для build.zig.

Нужен ли отдельный кросс-тулчейн для сборки Си-кода?

Нет, инструмент zig cc компилирует Си-код под другие архитектуры без системного тулчейна. Сторонний SDK требуется только при сборке под macOS с хоста на Linux.

Исходный текст

SKILL.md · MIT
---
name: zig-cross
description: Zig cross-compilation skill. Use when cross-compiling Zig programs to different targets, using Zig's built-in cross-compilation for embedded, WASM, Windows, ARM, or using zig cc to cross-compile C code without a system cross-toolchain. Activates on queries about Zig cross-compilation, zig target triples, zig cc cross-compile, Zig embedded targets, or Zig WASM.
---

# Zig Cross-Compilation

## Purpose

Guide agents through Zig's built-in cross-compilation: target triple selection, CPU feature targeting, `zig cc` for cross-compiling C projects, embedded bare-metal targets, and WASM output — all without requiring a system cross-toolchain.

## Triggers

- "How do I cross-compile a Zig program for ARM?"
- "How do I build Zig for a different OS?"
- "How do I use Zig to cross-compile C code for another platform?"
- "How do I build Zig for embedded/bare-metal?"
- "How do I target WebAssembly with Zig?"
- "What Zig target triple do I use for Raspberry Pi?"

## Workflow

### 1. Zig's native cross-compilation

Zig has cross-compilation built in — no cross-toolchain, no Docker, no sysroot needed for pure Zig code:

```bash
# List all supported targets
zig targets | python3 -c "import sys,json; d=json.load(sys.stdin); [print(t) for t in d['libc']]"

# Build for a specific target
zig build-exe src/main.zig -target aarch64-linux-gnu -O ReleaseFast

# With build system (pass target as option)
zig build -Dtarget=aarch64-linux-gnu -Doptimize=ReleaseFast

# Cross-compile for Windows from Linux/macOS
zig build-exe src/main.zig -target x86_64-windows-gnu

# Cross-compile for macOS from Linux (requires macOS SDK)
zig build-exe src/main.zig -target aarch64-macos-none
```

### 2. Common target triples

| Target triple | Platform |
|---------------|----------|
| `x86_64-linux-gnu` | Linux x86-64 (glibc) |
| `x86_64-linux-musl` | Linux x86-64 (musl, static) |
| `aarch64-linux-gnu` | ARM64 Linux (Pi 4, AWS Graviton) |
| `aarch64-linux-musl` | ARM64 Linux static |
| `armv7-linux-gnueabihf` | ARM 32-bit Linux (Pi 2/3) |
| `x86_64-windows-gnu` | Windows x86-64 |
| `aarch64-macos-none` | macOS Apple Silicon |
| `x86_64-macos-none` | macOS Intel |
| `wasm32-freestanding` | WASM (browser, no OS) |
| `wasm32-wasi` | WASM with WASI |
| `thumbv7m-freestanding-eabi` | Cortex-M3 bare metal |
| `thumbv7em-freestanding-eabihf` | Cortex-M4/M7 with FPU |
| `riscv32-freestanding` | RISC-V 32-bit bare metal |

### 3. CPU feature targeting

```bash
# Native CPU (auto-detect, only for native builds)
zig build-exe src/main.zig -mcpu native

# Baseline for architecture (most compatible)
zig build-exe src/main.zig -target x86_64-linux-gnu -mcpu baseline

# x86-64 with AVX2
zig build-exe src/main.zig -target x86_64-linux-gnu -mcpu x86_64+avx2+bmi2

# Raspberry Pi 4 (Cortex-A72)
zig build-exe src/main.zig -target aarch64-linux-gnu -mcpu cortex_a72

# Cortex-M4 with FPU
zig build-exe src/main.zig \
    -target thumbv7em-freestanding-eabihf \
    -mcpu cortex_m4+vfp4

# List CPU features for a target
zig targets | python3 -c "
import sys,json
d=json.load(sys.stdin)
for c in d['cpus']:
    if 'cortex' in c['name']:
        print(c['name'])
"
```

### 4. zig cc for C cross-compilation

`zig cc` cross-compiles C without a system cross-toolchain:

```bash
# Cross-compile C for ARM64 Linux
zig cc -target aarch64-linux-gnu -O2 -o myapp-arm64 main.c

# Cross-compile C for Windows
zig cc -target x86_64-windows-gnu main.c -o myapp.exe

# Cross-compile C with static musl linking
zig cc -target x86_64-linux-musl -static main.c -o myapp-static

# Use in Makefile for all platforms
CC_LINUX_AMD64 = zig cc -target x86_64-linux-gnu
CC_LINUX_ARM64 = zig cc -target aarch64-linux-gnu
CC_WINDOWS     = zig cc -target x86_64-windows-gnu
```

### 5. Build system cross-compilation

```zig
// build.zig — cross-build all targets
pub fn build(b: *std.Build) void {
    const targets = [_]std.Target.Query{
        .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .gnu },
        .{ .cpu_arch = .aarch64, .os_tag = .linux, .abi = .gnu },
        .{ .cpu_arch = .x86_64, .os_tag = .windows, .abi = .gnu },
        .{ .cpu_arch = .aarch64, .os_tag = .macos },
    };

    for (targets) |t| {
        const target = b.resolveTargetQuery(t);
        const exe = b.addExecutable(.{
            .name = b.fmt("myapp-{s}", .{@tagName(t.cpu_arch.?)}),
            .root_source_file = b.path("src/main.zig"),
            .target = target,
            .optimize = .ReleaseFast,
        });
        b.installArtifact(exe);
    }
}
```

```bash
# Build all targets
zig build
# Creates: zig-out/bin/myapp-x86_64, myapp-aarch64, myapp-x86_64.exe, myapp-aarch64
```

### 6. Embedded (bare-metal) targets

```bash
# Cortex-M4 with FPU (STM32F4xx)
zig build-exe src/main.zig \
    -target thumbv7em-freestanding-eabihf \
    -mcpu cortex_m4+vfp4 \
    -O ReleaseSmall \
    --script linker.ld
```

```zig
// src/main.zig — bare metal entry point
const std = @import("std");

// Custom panic handler for embedded (no OS)
pub fn panic(msg: []const u8, _: ?*std.builtin.StackTrace, _: ?usize) noreturn {
    // Toggle LED or halt
    while (true) {}
}

// Entry point (matches linker script)
export fn _start() void {
    main() catch |err| {
        _ = err;
        while (true) {}
    };
}

fn main() !void {
    // Hardware initialization...
}
```

### 7. WebAssembly

```bash
# WASM freestanding (browser)
zig build-exe src/main.zig \
    -target wasm32-freestanding \
    -O ReleaseSmall \
    --export=init \
    --export=update \
    -fno-entry

# WASM WASI (wasmtime, wasmer)
zig build-exe src/main.zig \
    -target wasm32-wasi \
    -O ReleaseSafe
wasmtime myapp.wasm

# Optimize WASM size
wasm-opt -Oz myapp.wasm -o myapp.opt.wasm
```

For target triple reference and embedded linker script setup, see [references/zig-target-triples.md](references/zig-target-triples.md).

## Related skills

- Use `skills/zig/zig-compiler` for single-file compilation flags
- Use `skills/zig/zig-build-system` for multi-target build.zig configuration
- Use `skills/compilers/cross-gcc` for system cross-toolchain setup when needed
- Use `skills/rust/rust-cross` for Rust's cross-compilation approach comparison

© mohitmishra786 · MIT · mohitmishra786/low-level-dev-skills

Похожие скиллы

Все скиллы по теме «Языки программирования» →
migrate-to-shoehorn Matt Pocock Переводит type assertions с as в тестах на функции из @total-typescript/shoehorn. Нужен для частичных объектов и намеренно неверных данных в проверках. 475 388установок write-swift emilkowalski Скилл помогает писать, проверять и переносить код на Swift с учётом модели языка. Подойдёт, когда нужно разобраться с конкурентностью, ошибкой или циклом удержания объектов. CX Codex +1 119 300установок megacave JuliusBrussee Переводит ответы ассистента на классический китайский язык (вэньянь) для экономии места на экране. Активируется командами /megacave или /caveman wenyan. CX Codex +1 25 400установок find-docs upstash Тянет актуальную документацию, справочники API и примеры кода для любой библиотеки через Context7 CLI. Пригодится, когда агент отвечает по устаревшим данным обучения. CX Codex +1 9 400установок typescript-advanced-types Seth Hobson Помогает агенту писать сложную типизацию TypeScript: generics, conditional types и преобразования типов. Нужен для библиотек, API-клиентов и строгих конфигураций. CX Codex 92 169установок smart-explore thedotmack Структурно ищет функции и классы через tree-sitter. Пригодится, когда нужно разобраться в кодовой базе без чтения всех файлов. CX Codex +1 7 300установок

Из того же набора79

wasm-emscripten Скилл ведёт агента через сборку C и C++ в WebAssembly: подбор флагов emcc, экспорт функций, модель памяти, Asyncify и отладка .wasm. CX Codex +1 513установок zig-debugging Скилл для ИИ-агента: разбирает паники Zig, error return traces и сессии GDB/LLDB. Пригодится, когда программа падает, а стек нечитаемый. CX Codex +1 511установок zig-build-system Помогает агенту писать и отлаживать build.zig: исполняемые файлы, библиотеки, C-исходники, опции сборки и тесты. CX Codex +1 508установок build-acceleration Скилл для ИИ-агентов, который помогает разобраться, почему сборка C/C++ идёт медленно, и настроить кэш, распределённую компиляцию и PCH. CX Codex +1 506установок assembly-riscv Обучает ИИ-агента писать код на ассемблере RISC-V RV32 и RV64, оформлять вставки inline asm для GCC и настраивать отладку через QEMU с GDB. CX Codex +1 483установок zig-cinterop Скилл объясняет агенту, как связать Zig и C: @cImport, translate-c, extern struct, экспорт функций и сборка смешанных проектов. CX Codex +1 482установок include-what-you-use Скилл ведёт агента через IWYU: разбирает отчёты, применяет mapping-файлы и убирает лишние #include, из-за которых сборка C++ расползается. CX Codex +1 480установок rust-no-std Скилл для разработки на Rust без стандартной библиотеки: разбирает границу core, alloc и std, глобальные аллокаторы и обработчики паник. CX Codex +1 474установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой