tidb-verify-profile

Selects appropriate local validation scope for TiDB code changes using tiered verification profiles.

40.5k|6.2k|Updated Sep 6, 2015
One-click install
npx skills add https://github.com/pingcap/tidb --skill tidb-verify-profile
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: tidb-verify-profile
Source: https://github.com/pingcap/tidb/tree/main/.agents/skills/tidb-verify-profile
Command: npx skills add https://github.com/pingcap/tidb --skill tidb-verify-profile

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Developers working on TiDB often waste time running slow, broad validation commands during active coding, or under-validate before claiming completion. This Skill defines clear verification profiles so you run the right checks at the right stage of work.

Core Features & Use Cases

  • WIP Profile: Run only minimal, targeted checks (e.g., go test -run <TestName> -tags=intest,deadlock) while iterating, avoiding slow sweeps like make lint or realtikvtest.
  • Ready Profile: Before claiming completion, map changed paths to required test surfaces via the AGENTS.md validation matrix, run required targeted tests, and run make lint if code changed.
  • Heavy Profile: Reserve expensive checks (CI reproduction, RealTiKV) for explicitly required scenarios; never run make bazel_lint_changed unless the user requests it.
  • Use Case: While fixing a planner bug, you run only the targeted unit test during iteration, then switch to the Ready profile to run the mapped test surfaces and lint before reporting completion.

Quick Start

Ask the assistant to apply the TiDB verification profiles to decide which tests and lint checks to run for your current code changes.

Frequently Asked Questions about tidb-verify-profile

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I choose which tests to run when changing TiDB code?

Use the WIP profile during iteration: run only the smallest targeted checks, such as `go test -run <TestName> -tags=intest,deadlock`. Before claiming completion, switch to the Ready profile and map changed paths to required test surfaces via the AGENTS.md validation matrix.

When should I run make lint in TiDB development?

Run `make lint` only under the Ready profile when code has changed and you are claiming task completion or PR readiness. Avoid it during the WIP coding loop, where only targeted unit tests should run.

Should I run realtikvtest or bazel lint for every TiDB change?

No. RealTiKV tests and other expensive checks belong to the Heavy profile, used only when scope or the user explicitly requires them. Never run `make bazel_lint_changed` unless the user explicitly requests it.

What is the difference between the WIP and Ready verification profiles?

WIP is for the coding loop: minimal, fast, targeted tests only. Ready is the completion gate: map changed paths to required test surfaces, run the minimum required tests, run make lint if code changed, and follow the AGENTS.md output contract for reporting.

Does this skill replace the AGENTS.md policy requirements?

No. Policy requirements, trigger phrases, and the validation matrix still come from AGENTS.md. This skill is only the execution guide that decides how much local validation to run at each stage.