with one click
tidb-bazel-prepare-gate
Use when deciding whether make bazel_prepare is required before build or test commands based on local file changes in TiDB.
Menu
Use when deciding whether make bazel_prepare is required before build or test commands based on local file changes in TiDB.
Decide where to place TiDB tests and how to write them (basic structure, naming, testdata usage). Use when asked about test locations, writing conventions, shard_count limits, casetest categorization, or when reviewing test changes in code review.
Use when implementing a user- or reviewer-prescribed code change (including review comments with suggested fixes or options), especially when the requested edit may be risky, incomplete, ambiguous, or misaligned with TiDB correctness and compatibility constraints.
Use when creating or editing TiDB GitHub issues so issue templates, labels, issue titles, and issue descriptions stay consistent with repository workflow. Trigger on tasks involving issue creation, bug reports, enhancement tracking issues, label selection, or searching for existing issues and PRs before filing a new one.
Use when creating or editing TiDB pull requests so PR title scope, PR template fields, hidden HTML comments, and bot-parsed checklist sections stay intact. Trigger on tasks involving PR creation, PR body updates, issue linking from a PR, test checklist updates, or investigating labels like do-not-merge/needs-tests-checked.
Use when running TiDB package tests and deciding whether failpoint enable/disable is required before and after the test command.
Use when recording TiDB integration tests under tests/integrationtest and verifying regenerated result files stay minimal and correct.
| name | tidb-bazel-prepare-gate |
| description | Use when deciding whether make bazel_prepare is required before build or test commands based on local file changes in TiDB. |
Use this skill before build/test commands when you are unsure whether make bazel_prepare is required.
Policy source: AGENTS.md -> Build Flow -> When make bazel_prepare is required.
In normal coding loops, skip this skill unless one of the decision-rule triggers is likely present.
Run from repository root:
git status --short
git diff --name-status
git diff --name-status --cached
git ls-files --others --exclude-standard
git diff -U0 -- '*.go'
git diff -U0 --cached -- '*.go'
Trigger conditions are defined in AGENTS.md -> Build Flow -> When make bazel_prepare is required.
Compare the output from the commands above against those conditions.
For the top-level test-function trigger in existing *_test.go files, inspect added lines in
git diff -U0 -- '*.go' and git diff -U0 --cached -- '*.go' output for patterns like:
+func TestXxx(t *testing.T) {
and treat that as requiring make bazel_prepare.
For import-section changes in existing Go files, inspect git diff -U0 -- '*.go' and
git diff -U0 --cached -- '*.go' for added/removed import lines, for example:
+import (
-import "fmt"
+ "context"
and treat those changes as requiring make bazel_prepare.
If any condition matches, run make bazel_prepare.
If none of the rules match, continue without make bazel_prepare and report the evidence.