Skip to content

Add advisability dimension to /assess-ticket #462

Description

@williamthorsen

Problem

/assess-ticket produces structured verdicts across four dimensions: drift, relevance, progress, and complexity. None of these capture whether the agent recommends implementing the ticket — whether its framing, scope, or proposed fix hold up to scrutiny.

  • Drift checks "do referenced files still exist? do API references still match?" — narrow factual anchoring.
  • Relevance checks "does the motivation still apply?" — whether the underlying need persists.
  • Progress checks "has the work been done?"
  • Complexity classifies effort.

A ticket can be factually anchored, motivated, unimplemented, and well-sized — and still be wrong about scope or proposed solution. The skill currently has no way to surface that.

Context

This gap was identified during the design of #460 (which adds the same evaluation criteria to /design-and-plan). The two skills serve different consumers — /design-and-plan consumes evaluation conversationally during active design; /assess-ticket produces a structured artifact for triage and portfolio decisions — so each needs its own integration of the criteria.

The shared criteria live in packages/agents/content/skills/_data/ticket-evaluation.md, created by #460 (landed in commit 8263772).

Solution

Add Advisability as a fifth dimension to /assess-ticket. It captures the agent's recommendation on whether to implement the ticket as written, synthesizing the four facets defined in _data/ticket-evaluation.md (problem reality, scope correctness, solution soundness, title accuracy).

Dimension shape

  • Name: Advisability
  • Icon: 🧭
  • Verdicts:
    • 🟢 advisable — recommend implementing as written; all four facets pass scrutiny
    • 🟠 questionable — recommend with concerns; one or more facets surface issues warranting human review
    • 🔴 inadvisable — recommend against implementing as written; rework needed before proceeding
  • Evidence: prose bullets, one per concern surfaced; omit when no facet fires. Bullets do not prefix facet names.
  • Position: between Progress and Complexity in the assessment block. Concern-scale dimensions stay grouped; Complexity remains last as the size-scale outlier.
  • Skip: when progress is complete, matching the existing complexity carve-out.

Next-steps integration

Verdict Action
questionable ♻️ Revise ticket to address advisability concerns
inadvisable 🏁 Close as inadvisable

The ♻️ "Revise" action is distinct from the existing ♻️ "Update ticket to match current codebase state" (different intent: content/scope rework vs factual sync). When both fire, the combined next-steps list shows them as two separate options rather than collapsing under the dedupe rule.

Baseline: advisable is baseline; non-baseline verdicts trigger the next-steps prompt.

Compatibility

Advisability is orthogonal to existing dimensions:

  • A ticket can have 🟢 drift (files exist) but 🔴 advisability (proposed fix is wrong).
  • A ticket can have 🟢 relevance (motivation applies) but 🟠 advisability (scope is too narrow).

Dependencies

Acceptance criteria

  • /assess-ticket SKILL.md gains an Advisability dimension that references _data/ticket-evaluation.md.
  • Advisability appears in both output formats (with and without acceptance criteria), positioned between Progress and Complexity.
  • The verdict reference table includes Advisability with verdicts advisable / questionable / inadvisable.
  • The emoji mapping documentation places Advisability under the concern scale.
  • Advisability is skipped when progress is complete, matching the complexity carve-out.
  • next-steps-after-assessment.md adds Advisability to the baseline-verdict table and the action-mapping tables.
  • next-steps-after-assessment.md distinguishes ♻️ "Revise ticket to address advisability concerns" from ♻️ "Update ticket to match current codebase state" — when both fire, both appear as separate options.
  • The "Key principles" section in assess-ticket/SKILL.md is updated if the new dimension introduces a principle worth surfacing.

Metadata

Metadata

Labels

featureAdded or improved external functionalityscope:agents

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions