pingcap/tidb · Archived

tidb-pr-metadata-guard

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.

First seen Aug 9, 2026

Installation

$ npx skills add pingcap/tidb --skill tidb-pr-metadata-guard

Summary

  • 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.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from pingcap/tidb.

npx skills add pingcap/tidb

Browse all from pingcap/tidb

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 40.4K
License LICENSES
Default branch master
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 3,017 B
  • docs SUMMARY.md 354 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

TiDB PR Metadata Guard

Overview

Use this skill for TiDB GitHub pull request metadata updates. The goal is to preserve repository-required PR structure while editing only the mutable fields.

Before changing a PR body, read .github/pullrequesttemplate.md.

Workflow

  1. Write PR titles and descriptions in English.
  2. For a new PR, start from .github/pullrequesttemplate.md instead of writing the body from scratch.

- Use a title in the form pkg [, pkg2, pkg3]: what is changed or *: what is changed. - In that title format, pkg means the TiDB module area, not a literal Go package path. For example, changes under pkg/planner/core usually map to planner, not pkg/planner/core. - Use gh pr create -T .github/pullrequesttemplate.md. - Fill in the template in a Markdown file first, then submit it.

  1. For an existing PR, update only the mutable sections.

- Safe targets: Issue Number:, Problem Summary:, the content under ### What changed and how does it work?, test checkbox states and concrete commands, and the release-note block. - Do not rename headings, reorder checklist sections, or rewrite the template wholesale.

  1. Preserve hidden HTML comments exactly.

- Keep Tests <!-- At least one of them must be included. --> unchanged. - Keep the No need to test nested block and its HTML comment unchanged. - Do not delete or rewrite template comments that explain issue linking or release-note behavior.

  1. If a PR needs a new linked issue, use tidb-issue-metadata-guard to create or identify the issue first, then patch only the Issue Number: line in the PR body.
  2. Prefer file-based edits for GitHub metadata.

- Materialize the intended issue body or PR body into a local Markdown file. - Review that file against the PR template before calling gh.

  1. After any PR body update, re-read the PR and check whether bot-gated labels changed as expected.

- do-not-merge/needs-linked-issue - do-not-merge/needs-tests-checked - If a label remains unexpectedly, diff the current body against .github/pullrequesttemplate.md before changing anything else.

Quick Checks

  • The PR body still contains an Issue Number: line, and that line can reference one or more related issues with full keyword syntax such as close #<id> and ref #<id>.
  • The PR title uses module-oriented scope names such as planner, executor, or *:, not raw Go package paths such as pkg/planner/core.
  • The Tests line still includes the template HTML comment verbatim.
  • At least one test checkbox is checked, or No need to test is checked with a reason.