Use the no-mistakes gated push workflow in Git repositories. Use when the user wants to check no-mistakes readiness, initialize or inspect a gate, configure .no-mistakes.yaml, push through the no-mistakes remote, attach to runs, interpret/fix pipeline findings, rerun status/runs/doctor, or use no-mistakes with Codex/Claude/OpenCode/Pi/ACP agents. Install guidance is secondary and only for missing or broken no-mistakes binaries.
npx skills add https://github.com/instructa/agent-skills --skill no-mistakes
Use no-mistakes as the repo's finished-feature workflow: inspect readiness, verify the local branch, push through the no-mistakes remote when approved, attach to the run, and help the user react to pipeline findings until PR/CI is ready.
git push no-mistakes, bare no-mistakes -y, and CI auto-fix runs as remote-affecting operations. Ask before running them unless the user explicitly requested a push/PR flow..no-mistakes.yaml over agent auto-detection for repeatable gates.python3 first, then python) and no external dependencies.command -v and no-mistakes doctor for prerequisites. Avoid hard-coded local binary paths in reusable instructions.no-mistakes is missing or broken.Start with the bundled health check when inspecting an existing repo. Resolve scripts/check_no_mistakes.py relative to this skill folder, then run it with whichever Python command exists:
python3 <skill-dir>/scripts/check_no_mistakes.py --cwd .
python <skill-dir>/scripts/check_no_mistakes.py --cwd .
Use --json when you need machine-readable output:
python3 <skill-dir>/scripts/check_no_mistakes.py --cwd . --json
The script is read-only and standard-library only. It checks git, no-mistakes, provider CLIs, supported agent binaries, origin and no-mistakes remotes, .no-mistakes.yaml, and no-mistakes doctor.
Use this flow when the user says the feature is done and would normally run git push.
Run the deterministic check from the repo root:
python3 <skill-dir>/scripts/check_no_mistakes.py --cwd .
If python3 is unavailable, use:
python <skill-dir>/scripts/check_no_mistakes.py --cwd .
Then inspect Git state:
git status --short --branch
git branch --show-current
git remote -v
no-mistakes status
no-mistakes runs --limit 10
Stop and ask before continuing if:
main, master, develop, or another protected base branchorigin is missingno-mistakes remote is missing and no-mistakes init has not been approvedno-mistakes doctor reports a hard failureBefore any remote-affecting command, state the exact branch and command:
Ready to push <branch> through no-mistakes with:
git push no-mistakes <branch>
Ask for confirmation unless the user already explicitly requested the no-mistakes push.
Run:
git push no-mistakes <branch>
Do not use git push origin in this workflow.
Open or attach to the active run:
no-mistakes
If the run is not active or you need a specific run:
no-mistakes attach
For each blocking finding:
rebase, review, test, document, lint, push, pr, or ci)If the run needs another attempt:
no-mistakes rerun
End with:
Use skip only for an explicitly accepted one-off bypass:
no-mistakes --skip test,lint
git push -o no-mistakes.skip=test,lint no-mistakes <branch>
Use the wizard for uncommitted work only when the user wants no-mistakes to guide branch/commit/push:
no-mistakes
no-mistakes -y
First check whether it is already available:
command -v no-mistakes
no-mistakes --version
If it is missing or broken, choose one install path:
# macOS/Linux release binary; installs/restarts daemon
curl -fsSL https://raw.githubusercontent.com/kunchenguid/no-mistakes/main/docs/install.sh | sh
# Go install; telemetry off by default unless configured at runtime
go install github.com/kunchenguid/no-mistakes/cmd/no-mistakes@latest
# Source checkout
make build
make install
After install:
no-mistakes doctor
Required: git and at least one supported agent binary (claude, codex, opencode, acli for Rovo Dev, pi) or acpx for an ACP target. For PR/CI steps, GitHub uses gh, GitLab uses glab, and Bitbucket Cloud uses NO_MISTAKES_BITBUCKET_EMAIL plus NO_MISTAKES_BITBUCKET_API_TOKEN.
Initialize a repo that already has an origin remote:
git remote -v
no-mistakes init
This adds a local no-mistakes remote and creates gate state under ~/.no-mistakes unless NM_HOME is set. It does not remove origin.
Remove a gate from the current repo:
no-mistakes eject
Prefer a repo-level .no-mistakes.yaml with explicit commands:
agent: codex
commands:
test: "go test -race ./..."
lint: "go vet ./..."
format: "gofmt -w ."
ignore_patterns:
- "*.generated.go"
- "vendor/**"
auto_fix:
rebase: 3
review: 0
test: 3
document: 3
lint: 3
ci: 3
Adjust commands to the repo's real test/lint/format entrypoints. If commands are omitted, the selected agent tries to detect checks.
Use global config for machine-local agent paths or flags:
# ~/.no-mistakes/config.yaml
agent: auto
agent_path_override:
codex: /absolute/path/to/codex
Do not put machine-local paths, approval modes, or personal model choices into .no-mistakes.yaml unless the repo intentionally owns that policy.
The pipeline order is:
intent -> rebase -> review -> test -> document -> lint -> push -> pr -> ci
Key distinctions:
commands.test, commands.lint, and commands.format.doctor cannot find an agent, check PATH first, then set agent_path_override in ~/.no-mistakes/config.yaml.gh/glab authentication or Bitbucket env vars.PATH and report the exact command and failure.Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take instructa/no-mistakes from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference go.
Without those the skill loads but fails at the first command.