Appropriate use
Use for meaningful product changes that require code-aware impact analysis, planned execution, traceable evidence, defect triage, and a release recommendation.
Turns a ticket and its implementation into a version-bound, evidence-backed QA run with explicit approvals, deterministic release rules, regression protection, publication, and cleanup.
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 for meaningful product changes that require code-aware impact analysis, planned execution, traceable evidence, defect triage, and a release recommendation.
Do not use for one-line copy edits, emergency production operations, or any environment where deployment identity and test-data ownership cannot be verified.
Each phase has explicit inputs and outputs. Approval gates are hard stops bound to exact versions and hashes.
Resolve the ticket, PR, repositories, environment, authenticated role, feature flags, browser context, and deployment manifest. Validate that the deployed artifact contains the approved source commits.
Read acceptance criteria, diff, related code, routes, types, permissions, existing tests, dependencies, migrations, and observability. Record contradictions as requirement gaps instead of inventing behaviour.
Create numbered scenarios with priority, preconditions, steps, expected results, assertion type, evidence type, test matrix, stop conditions, required status, and explicit exclusions.
List every create, update, delete, feature-flag change, external notification, stub, mock, webhook, download, and cleanup action. Bind approval to the hashed data plan and run context.
Run required scenarios in priority order. Record every attempt separately and capture evidence appropriate to the assertion rather than treating screenshots as universal proof.
Classify non-pass results as product defect, environment failure, automation failure, data failure, requirement gap, third-party failure, security concern, or unknown. Search for candidate duplicates without suppressing legitimate findings.
Recommend the lowest reliable test layer and validate generated tests through red-to-green proof or an approved alternative when the broken state cannot be safely recreated.
Revalidate deployment and approvals, calculate the ordered release outcome, review evidence, publish one idempotent ticket update, render the report bundle, and clean only verified owned resources.
An approval cannot be reused after its environment, source, action plan, or approved document changes.
| Gate | Decision | Required binding |
|---|---|---|
| 1 | Gate 1 · approve environment | Approval stores approver, role, timestamp, context hash, approved document hash, expiry, and invalidation state. |
| 2 | Gate 2 · approve scope | Approval stores approver, role, timestamp, context hash, approved document hash, expiry, and invalidation state. |
| 3 | Gate 3 · approve actions | Approval stores approver, role, timestamp, context hash, approved document hash, expiry, and invalidation state. |
| 4 | Gate 4 · confirm finding | Approval stores approver, role, timestamp, context hash, approved document hash, expiry, and invalidation state. |
| 5 | Gate 5 · approve test change | Approval stores approver, role, timestamp, context hash, approved document hash, expiry, and invalidation state. |
| 6 | Gate 6 · review and publish | 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.
All required steps ran and the approved expected result was directly observed with valid evidence.
The controlled scenario ran and the actual result contradicted the approved expectation.
Execution completed, but expectation or evidence remains genuinely ambiguous.
A verified prerequisite outside the scenario prevented completion.
The scenario was not attempted and the reason is recorded.
Controlled attempts produced inconsistent product outcomes. It is never converted to PASS.
Evidence has provenance, capture context, privacy classification, retention, and integrity metadata. A convenient artifact is not automatically sufficient proof.
| Claim | Primary evidence | Required validation |
|---|---|---|
| Visual state | Screenshot | Asserted element and relevant context are visible, readable, and timestamped. |
| Navigation or transition | Trace or video plus URL history | Origin, destination, intermediate state, and timing are preserved. |
| API behaviour | Request and response capture | Method, endpoint, status, schema, and approved relevant headers match. |
| Permissions | Role attestation plus UI and API evidence | Tenant, ownership, operation, and role are independently verified. |
| Persistence | Approved API or read-only data verification | State survives reload or a new session without hidden caching. |
| Performance | Measured timing samples | Threshold, sample count, variance, browser, build, and environment are recorded. |
| Long-running behaviour | Video, runtime logs, health samples | Observation duration and interruptions are explicit. |
| Runtime stability | Console, crash, and application logs | New errors are separated from a versioned, expiring baseline. |
These controls belong in the runtime, connector permissions, sandbox, renderer, storage layer, and review process.
The runtime, not the prompt, enforces filesystem, command, repository, secret, and network permissions.
Every approval stores the approver, timestamp, role, document hash, context hash, expiry, and invalidation reason.
Deployment, role, tenant, feature flags, and relevant configuration are rechecked before execution, resume, decision, and publication.
Untrusted values are HTML-escaped, Markdown-safe, length-bounded, link-validated, and never used directly as paths.
Events are sequenced and hash-chained; evidence manifests include capture context and are signed when stronger assurance is required.
Sensitive headers are filtered before storage; raw and publishable evidence have separate access, retention, and redaction policies.
Run locks, idempotency keys, unique IDs, and compare-and-update operations prevent silent overwrites.
Real returned resource IDs are recorded immediately; cascade impact and cleanup uncertainty require explicit review.
The first applicable high-severity outcome takes precedence. A manual override is recorded separately and never rewrites the calculated result.
Deployment identity, approval binding, environment integrity, or evidence integrity cannot be established.
An unresolved release-blocking product, security, data-integrity, or compliance defect exists.
Any required scenario is blocked, inconclusive, not tested, flaky, or ended in an execution error.
All required scenarios passed, but explicitly accepted optional gaps or residual risks remain.
All required scenarios passed, no unaccepted release-blocking risk remains, and cleanup state is acceptable.
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.
run-context.jsonVersioned output produced by the workflow.
approval-ledger.jsonlVersioned output produced by the workflow.
impact-analysis.mdVersioned output produced by the workflow.
test-plan.mdVersioned output produced by the workflow.
data-plan.mdVersioned output produced by the workflow.
execution-ledger.jsonlVersioned output produced by the workflow.
evidence-manifest.jsonVersioned output produced by the workflow.
findings/Versioned output produced by the workflow.
regression/Versioned output produced by the workflow.
report.yamlVersioned output produced by the workflow.
report.htmlVersioned output produced by the workflow.
summary.mdVersioned output produced by the workflow.
cleanup-report.mdVersioned output produced by the workflow.
artifacts/qa/feature-qa/<run-id>/ ├── run-context.json ├── approval-ledger.jsonl ├── impact-analysis.md ├── test-plan.md ├── data-plan.md ├── execution-ledger.jsonl ├── evidence-manifest.json ├── findings/ ├── regression/ ├── report.yaml ├── report.html ├── summary.md └── cleanup-report.md
Run /feature-qa for ticket QA-1234 against preview environment qa-preview-1234. Review the PR, test as both Admin and Member, and do not publish anything until I approve.
Outcome: BLOCKED Reason: Required Member permission scenario could not be completed because the preview API returned an environment-wide authentication error. Verified: - Deployment manifest contains the approved frontend and API commits. - Admin happy path passed. - No production origin was contacted. - Test data remains isolated under run QA-1234-01. Next action: Restore preview authentication, revalidate the run context, and resume from scenario P0-03.
The written skill is only one layer. The repository, runtime, connectors, evidence storage, and publication path must implement these requirements.
Turns a ticket and its implementation into a version-bound, evidence-backed QA run with explicit approvals, deterministic release rules, regression protection, publication, and cleanup.