prompts/skills/garnix/SKILL.md
Use when working with Garnix CI, Garnix GitHub checks, Nix flake builds, Garnix badges, Garnix Actions, or garnix-cli - explains how Garnix runs flake CI and how to inspect builds and logs.
npx skillsauth add ramblurr/nix-devenv garnixInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Garnix is hosted CI + binary cache for Nix flakes. It installs as a GitHub App,
builds flake outputs, exposes results as GitHub Checks, and pushes build results
to its cache. Most github.com/ramblurr/* and github.com/outskirtslabs/*
repositories with flake.nix are already connected.
No .github/workflows/* file is needed for normal Garnix CI.
flake.nix.garnix-cli logs <build-id>.garnix.yaml exists but is rarely needed.Garnix Actions are separate: flake apps can run as CI actions with network and
tools. Use them only when a build/check derivation is not the right shape.
Prefer garnix-cli for steps 2-4.
First check whether the tool is available:
command -v garnix-cli
If missing, enter the project dev shell. Most active projects already include it
there. If it is still missing, add garnix-cli to the dev shell packages for the
project.
Common commands:
# recent runs for current repo, auto-detected from git origin
garnix-cli list
# recent runs for another repo
garnix-cli list -R owner/repo --limit 5
# filter runs
garnix-cli list -R owner/repo --status failure
# latest run for current repo
garnix-cli view
# latest run for another repo
garnix-cli view -R owner/repo
# specific commit
garnix-cli view <commit-sha>
# watch until terminal; exit non-zero on failure/cancel
garnix-cli watch -R owner/repo --compact --exit-status --interval 10
# fetch logs from failed build ID shown by view/watch
garnix-cli logs <build-id>
Machine output:
garnix-cli --json list -R owner/repo
garnix-cli --edn view -R owner/repo
garnix-cli --plain watch -R owner/repo --compact
Private repos: use GARNIX_API_TOKEN if needed.
export GARNIX_API_TOKEN=...
Fallback only. Use GitHub's Checks API via gh when garnix-cli is unavailable:
gh api repos/OWNER/REPO/commits/SHA/check-runs --jq '.check_runs[] | [.name,.status,.conclusion] | @tsv'
This shows check state, but not Garnix build IDs. Prefer garnix-cli for logs.
Use the shields.io endpoint wrapper. The raw Garnix badge URL returns JSON, not an SVG, so GitHub renders it as a broken image.
[](https://garnix.io/repo/<owner>/<repo>)
Example:
[](https://garnix.io/repo/outskirtslabs/garnix-cli)
garnix.yaml: https://garnix.io/docs/ci/yaml_config/testing
Use this OCP when executing or preparing to execute commands that change a live or important system, service reloads/restarts, package changes, deployments, migrations, firewall/network/access changes, credential rotation, NixOS switch/test/boot/deploy, or incident mitigation. It guides safe operations with a persisted ledger for scope, preflight, baseline, rollback, validation, and evidence.
development
Create new agent skills with proper structure, progressive disclosure, and bundled resources. Use when user wants to create, write, or build a new skill.
documentation
Naming conventions for workflow documents in prompts/. Use when creating plans, PRDs, research reports, idea capture or other workflow documents. Triggers on (1) creating new planning documents, (2) naming PRDs or research reports, (3) questions about document organization in prompts/.
testing
Grilling session that challenges your plan against the existing domain model, sharpens terminology, and updates documentation (CONTEXT.md, ADRs) inline as decisions crystallise. Use when user wants to stress-test a plan against their project's language and documented decisions.