A night of autonomous work needs a review gate, especially on a live repo. Output is now one branch and one PR rather than commits on the default branch. Separates committing from pushing, which had been conflated. Local commits are what protect against an agent dying mid-task, and they cost no CI, so they stay at every milestone. Pushing is what triggers CI, so it becomes a deliberate act: at the end, when parking, or on request. A night of milestone pushes is a night of CI runs on work that was half-finished at the time, which trains the user to ignore the build. Subagents are told to commit locally and explicitly not to push. Covers both forges: gh for GitHub, the API for Gitea (no tea CLI on most setups), and reporting a compare URL rather than faking success if auth fails. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019SSXDKsik8yYrezStVaDXt
agent-skills
Single source of truth for custom agent skills + commands. Shared across Claude Code and Codex, every machine.
Layout
skills/ # SKILL.md dirs — Claude Code AND Codex both read these (open Agent Skills standard)
commands/ # slash commands — Claude Code only (Codex ignores)
bin/link.sh # bootstrap symlinks for non-Nix machines
nix/home.nix # home-manager module for NixOS machines
flake.nix # exposes homeModules.default
Skills are portable: only name+description frontmatter is required by both tools; Claude-only fields (user-invocable, args) are ignored by Codex. Cross-skill refs use root-relative paths (linear-common/COMMON.md), so they resolve under ~/.claude/skills and ~/.agents/skills alike.
Install
Non-Nix machine (e.g. dev VM)
git clone https://git.naps.pt/yolo/agent-skills.git ~/tea/yolo/agent-skills
~/tea/yolo/agent-skills/bin/link.sh
Symlinks each skill into ~/.claude/skills/ and ~/.agents/skills/, commands into ~/.claude/commands/. Idempotent; any pre-existing real dir is moved to ~/.agent-skills-backup/ (outside the discovery path, so it isn't picked up as a duplicate skill). Re-run after adding a skill.
NixOS machine (home-manager)
# flake inputs
inputs.agent-skills.url = "git+https://git.naps.pt/yolo/agent-skills.git";
# home config imports
imports = [ inputs.agent-skills.homeModules.default ];
recursive = true links files individually, so machine-local skills can coexist in the same dir. nixos-rebuild switch to apply/update.
Adding a skill
Drop a new skills/<name>/SKILL.md (+ optional scripts/, references/, assets/). Commit. Non-Nix: re-run bin/link.sh. Nix: rebuild.
Skills
| skill | what |
|---|---|
work |
tracker issue → worktree → PR → hands off to land |
yolo |
quick ship; optional land handoff |
land |
drive an open PR to green + merged (canonical CI/review loop) |
blitz |
drive a whole milestone to done |
linear-common |
shared config/setup/worktree conventions (dependency of work/yolo/blitz) |
crit, humanizer, impeccable, improve-codebase-architecture |
misc |