release-prep
Skill326 starsChanged 8 months agoMITView on GitHub
Orchestrates the full release preparation flow for a plugin — version sync across 7+ files, bilingual release notes creation, and commit message drafting. Use before submitting a PR. Does NOT push or create a PR; that is handled by pr-submitter.
- Commits and pushes
23 other projects use a version of this.
Adopted by
Most recently taken up by
- colonyops/hivetheir own version, first seen Nov 7, 2026
- microsoft/durabletask-pythontheir own version, first seen Nov 2, 2026
- Terryc21/sitreptheir own version, first seen Nov 1, 2026
- kala-project/acp-kittheir own version, first seen Oct 20, 2026
- finch-xu/cc-routertheir own version, first seen Oct 15, 2026
- barlevalon/skillstheir own version, first seen Oct 13, 2026
Other versions23 projects use a version of this.
Word for word · 1
- Fu-Jie/awesome-openwebui★ 326100% same
Edited · 0
None found.
Wrote their own version · 22
- dathere/qsv★ 3.8ksame name
- Devolutions/IronRDP★ 3.3ksame name
- johnhuang316/code-index-mcp★ 1ksame name
- Trampoline-AI/predict-rlm★ 436same name
- finch-xu/cc-router★ 293same name
- ten9876/AetherSDR★ 259same name
- ayutaz/piper-plus★ 240same name
- opencrvs/opencrvs-core★ 122same name
- Terryc21/sitrep★ 50same name
- colonyops/hive★ 41same name
12 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.
In this repository16 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- community-announcerSkill
- doc-mirror-syncSkill
- gh-discussion-replierSkill
- gh-issue-replierSkill
- gh-issue-schedulerSkill
- i18n-validatorSkill
- playwright-openwebuiSkill
- plugin-scaffolderSkill
- pr-reviewerSkill
- pr-submitterSkill
- publish-no-version-bumpSkill
- release-finalizerSkill
- source-code-analyzerSkill
- version-bumperSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
18 rules. 0 are common, 11 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 20 edited versions we read keep these.
11
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
- Very specific: line 28
Never be committed to git (add .temp/ to .gitignore)
- Distinctive: line 36
Ask the user (or infer from current state) the following:
- Very specific: line 41
If a What's New section already exists in README.md, extract it as the source of truth.
- Distinctive: line 45
Verify AND update the version string in all of the following.
- Very specific: line 61
Use today's date (YYYY-MM-DD) for the badge.
- Very specific: line 67
Update these 4 files' What's New / 最新更新 block consistently:
- Distinctive: line 75
Create two versioned release notes files:
- Distinctive: line 90
If a release notes file already exists for this version, update it rather than creating a new one.
- Distinctive: line 102
Before commit, cross-check release notes against git diff and ensure no meaningful update is omitted.
- Distinctive: line 106
Run the consistency check script:
- Distinctive: line 112
If issues are found, fix them before proceeding.
- Very specific: line 119
Scope: use plugin folder name (e.g., github-copilot-sdk)
- Distinctive: line 127
After user approval (or if user says "commit it"):
- Very specific: line 155
When the release was triggered by merging a PR from an external contributor (someone other than Fu-Jie), additional steps are required to …
- Very specific: line 159
Add a ## New Contributors section at the bottom of the release notes file, before the footer links:
- Distinctive: line 167
If the contributor has prior merged PRs (not a first-timer), use:
- Distinctive: line 183
If the contributor is missing, add them following this template (README.md):
- Distinctive: line 195
Update the badge count in README.md line 3:
“Common” is measured: kept by at least 6 in 10 of the 20 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.
Files
Release Prep
Overview
This skill drives the complete pre-PR release pipeline. It enforces the repository rule that every release must synchronize the version number and changelog across at least 7 locations before a commit is created.
Scope
This skill covers:
- Version sync (delegates detail to
version-bumperif needed) - Bilingual release notes file creation
- 7-location consistency verification
- Conventional Commits message drafting
git add -A && git commitexecution
It stops before git push or gh pr create. Use the pr-submitter skill for those steps.
Temporary File Convention
Any temporary files created during release prep (e.g., draft changelogs) must:
- Be written to the project's
.temp/directory, NOT system/tmp - Be cleaned up before commit using
rm -f .temp/file_name - Never be committed to git (add
.temp/to.gitignore)
Workflow
Step 1 — Collect Release Info
Ask the user (or infer from current state) the following:
- Plugin name and type (actions / filters / pipes / tools)
- New version number (e.g.,
0.8.0) - Key changes in English and Chinese (1-5 bullet points each)
If a What's New section already exists in README.md, extract it as the source of truth.
Step 2 — Sync Version Across 7 Locations
Verify AND update the version string in all of the following. Mark each as ✅ or ❌:
| # | File | Location |
| 1 | plugins/{type}/{name}/{name}.py | version: in docstring |
| 2 | plugins/{type}/{name}/README.md | **Version:** x.x.x metadata line |
| 3 | plugins/{type}/{name}/README_CN.md | **Version:** x.x.x metadata line |
| 4 | docs/plugins/{type}/{name}.md | **Version:** x.x.x metadata line |
| 5 | docs/plugins/{type}/{name}.zh.md | **Version:** x.x.x metadata line |
| 6 | docs/plugins/{type}/index.md | version badge for this plugin |
| 7 | docs/plugins/{type}/index.zh.md | version badge for this plugin |
Additionally update the root-level updated date badge in:
README.md—README_CN.md— same badge format
Use today's date (YYYY-MM-DD) for the badge.
Step 3 — Update What's New (All 4 Doc Files)
The What's New / 最新更新 section must contain only the most recent release's changes. Previous entries should be removed from this section (they live in CHANGELOG or release notes files).
Update these 4 files' What's New / 最新更新 block consistently:
plugins/{type}/{name}/README.mdplugins/{type}/{name}/README_CN.mddocs/plugins/{type}/{name}.mddocs/plugins/{type}/{name}.zh.md
Step 4 — Create Bilingual Release Notes Files
Create two versioned release notes files:
Path: plugins/{type}/{name}/v{version}.md
Path: plugins/{type}/{name}/v{version}_CN.md
Required Sections
Each file must include:
- Title:
# v{version} Release Notes(EN) /# v{version} 版本发布说明(CN) - Overview: One paragraph summarizing this release
- New Features / 新功能: Bulleted list of features
- Bug Fixes / 问题修复: Bulleted list of fixes
- Migration Notes / 迁移说明: Breaking changes or Valve key renames (omit section if none)
- Companion Plugins / 配套插件 (optional): If a companion plugin was updated
If a release notes file already exists for this version, update it rather than creating a new one.
Full Coverage Rule (Mandatory)
Release notes must cover all updates in the current release scope and not only headline features.
Minimum required coverage in both EN/CN files:
- New features and capability enhancements
- Bug fixes and reliability fixes
- Documentation/README/doc-mirror updates that affect user understanding or usage
- Terminology/i18n/wording fixes that change visible behavior or messaging
Before commit, cross-check release notes against git diff and ensure no meaningful update is omitted.
Step 5 — Verify Consistency (Pre-Commit Check)
Run the consistency check script:
python3 scripts/check_version_consistency.pyIf issues are found, fix them before proceeding. Do not commit with inconsistencies.
Step 6 — Draft Conventional Commits Message
Generate the commit message following commit-message.instructions.md rules:
- Language: English ONLY
- Format:
type(scope): subject+ blank line + body bullets - Scope: use plugin folder name (e.g.,
github-copilot-sdk) - Body: 1-3 bullets summarizing key changes
- Explicitly mention "READMEs and docs synced" if version was bumped
Present the full commit message to the user for review before executing.
Step 7 — Stage and Commit
After user approval (or if user says "commit it"):
git add -A
git commit -m "<approved commit message>"Confirm the commit hash and list the number of files changed.
Checklist (Auto-Verify Before Commit)
version:in.pydocstring matches target version**Version:**in all 4 README/docs files matches- Both
index.mdversion badges updated - Root
README.mdandREADME_CN.mddate badges updated to today What's New/最新更新contains ONLY the latest release- Release notes include all meaningful updates from the current diff (feature + fix + docs/i18n)
v{version}.mdandv{version}_CN.mdcreated or updatedpython3 scripts/check_version_consistency.pyreturns no errors- Commit message is English-only Conventional Commits format
- If release originates from a contributor PR: Contributor attribution section added (see below)
Contributor PR Handling (External Contributor Releases)
When the release was triggered by merging a PR from an external contributor (someone other than Fu-Jie), additional steps are required to ensure proper attribution in both the release notes and the home README.
Step A — Update v{version}.md Release Notes File
Add a ## New Contributors section at the bottom of the release notes file, before the footer links:
## New Contributors
- @{github_username} made their first contribution in #{pr_number} 🎉If the contributor has prior merged PRs (not a first-timer), use:
## New Contributors
- @{github_username} contributed in #{pr_number}The workflow (release.yml) will detect and inject this automatically when triggered by push. However, if creating release notes manually (e.g., workflow_dispatch), this section must be added manually.
Step B — Update Home README Contributors Table
Before committing, verify that the contributor appears in both:
README.md—<!-- ALL-CONTRIBUTORS-LIST:START -->tableREADME_CN.md— corresponding贡献者 ✨table.all-contributorsrc— contributors array
If the contributor is missing, add them following this template (README.md):
<td align="center" valign="top" width="14.28%">
<a href="https://github.com/{login}">
<img src="https://avatars.githubusercontent.com/u/{uid}?v=4?s=100" width="100px;" alt="{login}"/>
<br /><sub><b>{display_name}</b></sub>
</a>
<br />
<a href="https://github.com/Fu-Jie/openwebui-extensions/commits?author={login}" title="Code">💻</a>
</td>Update the badge count in README.md line 3:
[](#contributors-)Also add the contributor to .all-contributorsrc:
{
"login": "{login}",
"name": "{display_name}",
"avatar_url": "https://avatars.githubusercontent.com/u/{uid}?v=4",
"profile": "https://github.com/{login}",
"contributions": ["code"]
}⚠️ Root cause of past incidents: When adding a contributor to an already-patched README, always count existing entries first and set the badge to
existing + 1. Never assume the badge number is accurate; verify by counting<td align="center"occurrences.
Anti-Patterns to Avoid
- ❌ Do NOT add extra features or refactor code during release prep — only version/doc updates
- ❌ Do NOT push or create PR in this skill — use
pr-submitter - ❌ Do NOT use today's date in commit messages; only in badge URLs
- ❌ Do NOT leave stale What's New content from prior versions
- ❌ Do NOT assume the current
all_contributorsbadge count is correct — always re-count<td>entries before incrementing
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
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.

