afc-launch
Generate release artifacts — version bump, changelog, release tags
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Generate release artifacts — version bump, changelog, release tags
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Code and component analysis — analyze code, trace flows, audit consistency, inspect components
Architecture analysis and design review
Full auto pipeline — run spec-to-clean cycle automatically for new features
Save session state for later resumption
Resolve spec ambiguities with clarifying questions
Pipeline artifact cleanup and codebase hygiene
| name | afc:launch |
| description | Generate release artifacts — version bump, changelog, release tags |
| argument-hint | [version tag or 'auto'] |
| allowed-tools | ["Read","Write","Edit","Bash","Glob","Grep"] |
| model | sonnet |
Generates release artifacts (CHANGELOG entry, README updates, GitHub Release notes) from git history and optional spec context. This is a standalone utility — not part of the auto pipeline. Works with or without a prior afc pipeline run.
$ARGUMENTS — (optional) One of:
"v2.2.1" — uses this as the release version"auto" — auto-detects version from package.json/Cargo.toml/pyproject.toml!git describe --tags --abbrev=0 2>/dev/null || echo "[NO_TAGS]"
!git log $(git describe --tags --abbrev=0 2>/dev/null || echo "")..HEAD --pretty=format:"%h %s" --no-merges 2>/dev/null || git log --pretty=format:"%h %s" --no-merges
Version detection:
$ARGUMENTS is a version string (matches v?\d+\.\d+\.\d+): use it$ARGUMENTS = "auto": read version from package.json → Cargo.toml → pyproject.toml → setup.py (first found)Previous version detection:
git describe --tags --abbrev=0 2>/dev/null || echo "none"
{previous_tag}..HEADChangelog detection:
CHANGELOG.md → CHANGES.md → HISTORY.mdCHANGELOG.mdCollect all available context for high-quality release notes:
Git history (required):
git log {previous_tag}..HEAD --pretty=format:"%h %s" --no-merges
Changed files summary (required):
git diff --stat {previous_tag}..HEAD
Spec context (optional — enhances quality):
.claude/afc/specs/*/spec.md — if any exist, read Overview and User Stories sectionsReview context (optional):
.claude/afc/memory/reviews/* — if any exist from this version cycle, note key findingsBreaking change detection:
BREAKING, breaking change, !: (conventional commits)Prepend a new entry to the changelog file:
Duplicate check: Grep the changelog for ## [{version}]. If an entry for this version already exists:
## [{version}] to the next ## [ line)Follow the existing format if one exists; otherwise use Keep a Changelog format:
## [{version}] - {YYYY-MM-DD}
### Added
- {new features, described from user perspective}
### Changed
- {modifications to existing functionality}
### Fixed
- {bug fixes}
### Removed
- {removed features or deprecated items}
### Breaking Changes
- {if any — empty section omitted}
Quality rules:
Only update README if meaningful changes warrant it:
Check triggers:
If no triggers match: skip README update entirely (print: "README: no updates needed")
If triggers match: read current README, identify the relevant section, apply minimal targeted edit
Create .claude/afc/release-notes.md (draft for gh release create):
# {version}
{2-3 sentence summary of this release — what's the headline?}
## Highlights
- {top 1-3 user-facing changes, expanded with context}
## What's Changed
{CHANGELOG entry content, reformatted for GitHub}
## Breaking Changes
{if any — clear migration instructions}
**Full Changelog**: {previous_tag}...{version}
Release artifacts generated: {version}
├─ CHANGELOG.md: entry prepended ({N} items across {M} categories)
├─ README.md: {updated section / no updates needed}
├─ .claude/afc/release-notes.md: draft created
├─ Breaking changes: {count or "none"}
├─ Commits included: {N} (since {previous_tag})
└─ Specs referenced: {N or "none (git-only mode)"}
Next steps:
git add CHANGELOG.md README.md
git commit -m "docs: prepare release {version}"
git tag {version}
gh release create {version} --notes-file .claude/afc/release-notes.md
Do NOT execute these commands automatically. Present them for the user to review and run.
feat:, fix:, chore:), the generated CHANGELOG respects those categories.clean: release-notes.md in .claude/afc/ is a draft file. The user decides whether to keep or delete it after the release.