بنقرة واحدة
release
Automated release workflow with version bump, tag, publish, and GitHub release
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Automated release workflow with version bump, tag, publish, and GitHub release
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
UI/UX design intelligence with searchable database
Generate comprehensive implementation plans through systematic discovery, synthesis, verification, and decomposition into beads. Use when asked to plan a feature, create a roadmap, design an implementation approach, or decompose work into trackable issues. Do NOT use for simple one-step tasks, quick fixes, or when the user just wants to execute an existing plan — use the work skill instead.
Execute a plan or direct task with worker delegation and verification.
Deep investigation mode. Gather context, analyze, synthesize recommendations without making code changes.
Fetch up-to-date library documentation via Context7 MCP. Use when working with external libraries, APIs, or frameworks.
Start interview-driven planning with Prometheus. Asks clarifying questions before generating implementation plan.
| name | release |
| description | Automated release workflow with version bump, tag, publish, and GitHub release |
| argument-hint | <version|patch|minor|major> [--dry-run] |
| disable-model-invocation | true |
Run a safe, project-agnostic release pipeline: preflight, version bump, commit, tag, optional push, optional publish, optional GitHub release.
<version> — Explicit version (for example 1.2.3) or bump type (patch, minor, major)--dry-run — Show what would happen without making changesAskUserQuestion.--dry-run never edits files, commits, tags, pushes, publishes, or creates releases.Check for manifests in this order (first match wins as primary type; still collect all present manifests for version updates):
package.json → npm/bun projectsetup.py or pyproject.toml → Python projectCargo.toml → Rust project.claude-plugin/plugin.json → Claude pluginUse Glob to detect files. If none found, stop and report unsupported project type.
Read the primary manifest and extract current version:
package.json → versionpyproject.toml → [project].version (or tool-specific version field if present)setup.py → version= valueCargo.toml → [package].version.claude-plugin/plugin.json → versionIf current version cannot be determined, stop and report exactly which file failed parsing.
Search for files that contain the exact current version string and are likely version-bearing project files.
Suggested search strategy:
Glob (manifests, docs, lock/config metadata).Grep for the exact current version string.Always include detected manifest files in the candidate list, even if formatting differs.
Run the first applicable project test command:
# JavaScript/TypeScript (prefer bun when available)
bun test || npm test
# Python
pytest || python -m pytest
# Rust
cargo test
Rules:
From <version> argument:
1.2.3) → use as-ispatch → X.Y.(Z+1)minor → X.(Y+1).0major → (X+1).0.0If argument is missing or invalid, stop and report valid forms.
Update version values in every file from preflight version discovery:
Use minimal edits only for exact old→new version changes.
Before any commit/tag action, display a concise diff summary of updated files and the old/new version replacements for user review.
Stage only the files changed for this release bump, then commit:
git add <changed files>
git commit -m "chore(release): v<version>"
If commit fails, stop and report the error.
Create the release tag:
git tag v<version>
If tag already exists, stop and ask user whether to reuse, replace manually, or choose a new version.
Ask for explicit confirmation:
AskUserQuestion(
questions: [{
question: "Push commit and tag to remote? This will push to origin/<branch> and tag v<version>.",
header: "Push",
options: [
{ label: "Yes, push", description: "Push commit and tag to origin" },
{ label: "Skip", description: "Skip push (you can push manually later)" }
],
multiSelect: false
}]
)
If confirmed:
git push origin <branch>
git push origin v<version>
If skipped, continue and mark push as skipped in summary.
Determine publish command based on detected project type and available tooling:
npm publish (or bun publish if project uses bun publish flow)uv publish (fallback to project-standard publish command if uv publish is not configured)cargo publishAsk confirmation:
AskUserQuestion(
questions: [{
question: "Publish package to registry?",
header: "Publish",
options: [
{ label: "Yes, publish", description: "Run the project's publish command" },
{ label: "Skip", description: "Skip publishing" }
],
multiSelect: false
}]
)
If confirmed, run the selected publish command. If skipped, continue.
Ask confirmation:
AskUserQuestion(
questions: [{
question: "Create GitHub release for v<version>?",
header: "Release",
options: [
{ label: "Yes, create release", description: "Create GitHub release with auto-generated notes" },
{ label: "Skip", description: "Skip GitHub release" }
],
multiSelect: false
}]
)
If confirmed:
gh release create v<version> --title "v<version>" --generate-notes
Capture and report the release URL from command output.
If --dry-run is present, execute only analysis/reporting actions:
Always end with:
## Release Summary
**Version**: v<version>
**Project type**: <type>
**Files updated**: <count>
**Tests**: PASS/FAIL/SKIP
**Pushed**: Yes/No/Skipped
**Published**: Yes/No/Skipped
**GitHub Release**: Yes/No/Skipped
Release URL: <gh release URL if created>
If dry run:
DRY RUN.No changes were made.