Regression Root Cause Analyzer
ArabelaTso/Skills-4-SE
Locate root causes of failing regression tests by analyzing code changes, error messages, and test dependencies.
Investigates TiDB plan or test-result diffs that the change does not explain, ruling out failpoint setup and merge effects before expected outputs are updated.
$ npx skills add pingcap/tidb --skill tidb-test-diff-triage -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pingcap/tidb tidb-test-diff-triage --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/pingcap/tidb.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/tidb-test-diff-triage .claude/skills/tidb-test-diff-triage && 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 "tidb-test-diff-triage" agent skill from https://github.com/pingcap/tidb/tree/master/.agents/skills/tidb-test-diff-triage into .claude/skills/tidb-test-diff-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tidb-test-diff-triage", 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/pingcap/tidb/tree/master/.agents/skills/tidb-test-diff-triageType 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 pingcap/tidb --skill tidb-test-diff-triage -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pingcap/tidb tidb-test-diff-triage --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pingcap/tidb.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/tidb-test-diff-triage .agents/skills/tidb-test-diff-triage && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tidb-test-diff-triage" agent skill from https://github.com/pingcap/tidb/tree/master/.agents/skills/tidb-test-diff-triage into .agents/skills/tidb-test-diff-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tidb-test-diff-triage", 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 pingcap/tidb --skill tidb-test-diff-triage -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pingcap/tidb tidb-test-diff-triage --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pingcap/tidb.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/tidb-test-diff-triage .cursor/skills/tidb-test-diff-triage && 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 "tidb-test-diff-triage" agent skill from https://github.com/pingcap/tidb/tree/master/.agents/skills/tidb-test-diff-triage into .cursor/skills/tidb-test-diff-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tidb-test-diff-triage", 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/pingcap/tidb.git --path .agents/skills/tidb-test-diff-triage--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 pingcap/tidb --skill tidb-test-diff-triage -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pingcap/tidb tidb-test-diff-triage --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pingcap/tidb.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/tidb-test-diff-triage .gemini/skills/tidb-test-diff-triage && 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 "tidb-test-diff-triage" agent skill from https://github.com/pingcap/tidb/tree/master/.agents/skills/tidb-test-diff-triage into .gemini/skills/tidb-test-diff-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tidb-test-diff-triage", 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 pingcap/tidb tidb-test-diff-triageInstalls 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 pingcap/tidb --skill tidb-test-diff-triage -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pingcap/tidb.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/tidb-test-diff-triage .github/skills/tidb-test-diff-triage && 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 "tidb-test-diff-triage" agent skill from https://github.com/pingcap/tidb/tree/master/.agents/skills/tidb-test-diff-triage into .github/skills/tidb-test-diff-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tidb-test-diff-triage", 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 pingcap/tidb --skill tidb-test-diff-triage -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pingcap/tidb tidb-test-diff-triage --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pingcap/tidb.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/tidb-test-diff-triage .opencode/skills/tidb-test-diff-triage && 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 "tidb-test-diff-triage" agent skill from https://github.com/pingcap/tidb/tree/master/.agents/skills/tidb-test-diff-triage into .opencode/skills/tidb-test-diff-triage/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tidb-test-diff-triage", 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.
tidb-test-diff-triageInvestigates TiDB plan or test-result diffs that the change does not explain, ruling out failpoint setup and merge effects before expected outputs are updated.
The workflow applies when a test diff shows up that the touched code cannot explain, when a single test and the full suite give different output, or when planner and executor testdata change after a merge or rebase. The first rule is to rule out failpoint setup: many TiDB tests depend on failpoint instrumentation, and the `intest,deadlock` build tags do not enable it. The agent checks the project's failpoint decision guide for the affected package and reruns with failpoints on and `-count=1`. If the diff disappears, it is an environment issue rather than a logic regression.
If failpoints are not the cause, the agent reproduces with a minimal `-run` target, compares good and bad commits and uses `git bisect` to find the first bad commit. Expected plans or results are updated only once the cause is proven, such as an intentional upstream optimizer change or a stale expectation with unchanged query semantics. Investigation notes follow a fixed set of headings: symptom, scope, failpoint check, first bad commit, conclusion and action.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 7a3dacb. 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.
Shell commands in SKILL.md call:
gitgoFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
TiDB Test Diff Triage loads about 498 tokens when it runs. Until then it costs about 36 tokens; SKILL.md has 239 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); files beside SKILL.md are not scanned.
The full file from pingcap/tidb at commit 7a3dacb, republished under its Apache-2.0 licence (© pingcap). 239 words, ~498 tokens.
.claude/skills/tidb-test-diff-triage/SKILL.md (or your agent's skills folder).Use this workflow when:
In TiDB, many test behaviors rely on failpoint instrumentation. -tags=intest,deadlock does not enable failpoints.
docs/agents/testing-flow.md -> Failpoint decision for unit tests against the affected package.Failpoint-enabled run and add -count=1 to the go test command for reproducibility.If failpoint is not the cause:
-run <TestName> -count=1).Useful commands:
git bisect start
git bisect bad <bad_commit>
git bisect good <good_commit>Only sync expected plan/result when one of these is true:
Do not record/update testdata before root cause is identified.
Symptom: what diff changed.Scope: single test vs full suite.Failpoint check: commands and result.First bad commit: hash and title (if bisected).Conclusion: setup issue / upstream behavior change / local regression.Action: rerun with failpoint, sync expected, or continue fixing code.© pingcap, 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
Just SKILL.md in .agents/skills/tidb-test-diff-triage of pingcap/tidb.
Open the folder on GitHubat commit 7a3dacb
TiDB Test Diff Triage 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 |
|---|---|---|---|---|---|---|
| TiDB Test Diff Triage this skillpingcap/tidb | 41k | — | ~498 | Automated safety check: Pass | Apache-2.0 | |
| Regression Root Cause AnalyzerArabelaTso/Skills-4-SE | 253 | — | ~3.4k | Automated safety check: Pass | Apache-2.0 | |
| Debugging and Error Recoveryaddyosmani/agent-skills | 102k | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Debuggnomeria/usbtree | 688 | — | ~715 | Automated safety check: Pass | MIT | |
| Investigateblueberrycongee/termcanvas | 406 | — | ~562 | Automated safety check: Pass | MIT | |
| Targeted Emergency Bug FixVeryGoodOpenSource/vgv-wingspan | 108 | — | ~1.9k | Automated safety check: Pass | MIT |
ArabelaTso/Skills-4-SE
Locate root causes of failing regression tests by analyzing code changes, error messages, and test dependencies.
addyosmani/agent-skills
Applies a stop-the-line rule and a step-by-step triage when tests fail, builds break or something stops working, aiming at the root cause instead of guesses.
gnomeria/usbtree
Systematic root-cause debugging — reproduce, isolate, fix at the source, prove the fix.
blueberrycongee/termcanvas
Systematic debugging skill. An agent skill from blueberrycongee/termcanvas.
VeryGoodOpenSource/vgv-wingspan
Applies a minimal fix to an emergency bug through triage, root-cause location, a hotfix branch and a blast-radius check, with tests and review still required.
Edwardvaneechoud/Flowfile
Chronicles 25+ major incidents in Flowfile's git history (worker/kernel deadlocks and races, reverted or self-reverted branches, Electron/Tauri packaging breakage, codegen correctness bugs, CI…
pingcap/tidb
Decides from local git changes whether make bazel_prepare must run in TiDB before build or test commands, and reports the evidence for the decision.
pingcap/tidb
Use when running TiDB package tests and deciding whether failpoint enable/disable is required before and after the test command.
pingcap/tidb
Use when recording TiDB integration tests under tests/integrationtest and verifying regenerated result files stay minimal and correct.
pingcap/tidb
Use when running tests under tests/realtikvtest that require a local TiUP playground lifecycle with strict startup, readiness checks, and cleanup.
pingcap/tidb
Checks a fix proposed by a user or reviewer for intent, correctness and compatibility before the agent implements it in the TiDB codebase.
pingcap/tidb
Keeps TiDB GitHub issues consistent by following the issue templates, writing reproducible reports, checking for duplicates and applying labels explicitly.
Categories
Investigates TiDB plan or test-result diffs that the change does not explain, ruling out failpoint setup and merge effects before expected outputs are updated. The workflow applies when a test diff shows up that the touched code cannot explain, when a single test and the full suite give different output, or when planner and executor testdata change after a merge or rebase. The first rule is to rule out failpoint setup: many TiDB tests depend on failpoint instrumentation, and the `intest,deadlock` build tags do not enable it.
TiDB Test Diff Triage fits situations like: A TiDB test or plan diff appears that the PR's code changes do not explain; A single test passes but the full suite produces different output; planner or executor testdata changed after a merge or rebase.
Run `npx skills add pingcap/tidb --skill tidb-test-diff-triage -a claude-code`. Or copy the skill folder (.agents/skills/tidb-test-diff-triage in pingcap/tidb) into .claude/skills/tidb-test-diff-triage in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pingcap/tidb --skill tidb-test-diff-triage -a codex`. Or copy the skill folder (.agents/skills/tidb-test-diff-triage in pingcap/tidb) into .agents/skills/tidb-test-diff-triage 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 pingcap/tidb --skill tidb-test-diff-triage -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tidb-test-diff-triage, .gemini/skills/tidb-test-diff-triage, .github/skills/tidb-test-diff-triage and .opencode/skills/tidb-test-diff-triage in your project.
Going by SKILL.md and its folder, TiDB Test Diff Triage needs the command-line tools its instructions call (git and go). Our summary lists: A TiDB repository checkout with the Go toolchain; Git for bisecting.
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.
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.
TiDB Test Diff Triage 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.
About 498 tokens (SKILL.md is roughly 2k 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 TiDB Test Diff Triage: Regression Root Cause Analyzer (ArabelaTso/Skills-4-SE, 253 stars), Debugging and Error Recovery (addyosmani/agent-skills, 102k stars), Debug (gnomeria/usbtree, 688 stars) and Investigate (blueberrycongee/termcanvas, 406 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pingcap (a GitHub organization) maintains it in pingcap/tidb, which has 40,631 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 7, 2026.
Source: pingcap/tidb on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.