kirkchen/cadence

investigate-issue

Use when an issue needs deeper analysis than triage — confirming root cause by reading code, verifying file/line references in body are still valid, checking blast radius across the codebase, or proposing a concrete fix direction.

查看源码
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

Investigating a GitHub Issue

Overview

Investigation goes beyond labels to verify the issue's claims against actual code, confirm root cause, and propose a fix direction. Output is a comment that either:

  • Confirms — claims verified against HEAD, fix direction stated, ready for pickup
  • Dismisses — not reproducible / already fixed / wrong premise — close it
  • Needs-info — missing critical detail; tag status/needs-info and stop

Investigation ≠ triage: 30 min – hours per issue, not 5 min. Don't run it on the whole backlog. Pick issues that earn it.

When to Use

  • Body is sparse (title + one-liner) — claims need substantiating
  • Body references file:line that may have moved / been refactored since
  • An old issue (>3 months) — verify the bug still exists at HEAD
  • About to assign to a fix branch — defensible direction needed first
  • The user says "investigate", "deep-dive", or "verify"

Don't use when light triage is enough (body is thorough, claims unambiguous, only need labels).

Process

  1. Read the body completely — note every claim:
  • File paths / line numbers referenced
  • Reproduction steps
  • Suggested fix
  • Affected scope (e.g. "10 endpoints", "all SSE routes")
  1. Verify the claims — open each file:line:
  • Does the described code exist at HEAD?
  • Has the file moved, been renamed, or been refactored?
  • Is the bug still present?
  • Run repro steps if applicable.
  1. Probe blast radius — don't trust the body's enumeration:
  • grep / Glob for the same anti-pattern elsewhere
  • git blame on suspect lines — recent change? old?
  • Check related tests — would they catch this? do they exist?
  1. Decide outcome:
  • Confirmed + scoped: post comment with verified claims + concrete fix direction
  • Confirmed but body's fix is wrong / incomplete: explain why, propose alternative
  • Dismissed: explain why → close
  • Needs-info: ask specific questions, label status/needs-info
  1. Apply outcome:
  • Update labels if priority changes after investigation
  • Post comment via template below
  • Optionally assignees, link to draft PR

Comment Template

Match repo's PR template style — emoji-headed sections for at-a-glance scanning. Match issue body's language. Skip sections that don't apply (don't leave empty headers).

markdown
## 🔬 Investigation YYYY-MM-DD

**Verdict**: confirmed · dismissed · needs-info
**Adjusted priority**: <only if triage call changed after investigation>

### 📊 At a Glance

<diagram (mermaid or ascii) + 1-line caption — show the verified mechanism, not a text summary>

Use a diagram when investigating:

- Security: `sequenceDiagram` of attack chain confirming where the actual exploit happens
- Race condition: `sequenceDiagram` of concurrent timeline
- Refactor: `flowchart` of current vs proposed module shape
- Cluster of broken-together bugs: `flowchart LR` of dependency

Skip the section if the verdict line + Verified bullets already make the picture obvious.

### ✅ Verified

- <file:line still valid as of `<sha>` / matches body's description>
- <reproduction confirmed via `<command / scenario>`>
- <blast radius: N additional sites at `<paths>`>

### ❌ Body inaccuracies

<only if applicable — e.g. "body says fix is at A, actual root cause is B because...">

### 🛠 Proposed Direction

<2-4 lines — concrete fix path. File paths + shape of change. Not full code.>

### ❓ Open Questions

<only when investigation surfaces decisions / tradeoffs / verification gaps that the issue owner needs to resolve before fix can land>

Format each as: `**<question>** — <type>. <your lean if any>`
Types: `decision needed` · `tradeoff` · `verification gap`

Skip the section when there's nothing genuinely undecided. Forced "questions" become noise.

### 🔗 Related

<cross-links if relevant>

Difference from Triage

TriageInvestigation
Reads bodyyesyes
Reads codenoyes
Verifies file:linenoyes
Probes blast radiusnoyes
Proposes fixonly echoes bodyown analysis
Time / issue2–10 min30 min – hours
Scopewhole backlogone issue at a time

If you start reading code during a triage, you've crossed into investigation — finish that one issue properly. Don't half-investigate.

Common Mistakes

  • Trusting body's file:line without checking — code moves. The body might be 3 months stale. Always verify.
  • Stopping at the body's suggested fix — body is the reporter's hypothesis, not proven. Verify it actually addresses root cause.
  • Skipping blast radius — fix the one site mentioned, miss 4 identical sites elsewhere.
  • Investigating the whole backlog — doesn't scale. Pick high-leverage issues.
  • Proposing speculative fixes — only propose what you've verified at HEAD. If you can't verify, label status/needs-info and stop.
  • Empty section headers — sections that don't apply should be omitted, not filled with "N/A".
  • Stuffing decisions into Proposed Direction — if there's a real tradeoff or verification gap, surface it under Open Questions instead of burying it in the proposal. The owner should see the question explicitly, not have to mine it out of the recommended path.
来自同一仓库

更多 Skills

全部 Skills
kirkchen
社区

pr-babysit

Use when babysitting a PR/MR until CI is green and every valid reviewer feedback is addressed — supports GitHub PR (gh) and GitLab MR (glab), triages comments into Valid / Discuss / Out-of-scope, addresses valid items with small commits and inline thread replies, escalates invisible findings (SonarQube/Snyk dashboards) and 3-round bot deadlocks, reports ready-to-merge (never auto-merges). Triggers — '監看 PR', 'babysit PR/MR', 'PR 顧到 merge', 'address review feedback', 'wait until CI green', '把 PR 顧到綠'. NOT for writing PR descriptions, NOT for diff code review (use pr-review), NOT for actually merging the PR (user does that).

安装量
4
GitHub Stars
0
最近更新
8月29日
kirkchen
社区

pr-review

Use when reviewing a PR/MR diff for security, logic, performance, cross-file impact, test coverage, or spec compliance findings. NOT for writing PR descriptions, design reviews requiring business judgment, implementation work, release notes, or deep CVE/supply-chain audits.

安装量
4
GitHub Stars
0
最近更新
8月29日
kirkchen
社区

self-review

Use when doing dev-stage self-review on the current branch before pushing or opening a PR — runs an auto-loop of codex review (cross-model, OpenAI) + per-finding fix + re-review until findings converge or stop conditions fire. Codex follows pr-review's multi-role methodology (security / staff-engineer / sdet / spec-auditor). Triggers — 'self review', 'self-review', '自己 review', '自我 review', 'cross-model review', 'pre-push review', 'review and fix my branch'. NOT for live PR review with sticky/inline comments (use pr-review), NOT for managed PR babysitting (use pr-babysit), NOT for first-time review without intent to fix (use mode=review-only opt-in).

安装量
4
GitHub Stars
0
最近更新
8月29日
kirkchen
社区

triage-issue

Use when a GitHub issue needs triage — typically one carrying status/needs-triage label, a freshly opened issue without type/priority labels, or when the user says "triage N" / "triage this issue". One issue per invocation; for backlog walkthroughs, the caller loops.

安装量
4
GitHub Stars
0
最近更新
8月29日