Skip to content
cccskills
FreePublished on GitHub

triage

Investigate a GitHub issue or reported problem, check whether it is a bug, and test a proof of concept. Explain the behavior changes and supporting evidence so the user can decide whether to proceed with the full fix.

OriginalShow the original description

Triage a GitHub issue or a reported problem — check it is real and not by design (code, git history, PRs, Hindsight memory), find the code and patterns to reuse, build a proof-of-concept fix and prove it solves the problem, then explain the problem and the fix in behaviours before doing the full fix. Use when asked to "triage

Works withGitHub
See how to install

Good for

  • Checking whether a reported issue is a real bug
  • Testing a proposed fix before full implementation
  • Comparing performance before and after a change
  • Preparing an evidence-based issue closure comment

Files included (1)

  • SKILL.md5.8 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Triage

Input: a GitHub issue (number or URL) or a problem described in words. Goal: the user knows whether the problem is real, what it does, and what a fix would change — backed by a working POC — and decides before you do the full fix.

Don't do the full fix in this skill. It ends at step 5, with the user's answer.

1. Is it real, and is it a bug?

Read the issue fully (gh issue view <N> --comments): what the reporter saw, what they expected, version, config. Then check both sides:

  • Reproduce it. Find the smallest way to make it happen: a test, a script, an API call. If you can't reproduce it, say so and say what you tried.
  • Check whether it's by design. The code shows what happens, not why. Look for the decision:
    • git log -S '<key string>' --oneline / git log -L / git blame on the lines involved, then read those commits.
    • The PRs behind them: gh pr list --state all --search "<keywords>", gh pr view <N> --comments.
    • Related or duplicate issues: gh issue list --state all --search "<keywords>".
    • Hindsight memory, if the plugin is installed (the hindsight_* tools are available): search the knowledge pages and, when you need the why, run a reflect. Treat what it says as a past record — check it against the code.

2. If it makes no sense, stop here

If it's not real, already fixed, a duplicate, by design, a local setup problem, or not worth changing: tell the user plainly why, with the evidence (commit, PR, issue, line of code). Propose closing it with a short, kind comment, written out ready to post, e.g.:

This is by design: <one-line reason> (see #<PR>). <What to do instead, if anything.> Closing — feel free to reopen if I missed something.

Ask before posting or closing — never do it on your own.

3. Explore the code

Before writing anything, find what is already there:

  • Every caller of the code involved, and every path that can hit the same problem — fix it where they all route through, not only on the path the issue names.
  • Similar code that already solves the same kind of problem, and helpers, types and patterns you can reuse. Read .claude/skills/code-review/SKILL.md so the POC already follows the repo's rules.
  • The tests that cover this area, and how they assert.

4. Build a POC fix and prove it

Work on a new branch off origin/main (triage/<issue-number-or-short-slug>), so the POC never mixes with other work and can become the full fix later.

No workarounds. The POC — and the plan built on it — must be the long-term fix: the one you'd want in the codebase in a year. Not a retry around a race, a special case for the reporter's input, a bigger timeout, a swallowed error, a flag to turn the problem off, or a guard at one call site when the cause sits underneath. Think it through first: why does the code allow this at all, what's the right place and design to fix it, and does the fix still hold when the data grows or a new caller shows up? If the right fix is big, the POC can cover the core of it — but it must be that fix, not a stand-in. If you see a quick patch too, you may mention it, but only as "not recommended", and say why.

Then prove it:

  • The reproduction from step 1 fails before the change and passes after it.
  • Nearby tests still pass.
  • It fixes the whole problem, not one symptom. Try the other paths you found in step 3.

Performance issue: recreate the reporter's situation at the same or a smaller scale (same data shape, same operation, same config), measure it before the change, then after, the same way, a few runs each. Use the repo's perf tools when they fit (./scripts/benchmarks/, hindsight-dev/benchmarks/), otherwise a small script. Show numbers side by side (before / after / change). No numbers, no plan.

UI change: start the API and the control plane so the user can see it. Use free ports (check with lsof -nP -iTCP:<port> -sTCP:LISTEN — other worktrees often hold 8888/9999) and a new, unique pg0 instance (HINDSIGHT_API_DATABASE_URL=pg0://triage-<issue-number-or-short-slug>). Write down each PID and the pg0 instance. Seed the data needed to show the change, open it in the browser if browser tools are available, and give the user the link.

Services you start: stop only your own — kill your PIDs (never pkill -f hindsight/pytest), and pg0 drop --name <name> -f only on instances you created; never touch a shared one. Leave the UI running while the user looks; stop everything once they are done or the triage ends.

5. Explain, then ask

Tell the user, in plain words and in behaviours (what a user or agent sees and does, not function names):

  1. The problem — what happens today, step by step, and when.
  2. The consequences — who it hits, how badly, what goes wrong because of it (wrong answers, lost data, slow calls, cost).
  3. The fix — what the POC changes and why that removes the cause, not just the symptom.
  4. What behaviour changes — everything that will act differently after the fix, including things that aren't the bug (a new default, a slower path, a different error). Say "nothing else" only if you checked.
  5. The evidence — the reproduction before/after, test results, benchmark numbers, the UI link.
  6. What the full fix still needs — tests, docs, migrations, client regen, other call sites.

Then ask whether to go ahead with the full fix (AskUserQuestion). Don't start it before they answer.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

bot-handoff

FreeSummary

Record task handoffs between Bots in shared Hindsight memory, including progress, remaining work, sources, and caveats. Other Bots can retrieve the record later, continue unfinished work, and report the outcome back through shared memory.

  • Handing unfinished work to another Bot
  • Resuming a task started by another Bot
  • Sharing findings with Bots outside the current conversation
vectorize-io/hindsight51.6KUpdated Oct 19, 2026

code-review

FreeSummary

Review changed code against project rules and report missing tests, unused code, typing problems, and style violations. It also checks API design and data isolation, helping developers identify issues after implementation.

  • Reviewing changes after implementation
  • Finding missing tests and unused code
  • Checking Python types and API design
vectorize-io/hindsight51.6KUpdated Oct 19, 2026

create-agent

FreeSummary

Create a specialized Claude Code subagent with Hindsight long-term memory. Start with an empty agent or import prepared documents, then equip it with knowledge pages and memory search to reuse information across sessions.

  • Create a specialized agent that remembers across sessions
  • Build an agent from prepared reference documents
  • Start an empty agent and add knowledge over time
vectorize-io/hindsight51.6KUpdated Oct 19, 2026

figure

FreeSummary

Create an animated diagram showing request flows, background jobs, or feature changes. The result is a single SVG image for README files, pull requests, issues, or blog posts, with support for light and dark themes.

  • Explaining request and data flows
  • Illustrating how a background job works
  • Showing feature changes in a pull request
vectorize-io/hindsight51.6KUpdated Oct 19, 2026

Plan how an AI application should use Hindsight memory. Identify useful information to retain, define user-scoping tags and memory bank settings, and specify how retrieved facts and synthesized knowledge should reach the model.

  • Plan memory that carries conversation context across sessions
  • Design tags that separate each user's memories
  • Plan summaries of customer preferences and recurring issues
vectorize-io/hindsight51.6KUpdated Oct 19, 2026

hindsight-cloud

FreeSummary

Store project conventions, task outcomes, and troubleshooting lessons in a shared Hindsight Cloud memory bank. Retrieve relevant context before new work, or synthesize past experience to guide decisions and help teammates reuse what has been learned.

  • Save project coding and testing conventions
  • Share failure causes, fixes, and workarounds
  • Retrieve related lessons before starting a task
vectorize-io/hindsight51.6KUpdated Oct 19, 2026

See all skills by vectorize-io

Report a problem with this skill