Agent skill

Investigate User Bug

by cristicretu in cristicretu/diri

Investigate a bug a specific diri user hit (crash, hang, slowness, memory leak, blank or garbled terminal, spawn/resume/remote failure, copy/paste not working) from diri's telemetry with the…

Apache-2.0Auto-check passedDevelopment

Install Investigate User Bug

skills CLI
$ npx skills add cristicretu/diri --skill investigate-user-bug -a claude-code

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

GitHub CLI
$ gh skill install cristicretu/diri investigate-user-bug --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/cristicretu/diri.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/investigate-user-bug .claude/skills/investigate-user-bug && 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-user-bug
GitHub stars
431
Token cost
~1.2k tokens
SKILL.md length
697 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Investigate a bug a specific diri user hit (crash, hang, slowness, memory leak, blank or garbled terminal, spawn/resume/remote failure, copy/paste not working) from diri's telemetry with the…

  • Works in 8 steps: Identify the install. Start from… → Find the incident. Run diri-debug… → Read the timeline around it. Run… → …
  • Given a users name
  • SKILL.md covers Workflow and Privacy rules
  • Calls git; needs DIRI_TELEMETRY_ADMIN_TOKEN

What it does

Investigate User Bug is an agent skill from cristicretu/diri. Investigate a bug a specific diri user hit (crash, hang, slowness, memory leak, blank or garbled terminal, spawn/resume/remote failure, copy/paste not working) from diri's telemetry with the diri-debug CLI. Use when given a user's name, Support ID (D-XXXXXXXX), session id (s…) or Claude/Codex conversation UUID, or asked "what happened to <person", "look at alex's crash", "why is it slow for them", or to check this Mac's own spool.

Its SKILL.md is about 1.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 Performance optimization. It works with Rust. The repository describes itself as: The best way to work with coding agents. Run fifty in parallel, let them spawn each other, review everything in one place. The licence is Apache-2.0.

When your agent uses it

  • Given a users name
  • Support ID (D-XXXXXXXX)
  • Session id (s…)
  • Claude/Codex conversation UUID

Example prompts

  • “s telemetry with the diri-debug CLI. Use when given a user”
  • “what happened to <person”
  • “look at alex”
  • “/investigate-user-bug”

Requirements

  • A credential in DIRI_TELEMETRY_ADMIN_TOKEN

Workflow steps

8 steps, taken from the first numbered list in SKILL.md.

  1. Identify the install. Start from whatever you were given.
  2. Find the incident. Run diri-debug incidents --since 7d.
  3. Read the timeline around it. Run diri-debug timeline --around "" --window 20m.
  4. Check health if the report is about slowness, hangs, memory, fans or "it got worse over the day": diri-debug health --since 24h.
  5. Check breadth. Run diri-debug top --since 7d (add --version) to see whether this signature hits other installs. One user means an…
  6. Form a hypothesis that explains every record in the window, not just the incident. For example: "resume used conversation X, which the…
  7. Find the code. Grep the event kinds ("session.resume_failed") and codes in diri/crates/. The emitting call site shows the branch taken…
  8. Report the evidence first: the timeline lines, with times, kinds and codes. Then give the hypothesis and the code path, then the fix or…

What it can do on your machine

Read from SKILL.md and the folder at commit 5c6b31b. 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:

    • git

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

  • Network

    No URLs in SKILL.md. Its commands use git, 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 these keys or tokens, usually read from environment variables:

    • DIRI_TELEMETRY_ADMIN_TOKEN

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

Context cost

Investigate User Bug loads about 1.2k tokens when it runs. Until then it costs about 114 tokens; SKILL.md has 697 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~114
When it runs · the whole SKILL.md, loaded when a task matches
~1.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 cristicretu/diri at commit 5c6b31b, republished under its Apache-2.0 licence (© cristicretu). 697 words, ~1,242 tokens.

Download SKILL.mdSave it as .claude/skills/investigate-user-bug/SKILL.md (or your agent's skills folder).
name
investigate-user-bug
description
Investigate a bug a specific diri user hit (crash, hang, slowness, memory leak, blank or garbled terminal, spawn/resume/remote failure, copy/paste not working) from diri's telemetry with the diri-debug CLI. Use when given a user's name, Support ID (D-XXXXXXXX), session id (s_…) or Claude/Codex conversation UUID, or asked "what happened to <person>", "look at alex's crash", "why is it slow for them", or to check this Mac's own spool.

Investigate a user's bug from telemetry

Diri records typed events from the app, the Engine and every Holder, and uploads them to the telemetry Worker. diri-debug (in telemetry/cli/) reads them back. The records hold identifiers, codes, durations and counters, never content. The contract and the event catalog are in diri/TELEMETRY.md.

sh
alias diri-debug="node $(git rev-parse --show-toplevel)/telemetry/cli/bin/diri-debug.mjs"

It needs DIRI_TELEMETRY_URL and DIRI_TELEMETRY_ADMIN_TOKEN, or ~/.config/diri-debug/config.json. If neither is set, ask the owner; never guess or hunt for the token. For this Mac, use diri-debug local … instead, which needs no token.

Add --json when you want to filter the output with jq. The human output is already compact.

Workflow

  1. Identify the install. Start from whatever you were given.
    • A name or Support ID: diri-debug who alex. If several match, use the Support ID from now on.
    • A session id or conversation UUID (for example from an error message such as No conversation found with session ID: 0a40e747-…): diri-debug find <id>. It names the install and suggests a timeline command.
    • Note the app version and when the install was last seen. Data older than 30 days is gone.
  2. Find the incident. Run diri-debug incidents <who> --since 7d.
    • Pick the one that matches the report by time and kind. Records at ! are incidents; E are errors.
    • If the user gave a time ("last night around 11"), still list incidents; their clock and memory are approximate.
  3. Read the timeline around it. Run diri-debug timeline <who> --around "<incident time>" --window 20m.
    • Everything from every process is merged in time order. Read what happened before the incident: the spawn, the resume mode, a slow RPC, a remote reconnect.
    • Narrow with --session s_…, --kind 'session.*,holder.*' or --sev warn+. Widen --window if the cause starts earlier.
  4. Check health if the report is about slowness, hangs, memory, fans or "it got worse over the day": diri-debug health <who> --since 24h.
    • Look for leak hints (a rising floor), fds nearing the limit, CPU plateaus, and frame or RPC p99 spikes that line up with the complaint.
    • A new p:pid means that process restarted.
  5. Check breadth. Run diri-debug top --since 7d (add --version) to see whether this signature hits other installs. One user means an environment or edge case; many means a regression.
  6. Form a hypothesis that explains every record in the window, not just the incident. For example: "resume used conversation X, which the agent never wrote; the agent exited 1; the holder reported exit; the tab dropped to the shell with mouse tracking still on".
  7. Find the code. Grep the event kinds ("session.resume_failed") and codes in diri/crates/. The emitting call site shows the branch taken. Then read backwards to the decision that led there.
  8. Report the evidence first: the timeline lines, with times, kinds and codes. Then give the hypothesis and the code path, then the fix or next step. Say what the telemetry cannot show, for example terminal contents or what the user typed.

If a question can't be answered because an event is missing, say which event kind and fields would have answered it, and where it should be emitted. That is how the catalog grows.

Show full SKILL.md (178 more words)Show less

Privacy rules

  • The data is for diagnosing diri. Do not profile a person: when they work, what projects they have, how often they use it. Look only at the window you need.
  • Never try to reconstruct content: prompts, output, file names from path_hash, or clipboard contents. If the bug needs content, ask the user.
  • In anything public (GitHub issues, PRs, commit messages, the website), refer to the user by Support ID only. Never include their name, and never pair a name with a Support ID, install UUID or conversation UUID. Quote only the event kinds, codes and timings the fix needs.
  • Do not paste whole batches (raw) or long timelines into public places. Summarise instead.
  • Keep DIRI_TELEMETRY_ADMIN_TOKEN out of commands you echo, files you commit and anything you share. Don't write it to disk except in ~/.config/diri-debug/config.json (mode 600).
  • Delete any raw batches you saved locally when you are done.
  • A user can turn uploading off in Settings > Privacy. If an install stopped reporting, assume they chose that; do not look for other ways to get their data.

© cristicretu, Apache-2.0. 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 .claude/skills/investigate-user-bug of cristicretu/diri.

Open the folder on GitHubat commit 5c6b31b

Compare with similar skills

Investigate User Bug 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 User Bug compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Investigate User Bug this skillcristicretu/diri431—~1.2kAutomated safety check: PassApache-2.0
Samplyvortex-data/vortex3.3k—~2.7kAutomated safety check: PassApache-2.0
Cppcrazyguitar/cppcheatsheet290—~1.8kAutomated safety check: PassMIT
Rust Profilingdiodeme/Gold-Band1431 repos~1.7kAutomated safety check: NotesAGPL-3.0
ProfilingShopify/rubydex364—~2.3kAutomated safety check: NotesCustom licence
Oxc Lint Rule Performance Reviewoxc-project/oxc23k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Samply

    vortex-data/vortex

    Analyze Samply Firefox-profiler output, record focused profiles, summarize hot threads/stacks, inspect symbolication, and compare profile evidence before and after a performance change.

    3.3k GitHub stars~2.7k tokensUpdated today
    DevelopmentAuto-check passed
  • Cpp

    crazyguitar/cppcheatsheet

    Comprehensive C/C++ programming reference covering everything from C11-C23 and C++11-C++23, system programming, CUDA GPU computing, debugging tools, Rust interop, and advanced topics.

    290 GitHub stars~1.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Rust Profiling

    diodeme/Gold-Band

    Rust profiling skill for performance analysis. An agent skill from diodeme/Gold-Band.

    143 GitHub starsUsed in 1 repo~1.7k tokens
    DevelopmentAuto-check: notes
  • Profiling

    Shopify/rubydex

    Official

    Profile Rubydex indexer performance — CPU flamegraphs, memory usage, phase-level timing.

    364 GitHub stars~2.3k tokensUpdated 2 days ago
    DevelopmentAuto-check: notes
  • Review guidance for the speed of Oxc linter rules written in Rust: narrow node-kind checks, cheap tests first, deferred diagnostics and the smallest possible iteration.

    23k GitHub stars~1.1k tokensUpdated today
    DevelopmentAuto-check passed
  • Profile the native Rust wado binary (compile/serve/run) for host-side bottlenecks — CPU with a sampling profiler, memory with the span trace's RSS and valgrind DHAT.

    117 GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check: notes

Works with

Categories

Questions about Investigate User Bug

What does Investigate User Bug do?

Investigate a bug a specific diri user hit (crash, hang, slowness, memory leak, blank or garbled terminal, spawn/resume/remote failure, copy/paste not working) from diri's telemetry with the…. Investigate User Bug is an agent skill from cristicretu/diri. Investigate a bug a specific diri user hit (crash, hang, slowness, memory leak, blank or garbled terminal, spawn/resume/remote failure, copy/paste not working) from diri's telemetry with the diri-debug CLI.

When should I use Investigate User Bug?

Investigate User Bug fits situations like: given a users name; support ID (D-XXXXXXXX); session id (s…); Claude/Codex conversation UUID.

How do I install Investigate User Bug in Claude Code?

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

How do I install Investigate User Bug in Codex?

Run `npx skills add cristicretu/diri --skill investigate-user-bug -a codex`. Or copy the skill folder (.claude/skills/investigate-user-bug in cristicretu/diri) into .agents/skills/investigate-user-bug in your project. Codex loads it when a task matches its description.

Can I use Investigate User Bug 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 cristicretu/diri --skill investigate-user-bug -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-user-bug, .gemini/skills/investigate-user-bug, .github/skills/investigate-user-bug and .opencode/skills/investigate-user-bug in your project.

What does Investigate User Bug need to run?

Going by SKILL.md and its folder, Investigate User Bug needs the command-line tools its instructions call (git) and credentials named DIRI_TELEMETRY_ADMIN_TOKEN. Our summary lists: A credential in DIRI_TELEMETRY_ADMIN_TOKEN.

Does Investigate User Bug access the network?

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

Is Investigate User Bug 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 User Bug use?

Investigate User Bug is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Investigate User Bug use?

About 1.2k tokens (SKILL.md is roughly 5k 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 User Bug?

Skills that share tags, products or a category with Investigate User Bug: Samply (vortex-data/vortex, 3.3k stars), Cpp (crazyguitar/cppcheatsheet, 290 stars), Rust Profiling (diodeme/Gold-Band, 143 stars) and Profiling (Shopify/rubydex, 364 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Investigate User Bug?

cristicretu (a GitHub user) maintains it in cristicretu/diri, which has 431 GitHub stars. The repository was last updated on October 9, 2026.

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