Appropriate use
Use during refinement, grooming, design review, or before a developer begins implementation.
Reviews a Jira or Linear ticket before implementation or QA begins, exposing ambiguity, contradiction, hidden dependencies, missing acceptance criteria, and untestable expectations.
This page defines the behaviour, controls, evidence, and outputs required from the skill. It does not claim that a language model can enforce security or correctness by wording alone.
Use during refinement, grooming, design review, or before a developer begins implementation.
Do not use as a substitute for product decisions, legal approval, security threat modelling, or technical design ownership.
Each phase has explicit inputs and outputs. Approval gates are hard stops bound to exact versions and hashes.
Fetch the exact ticket revision, linked designs, API contracts, parent initiatives, dependent tickets, and referenced incidents. Record inaccessible sources instead of guessing.
Separate the customer problem, business outcome, proposed solution, acceptance criteria, constraints, assumptions, and explicit exclusions.
Detect undefined terms, conflicting statements, incomplete branches, missing states, conflicting designs, and mismatches between title, description, acceptance criteria, and comments.
Check whether every expected behaviour has an observable result, controllable precondition, accessible environment, stable data setup, and measurable success condition.
Identify roles, permissions, tenants, devices, integrations, migrations, notifications, analytics, accessibility, performance, security, and backward-compatibility impact.
Write concise questions that request concrete decisions. Keep assumptions separate and never silently turn them into requirements.
Present the findings grouped by blocker, material gap, improvement, and optional clarification. Bind accepted decisions to the ticket revision.
Generate a ticket-ready summary, testability verdict, traceable decision log, and follow-up checklist. Reopen the review if the ticket changes materially.
An approval cannot be reused after its environment, source, action plan, or approved document changes.
| Gate | Decision | Required binding |
|---|---|---|
| 1 | Gate 1 · approve source set | Approval stores approver, role, timestamp, context hash, approved document hash, expiry, and invalidation state. |
| 2 | Gate 2 · confirm decisions | Approval stores approver, role, timestamp, context hash, approved document hash, expiry, and invalidation state. |
| 3 | Gate 3 · publish review | Approval stores approver, role, timestamp, context hash, approved document hash, expiry, and invalidation state. |
Attempt outcomes remain separate from these workflow results. Errors, cancellations, and invalid context are never silently converted into a pass.
The ticket is sufficiently clear and testable for the agreed scope.
Work may continue only with explicitly recorded, owned assumptions.
Material questions remain but do not yet prove the ticket is invalid.
A missing decision, source, environment, or dependency prevents responsible implementation or testing.
The item is not a product-behaviour ticket or requires another review process.
Evidence has provenance, capture context, privacy classification, retention, and integrity metadata. A convenient artifact is not automatically sufficient proof.
| Claim | Primary evidence | Required validation |
|---|---|---|
| Requirement statement | Exact ticket excerpt and revision | Quoted text is short, contextual, and traceable to its source. |
| Design expectation | Design frame or specification reference | Frame/version and affected state are identified. |
| API behaviour | Contract or endpoint reference | Schema version, status behaviour, and ownership are explicit. |
| User role | Role and tenant matrix | Actor, ownership, and allowed operation are named. |
| Decision | Approved comment or decision record | Owner, timestamp, chosen option, and revision are recorded. |
| Testability | Observable result mapping | Every acceptance criterion maps to a controllable test and evidence type. |
These controls belong in the runtime, connector permissions, sandbox, renderer, storage layer, and review process.
The skill may suggest options but cannot choose product behaviour without an authorised decision.
Every material statement cites a ticket section, design, contract, or explicit stakeholder decision.
A material ticket or design update invalidates the prior READY verdict.
Customer names, credentials, private URLs, and attachments follow access and retention policy.
Questions request one concrete decision and explain the consequence of leaving it unanswered.
The reviewer identifies conflicts but does not impersonate Product, Engineering, Security, or Legal ownership.
The first applicable high-severity outcome takes precedence. A manual override is recorded separately and never rewrites the calculated result.
A required decision, source, owner, or test mechanism is unavailable.
Material ambiguity or contradiction remains.
Explicit assumptions are approved, owned, and time-bounded.
The reviewed revision is clear, internally consistent, and testable for the agreed scope.
The workflow documents what it cannot prove and what further evidence would change confidence.
Human summaries are generated from validated structured records. They are not maintained as separate, drifting sources of truth.
review-context.jsonVersioned output produced by the workflow.
source-map.mdVersioned output produced by the workflow.
requirement-map.yamlVersioned output produced by the workflow.
gaps.mdVersioned output produced by the workflow.
questions.mdVersioned output produced by the workflow.
decision-log.jsonlVersioned output produced by the workflow.
ticket-comment.mdVersioned output produced by the workflow.
review-report.htmlVersioned output produced by the workflow.
artifacts/qa/ticket-review/<run-id>/ ├── review-context.json ├── source-map.md ├── requirement-map.yaml ├── gaps.md ├── questions.md ├── decision-log.jsonl ├── ticket-comment.md └── review-report.html
Review ticket QA-2201 before refinement. Focus on roles, error handling, analytics, and whether the acceptance criteria are testable.
Verdict: NEEDS CLARIFICATION Blocking questions: 1. Which roles may edit the configuration after creation? 2. What should the user see when the external service times out? 3. Is analytics expected for both successful and failed submissions? Testability gap: The phrase “loads quickly” has no measurable threshold or target environment.
The written skill is only one layer. The repository, runtime, connectors, evidence storage, and publication path must implement these requirements.
Reviews a Jira or Linear ticket before implementation or QA begins, exposing ambiguity, contradiction, hidden dependencies, missing acceptance criteria, and untestable expectations.