How commands work
The one thing to know: AuthRight Harness has two kinds of commands, and they run in two different places.
authright ...commands run in your terminal. (Example:authright init.)- Product slash names use colon form in docs (
/auth:scan,/auth:explore,/auth:change,/auth:request-match,/auth:to-openspec,/auth:to-plan,/auth:review,/auth:doc,/auth:doctor). What you type in chat depends on the host — see the file-shape table below./auth:exploreand/auth:changeare two Decide commands — pick one./auth:to-openspecand/auth:to-planare two handoff commands — pick one.
If you type /auth:scan into your terminal and nothing useful happens, this page is why. If Cursor does not register /auth:scan, type /auth-scan instead.
authright init writes .authright/AGENTS.md (a managed playbook). Generated skills and commands tell the agent to read that file first. AuthRight does not create /auth:agents and does not edit repository-root AGENTS.md / CLAUDE.md.
Public vs agent vs internal (same authright binary)
| Tier | Meaning |
|---|---|
| Public | Product closed loop in the terminal (scan, explore, change, …) — this page and CLI |
| Agent-facing | Same public verbs with --invoke / --json — skills and .authright/AGENTS.md |
| Internal | Advanced namespace on the same binary (maintainer notes in the product git repo under docs/internal/, not on this site) |
File shape → what you type
Invoke spelling is a function of the file that was written, not a single colon string for every host. authright init / update print the installed hosts’ rows from this table.
| File written | User types | Hosts |
|---|---|---|
.claude/commands/auth/<id>.md | /auth:<id> | Claude Code |
.cursor/commands/auth-<id>.md | /auth-<id> | Cursor |
none (skill authright-<id>) | $authright-<id> | Codex |
Examples: Claude /auth:scan, Cursor /auth-scan, Codex $authright-scan. If you chose --delivery skills on Cursor, there is no /auth-scan command file — use the skill authright-scan.
The two halves
The CLI (terminal half). Install from npm and run from your shell for init, scan, explore, change, export, review, and doctor.
authright init
authright scan
authright explore -- "…"
authright change AUTH-YYYY-NNNNThe agent half (chat). After init, slash commands / skills drive user-intent workflows. Type the host form, not a generic colon string on every tool.
Cursor: /auth-scan /auth-explore /auth-change /auth-to-openspec /auth-to-plan /auth-doc /auth-doctor
Claude Code: /auth:scan /auth:explore /auth:change /auth:to-openspec /auth:to-plan /auth:doc /auth:doctor
Codex: $authright-scan $authright-explore $authright-change $authright-to-openspec $authright-to-plan $authright-doc $authright-doctor/auth-doc, /auth:doc, and $authright-doc write a readable summary of identity decisions already on disk (and locked changes when they exist). They do not change your app or configuration, and there is no authright doc terminal command. Omitting an Auth Change id covers every change under .authright/docs/. Naming an id writes under that change's docs/ directory. Earlier documents are left in place.
/auth-doctor, /auth:doctor, and $authright-doctor read your application source and write a risk report to .authright/diagnosis/report.md. That is different from /auth:doc (decisions write-up vs code risk report).
YOUR TERMINAL YOUR AI ASSISTANT'S CHAT
┌──────────────────────┐ ┌──────────────────────────────┐
│ $ authright init │ installs │ Cursor /auth-scan │
│ $ authright scan │ ──────────► │ Claude /auth:scan │
│ $ authright review │ commands │ Codex $authright-doctor │
└──────────────────────┘ & skills └──────────────────────────────┘There is no separate “interactive mode”
Open your assistant in the project and type the host command in chat.
Host spelling table
| Tool | Install location | Invoke |
|---|---|---|
| Cursor | .cursor/commands/auth-*.md | /auth-scan, /auth-explore, /auth-change, … |
| Claude Code | .claude/commands/auth/<id>.md | /auth:scan, /auth:explore, /auth:change, … |
| Codex | .agents/skills/authright-*/ | $authright-scan, $authright-explore, … |
Stale Claude flat files (.claude/commands/auth-scan.md) from older CLIs register /auth-scan, not /auth:scan. Run authright update, then type /auth:scan on Claude Code.
Getting started
This guide assumes the CLI is already installed and on your PATH. For install steps, see Installation.
Workflows
Common patterns using the design user-intent commands (colon product names). In Cursor type hyphen forms (/auth-scan); in Claude Code type colon forms (/auth:scan); in Codex type $authright-scan. Greenfield and brownfield are paths, not slash commands.