Opik Documentation Patterns
comet-ml/opik
Rules for writing PR descriptions, changelog entries and feature documentation in the Opik repository, including the exact headings that CI requires.
Drafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate.
$ npx skills add StarRocks/starrocks --skill release-notes -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install StarRocks/starrocks release-notes --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/StarRocks/starrocks.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/release-notes .claude/skills/release-notes && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "release-notes" agent skill from https://github.com/StarRocks/starrocks/tree/main/.claude/skills/release-notes into .claude/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/StarRocks/starrocks/tree/main/.claude/skills/release-notesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add StarRocks/starrocks --skill release-notes -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install StarRocks/starrocks release-notes --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/StarRocks/starrocks.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/release-notes .agents/skills/release-notes && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "release-notes" agent skill from https://github.com/StarRocks/starrocks/tree/main/.claude/skills/release-notes into .agents/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add StarRocks/starrocks --skill release-notes -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install StarRocks/starrocks release-notes --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/StarRocks/starrocks.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/release-notes .cursor/skills/release-notes && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "release-notes" agent skill from https://github.com/StarRocks/starrocks/tree/main/.claude/skills/release-notes into .cursor/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/StarRocks/starrocks.git --path .claude/skills/release-notes--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add StarRocks/starrocks --skill release-notes -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install StarRocks/starrocks release-notes --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/StarRocks/starrocks.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/release-notes .gemini/skills/release-notes && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "release-notes" agent skill from https://github.com/StarRocks/starrocks/tree/main/.claude/skills/release-notes into .gemini/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install StarRocks/starrocks release-notesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add StarRocks/starrocks --skill release-notes -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/StarRocks/starrocks.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/release-notes .github/skills/release-notes && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "release-notes" agent skill from https://github.com/StarRocks/starrocks/tree/main/.claude/skills/release-notes into .github/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add StarRocks/starrocks --skill release-notes -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install StarRocks/starrocks release-notes --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/StarRocks/starrocks.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/release-notes .opencode/skills/release-notes && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "release-notes" agent skill from https://github.com/StarRocks/starrocks/tree/main/.claude/skills/release-notes into .opencode/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
release-notesDrafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate.
Given a new patch version such as 3.5.19, the agent derives the minor version, the release branch (`branch-3.5`), the notes file under `docs/en/release_notes/` and the previous tag from the newest section already in that file. A bundled script, `scripts/collect-prs.sh`, takes the two tags and returns JSON listing every PR backported between them, each already traced back to its original main PR. If no PRs come back, the agent stops and reports, since the tags probably do not exist yet.
It reads `references/format.md` and `references/categorization.md`, copies the layout, heading style and PR-link style of the newest existing section, and sorts each PR into Behavior Changes, Improvements or Bug fixes, rewriting titles for readers. PRs whose backport chain does not lead to main get a quality warning, and uncertain items are flagged rather than guessed, because the PR is the human review gate. The agent edits English only and never touches the Chinese or Japanese docs; translation goes to the existing `/translate` workflow.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 616669c. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadEditGrepGlobBashAgentFrom allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
gitghbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
StarRocks Release Notes loads about 1.9k tokens when it runs, and up to ~4.2k if it reads all its reference files. Until then it costs about 76 tokens; SKILL.md has 904 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Read, Edit, Grep, Glob, Bash, AgentAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from StarRocks/starrocks at commit 616669c, republished under its Apache-2.0 licence (© StarRocks). 904 words, ~1,950 tokens.
.claude/skills/release-notes/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.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.
$ARGUMENTS = the new patch version, e.g. 3.5.19. If absent, ask for it.3.5.19):<MAJOR>.<MINOR> (e.g. 3.5), branch = branch-<minor> (e.g. branch-3.5)docs/en/release_notes/release-<minor>.md (e.g. docs/en/release_notes/release-3.5.md)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.
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.19It 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.
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.
Apply references/categorization.md:
Behavior Changes / Improvements / Bug fixes; exclude
[Doc]/[UT]/[Tool] and behavior-neutral [Refactor].<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.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.
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>.mdAlso run the repo's markdownlint (docs/.markdownlint.json) if available. Fix any issues.
Re-confirm frontmatter/description is unchanged.
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:
- [x] Doc.- [x] No (the notes themselves don't change product
behavior).4.1/4.0/3.5) unchecked unless the user says otherwise.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.)
Stop and tell the user:
docs/en/release_notes/release-3.5.md) changed.CI DOC Checker → markdownlint passes on the PR, the
"🌎 Translation Required?" comment will auto-post with zh and ja checkboxes./translate; the
Translation Runner workflow (StarRocks/doc-translator v1.0.1) then commits the
Chinese and Japanese versions into the same PR./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.docs/CLAUDE.md: never assert unverified technical
facts).git commit -s (DCO sign-off).© StarRocks, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 3 other files (scripts, references) in .claude/skills/release-notes of StarRocks/starrocks.
Open the folder on GitHubat commit 616669c
StarRocks Release Notes next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| StarRocks Release Notes this skillStarRocks/starrocks | 12k | — | ~1.9k | Automated safety check: Notes | Apache-2.0 | |
| Opik Documentation Patternscomet-ml/opik | 22k | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Change Documentation Writerjsmastery-pro/skills | 1.4k | — | ~2.4k | Automated safety check: Notes | MIT | |
| Technical Writingfrappe/skills | 146 | — | ~1.1k | Automated safety check: Pass | None | |
| Avoid AI Writingwshobson/agents | 40k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Pull Requestcloudposse/atmos | 1.4k | — | ~3.5k | Automated safety check: Pass | Apache-2.0 |
comet-ml/opik
Rules for writing PR descriptions, changelog entries and feature documentation in the Opik repository, including the exact headings that CI requires.
jsmastery-pro/skills
Writes PR descriptions, changelog entries, release notes and postmortems from the actual commits and diff, and saves each one in the right place.
frappe/skills
Write prose in "Simplified Technical English". An agent skill from frappe/skills.
wshobson/agents
Audit and rewrite prose so it stops reading as machine-generated.
cloudposse/atmos
PR workflow: pick the right semver label (no-release / patch / minor / major), decide when to add a changelog blog post, when to update the roadmap, and how to do each correctly.
LUC4N3X/Levyra-deepsound
Apply a compact final prose pass to Levyra pull request descriptions, release notes, and owner-facing writing so it sounds natural without changing facts, evidence, structure, or validation state.
StarRocks/starrocks
Proposes verified fixes for failing SQL examples in StarRocks docs across three languages and several versions, then opens draft pull requests and never merges.
Categories
Drafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate. 5`), the notes file under `docs/en/release_notes/` and the previous tag from the newest section already in that file.sh`, takes the two tags and returns JSON listing every PR backported between them, each already traced back to its original main PR.
StarRocks Release Notes fits situations like: A new StarRocks patch release has been tagged and its notes are missing; sorting backported PRs into behavior changes, improvements and bug fixes; opening a docs PR that is ready for the translation workflow.
Run `npx skills add StarRocks/starrocks --skill release-notes -a claude-code`. Or copy the skill folder (.claude/skills/release-notes in StarRocks/starrocks) into .claude/skills/release-notes in your project. Claude Code loads it when a task matches its description.
Run `npx skills add StarRocks/starrocks --skill release-notes -a codex`. Or copy the skill folder (.claude/skills/release-notes in StarRocks/starrocks) into .agents/skills/release-notes in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add StarRocks/starrocks --skill release-notes -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-notes, .gemini/skills/release-notes, .github/skills/release-notes and .opencode/skills/release-notes in your project.
Going by SKILL.md and its folder, StarRocks Release Notes needs a shell for the scripts in its folder and the command-line tools its instructions call (git, gh and bash). Our summary lists: Bash and the `gh` CLI, used by the PR collector script and tag lookups; A StarRocks checkout with the release branch and release notes files. Its frontmatter pre-approves these tools: Read, Edit, Grep, Glob, Bash, Agent.
SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
StarRocks Release Notes is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.2k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with StarRocks Release Notes: Opik Documentation Patterns (comet-ml/opik, 22k stars), Change Documentation Writer (jsmastery-pro/skills, 1.4k stars), Technical Writing (frappe/skills, 146 stars) and Avoid AI Writing (wshobson/agents, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
StarRocks (a GitHub organization) maintains it in StarRocks/starrocks, which has 12,158 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 7, 2026.
Source: StarRocks/starrocks on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.