Skip to content
This feature requires ACT Pro. Compare plans →

Refine Spec

Roast your spec before implementation. This command acts as an adversarial reviewer that catches problems before you start coding.

Terminal window
/act:workflow:refine-spec [spec-file]

Arguments:

  • Spec file path: ai_specs/auth-spec.md
  • No argument: ACT will browse ai_specs/ and let you pick a spec

The refine-spec command evaluates your spec across five dimensions:

  • Are there implied but unstated requirements?
  • Are success/failure criteria defined for every action?
  • Are there missing states (loading, empty, error, partial)?
  • Are permissions and access control addressed?
  • Does the spec assume packages, patterns, or APIs that don’t exist in your project?
  • Does it reference files or structures that don’t match reality?
  • Are there unverified assumptions about data availability or format?
  • Is the happy path intuitive?
  • Are error messages actionable? Can users recover?
  • Are there dead ends where users get stuck?
  • Is navigation logical — can users go back, cancel, or escape at every point?
  • Do models have all fields needed for every flow?
  • Are there fields in the UX that don’t appear in the data model (or vice versa)?
  • Does the persistence strategy make sense?
  • Does the spec follow your project’s actual directory structure?
  • Does it use your state management pattern correctly?
  • Would the implementation feel out of place next to existing features?

Findings organized by severity:

  • Critical — blocks implementation, must be resolved first
  • Important — would cause rework during implementation
  • Minor — worth improving for clarity

Each finding includes the problem (with evidence) and a suggested fix.

ACT offers these next steps:

  • Update spec — apply fixes for Critical and Important findings
  • Discuss findings — talk through specific findings before changing anything
  • Looks good — proceed to planning as-is
  • Re-run spec — the spec needs a full rewrite
  • After creating a spec for a complex feature
  • Before committing to an implementation plan
  • When you’re unsure if the spec covers enough edge cases

You can skip refine-spec for simple features where the requirements are obvious.