The nobloat software taste as a Claude Code skill: small, self-hosted, stdlib-only Go tools. Distilled from workq, blog, tinyviper, poll and up, plus bill and track for the system skill.
Three skills, one directory each:
- nobloat: the taste for a single tool (stack, code, HTTP, auth, config, tests, UI, branding, plan-first workflow).
- nobloat-auth (lives in nobloat/auth as
skill/;nobloat-auth/here is a pointer): single-user basic auth or nobloat/auth in front via caddy forward auth, groups as the only source of access, API keys and service users from auth, Caddyfile, tests. - nobloat-storage: config, entity files and hot reload, JSON per type or per object, CSV or JSONL rows, atomic writes, seeding from prepared files, trivial and incremental backup, export, migration, when SQLite is justified.
- nobloat-outbox: the durable file outbox for mail, webhooks and API pushes (record, same-transaction enqueue, worker, stdlib SMTP + MIME, retry classes, rate limits, tests).
- nobloat-system: building several cooperating services end to end (integrations, money and documents, own renderers, security baseline, metrics, local auth stack, verification, review loop, demo video). Used together with nobloat.
Clone once, symlink each skill directory into each agent's skills directory, update with git pull.
git clone https://github.com/nobloat/skill ~/git/nobloat/skill| Agent | User-wide | Per project |
|---|---|---|
| Claude Code | ln -s ~/git/nobloat/skill/nobloat ~/.claude/skills/nobloat |
.claude/skills/nobloat |
| Codex | ln -s ~/git/nobloat/skill/nobloat ~/.agents/skills/nobloat |
.agents/skills/nobloat |
| Pi | reads ~/.claude/skills and ~/.agents/skills, either link above works |
.agents/skills/nobloat |
| Other Agent Skills agents | ~/.agents/skills/nobloat |
.agents/skills/nobloat |
Same for nobloat-storage and nobloat-system. For nobloat-auth link the auth repo's skill/ directory (ln -s ~/git/nobloat/auth/skill ~/.claude/skills/nobloat-auth); linking nobloat-auth/ from here also works and points there. Create the parent directory first if missing (mkdir -p ~/.agents/skills). Per project, prefer a git submodule over a copy: git submodule add https://github.com/nobloat/skill .agents/nobloat-skill, then symlink .agents/skills/nobloat -> ../nobloat-skill/nobloat (and nobloat-system).
Agents without skill support: add Follow ~/git/nobloat/skill/nobloat/SKILL.md. (and nobloat-system/SKILL.md for multi-service work) to their AGENTS.md.
All nobloat components together, with this repo as a submodule, are nobloat/system: the local stack and the place to drive changes across components.
Use: the agent loads a skill when its description matches (starting, building or reviewing a nobloat project); force it with /nobloat (Claude Code), $nobloat (Codex) or /skill:nobloat (Pi), likewise nobloat-system.