# How to Install and Use the /no-mistakes Agent Skill

> Install and use the /no-mistakes agent skill easily. Run 'no-mistakes init' and invoke with /no-mistakes for validation or /no-mistakes <task> for task-driven gating. Streamline your coding workflow.

- Repository: [Kun Chen/no-mistakes](https://github.com/kunchenguid/no-mistakes)
- Tags: how-to-guide
- Published: 2026-07-12

---

**Install the `/no-mistakes` agent skill by running `no-mistakes init`, which generates the skill definition from [`internal/skill/skill.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/skill/skill.go) and copies it to `~/.claude/skills/no-mistakes/` and `~/.agents/skills/no-mistakes/`, then invoke it in your coding agent with `/no-mistakes` for validation or `/no-mistakes <task>` for task-driven gating.**

The `/no-mistakes` agent skill is the primary interface that coding agents like Claude Code, Codex, OpenCode, Rovo Dev, and Pi use to interact with the `no-mistakes` pipeline. According to the `kunchenguid/no-mistakes` source code, this skill provides a standardized way to validate committed changes or drive new development tasks through an automated gating workflow. The skill’s implementation lives in [`internal/skill/skill.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/skill/skill.go), which serves as the single source of truth for the skill’s name, description, and Markdown body.

## What Is the /no-mistakes Agent Skill?

The skill is a structured definition that teaches agents how to invoke the `no-mistakes` pipeline. Defined in [`internal/skill/skill.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/skill/skill.go), it exports a `Name` field, a `Description` field for agent discovery via front-matter, and a `Markdown()` method that generates the instructional content. Agents read this body to learn which `no-mistakes axi` commands to execute, how to translate user intents into CLI flags, and how to respond to gate findings (e.g., `axi respond --action fix`).

## Installing the /no-mistakes Skill

Installation is handled by the `no-mistakes init` command, implemented in [`internal/cli/init.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/cli/init.go). This performs a best-effort, user-level installation that writes the skill’s [`SKILL.md`](https://github.com/kunchenguid/no-mistakes/blob/main/SKILL.md)—generated by `skill.Markdown()`—into the agent-specific skill directories. No files are written into the repository itself; the installation is purely user-level to keep repositories clean.

```bash

# Install the skill to user-level agent directories

no-mistakes init

```

This command creates:
- `~/.claude/skills/no-mistakes/SKILL.md`
- `~/.agents/skills/no-mistakes/SKILL.md`

The installation follows any existing symlinks between `.claude` and `.agents` directories, ensuring the skill is visible to all supported agents. According to [`docs/src/content/docs/start-here/quick-start.md`](https://github.com/kunchenguid/no-mistakes/blob/main/docs/src/content/docs/start-here/quick-start.md), this approach allows the same skill definition to be discovered by Claude Code, Codex, OpenCode, Rovo Dev, and Pi without modifying project files.

## Using the /no-mistakes Agent Skill

Once installed, agents discover the skill via the `Description` field embedded in the front-matter of the generated [`SKILL.md`](https://github.com/kunchenguid/no-mistakes/blob/main/SKILL.md). As implemented in [`internal/skill/skill.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/skill/skill.go) (lines 13-20), the `Markdown()` method packages this metadata at the top of the file. The skill supports two distinct invocation modes, defined in [`internal/skill/skill.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/skill/skill.go) (lines 58-78).

### Validate-Only Mode (Bare Invocation)

Running `/no-mistakes` without arguments triggers validation of already-committed changes on the current feature branch. This mode is useful when you want to gate existing work without requesting new changes.

```

/no-mistakes

```

### Task-First Mode

Providing a task argument `/no-mistakes <task>` instructs the agent to perform the task, commit the changes on a feature branch (creating one automatically if you are on the default branch), and then run the pipeline with the task text passed as the `--intent` flag.

```

/no-mistakes add a --json flag to the status command

```

## How the Skill Drives the Pipeline

Both invocation modes ultimately invoke the non-interactive command surface `no-mistakes axi`, which prints TOON output to `stdout` and progress messages to `stderr`. The skill’s Markdown body instructs the agent on which `axi` subcommands to invoke and how to structure the `--intent` parameter.

For direct terminal usage without an agent, you can drive the pipeline manually:

```bash

# Run the pipeline with a specific intent

no-mistakes axi run --intent "Add JSON flag to status command"

# Fully automated mode that auto-accepts prompts

no-mistakes axi run --intent "Add JSON flag" --yes

```

## Key Implementation Files

| File | Purpose |
|------|---------|
| [`internal/skill/skill.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/skill/skill.go) | Defines the canonical skill name, description, and `Markdown()` method that generates the skill definition (source of truth) |
| [`internal/cli/init.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/cli/init.go) | Implements `no-mistakes init` for user-level installation to `~/.claude/skills/` and `~/.agents/skills/` |
| [`cmd/genskill/main.go`](https://github.com/kunchenguid/no-mistakes/blob/main/cmd/genskill/main.go) | CLI tool used by CI to render `skill.Markdown()` to [`skills/no-mistakes/SKILL.md`](https://github.com/kunchenguid/no-mistakes/blob/main/skills/no-mistakes/SKILL.md) for testing |
| [`docs/src/content/docs/start-here/quick-start.md`](https://github.com/kunchenguid/no-mistakes/blob/main/docs/src/content/docs/start-here/quick-start.md) | User-facing documentation covering the installation flow and quick-start steps |
| [`docs/src/content/docs/guides/agents.md`](https://github.com/kunchenguid/no-mistakes/blob/main/docs/src/content/docs/guides/agents.md) | Reference guide explaining how agents discover and invoke the `/no-mistakes` skill |

## Summary

- Run `no-mistakes init` to install the skill to `~/.claude/skills/` and `~/.agents/skills/` from the canonical definition in [`internal/skill/skill.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/skill/skill.go)
- Use bare `/no-mistakes` to validate already-committed changes on a feature branch
- Use `/no-mistakes <task>` to have the agent perform work, commit it automatically, and gate the results with the task as `--intent`
- The skill generates instructions via `skill.Markdown()` that teach agents to invoke `no-mistakes axi` commands and handle gate findings
- Installation is user-level and follows symlinks between `.claude` and `.agents` directories for cross-agent compatibility

## Frequently Asked Questions

### Where is the /no-mistakes skill definition stored?

The canonical definition lives in [`internal/skill/skill.go`](https://github.com/kunchenguid/no-mistakes/blob/main/internal/skill/skill.go), which exports the `Name`, `Description`, and `Markdown()` method that generates the content for [`SKILL.md`](https://github.com/kunchenguid/no-mistakes/blob/main/SKILL.md). When you run `no-mistakes init`, this content is written to your user-level skill directories at `~/.claude/skills/no-mistakes/` and `~/.agents/skills/no-mistakes/`.

### Why does the installation go to ~/.claude and ~/.agents instead of the repository?

The `no-mistakes init` command performs a user-level installation to keep repositories free of agent-specific configuration files. This best-effort approach writes to both directories and follows any existing symlinks between them, ensuring the skill is visible to Claude Code, Codex, OpenCode, Rovo Dev, Pi, and other supported agents without modifying your project’s version control.

### What is the difference between /no-mistakes and no-mistakes axi?

`/no-mistakes` is the high-level skill interface consumed by coding agents that translates natural language tasks into structured pipeline commands. `no-mistakes axi` is the underlying non-interactive command surface that executes the validation pipeline, outputs TOON-formatted results to stdout, and writes progress messages to stderr. Agents use the skill’s Markdown instructions to determine which `axi` subcommands and flags to invoke.

### Can I use the skill without a coding agent?

Yes. While the `/no-mistakes` skill is designed for agent consumption, you can drive the same pipeline directly from the terminal using `no-mistakes axi run --intent "your task here"`. This bypasses the skill abstraction and interacts with the gate system directly, making it suitable for CI/CD pipelines or manual execution where agent integration is not available.