Agent skill

Investigate Issue

by analogjs in analogjs/analog

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…

MITAuto-check passedDevelopment

Install Investigate Issue

skills CLI
$ npx skills add analogjs/analog --skill investigate-issue -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install analogjs/analog investigate-issue --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/analogjs/analog.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/investigate-issue .claude/skills/investigate-issue && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
investigate-issue
GitHub stars
3.2k
Token cost
~2k tokens
SKILL.md length
1,153 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

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…

  • Works in 7 steps: Read the issue → Get the reproduction into an isolated… → Reproduce, and record what you actually… → …
  • The user says investigate issue <n
  • SKILL.md covers 1. Read the issue, 2. Get the reproduction into…, 3. Reproduce, and record what… and 4. Trace the root cause in…, plus 4 more sections
  • Calls gh, npm and git

What it does

Investigate Issue is an agent skill from analogjs/analog. 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.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Monorepo tooling and Root cause analysis. It works with GitHub, Vite, Angular and Git. The repository describes itself as: The fullstack meta-framework for Angular. Powered by Vite and Nitro. The licence is MIT.

When your agent uses it

  • The user says investigate issue <n
  • Look into issue <n
  • Can you reproduce this
  • Wants a triage answer rather than a fix

Example prompts

  • “investigate issue <n”
  • “look into issue <n”
  • “can you reproduce this”
  • “/investigate-issue”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Read the issue
  2. Get the reproduction into an isolated sandbox
  3. Reproduce, and record what you actually ran
  4. Trace the root cause in this repo
  5. Validate the diagnosis against local changes when it matters
  6. Draft the response — don't post it
  7. Report to the user, then hand off

What it can do on your machine

Read from SKILL.md and the folder at commit d784197. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • gh
    • npm
    • git
    • pnpm
    • nx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use gh, npm, git and pnpm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Investigate Issue loads about 2k tokens when it runs. Until then it costs about 103 tokens; SKILL.md has 1,153 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~103
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from analogjs/analog at commit d784197, republished under its MIT licence (© analogjs). 1,153 words, ~1,951 tokens.

Download SKILL.mdSave it as .claude/skills/investigate-issue/SKILL.md (or your agent's skills folder).
name
investigate-issue
description
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.

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.

1. Read the issue

  • 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.
  • Pull out the facts that decide the investigation:
    • Versions — Analog, Angular, Vite, Nx, Node, and the package manager. The bug report template asks for an environment; if it's vague, note the gap now rather than guessing later.
    • Affected package — the reporter's dropdown answer is a hint, not a verdict. Confirm it from the stack trace and the code you end up reading.
    • The reproduction — a git repo, a StackBlitz link, a code snippet, or nothing.
  • Search for prior art before spending time: 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.

2. Get the reproduction into an isolated sandbox

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 repo → 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.
  • StackBlitz / CodeSandbox link → these can't be driven from here. If the project is backed by a git repo, clone that. Otherwise scaffold the equivalent locally: 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.
  • Code snippet only → build the smallest project that exercises it, same scaffold route. If the snippet is really about compiler or plugin behavior, a focused spec in the affected package (packages/<pkg>/src/**/*.spec.ts) is a faster and more durable reproduction than an app — prefer it when it can express the bug.
  • Nothing → don't invent one. Try a good-faith minimal reproduction from the description; if it doesn't reproduce, that's a legitimate finding and the draft reply should ask for a repro rather than assert the bug isn't real.

Pin the reported versions first. Reproducing against the versions they named is the experiment; anything else is a different one.

3. Reproduce, and record what you actually ran

  • Run the command from the issue — dev, build, test, storybook, whatever they reported — and capture the real output, not a paraphrase.
  • Record the verdict plainly: reproduced, not reproduced, or partially reproduced (e.g. the error appears but only on build, not dev). "Partially" is a real answer and usually the most informative one.
  • If it doesn't reproduce, vary one thing at a time — package manager, Node version against .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.

4. Trace the root cause in this repo

  • Once you can see the failure, find the code that causes it. Read the source — don't infer from the stack trace alone. Delegate broad searches to the Explore agent when the cause could live in several places.
  • Cite evidence as file:line. A verdict without a line number is a hypothesis.
  • Decide where the bug actually lives, and be willing to conclude it isn't ours:
    • Analog bug — our code does the wrong thing. Note every call path that hits it; a util with two callers usually needs both fixed.
    • Upstream (Angular, Vite/Rolldown, Nx, Nitro, Storybook) — say which project, and whether we can still be resilient to it on our side. Both can be true, and "we should tolerate this even though it's their bug" is a fine recommendation.
    • Usage / configuration — then the reply is documentation, not a patch. Check whether apps/docs-analog actually covers it; if it doesn't, that gap is the real finding.
  • Check the current beta too, not just the reported version. If it's already fixed, identify the commit that fixed it — that's the whole answer.
Show full SKILL.md (408 more words)Show less

5. Validate the diagnosis against local changes when it matters

When the diagnosis implies a specific fix and you want confidence before recommending it:

  • Build the package into the workspace node_modules (that's its outputPath): nx build <package>.
  • Pack it and install the tarball into the sandbox so the repro runs against your build: npm pack node_modules/@analogjs/<package> → install the resulting .tgz in the sandbox project.
  • Re-run the failing command. A diagnosis that survives this is worth reporting as confirmed; one that doesn't is a hypothesis you should label as such.

This step is optional — skip it when the root cause is unambiguous from reading the source, and say you skipped it.

6. Draft the response — don't post 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:

  • Whether it reproduced, and under exactly what versions/commands.
  • The root cause in one or two sentences, with the file:line evidence.
  • Where it lives: our bug, upstream, or usage — and for upstream, whether we plan to be resilient anyway.
  • What happens next: a fix is coming, a repro is needed, a doc will be updated, or it's already fixed on beta (name the commit).
  • Any question the reporter has to answer for this to move.

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.

7. Report to the user, then hand off

  • Summarize: reproduced or not, root cause with evidence, where it belongs, and your recommendation.
  • If it's a real Analog bug and the user wants it fixed, hand off to fix-issue — it owns branching and implementation. Don't start editing packages/ from this skill.
  • If the investigation turns up something adjacent (a second bug, a missing doc, a flaky path), flag it as its own issue instead of folding it in.

Notes

  • Clean up sandboxes when you're done, and never point a sandbox's dependencies at the working monorepo except via a packed tarball.
  • Report reproduction attempts faithfully. "I couldn't get their repo to install" is useful; a confident verdict built on a broken sandbox is not.
  • Timebox variable-hunting. After a few honest attempts at reproducing, the better answer is a draft asking the reporter for the missing piece.

© analogjs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/investigate-issue of analogjs/analog.

Open the folder on GitHubat commit d784197

Compare with similar skills

Investigate Issue next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Investigate Issue compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Investigate Issue this skillanalogjs/analog3.2k—~2kAutomated safety check: PassMIT
External Contributor Issuesaxelixlabs/axelix148—~2.2kAutomated safety check: PassLGPL-3.0
Subtree Publishcat-xierluo/legal-skills717—~1.8kAutomated safety check: NotesMIT
Angular ToolingKilo-Org/kilo-marketplace190—~1.7kAutomated safety check: PassMIT
Reprovaadin/web-components582—~1.3kAutomated safety check: PassNone
Reprovaadin/flow-components129—~1.3kAutomated safety check: PassNone

Similar skills

  • Pick open GitHub issues in the Axelix monorepo that are suitable for unpaid volunteer contributors working in their spare time.

    148 GitHub stars~2.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Subtree Publish

    cat-xierluo/legal-skills

    将 monorepo 中的子目录通过 git subtree 推送到独立 GitHub 仓库。支持注册清单、变更自动检测、增量推送。本技能应在用户提交涉及已注册子项目的变更后,或手动请求推送到独立仓库时使用。不要用于初次创建 monorepo 或管理 git submodule。

    717 GitHub stars~1.8k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • Angular Tooling

    Kilo-Org/kilo-marketplace

    Use Angular CLI and development tools effectively in Angular v20+ projects.

    190 GitHub stars~1.7k tokensUpdated 11 days ago
    DevelopmentAuto-check passed
  • Repro

    vaadin/web-components

    Reproduce a Vaadin web component bug from a GitHub issue in vaadin/web-components.

    582 GitHub stars~1.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Repro

    vaadin/flow-components

    Reproduce a Vaadin Flow component bug from a GitHub issue in vaadin/flow-components or a component-specific issue in vaadin/flow.

    129 GitHub stars~1.3k tokensUpdated today
    Testing & QAAuto-check passed
  • Official

    Digs into why code is shaped the way it is by checking git history, pull requests and connected tools in parallel, then reporting a cited read on the tradeoffs.

    10k GitHub starsUsed in 9 repos~2.6k tokens
    DevelopmentAuto-check passed

More from analogjs/analog

  • Analogjs

    analogjs/analog

    Conventions for working in an AnalogJS app (an Angular meta-framework powered by Vite) — file-based routing with .page.ts files, RouteMeta, server and API routes on Nitro/h3, page load functions and…

    3.2k GitHub stars~891 tokensUpdated yesterday
    Auto-check passed
  • Open PR

    analogjs/analog

    Commit the current work, push the current feature branch, and open a GitHub PR filled out from the repo's PR template.

    3.2k GitHub stars~944 tokensUpdated yesterday
    Auto-check passed
  • Fix Issue

    analogjs/analog

    End-to-end flow for resolving a GitHub issue — fetch and understand the issue, create a feature branch off beta, implement and verify the fix, then hand off to the open-pr skill.

    3.2k GitHub stars~808 tokensUpdated yesterday
    Auto-check passed
  • Handhold PR

    analogjs/analog

    Watch a PR's CI, diagnose every failing check, fix what's actually broken, resolve CodeRabbit's major findings, and keep iterating until the PR is green.

    3.2k GitHub stars~1.6k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Investigate Issue

What does Investigate Issue do?

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…. Investigate Issue is an agent skill from analogjs/analog. 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.

When should I use Investigate Issue?

Investigate Issue fits situations like: the user says investigate issue <n; look into issue <n; can you reproduce this; wants a triage answer rather than a fix.

How do I install Investigate Issue in Claude Code?

Run `npx skills add analogjs/analog --skill investigate-issue -a claude-code`. Or copy the skill folder (.agents/skills/investigate-issue in analogjs/analog) into .claude/skills/investigate-issue in your project. Claude Code loads it when a task matches its description.

How do I install Investigate Issue in Codex?

Run `npx skills add analogjs/analog --skill investigate-issue -a codex`. Or copy the skill folder (.agents/skills/investigate-issue in analogjs/analog) into .agents/skills/investigate-issue in your project. Codex loads it when a task matches its description.

Can I use Investigate Issue in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add analogjs/analog --skill investigate-issue -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/investigate-issue, .gemini/skills/investigate-issue, .github/skills/investigate-issue and .opencode/skills/investigate-issue in your project.

What does Investigate Issue need to run?

Going by SKILL.md and its folder, Investigate Issue needs the command-line tools its instructions call (gh, npm, git, pnpm and nx).

Does Investigate Issue access the network?

SKILL.md contains no URLs. Its commands use gh, npm and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Investigate Issue safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Investigate Issue use?

Investigate Issue is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Investigate Issue use?

About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Investigate Issue?

Skills that share tags, products or a category with Investigate Issue: External Contributor Issues (axelixlabs/axelix, 148 stars), Subtree Publish (cat-xierluo/legal-skills, 717 stars), Angular Tooling (Kilo-Org/kilo-marketplace, 190 stars) and Repro (vaadin/web-components, 582 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Investigate Issue?

analogjs (a GitHub organization) maintains it in analogjs/analog, which has 3,189 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.

Source: analogjs/analog on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.