Agent Plan-mode

Status: supported — one Implementation handoff option (alongside OpenSpec).

Use Agent Plan-mode when you want your editor’s Plan mode (Cursor Plan via Shift+Tab, Codex /plan, Claude Code plan permission / /plan). AuthRight writes a work package under .authright/changes/<dir>/agent-plan/; Plan mode turns that into an implementation plan. AuthRight does not switch Plan mode for you and does not edit application source.

/auth:to-openspec and /auth:to-plan are two handoff commands—pick one. Prefer OpenSpec when OpenSpec is installed and you want that path.

When to export

After decisions are accepted, contract.md is filled, and request-match has passed:

authright change <id> --ready
authright request-match <id>
# Switch the chat session to Plan mode first, then:
authright to-plan <id>

Chat equivalent (after init): /auth:to-plan (Cursor /auth-to-plan, Claude /auth:to-plan, Codex $authright-to-plan).

Plan mode first (chat): when the change is ready to export, the skill stops if you are not already in Plan mode—switch, then run the command again. If Decide work is still open, it finishes that first. Terminal authright to-plan can write the package for scripts; in chat, stay in Plan mode.

This writes .authright/changes/<dir>/agent-plan/ including:

  • handoff.yaml — marks this as Agent Plan-mode handoff and records the change id
  • plan-seed.md — instructions for Plan mode (locks stay fixed)
  • tasks.md — checklist to implement
  • constraints.md — hard constraints (same role as OpenSpec design.md)
  • requirements.md — SHALL / WHEN / THEN checks (same role as OpenSpec specs/)

After export, treat agent-plan/ as the package to implement from—not Decision Package YAML or the Technology Registry. If you also ran to-openspec, both packages may exist; pick one for this session (Plan Build or OpenSpec apply).

Does not need OpenSpec. Does not write openspec/changes/.

After export

Stay in Plan mode, feed from plan-seed.md (and @ sibling files), produce the host plan, Build/approve, implement, then:

authright review <id>
# or: /auth:review

On this page