Diagnose Playwright Failure as Product Bug
appsmithorg/appsmith
Investigates a stubbornly failing Playwright test as a possible product bug, using error output, screenshots, traces and server code, and writes a structured bug report.
Diagnose code failures, intermittent bugs, and performance regressions.
$ npx skills add nodetool-ai/nodetool --skill diagnosing-bugs -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install nodetool-ai/nodetool diagnosing-bugs --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/diagnosing-bugs .claude/skills/diagnosing-bugs && rm -rf skills-srcUse ~/.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/
Install the "diagnosing-bugs" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/.agents/skills/diagnosing-bugs into .claude/skills/diagnosing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnosing-bugs", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/nodetool-ai/nodetool/tree/main/.agents/skills/diagnosing-bugsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add nodetool-ai/nodetool --skill diagnosing-bugs -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install nodetool-ai/nodetool diagnosing-bugs --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/diagnosing-bugs .agents/skills/diagnosing-bugs && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "diagnosing-bugs" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/.agents/skills/diagnosing-bugs into .agents/skills/diagnosing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnosing-bugs", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nodetool-ai/nodetool --skill diagnosing-bugs -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install nodetool-ai/nodetool diagnosing-bugs --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/diagnosing-bugs .cursor/skills/diagnosing-bugs && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "diagnosing-bugs" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/.agents/skills/diagnosing-bugs into .cursor/skills/diagnosing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnosing-bugs", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/nodetool-ai/nodetool.git --path .agents/skills/diagnosing-bugs--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add nodetool-ai/nodetool --skill diagnosing-bugs -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install nodetool-ai/nodetool diagnosing-bugs --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/diagnosing-bugs .gemini/skills/diagnosing-bugs && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "diagnosing-bugs" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/.agents/skills/diagnosing-bugs into .gemini/skills/diagnosing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnosing-bugs", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install nodetool-ai/nodetool diagnosing-bugsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add nodetool-ai/nodetool --skill diagnosing-bugs -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/diagnosing-bugs .github/skills/diagnosing-bugs && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "diagnosing-bugs" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/.agents/skills/diagnosing-bugs into .github/skills/diagnosing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnosing-bugs", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add nodetool-ai/nodetool --skill diagnosing-bugs -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install nodetool-ai/nodetool diagnosing-bugs --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/nodetool-ai/nodetool.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/diagnosing-bugs .opencode/skills/diagnosing-bugs && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "diagnosing-bugs" agent skill from https://github.com/nodetool-ai/nodetool/tree/main/.agents/skills/diagnosing-bugs into .opencode/skills/diagnosing-bugs/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "diagnosing-bugs", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
diagnosing-bugsDiagnose code failures, intermittent bugs, and performance regressions.
Diagnosing Bugs is an agent skill from nodetool-ai/nodetool. Diagnose code failures, intermittent bugs, and performance regressions. For NodeTool workflow-run failures, use nodetool-troubleshooter.
Its SKILL.md is about 710 tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including scripts (for example `scripts/hitl-loop.template.sh`).
The repository describes itself as: Agent-first Creative Workspace. The licence is AGPL-3.0.
Read from SKILL.md and the folder at commit 339f069. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (Shell), which the agent can run.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Diagnosing Bugs loads about 706 tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 372 words of instructions outside code blocks.
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.
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); the scripts in this folder are not scanned.
The full file from nodetool-ai/nodetool at commit 339f069, republished under its AGPL-3.0 licence (© nodetool-ai). 372 words, ~706 tokens.
.claude/skills/diagnosing-bugs/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Find the cause of the reported symptom, fix it within the requested scope, and retain evidence that the fix works. Read relevant code and logs to construct a reproduction. Existing domain terms and ADRs constrain the diagnosis.
Prefer an existing harness or test that reaches the affected behavior. Otherwise build the smallest practical test, CLI invocation, HTTP request, or browser scenario. Read the applicable entry in the harness reference before using a harness.
Run the reproduction before changing behavior. Capture the command, exit status, input, and observed symptom. An unrelated setup failure does not reproduce the bug. Reduce inputs when useful, retaining the original case.
For intermittent failures, record the observed rate and conditions. Use seeded inputs, bounded repetition, or targeted stress to improve the signal. For performance regressions, capture a comparable timing or profiler baseline before the fix. Avoid arbitrary repetition targets or latency requirements for the harness.
If the environment cannot reproduce the failure, continue useful code and log inspection and label hypotheses as unverified. Request only the missing artifact or access needed to establish the failure. Do not claim a reproduced or fixed bug without evidence, or add production instrumentation without authorization.
State a falsifiable hypothesis and the observation that would distinguish it from plausible alternatives. Use a debugger, targeted instrumentation, or bisection as appropriate. Change one relevant variable at a time and update the hypothesis from the result. Do not invent extra hypotheses to meet a quota.
Tag temporary instrumentation so it can be removed. Preserve unrelated edits when reverting an experiment.
Retain the reproduction as a regression test or runnable fixture at a boundary that exercises the real failure. Observe it fail before the fix and pass after. Recheck the original scenario if the retained case was reduced.
If no suitable test boundary exists, explain the limitation and retain the best available reproduction. Do not substitute a test that cannot detect the symptom. Report necessary architectural follow-up without starting an unrelated refactor.
Remove temporary instrumentation and files created only for the experiment. Complete the mandatory post-change verification. Report the cause, changed behavior, and actual verification results. Stop when the requested fix and required checks are complete.
© nodetool-ai, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file (scripts) in .agents/skills/diagnosing-bugs of nodetool-ai/nodetool.
Open the folder on GitHubat commit 339f069
Diagnosing Bugs 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Diagnosing Bugs this skillnodetool-ai/nodetool | 560 | — | ~706 | Automated safety check: Pass | AGPL-3.0 | |
| Diagnose Playwright Failure as Product Bugappsmithorg/appsmith | 41k | — | ~1.5k | Automated safety check: Pass | Apache-2.0 | |
| Diagnosing Bugsvinvcn/mattpocock-skills-zh-CN | 4.7k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Diagnosing Bugsgetsentry/sentry-react-native | 1.8k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Diagnosing Bugsfossasia/eventyay-interpretation | 1.6k | 32 repos | ~2.1k | Automated safety check: Pass | Apache-2.0 | |
| Diagnose Gatewayopenclaw/openclaw | 392k | — | ~670 | Automated safety check: Pass | MIT |
appsmithorg/appsmith
Investigates a stubbornly failing Playwright test as a possible product bug, using error output, screenshots, traces and server code, and writes a structured bug report.
vinvcn/mattpocock-skills-zh-CN
面向棘手缺陷和性能回退的诊断循环。适用于用户说 “diagnose” / “debug this”,或报告某些东西 broken、throwing、failing、slow 时。
getsentry/sentry-react-native
A discipline for hard bugs, flaky tests, CI hangs, native crashes, and performance regressions in this SDK.
fossasia/eventyay-interpretation
Diagnosis loop for hard bugs and performance regressions. An agent skill from fossasia/eventyay-interpretation.
openclaw/openclaw
Diagnose Gateway, config, secrets, channels, and port failures with read-only one-liners.
QoderAI/better-harness
Diagnose a bounded backend or multi-service failure from GitHub Issues, Jira, Aone, user-provided exports, logs, traces, responses, stack traces, or job records.
nodetool-ai/nodetool
Cut a NodeTool timeline to music and shape its pacing — detect the beat grid, place cuts on phrases, pick a cut type, build speed ramps with time remap, and give the piece an arc.
nodetool-ai/nodetool
Add and animate a consistent text layer on an existing NodeTool timeline.
nodetool-ai/nodetool
Choose and animate colour on a NodeTool timeline, including shape and text gradients, colour grades, 3D LUTs, and dither.
nodetool-ai/nodetool
Write a shootable, precisely timed commercial beat sheet and store it as a NodeTool storyboard, with a consistent entity roster behind every shot.
nodetool-ai/nodetool
Direct ElevenLabs speech, dialogue, sound effects and music — the bracketed audio tags v3 acts on and why the voice decides whether a tag lands, stability as the delivery dial, punctuation instead…
nodetool-ai/nodetool
Stage the frame on a NodeTool timeline — grids, focal placement, safe areas per aspect ratio, depth layers and parallax, camera moves, and where elements enter and leave.
Diagnose code failures, intermittent bugs, and performance regressions. Diagnosing Bugs is an agent skill from nodetool-ai/nodetool. Diagnose code failures, intermittent bugs, and performance regressions.
Run `npx skills add nodetool-ai/nodetool --skill diagnosing-bugs -a claude-code`. Or copy the skill folder (.agents/skills/diagnosing-bugs in nodetool-ai/nodetool) into .claude/skills/diagnosing-bugs in your project. Claude Code loads it when a task matches its description.
Run `npx skills add nodetool-ai/nodetool --skill diagnosing-bugs -a codex`. Or copy the skill folder (.agents/skills/diagnosing-bugs in nodetool-ai/nodetool) into .agents/skills/diagnosing-bugs in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add nodetool-ai/nodetool --skill diagnosing-bugs -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/diagnosing-bugs, .gemini/skills/diagnosing-bugs, .github/skills/diagnosing-bugs and .opencode/skills/diagnosing-bugs in your project.
Going by SKILL.md and its folder, Diagnosing Bugs needs a shell for the scripts in its folder. Our summary lists: A Bash shell.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Diagnosing Bugs is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 706 tokens (SKILL.md is roughly 2.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Diagnosing Bugs: Diagnose Playwright Failure as Product Bug (appsmithorg/appsmith, 41k stars), Diagnosing Bugs (vinvcn/mattpocock-skills-zh-CN, 4.7k stars), Diagnosing Bugs (getsentry/sentry-react-native, 1.8k stars) and Diagnosing Bugs (fossasia/eventyay-interpretation, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
nodetool-ai (a GitHub organization) maintains it in nodetool-ai/nodetool, which has 560 GitHub stars. The repository holds 127 skills in this directory. The repository was last updated on October 10, 2026.
Source: nodetool-ai/nodetool on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.