Investigate a GitHub issue end to end — reproduce the reporter's repo or code snippet in an isolated sandbox outside the monorepo, trace the root cause in the source, and draft a reply back to the reporter for the maintainer to confirm before posting. Use when the user says "investigate issue <n>", "look into issue <n>", "can you reproduce this", or wants a triage answer rather than a fix.
73
90%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Turn a reported issue into a verified verdict: does it reproduce, why, and what should we tell the reporter? This skill owns reproduction, root-cause analysis, and drafting the response. It does not fix the bug (fix-issue) and it does not post anything to GitHub without explicit approval.
Take the issue number/URL from the user. If none is given, ask for it.
gh issue view <n> --json title,body,state,labels,comments,author,createdAt. Plain gh issue view <n> may fail on this repo with a Projects-classic GraphQL error — use the --json form. gh api repos/analogjs/analog/issues/<n> also works.gh issue list --search "<keywords>" --state all and git log --oneline --grep "<keywords>". An issue that a recent commit already fixed on beta is the single most common outcome — check that early.Never install or run a reporter's project inside this monorepo. pnpm-workspace.yaml will absorb it, its dependencies will resolve to workspace packages, and whatever you observe will be an artifact of your setup rather than their bug. Work in a scratch directory outside the repo (the session scratchpad, or mktemp -d).
By what the reporter gave you:
git clone --depth 1 <url> <sandbox>/repro, then install with the lockfile they committed (pnpm i --frozen-lockfile, npm ci, …). Their lockfile is evidence; replacing it changes the experiment.npm create analog@latest in the sandbox (template-minimal for a bare case, template-latest for a full app), then transplant the reporter's files.packages/<pkg>/src/**/*.spec.ts) is a faster and more durable reproduction than an app — prefer it when it can express the bug.Pin the reported versions first. Reproducing against the versions they named is the experiment; anything else is a different one.
dev, build, test, storybook, whatever they reported — and capture the real output, not a paraphrase..node-version, Vite major, jit vs AOT, dev vs build vs SSR — and say which variable flipped it. A bug that only appears under one of these is a scoping fact the reporter needs.file:line. A verdict without a line number is a hypothesis.apps/docs-analog actually covers it; if it doesn't, that gap is the real finding.beta too, not just the reported version. If it's already fixed, identify the commit that fixed it — that's the whole answer.When the diagnosis implies a specific fix and you want confidence before recommending it:
node_modules (that's its outputPath): nx build <package>.npm pack node_modules/@analogjs/<package> → install the resulting .tgz in the sandbox project.This step is optional — skip it when the root cause is unambiguous from reading the source, and say you skipped it.
Write the reply as a draft for the maintainer to review. Do not run gh issue comment, add labels, close, or reopen anything until the user explicitly approves.
Keep it short and concrete, in the maintainer's voice — direct, no filler thanks-for-the-report padding:
file:line evidence.beta (name the commit).Present the draft inline for approval. On approval, post with gh issue comment <n> --body-file <path>. If the reporter needs to supply something, say so once and clearly rather than hedging.
fix-issue — it owns branching and implementation. Don't start editing packages/ from this skill.8a11ca9
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.