Context and Problem Statement
/spec-kitty.clarify currently exists as a distinct public workflow step and as a
generated prompt file across every supported agent directory. That command adds
product surface area, docs, upgrade complexity, and dedicated maintenance code.
At the same time, its value is not meaningfully distinct from stronger
specification work inside /spec-kitty.specify and the direct transition into
/spec-kitty.plan.
We want the command gone completely. That means removing it from packaged
templates, generated agent prompts, project-local .kittify copies, and
current product documentation. Existing initialized projects also need an
upgrade path that deletes stale prompt files rather than leaving them behind.
Decision Drivers
- Reduce the public slash-command surface area.
- Simplify the default workflow from
specify -> plan. - Eliminate clarify-specific maintenance code and migration repair logic.
- Prevent stale generated prompt files from surviving upgrades.
- Keep current product documentation aligned with the shipped command set.
Considered Options
- Option 1: Keep
/spec-kitty.clarifyas-is - Option 2: Deprecate
/spec-kitty.clarifyfirst, then remove it later - Option 3: Remove
/spec-kitty.clarifyimmediately with a destructive upgrade migration
Decision Outcome
Chosen option: "Option 3: Remove /spec-kitty.clarify immediately with a destructive upgrade migration", because it satisfies the goal of making the command disappear completely while keeping existing projects clean after upgrade.
Consequences
Positive
- The public workflow becomes simpler and easier to teach.
- Spec Kitty ships one fewer slash command across every supported agent.
- Upgrade logic stops repairing a command we no longer want.
- Current docs, examples, and init output become easier to keep consistent.
Negative
- Existing users lose a named clarification phase.
- Upgrade must delete already-generated prompt files and project-local templates.
- Users who relied on the old command must move that behavior into stronger spec review before planning.
Neutral
- Historical records such as changelog entries and archived
kitty-specs/artifacts remain unchanged. - Clarification still happens as part of specification quality work, but not as a dedicated slash command.
Confirmation
We will validate this decision by:
- Ensuring fresh
spec-kitty initoutput and generated agent prompts contain noclarifycommand. - Ensuring
spec-kitty upgradedeletes stalespec-kitty.clarify.*prompt files and.kittifytemplate copies from existing projects. - Ensuring current product docs and examples describe a 13-command surface and a direct
specify -> planflow.
Pros and Cons of the Options
Option 1: Keep /spec-kitty.clarify as-is
Pros:
- No migration work required
- Existing users keep the familiar named step
Cons:
- Preserves command-surface bloat
- Keeps docs, templates, and migrations more complex than necessary
- Conflicts with the explicit goal to remove the command completely
Option 2: Deprecate first, remove later
Pros:
- Gives users a softer transition path
- Allows warning-based rollout
Cons:
- Requires compatibility shims we do not want
- Extends the lifetime of command-specific code and docs
- Leaves the repo in a half-removed state for at least one more release
Option 3: Remove immediately with a destructive upgrade migration
Pros:
- Delivers the cleanest end state in one step
- Keeps upgrade behavior explicit and deterministic
- Removes stale artifacts instead of preserving them accidentally
Cons:
- More work in a single PR
- Requires coordinated updates across templates, migrations, tests, and docs
More Information
- Upgrade cleanup implementation:
src/specify_cli/upgrade/migrations/m_2_0_11_remove_clarify_command.py - Current-source template removals:
src/specify_cli/templates/command-templates/andsrc/specify_cli/missions/software-dev/command-templates/ - Current-product doc updates:
README.md,docs/reference/, andexamples/