Create Release Notes

VerifiedCaution

Generates product release notes for a given OpenMetadata/Collate patch version across getcollate, openmetadata-site and docs-om, with customer-facing filtering, live link checks and approval before commit.

Sby Skills Guide Bot
DocumentationAdvanced
10/22/2026
Claude Code
#release-notes#changelog#openmetadata#multi-repo#doc-review

Recommended for

Automated summary

Generates or updates release-notes / product-update content for a specific OpenMetadata/Collate patch version across getcollate, openmetadata-site, and docs-om, filtering to customer-facing changes and verifying links before any commit.

Strengths

  • Clearly defines each target's content source: getcollate aggregates openmetadata-collate, OpenMetadata, and ai-platform, openmetadata-site stays OSS-only, and docs-om reformats openmetadata-site's already-approved content.
  • Enforces a customer-facing filter pass followed by each repo's own doc-review checklist, helping avoid publishing internal fixes with no visible user symptom.
  • Includes live link-checking for every citation, a site build, and a local preview server before human sign-off.
  • Explicitly forbids committing without user approval and fixes the order getcollate → openmetadata-site → docs-om to respect the content dependency.

Limitations

  • Highly specific to the OpenMetadata/Collate ecosystem and an expected sibling-directory layout of already-cloned repos under ~/Documents/GitHub; the skill says to stop if a repo is missing.
  • The SKILL.md relies heavily on references/process.md, whose detailed mechanics are not included here, making the workflow hard to execute without that file.
  • The tag-to-branch-HEAD fallback for resolving commit ranges requires manual re-verification and is more fragile than a tag-to-tag comparison.
When to use it

Use it when drafting or updating release notes for a specific patch version for getcollate, openmetadata-site, docs-om, or all three together.

When not to use it

Do not use it for non-OpenMetadata/Collate projects, for major-version planning, or when the target repos are not cloned locally and no human review is available.

Security analysis

Caution
Quality score82/100

The skill is not destructive or exfiltrating: it targets release-note repositories, verifies links, avoids committing without approval, and warns against touching generated files. The presence of Bash, network-backed gh calls, build scripts, local servers, and subagents makes it powerful enough to warrant caution rather than safe.

Findings
  • •Uses Bash for git checkout/pull/branching, gh API calls, yarn build, and local preview servers; these are legitimate but execute repository tooling and network requests.
  • •Allows Agent, which can delegate tasks with similar permissions, increasing the blast radius of mistakes.
  • •yarn install/build may execute repository-defined scripts and regenerate files, though the skill explicitly says to revert yarn.lock/sitemap.xml side effects.
  • •Uses Bash with git checkout/pull, branch creation, `gh api` calls, and `yarn build`/local dev servers across three repos — network and build-script execution are inherent, though the stated intent is legitimate documentation work.
  • •`yarn install`/`yarn build` run repository-controlled scripts; the skill does mitigate side effects by requiring `git checkout --` on `yarn.lock`/`public/sitemap.xml`, but it does not pin or audit build tooling.
  • •Core mechanics live in an unprovided `references/process.md`; an auditor cannot verify what commands/steps that file actually instructs, so the full execution surface is out of view.
How this analysis is made

Examples

All three targets
Create the release notes for OpenMetadata/Collate 2.0.4 for all three targets: getcollate, openmetadata-site, and docs-om. Stop before committing and give me the preview URLs.
OSS sites only
Draft the v2.0.4 release notes for openmetadata-site and docs-om only, using OSS-only changes and then reformatting the approved content into the Mintlify snippet.
Update existing patch notes
Update the existing product-update page for Collate 1.13.6 on getcollate, re-check every link, and run the repo's doc-review checklist before showing me the preview.

name: create-release-notes description: Create or update product-update / release-notes content for a given OpenMetadata/Collate patch version across getcollate, openmetadata-site, and docs-om. Sources getcollate's changelog from openmetadata-collate + OpenMetadata + ai-platform; openmetadata-site's from OpenMetadata only; docs-om reuses openmetadata-site's already-written content, reformatted into its Mintlify snippet structure. Filters to customer-facing changes only, runs each target's own doc-review checklist, verifies every link live, and requires explicit approval before any commit. user-invocable: true argument-hint: "<version, e.g. 2.0.4> [--targets=getcollate,openmetadata-site,docs-om|all] [--skip-docs-om]" allowed-tools:

  • Bash
  • Read
  • Edit
  • Write
  • Agent

Create Release Notes

Produces the release-notes/product-update content for one patch version, for up to three targets, following the exact process worked out interactively across the getcollate v2.0.1–v2.0.3 and v1.13.5–v1.13.6 releases. Read references/process.md before doing any real work — it has the full step-by-step mechanics, the per-target repo config, and every gotcha this process has actually hit.

When to activate

The user asks to create, draft, or update release notes / product updates / a changelog for a specific version, for getcollate, openmetadata-site, docs-om, or "all three" / "everywhere."

Repos this touches

All three are expected as sibling directories next to this one (~/Documents/GitHub/<repo>), already cloned:

| Repo | Role | |---|---| | getcollate | Collate's own site. Output: content/product-updates/vX.Y.Z.md | | openmetadata-site | OSS-only public site. Output: content/product-updates/vX.Y.Z.md (same format, independent id/versions.json, OSS-only content) | | docs-om | OSS docs site. Output: snippets/releases/X.Y.Z.mdx, imported into vX.Y.x/releases/X.Y-release.mdx |

If any expected repo isn't present at that path, stop and ask for its location rather than guessing or skipping it silently.

High-level flow (detail in references/process.md)

Run this once per target the user asked for, in this order: getcollate → openmetadata-site → docs-om (docs-om depends on openmetadata-site's finished content, so it must run last, and only after openmetadata-site's file is written — it is never independently re-derived from commits).

For getcollate and openmetadata-site (same mechanics, different source-repo set and content scope — see the table in references/process.md §1):

  1. cd into the repo, git checkout main && git pull.
  2. Determine the previous version and next id from versions.json.
  3. Create a new branch: product-updates/vX.Y.Z.
  4. Resolve the commit range per source repo (tag-to-tag if the next version's tag already exists, else tag-to-branch-HEAD with the re-verification caveat in references/process.md §2).
  5. Fetch, paginate, filter, categorize, bundle (§3–§5).
  6. Write the file, update versions.json.
  7. Customer-facing filter pass (§6) — re-read every bullet, drop anything with no stated end-user/admin-facing symptom.
  8. Doc-review pass using that repo's own .ai/doc-review/ checklist (§7).
  9. Live link-check every citation (§8).
  10. Run the repo's build (yarn build for both Next.js sites) (§9).
  11. Start the local server and give the user the preview URL. Do not commit. Wait for the user to say to commit, exactly as they asked.

For docs-om (§10 — a reformat, not a re-derivation):

  1. cd into docs-om, git checkout main && git pull, new branch release-notes/vX.Y.Z.
  2. Take the finished, already-approved openmetadata-site content for this version (not a fresh commit pull) and wrap it into an <Update> snippet per references/process.md §10.
  3. Add the new snippet's import + <ReleaseNotes /> tag at the top of the matching vX.Y.x/releases/X.Y-release.mdx, update the "Upgrade to X" card text.
  4. Run docs-om's own .ai/doc-review/ checklist against the new snippet (its rules may differ from openmetadata-site/getcollate's).
  5. Live link-check again (the GitHub-release link line is new to this format and easy to typo).
  6. Preview (Mintlify dev server if available, otherwise render the mdx mentally and show the user the file) and wait for commit approval.

Non-negotiable checks (every target, every run)

These came from real mistakes made while building this process by hand — see references/process.md §11 for the full incident behind each one:

  • Verify every commit's merge timestamp falls strictly between the previous and current release tags. A commit that merges after the target tag was cut does not belong in that release, even if its PR title matches the theme — cite it in the next version instead.
  • Cite the actual merged/backport PR, never a referenced issue number or an earlier PR the commit message happens to mention in passing. Verify with gh api repos/<owner>/<repo>/pulls/<n> before trusting any number.
  • Never fabricate a commit SHA for a fallback link. If citing a raw commit instead of a PR, fetch the real full SHA first.
  • Cap every bundled bullet at 3 PR links. Split into two bullets if a natural bundle would exceed that.
  • Collapse a fix that landed as matching PRs in both OpenMetadata and openmetadata-collate down to the OpenMetadata link only — they are the same fix, not two.
  • Link labels are plain [#NNNNN] — no Collate/OSS/AI Platform prefix in the visible text (the URL itself already disambiguates).
  • No trailing period after the date in frontmatter or in versions.json entries for files this skill creates — check the target repo's own existing convention before assuming, since it can differ per repo/file vintage.
  • Bold the symptom, not the fix — every bullet title states the problem a user or admin would recognize; the sentence after the colon states what changed and, where it isn't obvious, why it matters.

Output discipline

  • Never commit or push without the user explicitly saying to, even if everything passed every check. Build success and a clean doc-review are not the same thing as approval.
  • Never touch yarn.lock or public/sitemap.xml on purpose — if yarn install/yarn build regenerates them as a side effect, git checkout -- them back before staging anything, and don't stage them even if the user says "commit everything."
  • One branch per repo per version. Don't reuse a branch across versions, and don't put more than one version's content in a single branch/PR unless the user asks for that explicitly.

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/create-release-notes-mvg6txek/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/create-release-notes-mvg6txek' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/create-release-notes-mvg6txek/download' --output '.skill-downloads/create-release-notes-mvg6txek/SKILL.md.part' && mv '.skill-downloads/create-release-notes-mvg6txek/SKILL.md.part' '.skill-downloads/create-release-notes-mvg6txek/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

After inspection, copy the complete folder into your project using one of the commands below, then open a new tool session. The command stops if a folder with the same name already exists: compare the files before replacing it.

Claude Code
test -f '.skill-downloads/create-release-notes-mvg6txek/SKILL.md' && test -s '.skill-downloads/create-release-notes-mvg6txek/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/create-release-notes' && cp -R '.skill-downloads/create-release-notes-mvg6txek' '.claude/skills/create-release-notes'

OpenSkills

OpenSkills must already be installed. The local install/read procedure is checked with OpenSkills 1.5.0, which requires Node.js ≥ 20.6.0. Catalog slugs are not resolved automatically.

Official OpenSkills installation
openskills install './.skill-downloads/create-release-notes-mvg6txek'

openskills read 'create-release-notes-mvg6txek'

Reading should display the installed file content and its base directory. It does not run the skill or install its dependencies.

For an agent that reads AGENTS.md, then sync the index. This command changes AGENTS.md: review the diff before using it.

openskills sync

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/create-release-notes-mvg6txek/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills