TestsSûr100100/100
Release Create Tracker Issue (PyTorch)
Generate (and optionally open) a PyTorch release tracker / cherry-pick tracking issue from a release announcement, like https://github.com/pytorch/pytorch/issues/180506. Triggered by mentions of "release tracker", "release tracking issue", "cherry-pick tracker", or "cut a release branch issue".
ou envoie-le directement à ton agent.
Installer dans ton projet
$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs release-create-tracker-issue__pytorch-test-infra__claude-skills-effa47e233f0PyTorch
pytorch/test-infra
Contenu à copier
---
name: release-create-tracker-issue
description: Generate (and optionally open) a PyTorch release tracker / cherry-pick tracking issue from a release announcement, like https://github.com/pytorch/pytorch/issues/180506. Triggered by mentions of "release tracker", "release tracking issue", "cherry-pick tracker", or "cut a release branch issue".
metadata:
origin: PyTorch
---
# Create Release Tracker Issue
Generates the body for a PyTorch **release tracker** issue (the cherry-pick tracking issue cut alongside a release branch, like https://github.com/pytorch/pytorch/issues/180506) from a release announcement that contains the milestone (key dates) schedule, then opens the issue in `pytorch/pytorch`.
## When to use this skill
Use when the user asks to:
- Create a release tracker / release tracking issue for a PyTorch release
- Create the cherry-pick tracking issue for a newly cut release branch
- Turn a "PyTorch release X.Y key dates" announcement into a tracker issue
## Instructions
### Step 1: Determine parameters
Collect these parameters. Most can be derived; ask only for what is missing.
| Parameter | Description | Example | How to obtain |
|-----------|-------------|---------|---------------|
| **Release announcement** | URL or pasted text of the "key dates" post | `https://dev-discuss.pytorch.org/t/pytorch-release-2-13-key-dates/3390` | From the user |
| **Release version** | Full version being released | `2.13.0` | From the user or announcement title |
| **Branch version** | `MAJOR.MINOR` of the release branch | `2.13` | Derived from release version (drop the patch) |
| **Previous minor** | The most recent prior minor release | `2.12` | Branch minor minus 1 (e.g. `2.13` → `2.12`) |
| **Release managers** | GitHub handles with cherry-pick dispensation | `@atalman, @malfet` | Default `@atalman, @malfet` unless told otherwise |
### Step 2: Extract milestone dates from the announcement
If given a **URL**, fetch it (the dev-discuss forum is not a GitHub URL, so use WebFetch, not `gh`):
```
WebFetch(url=<announcement_url>, prompt="Extract the M3 (release branch cut), M4 (release branch finalized / feature classifications), M4.1 (tutorial drafts submission deadline), M5 (external-facing content finalized), and M6 (release day) dates verbatim, preserving any 'week of' prefix.")
```
If given pasted **text**, parse the dates directly from it.
Map the announcement milestones to the tracker fields. Keep the date format **exactly** as written in the announcement (e.g. `DD/MM/YY`, and keep a `week of` prefix if present):
| Tracker field | Source milestone |
|---------------|------------------|
| `M3_DATE` | M3 — Release branch cut |
| `M4_DATE` | M4 — Release branch finalized / feature classifications published |
| `M4_1_DATE` | M4.1 — Tutorial drafts submission deadline |
| `M5_DATE` | M5 — External-Facing Content Finalized |
| `M6_DATE` | M6 — Release Day |
| `PHASE_CUTOFF` | **The M4 date.** If M4 is written as `week of 22/6/26`, use the bare date `22/6/26` for the phase cutoff. |
If a milestone is missing from the announcement, ask the user rather than guessing.
### Step 3: Generate the issue body
Fill the template below. Replace every `{PLACEHOLDER}`:
- `{VERSION}` → full release version (e.g. `2.13.0`)
- `{BRANCH}` → branch version (e.g. `2.13`)
- `{PREV_MINOR}` → previous minor (e.g. `2.12`)
- `{PHASE_CUTOFF}`, `{M3_DATE}`, `{M4_DATE}`, `{M4_1_DATE}`, `{M5_DATE}`, `{M6_DATE}` → dates from Step 2
- `{RELEASE_MANAGERS}` → e.g. `@atalman, @malfet`
````markdown
We cut a [release branch](https://github.com/pytorch/pytorch/tree/release/{BRANCH}) for the {VERSION} release.
Our plan from this point is roughly:
* Phase 1 (until {PHASE_CUTOFF}): work on finalizing the release branch
* Phase 2 (after {PHASE_CUTOFF}): perform extended integration/stability/performance testing based on Release Candidate builds.
This issue is for tracking cherry-picks to the release branch.
## Release dates
* M3: Release branch cut ({M3_DATE})
* M4: Release branch finalized, Announce final launch date, Feature classifications published ({M4_DATE}) - Final RC is produced.
* M4.1: Tutorial drafts submission deadline ({M4_1_DATE})
* M5: External-Facing Content Finalized ({M5_DATE})
* M6: Release Day ({M6_DATE})
## Cherry-Pick Criteria
**Phase 1 (until {PHASE_CUTOFF}):**
Only low-risk changes may be cherry-picked from main:
1. Fixes to regressions against the most recent minor release (e.g. {PREV_MINOR}.x for this release; see [module: regression issue list](https://github.com/pytorch/pytorch/issues?q=is%3Aissue+is%3Aopen+label%3A%22module%3A+regression%22+))
2. Critical fixes for: [silent correctness](https://github.com/pytorch/pytorch/issues?q=is%3Aissue+is%3Aopen+label%3A%22topic%3A+correctness+%28silent%29%22), [backwards compatibility](https://github.com/pytorch/pytorch/issues?q=is%3Aissue+is%3Aopen+label%3A%22topic%3A+bc-breaking%22+), [crashes](https://github.com/pytorch/pytorch/issues?q=is%3Aissue+is%3Aopen+label%3A%22topic%3A+crash%22+), [deadlocks](https://github.com/pytorch/pytorch/issues?q=is%3Aissue+is%3Aopen+label%3A%22topic%3A+deadlock%22+), (large) [memory leaks](https://github.com/pytorch/pytorch/issues?q=is%3Aissue+is%3Aopen+label%3A%22topic%3A+memory+usage%22+)
3. Critical fixes to new features introduced in the most recent minor release (e.g. {PREV_MINOR}.x for this release)
4. Test/CI fixes
5. Documentation improvements
6. Compilation fixes or ifdefs required for different versions of the compilers or third-party libraries
7. Release branch specific changes (e.g. change version identifiers)
Any other change requires special dispensation from the release managers (currently {RELEASE_MANAGERS} ). If this applies to your change please write "Special Dispensation" in the "Criteria Category:" template below and explain.
**Phase 2 (after {PHASE_CUTOFF}):**
Note that changes here require us to rebuild a Release Candidate and restart extended testing (likely delaying the release). Therefore, the only accepted changes are **Release-blocking** critical fixes for: [silent correctness](https://github.com/pytorch/pytorch/issues?q=is%3Aissue+is%3Aopen+label%3A%22topic%3A+correctness+%28silent%29%22), [backwards compatibility](https://github.com/pytorch/pytorch/issues?q=is%3Aissue+is%3Aopen+label%3A%22topic%3A+bc-breaking%22+), [crashes](https://github.com/pytorch/pytorch/issues?q=is%3Aissue+is%3Aopen+label%3A%22topic%3A+crash%22+), [deadlocks](https://github.com/pytorch/pytorch/issues?q=is%3Aissue+is%3Aopen+label%3A%22topic%3A+deadlock%22+), (large) [memory leaks](https://github.com/pytorch/pytorch/issues?q=is%3Aissue+is%3Aopen+label%3A%22topic%3A+memory+usage%22+)
Changes will likely require a discussion with the larger release team over VC or Slack.
## Cherry-Pick Process
1. Ensure your PR has landed in master. This does not apply for release-branch specific changes (see Phase 1 criteria).
2. Create (but do not land) a PR against the [release branch](https://github.com/pytorch/pytorch/tree/release/{BRANCH}).
<details>
```bash
# Find the hash of the commit you want to cherry pick
# (for example, abcdef12345)
git log
git fetch origin release/{BRANCH}
git checkout release/{BRANCH}
git cherry-pick -x abcdef12345
# Submit a PR based against 'release/{BRANCH}' either:
# via the GitHub UI
git push my-fork
# via the GitHub CLI
gh pr create --base release/{BRANCH}
```
You can also use the `@pytorchbot cherry-pick` command to cherry-pick your PR. To do this, just add a comment in your merged PR. For example:
```
@pytorchbot cherry-pick --onto release/{BRANCH} -c docs
```
(`-c docs` - is the category of your changes - adjust accordingly):
For more information, see [pytorchbot cherry-pick docs](https://github.com/pytorch/pytorch/wiki/Bot-commands#cherry-pick).
</details>
3. Make a request below with the following format:
```
Link to landed trunk PR (if applicable):
*
Link to release branch PR:
*
Criteria Category:
*
```
1. Someone from the release team will reply with approved / denied or ask for more information.
2. If approved, someone from the release team will merge your PR once the tests pass. **Do not land the release branch PR yourself.**
**NOTE: Our normal tools (ghstack / ghimport, etc.) do not work on the release branch.**
Please note HUD Link with branch CI status and link to the HUD to be provided here.
[HUD](https://hud.pytorch.org/hud/pytorch/pytorch/release%2F{BRANCH})
cc @seemethere @malfet @pytorch/pytorch-dev-infra
### Versions
{VERSION}
````
### Step 4: Review, then create the issue
1. Show the rendered body to the user for confirmation. Creating a GitHub issue is an outward-facing action — do not create it until the user approves the content (or has clearly asked you to open it directly).
2. Create the issue in `pytorch/pytorch` with the exact title and labels:
- **Title:** `[v.{VERSION}] Release Tracker` (note the `v.` prefix — e.g. `[v.2.13.0] Release Tracker`)
- **Labels:** `release tracker`, `triaged`
```bash
gh issue create \
--repo pytorch/pytorch \
--title "[v.{VERSION}] Release Tracker" \
--label "release tracker" \
--label "triaged" \
--body-file release_tracker_body.md
```
If `gh` is unavailable, POST to `https://api.github.com/repos/pytorch/pytorch/issues` with `{"title": ..., "labels": ["release tracker", "triaged"], "body": ...}` using an authenticated token.
3. Report the new issue URL back to the user.
## Example usage
**Example** — Create the 2.13.0 tracker from the key-dates announcement:
```
Create a release tracker issue for 2.13.0 from https://dev-discuss.pytorch.org/t/pytorch-release-2-13-key-dates/3390
```
For that announcement the milestones resolve to:
| Field | Value |
|-------|-------|
| M3 (branch cut) | week of 8/6/26 |
| M4 (finalized) | week of 22/6/26 |
| M4.1 (tutorial drafts) | 30/6/26 |
| M5 (content finalized) | 1/7/26 |
| M6 (release day) | 8/7/26 |
| Phase cutoff | 22/6/26 |
| Previous minor | 2.12 |
Producing title `[v.2.13.0] Release Tracker` with labels `release tracker`, `triaged`.
## Notes
- **Phase cutoff = the M4 date.** Both the "Phase 1 (until …)" / "Phase 2 (after …)" lines and the "Phase 1/2" cherry-pick criteria headers use the bare M4 date (strip a `week of` prefix for the cutoff, even though the M4 line in the Release dates section keeps it).
- Preserve the announcement's date format verbatim (`DD/MM/YY`). Do not reformat or convert dates.
- The `release tracker` label must already exist in the repo (it does in `pytorch/pytorch`). If creating in a repo without it, create the label first or drop it.
- Keep the trailing `cc @seemethere @malfet @pytorch/pytorch-dev-infra` line unless the user specifies different reviewers.
- The release managers handles default to `@atalman, @malfet`; update only if the user names different managers.Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.
Ce que fait Release Create Tracker Issue (PyTorch)
Create a release tracker / release tracking issue for a PyTorch release
Create the cherry-pick tracking issue for a newly cut release branch
Turn a "PyTorch release X.Y key dates" announcement into a tracker issue
`{VERSION}` → full release version (e.g. `2.13.0`)
Comment utiliser Release Create Tracker Issue (PyTorch)
1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.
Déclencheurs pour Release Create Tracker Issue (PyTorch)
Dis simplement à ton agent quelque chose comme :
Applique le skill release-create-tracker-issue__pytorch-test-infra__claude-skills-effa47e233f0 à cette tâche
Utilise release-create-tracker-issue__pytorch-test-infra__claude-skills-effa47e233f0 pour améliorer cette implémentation
Passe en revue ce sujet avec release-create-tracker-issue__pytorch-test-infra__claude-skills-effa47e233f0
Skills liés à Release Create Tracker Issue (PyTorch)
Add New Op (Alibaba)
为 MNN 框架新增算子。包含 Schema 定义、形状计算、几何计算、后端实现、单元测试的完整 TDD 流程。分 5 步执行,每步有独立测试标准。ai-regression-testing
Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.Analyze Test Report (PyTorch)
Analyze torch-tensorrt local test results and drive failures to a fix. Use when the user pastes a test report / summary, asks why tests failed, asks to triage or fix failing tests, or mentions the JUnit/test-summary output from `just tests-report` / `just test-summary`. Covers where the JUnit XMLs live, how to read the consolidated report, how to reproduce a single failure, and how to categorize (real bug vs torch-API change vs OOM/skip vs flake).