release-stable
Skill214 starsChanged 31 days agoMITView on GitHub
Create a stable production release with intelligent detection (finalize beta or direct release). Use when publishing stable releases, finalizing beta versions, or creating production releases.
- Commits and pushes
6 other projects use a version of this.
Adopted by
Most recently taken up by
- koruworks/skillstheir own version, first seen Nov 1, 2026
- edihasaj/strolltheir own version, first seen Oct 25, 2026
- longbkit/clisbottheir own version, first seen Sep 29, 2026
- patterson-agents/skillstheir own version, first seen Aug 12, 2026
- getpaseo/paseotheir own version, first seen Aug 8, 2026
- ChisaAlter/ChisaCodetheir own version, first seen May 31, 2026
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 6
- getpaseo/paseo★ 23ksame name
- longbkit/clisbot★ 131same name
- ChisaAlter/ChisaCode★ 4same name
- edihasaj/stroll★ 1same name
- koruworks/skills★ 0same name
- patterson-agents/skills★ 0same name
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 repository10 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .aidriven/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- debugSkill
- implementSkill
- release-betaSkill
- release-checkSkill
- release-rollbackSkill
- reviewSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 12 are distinctive, and 4 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
12
Distinctive
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Create a STABLE release for production use.
- Very specific: line 20
All scripts (bump-version.sh, create-release.sh) already create tags without 'v'.
- Distinctive: line 21
Never create tags manually: - always use the scripts.
- Very specific: line 47
Run commit analysis: npm run analyze:commits
- Distinctive: line 61
No additional analysis or validation required
- Distinctive: line 82
If user chooses [2] CREATE BETA: Stop and use release-beta skill
- Distinctive: line 91
Commit breakdown (feat, fix, breaking, etc.)
- Distinctive: line 111
Remove noise (version bumps, merges, CI commits, deps updates)
- Distinctive: line 114
Remove beta testing section (not needed for stable)
- Distinctive: line 115
Add upgrade instructions if needed
- Distinctive: line 128
No beta testing section
- Very specific: line 241
Every release logged to: .opencode/logs/release-stable-{timestamp}.log
- Distinctive: line 263
Check status: Use release-check skill
- Distinctive: line 285
Best practice: Always test with beta first (release-beta → test → release-stable)
- Distinctive: line 286
All validations are blocking (must pass)
- Very specific: line 300
After successful release, use npm run forums:open to announce on Home Assistant Community Forum and HACF.
“Common” is measured: kept by at least 6 in 10 of the 6 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
Create Stable Production Release
Create a STABLE release for production use.
Current version: Check package.json for current version.
⚠️ CRITICAL TAG FORMAT RULE
NEVER use 'v' prefix in git tags!
- ✅ CORRECT:
1.5.0 - ❌ WRONG:
v1.5.0
The GitHub workflows expect tags WITHOUT 'v' prefix. Using 'v' will cause workflow failures.
All scripts (bump-version.sh, create-release.sh) already create tags without 'v'.
Never create tags manually - always use the scripts.
Intelligent Workflow
The workflow adapts automatically based on the current version:
From beta (1.5.0-beta.3 → 1.5.0) → Automatic finalization, no analysis needed Direct stable release (1.4.0 → 1.5.0) → AI analyzes commits and suggests version type with warning
Phase 1: Release Type Detection
Automatically detect release scenario:
- Detect release scenario:
- Current version:
1.5.0-beta.3→ Finalize beta (automatic, no validation) - Current version:
1.4.0(stable) → Direct release (requires AI analysis + warning)
- Current version:
- For finalize beta:
- Strip
-beta.Nsuffix automatically - Skip commit analysis (already done during beta)
- Faster workflow (3-5 min)
- Strip
- For direct stable release:
- Show WARNING about skipping beta testing (risky)
- Run commit analysis:
npm run analyze:commits - Analyze commit types (feat, fix, BREAKING CHANGE)
- Determine version bump type (patch/minor/major)
- Present detailed validation with option to create beta instead
Phase 2A: Finalize Beta (Automatic)
Current: 1.5.0-beta.3 → Stable: 1.5.0
Present automatic finalization message:
- Current version and target stable version
- Note that version type was already determined during beta
- No additional analysis or validation required
- Proceed automatically to release notes and validation
No user validation required → Proceeds directly to Phase 3
Phase 2B: Direct Stable Release (Requires Validation)
Current: 1.4.0 → Proposed: 1.5.0
Beta Testing Warning
Present warning about direct stable release:
- Risks: No community feedback, untested in real environments, bugs reach production, harder rollback
- Recommendation: Create beta first
- User options:
- [1] YES - Continue with direct release (risky)
- [2] CREATE BETA INSTEAD - Safer approach
- [3] CANCEL - Abort
If user chooses [2] CREATE BETA: Stop and use release-beta skill
If user chooses [1] PROCEED: Show detailed AI analysis
AI Semantic Analysis (Direct Release Only)
Present detailed analysis with:
- Current version and proposed version
- Warning about skipping beta
- Commit breakdown (feat, fix, breaking, etc.)
- AI reasoning with confidence level
- Recommendation to test as beta first
- Key commits (most impactful)
- User decision options:
- [1] APPROVE - Proceed with AI suggestion (skipping beta)
- [2] DOWNGRADE TO PATCH - Override AI (skipping beta)
- [3] UPGRADE TO MAJOR - Override AI (skipping beta)
- [4] CREATE BETA INSTEAD - Safer approach (recommended)
- [5] VIEW COMMITS - Show full commit list
- [6] CANCEL - Abort safely
Phase 3: Release Notes Generation & Editing
Automatically:
- Generate release notes (
bash scripts/generate-release-notes.sh) - AI-powered editing:
- Remove noise (version bumps, merges, CI commits, deps updates)
- Enhance features/fixes (bold title + detailed description)
- Translate to French (same detail level)
- Remove beta testing section (not needed for stable)
- Add upgrade instructions if needed
- Remove TODO markers
- Format for GitHub (
bash scripts/format-release-notes.sh)
Phase 4: Quality Validation (BLOCKING)
All must pass:
A. Release notes validation (scripts/validate-release-notes.sh)
- Required sections EN/FR
- No TODO
- No beta testing section
- Bold features
B. Code quality (17 checks) (scripts/check-release-ready.sh)
- Git clean 2. Branch main 3. Up-to-date 4. Deps installed 5. Lint 6. Type-check 7. Build 8. Version consistency 9. No FIXME 10. CHANGELOG 11. manifest.json 12. hacs.json 13. No secrets 14. Python syntax 15. README 16. LICENSE 17. Smoke tests ready
C. Smoke tests (15 tests) (npm run test:smoke)
Phase 5: Final Approval & Publication
For finalize beta:
Present approval with:
- Version and finalization info
- Note that beta testing completed successfully
- Changes summary (features, bug fixes) since last stable
- Validation results
- What happens if approved
User options:
- [1] APPROVE - Publish stable release
- [2] REQUEST CHANGES - Modify release notes
- [3] VIEW FULL NOTES - See complete file
- [4] CANCEL - Abort
For direct stable release:
Present approval with:
- Version and bump type
- Warning about skipping beta testing
- Changes summary
- Validation results
- Reminder to monitor closely
User options:
- [1] APPROVE - Publish stable release (skipping beta)
- [2] CREATE BETA INSTEAD - Safer approach
- [3] REQUEST CHANGES - Modify release notes
- [4] VIEW FULL NOTES - See complete file
- [5] CANCEL - Abort
Phase 6: Publication (Only after approval)
For finalize beta (automatic version):
- Bump version (
bash scripts/bump-version.sh release)- Strips
-beta.N: 1.5.0-beta.3 → 1.5.0
- Strips
- Update release notes with final version
- Commit + tag (
git commit+git tag) - Push (
git push && git push --tags) - Report success with forum links
For direct stable release (explicit version type):
- Bump version (
bash scripts/bump-version.sh release <patch|minor|major>)- Example:
bash scripts/bump-version.sh release minor→ 1.5.0
- Example:
- Update release notes with final version
- Commit + tag (
git commit+git tag) - Push (
git push && git push --tags) - Report success with forum links
GitHub Actions automatically:
- Builds project
- Runs smoke tests
- Creates ZIP
- Creates stable release
- Cleans up RELEASE_NOTES.md
Discord #annonces: a tag pushed by this command is not announced (release.yml never announces; only
the Stable Release (manual) button does). Run Actions -> Announce stable release on Discord (manual)
with the tag: it posts .github/release-highlights/<version>.discord.md if it exists, else a generic text.
Manual step (forums):
- Open forum threads:
npm run forums:open - Post release announcement (templates provided)
Quality Standards
Release notes: EN+FR equal quality, no TODO, detailed explanations, user-focused, clean, no beta testing section
Code: 17 checks passed, 15 smoke tests passed, lint+type-check passed, build succeeded
Version decision:
- Finalize beta: Automatic, no validation
- Direct release: AI analyzes commits, warns about skipping beta, requires user validation
Options
Dry Run
--dry-runRuns everything, creates commit+tag locally, STOPS before push. Nothing published.
To undo: git reset HEAD~1 && git tag -d X.Y.Z
Skip Approval (Final approval only)
--skip-approvalShows summary but auto-approves final publication. Still shows warning and requires version decision for direct releases. ⚠️ Use with extreme caution.
Logs
Every release logged to: .opencode/logs/release-stable-{timestamp}.log
Contains: timestamps, detection logic, commit analysis (if direct), AI reasoning, warnings shown, user decisions, git hashes, URLs, duration
Common Errors
Validation fails → Fix issues, re-run command
Smoke tests fail → Check npm run test:smoke, fix, re-run
Build fails → Run npm run build, fix errors, re-run
Push fails → git pull --rebase, re-run
Tag exists → git tag -d X.Y.Z then re-run
Ambiguous commits (direct release) → AI asks you to decide manually
Beta recommended → Use release-beta skill first for safer release
Related Commands
Before stable release:
- Recommended: Use release-beta skill (test first)
- Check status: Use release-check skill
After stable release:
- Hotfix needed → Use release-stable skill again (creates patch: 1.5.0 → 1.5.1)
- Critical issue → Use release-rollback skill
- Announce →
npm run forums:open
Release Type Detection Logic
| Current Version | Detection | AI Analysis | Beta Warning | User Validation | Result |
1.5.0-beta.3 | Finalize | ❌ No | ❌ No | ❌ Not required | 1.5.0 (stable) |
1.4.0 (stable) | Direct | ✅ Yes | ✅ Yes | ✅ Required | 1.5.0 (if MINOR) |
Important
- Finalize beta: Automatic and fast (no validation, already tested)
- Direct stable: Requires AI analysis + shows warning about skipping beta + requires your validation
- Best practice: Always test with beta first (release-beta → test → release-stable)
- All validations are blocking (must pass)
- Idempotent (safe to re-run)
- Logs everything
- Time: 3-5 min (finalize) or 5-10 min (direct release)
Scripts Used:
scripts/analyze-commits.sh- Commit analysis (direct release only)scripts/bump-version.sh release [patch|minor|major]- Version bumpingscripts/generate-release-notes.sh- Release notes generationscripts/format-release-notes.sh- Formattingscripts/validate-release-notes.sh- Validationscripts/check-release-ready.sh- Code quality checks
Forum Announcement:
After successful release, use npm run forums:open to announce on Home Assistant Community Forum and HACF.
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.

