agentleFS
StarRocksStarRocks/starrocks/.claude/skills/release-notes/SKILL.md

release-notes

Skill12k starsChanged 3 months agoApache-2.0View on GitHub

Draft StarRocks release notes for a patch version from the PRs merged into its release branch, then open a [Doc] PR that hands off to the /translate workflow for Chinese and Japanese. Use when a new patch release (e.g. 3.5.19) has been tagged and English release notes are not yet written.

  • Commits and pushes

We split this skill into the rules it gives an agent

9 rules. 0 are common, 2 are distinctive, and 7 are very specific to this project.

  • 0

    Common

    Most of the 146 edited versions we read keep these.

  • 2

    Distinctive

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read references/format.md (exact output format) and references/categorization.md (how to map and rewrite PRs) before drafting.

    line 14
  2. Very specific:

    Use the derived file path everywhere below — do not hardcode release-3.5.md.

    line 27
  3. Distinctive:

    Run the collector and capture its JSON:

    line 32
  4. Very specific:

    Read the top of the target file — the frontmatter, the :::warning block, and the current newest ## X.Y.Z section.

    line 54
  5. Very specific:

    What type of PR: check - [x] Doc.

    line 104
  6. Very specific:

    Change in behavior: check - [x] No (the notes themselves don't change product behavior).

    line 105
  7. Very specific:

    If the collector reported any unresolved PRs (backport chain that never reached main), post a single warning comment on the release-note PR …

    line 114
  8. Distinctive:

    Stop and tell the user:

    line 130
  9. Very specific:

    Only the derived English file (e.g.

    line 131

“Common” is measured: kept by at least 6 in 10 of the 146 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

StarRocks Release Notes

Generate the English release-notes section for a tagged StarRocks patch release, open a [Doc] PR for it, and hand off Chinese/Japanese translation to the existing /translate workflow. English only — never edit docs/zh/** or docs/ja/**.

Read references/format.md (exact output format) and references/categorization.md (how to map and rewrite PRs) before drafting. The PR is the human review gate, so favor a complete, accurate draft with uncertain items flagged over silent guessing.

Inputs

  • $ARGUMENTS = the new patch version, e.g. 3.5.19. If absent, ask for it.
  • Derive once and reuse (examples shown for 3.5.19):
    • minor = <MAJOR>.<MINOR> (e.g. 3.5), branch = branch-<minor> (e.g. branch-3.5)
    • file = docs/en/release_notes/release-<minor>.md (e.g. docs/en/release_notes/release-3.5.md)
    • prev tag = the previous patch (e.g. 3.5.18) — the newest ## X.Y.Z already in file; read it to confirm rather than assuming.

Use the derived file path everywhere below — do not hardcode release-3.5.md.

Workflow

1. Collect the changes

Run the collector and capture its JSON:

bash .claude/skills/release-notes/scripts/collect-prs.sh <prev_tag> <new_tag>
# e.g. collect-prs.sh 3.5.18 3.5.19

It returns { release_date_raw, pr_count, prs: [{number,title,url,base,resolved_to_main,labels,body_excerpt}], unresolved_count, unresolved: [...] } for every PR backported between the two tags. If pr_count is 0, stop and report — the tags likely don't exist yet or the order is wrong (gh api repos/StarRocks/starrocks/tags).

Each PR's number is already resolved to the original main PR (release notes always cite the main PR). release_date_raw is only a suggestion (the tag/commit date) — see step 4 for the actual release date.

unresolved lists any PR whose backport chain did not trace back to main (resolved_to_main: false, e.g. a fix authored directly against a release branch). These need a PR-quality warning — see step 7.

2. Mirror the existing format

Read the top of the target file — the frontmatter, the :::warning block, and the current newest ## X.Y.Z section. Match its heading casing, the The following issues have been fixed: line, and the PR-link style. Do not change frontmatter.

3. Categorize and rewrite

Apply references/categorization.md:

  • Map each PR to Behavior Changes / Improvements / Bug fixes; exclude [Doc]/[UT]/[Tool] and behavior-neutral [Refactor].
  • Rewrite each title into a user-facing sentence (strip prefixes/scope, backtick identifiers), grouping closely related PRs with space-separated links.
  • Build a "Needs reviewer confirmation" list for uncertain section choices, terse titles, or possible upgrade/downgrade-warning items. This list goes in the PR body, not the release notes.
  • Release date — always ask the user. The official release date is set by QA and product management and is not necessarily the tag/commit date. Prompt the user: "What is the official release date for <new_tag>?", offering the detected release_date_raw (formatted Month D, YYYY) only as a suggested default. Use the user's answer for the Release date: line. Do not proceed to write the section until the date is confirmed.

4. Write the section

Insert the new ## X.Y.Z section into file per references/format.md: directly below the closing ::: of the :::warning block and above the current newest patch section. Omit empty subsections. English file only.

5. Lint (required so the translation comment appears)

The Translation Status Check workflow only posts the language checkboxes after markdownlint passes, so the diff must be clean. Lint the derived file, and note the Vale config lives at docs/.vale.ini and resolves its styles relative to docs/ — run Vale from the docs/ directory:

# from the docs/ directory, using the version-derived file (e.g. release-3.5.md)
cd docs && vale --config=.vale.ini en/release_notes/release-<minor>.md

Also run the repo's markdownlint (docs/.markdownlint.json) if available. Fix any issues. Re-confirm frontmatter/description is unchanged.

6. Open the PR

git checkout -b release-notes-<new_tag>           # e.g. release-notes-3.5.19
git add docs/en/release_notes/release-<minor>.md  # the derived file, e.g. release-3.5.md
git commit -s -m "[Doc] Add release notes for StarRocks v<new_tag>"
git push -u origin release-notes-<new_tag>
gh pr create --title "[Doc] Add release notes for StarRocks v<new_tag>" --body-file <body>

Fill .github/PULL_REQUEST_TEMPLATE.md for the body:

  • What type of PR: check - [x] Doc.
  • Change in behavior: check - [x] No (the notes themselves don't change product behavior).
  • Checklist: this PR is the user documentation; leave test-case boxes unchecked.
  • Bugfix cherry-pick branch check: this is a docs PR, not a code backport — leave the version boxes (4.1/4.0/3.5) unchecked unless the user says otherwise.
  • Append the "Needs reviewer confirmation" list under "What I'm doing" so reviewers verify the flagged entries.

7. Flag PR-quality issues (when unresolved_count > 0)

If the collector reported any unresolved PRs (backport chain that never reached main), post a single warning comment on the release-note PR so reviewers can act on it. Do not silently drop it — these often indicate a fix that skipped main and may be missing from main/future releases (a regression risk), not just a citation quirk.

gh pr comment <pr-number> --repo StarRocks/starrocks --body-file <warning>

For each unresolved PR, state in the comment: the number cited in the notes and its base branch (not main), that no main PR was found, and the two impacts — (1) the citation is inconsistent with the other entries, and (2) verify the fix exists on main; forward-port if missing. Ask the author to confirm the correct PR number to cite. (Skip this step entirely when unresolved_count is 0.)

8. Hand off translation

Stop and tell the user:

  • Only the derived English file (e.g. docs/en/release_notes/release-3.5.md) changed.
  • Once CI DOC Checker → markdownlint passes on the PR, the "🌎 Translation Required?" comment will auto-post with zh and ja checkboxes.
  • A docs-maintainer checks the desired boxes and replies /translate; the Translation Runner workflow (StarRocks/doc-translator v1.0.1) then commits the Chinese and Japanese versions into the same PR.

Notes and limits

  • Whole-file translation: /translate re-translates the entire file, not just the new section. This is the existing established behavior — rely on it; do not change the pipeline or pre-edit zh/ja.
  • Behavior changes are detected heuristically; the "Needs reviewer confirmation" list plus PR review is the safety net (docs/CLAUDE.md: never assert unverified technical facts).
  • Portability: the only release-specific values are version, branch, file path, and repo. The same skill structure serves other StarRocks lines (e.g. a commercial product) by swapping those constants — author original content, do not copy notes across products.
  • Commits must use git commit -s (DCO sign-off).

Download now (ZIP)

  • Other versions160 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 160

    1. tw93/Mole★ 73ksame name
    2. makeplane/plane★ 61ksame name
    3. tabler/tabler★ 42ksame name
    4. pnpm/pnpm★ 37ksame name
    5. quasarframework/quasar★ 27ksame name
    6. dotnet/core★ 22ksame name
    7. zauberzeug/nicegui★ 16ksame name
    8. adobe/react-spectrum★ 16ksame name
    9. espanso/espanso★ 15ksame name
    10. formbricks/formbricks★ 13ksame name

    150 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use brainstorm-experiments-existing, brainstorm-ideas-new and 10 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • skytiger6724Skill

      brainstorm-experiments-existing

      Design experiments to test assumptions for an existing product — prototypes, A/B tests, spikes, and other low-effort validation methods. Use when validating assumptions, testing feature ideas cheaply, or planning product experiments.

      Also in 5 projects that use this

    • skytiger6724Skill

      brainstorm-ideas-new

      Brainstorm feature ideas for a new product in initial discovery from PM, Designer, and Engineer perspectives. Use when starting product discovery for a new product, exploring features for a startup idea, or doing initial ideation.

      Also in 5 projects that use this

    • 45ckSkill

      pestle-analysis

      Also in 5 projects that use this

    • launchapp-devSkill

      interview-script

      Create a structured user interview script with warm-up, core exploration, and wrap-up sections. Use when preparing for user research interviews to ensure consistent, insightful conversations.

      Also in 6 projects that use this

    • +8 more from skytiger6724
  • In this repository9 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.