release-workflow
Skill16 starsChanged 10 months agoApache-2.0View on GitHub
Guides release preparation and execution for ai-todo. Use when the user asks to 'prepare release', 'execute release', 'release', or mentions creating a new version.
- Commits and pushes
3 other projects use a version of this.
Adopted by
Most recently taken up by
- sametbrr/github-managertheir own version, first seen Nov 2, 2026
- SUDARSHANCHAUDHARI/DroidForgetheir own version, first seen Nov 1, 2026
- crux-cli/cruxtheir own version, first seen Oct 13, 2026
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- SUDARSHANCHAUDHARI/DroidForge★ 1same name
- crux-cli/crux★ 0same name
- sametbrr/github-manager★ 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 repository7 other files it gives its agents.
- .cursor/rules/commit-standards.mdcCursor rule
- .cursor/rules/cursor-rules-guidelines.mdcCursor rule
- .cursor/rules/development-workflow.mdcCursor rule
- .cursor/rules/linear-ai-todo-integration.mdcCursor rule
- .cursor/rules/linear-document-workflow.mdcCursor rule
- .cursor/rules/linear-release-workflow.mdcCursor rule
- branch-cleanupSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
15 rules. 0 are common, 9 are distinctive, and 6 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
When user asks to "prepare release" or "prepare beta release":
- Very specific: line 22
Search Linear for release-related issues: user-linear.list_issues with filters for release keywords
- Distinctive: line 28
Pre-flight checks: Verify repository is ready for release:
- Distinctive: line 33
If user declines: Stop and let them fix the issue first.
- Very specific: line 35
Generate summary: Create 2-4 paragraphs highlighting user-facing changes.
- Very specific: line 50
Include clickable link: Add link to full notes at top of comment: 📋 Full Release Notes: release/RELEASE_NOTES.md
- Distinctive: line 52
STOP: Wait for user approval before proceeding.
- Very specific: line 65
Format: Write exactly 2-4 paragraphs of narrative text.
- Very specific: line 67
Documentation: If commits added new documentation files (.md, .pdf), mention them with direct GitHub links:
- Distinctive: line 93
When user asks to "execute release":
- Distinctive: line 98
Wait for "completed" status with "success" conclusion
- Distinctive: line 99
If CI fails, report error and STOP (see Error Handling section)
- Distinctive: line 109
When user asks to "abort release":
- Distinctive: line 123
WAIT FOR USER: Do not attempt auto-recovery.
- Very specific: line 136
Release Scripts: All scripts are in release/ directory
“Common” is measured: kept by at least 6 in 10 of the 3 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 Workflow for ai-todo
Quick Reference
- Prepare:
./release/release.sh --prepare [--beta] [--set-version X.Y.Z] --summary release/AI_RELEASE_SUMMARY.md - Dry Run:
./release/release.sh --prepare --dry-run(preview without committing) - Execute:
./release/release.sh --execute - Abort:
./release/release.sh --abort [version](cleanup failed release) - Linear Tracking: Release workflow integrated with Linear issues (auto-updates status)
- Detailed docs: release/RELEASE_PROCESS.md
Prepare a Release
When user asks to "prepare release" or "prepare beta release":
- Check Linear for release issue:
- Search Linear for release-related issues:
user-linear.list_issueswith filters for release keywords - If no issue found: ⚠️ Warn "No Linear release issue found. Do you want to proceed anyway?"
- If one issue found: Show issue details and confirm
- If multiple issues found: Present list and ask user to select one
- Once confirmed: Mark issue as "In Progress" using
user-linear.update_issue - Store issue ID for later updates
- Search Linear for release-related issues:
- Pre-flight checks: Verify repository is ready for release:
- Check branch:
git branch --show-current(must bemain) - Check sync:
git fetch origin && git status(must be in sync with origin/main) - Check clean:
git status --porcelain(must be empty - no uncommitted changes) - If any check fails: ⚠️ Warn user with specific issue and ask "Do you want to proceed anyway?"
- If user declines: Stop and let them fix the issue first.
- Check branch:
- Wait for CI:
./scripts/wait-for-ci.sh - Generate summary: Create 2-4 paragraphs highlighting user-facing changes. Save to
release/AI_RELEASE_SUMMARY.md.- For beta-to-beta releases: Analyze commits since the last beta tag.
- For stable releases (graduating from beta): Analyze ALL commits since the last stable release (not the last beta). This ensures the summary covers the entire beta cycle.
- See "Generating Release Summary" section below for detailed guidance.
- Commit and push summary: The release script requires a clean repository.
git add release/AI_RELEASE_SUMMARY.mdgit commit -m "release: Add AI-generated summary for v[version]"git push
- Run prepare:
./release/release.sh --prepare [--beta] --summary release/AI_RELEASE_SUMMARY.md - Show preview to user: Display the proposed release notes with clickable link.
- Show
release/RELEASE_NOTES.mdsummary/preview (first ~20 lines) - Provide clickable markdown link:
[release/RELEASE_NOTES.md](release/RELEASE_NOTES.md)(not inline code)
- Show
- Update Linear issue:
- Read
release/RELEASE_NOTES.mdcontent - Post content to Linear issue as comment using
user-linear.create_comment - Include clickable link: Add link to full notes at top of comment:
📋 Full Release Notes: [release/RELEASE_NOTES.md](https://github.com/fxstein/ai-todo/blob/main/release/RELEASE_NOTES.md) - Mark issue as "In Review" using
user-linear.update_issue
- Read
- STOP. Wait for user approval before proceeding.
Generating Release Summary
Role: You are a Technical Release Manager for a professional Open Source project.
Task: Draft a release summary based on commit messages for end-users (not developers).
Commit Range:
- For beta-to-beta releases: Analyze commits since the last beta tag (e.g.,
v4.0.0b2..HEAD) - For stable releases (graduating from beta): Analyze ALL commits since the last stable release (e.g.,
v3.0.2..HEAD)
Constraints & Formatting:
- Format: Write exactly 2-4 paragraphs of narrative text. Do not use bulleted lists or markdown headers (e.g., no
#or##). - Content: Focus only on the most significant features, user-facing changes, and critical fixes. Filter out minor chores, typo fixes, or internal refactors unless they directly impact end users.
- Documentation: If commits added new documentation files (
.md,.pdf), mention them with direct GitHub links:- Get repo URL:
git remote get-url origin(convert SSH to HTTPS if needed) - Format:
[filename](https://github.com/user/repo/blob/main/path/to/file.md)
- Get repo URL:
- Tone: Professional, concise, and encouraging. Write for users who want to understand what's new and why they should upgrade.
- Output: Save to
release/AI_RELEASE_SUMMARY.md
Example Structure:
This release focuses on [theme/primary improvement]. [Key feature 1] provides [user benefit]. [Key feature 2] enhances [capability].
[Second major area of improvement]. [Specific change] now allows users to [benefit]. [Another change] improves [aspect] by [improvement].
Additional improvements include [grouped minor features]. Several bug fixes improve robustness including [specific fixes that matter to users].Generate Commits:
# For beta-to-beta:
git log v4.0.0b2..HEAD --pretty=format:"%h %s" --no-merges
# For stable (graduating from beta):
git log v3.0.2..HEAD --pretty=format:"%h %s" --no-mergesExecute a Release
When user asks to "execute release":
- Run execute:
./release/release.sh --execute - Monitor CI: Watch GitHub Actions until successful deployment:
- Poll
gh run listfor latest workflow run - Wait for "completed" status with "success" conclusion
- If CI fails, report error and STOP (see Error Handling section)
- Poll
- Update Linear issue:
- Read
release/RELEASE_SUMMARY.mdcontent - Post release summary to Linear issue using
user-linear.create_comment - Include PyPI link:
https://pypi.org/project/ai-todo/[version]/ - Include GitHub release link from workflow output
- Mark issue as "Done" using
user-linear.update_issue
- Read
Abort a Release
When user asks to "abort release":
- Run abort:
./release/release.sh --abort [version] - Update Linear issue (if exists):
- Post abort summary to Linear issue using
user-linear.create_comment - Include: reason for abort, version that was aborted, current state
- Mark issue as "Todo" using
user-linear.update_issue(reset for retry)
- Post abort summary to Linear issue using
Error Handling
If ANY error occurs:
- STOP IMMEDIATELY.
- Report the error.
- If Linear issue exists: Post error details to issue
- WAIT FOR USER. Do not attempt auto-recovery.
Forbidden Actions
- ❌ Never auto-execute after prepare.
- ❌ Never bypass CI/CD failures.
- ❌ NEVER use
--no-verifyon git commits.
Additional Resources
- Detailed Process: release/RELEASE_PROCESS.md
- Version Strategy: Beta vs Stable release guidelines in RELEASE_PROCESS.md
- Migration Handling: See RELEASE_PROCESS.md for adding migrations to releases
- Release Scripts: All scripts are in
release/directory
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.

