---
name: withastro-triage
description: "Triage a bug report. Reproduces the bug, diagnoses the root cause, verifies whether the behavior is intentional, and attempts a fix. Use when asked to \"triage issue"
license: "NOASSERTION"
metadata:
  decimalai-skill-id: "88b7be65-9c7a-4bd4-951b-d591f23ad3ab"
  decimalai-version-id: "77970544-324b-46be-a7b2-9912f88aa322"
  decimalai-version: "1"
  decimalai-body-sha256: "a4ae12de9974287cceb06d49cccd4ab3c75abd3093fe1f22aec14406afbbd75e"
  decimalai-name: "withastro/triage"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "coding"
  decimalai-source: "https://app.decimal.ai/s/withastro-triage@1/SKILL.md"
---
# Triage

Triage a bug report end-to-end: reproduce the bug, diagnose the root cause, verify whether the behavior is intentional, and attempt a fix.

## General Rules

**Do not get stuck on infrastructure problems.** If a server won't start, a port is blocked, or a tool is unavailable in the CI environment — bail out after 2 attempts and write your report with the data you already have. Looping on server restarts or missing CLI tools wastes your entire time budget. A partial report with solid findings is infinitely more valuable than no report because you ran out of time fighting a stale process.

## Input

You need either:

- `issueTitle` and `issueBody` provided in args (preferred — use these directly as the bug report), OR
- A GitHub issue number or URL mentioned in the conversation (use `gh issue view` to fetch details)

If a `triageDir` is provided in args, use that as the working directory for the triage. Otherwise, default to `triage/gh-<issue_number>` (if you have an issue number) or `triage/current`.

## Step 1: Reproduce

Read and follow [reproduce.md](reproduce.md). Use a subagent for this step to isolate context.

After completing reproduction, check the result:

- If the issue was **skipped** (host-specific, unsupported version, etc.) — skip to Output.
- If the issue was **not reproducible** — skip to Output.
- If the issue was **reproduced** — continue to Step 2.

## Step 2: Diagnose

Read and follow [diagnose.md](diagnose.md). Use a subagent for this step to isolate context.

After completing diagnosis, check your confidence:

- If confidence is **low** — skip to Output.
- If confidence is **medium** or **high** — continue to Step 3.

## Step 3: Verify

Read and follow [verify.md](verify.md). Use a subagent for this step to isolate context.

After completing verification, check the verdict:

- If the verdict is **intended-behavior** — skip to Output. The issue is not a bug; do not attempt a fix.
- If the verdict is **bug** or **unclear** — continue to Step 4.

## Step 4: Fix

Read and follow [fix.md](fix.md). Use a subagent for this step to isolate context.

Whether the fix succeeds or fails, continue to Output.

## Output

After completing the triage (or exiting early), return your structured results so the orchestrator can post a comment and manage labels.
