git-flow-release-manager
무엇을 하나요
Use when user says 'release', 'リリース', 'publish', 'vtag', 'version up', 'バージョンアップ', 'bump version', 'prepare release', 'ship version', or discusses merging to main/develop. Guides through version bump and release flow.
설치를 누르면 이 항목이 AgentsRoom 데스크톱 앱에서 열립니다. 앱이 아직 설치되어 있지 않으면 다운로드 페이지로 이동합니다.
SKILL.md
--- name: git-flow-release-manager description: Use when user says 'release', 'リリース', 'publish', 'vtag', 'version up', 'バージョンアップ', 'bump version', 'prepare release', 'ship version', or discusses merging to main/develop. Guides through version bump and release flow. --- # Release Procedure Manage the entire release flow (version bump → CI → PR → merge → vtag → JSR publish). If CI is green, automatically proceed to the next step (no user confirmation needed). ## Release Flow ``` develop → release/* →PR→ develop →PR→ main → vtag → publish.yml → JSR ``` ## Version Files The "version" in `deno.json` and the `VERSION` in `lib/version.ts` must match. Patch (x.y.Z): bug fixes / Minor (x.Y.0): new features / Major (X.0.0): breaking changes ## Execution Rules (Must Read) **When this skill is activated, always register the following task list with TaskCreate and execute and mark complete (`[x]`) one step at a time in order. Skipping, batch execution, or changing the order is prohibited.** - Each step is **execute → check results → automatically proceed**. If CI/command succeeds, proceed without waiting for confirmation. - Do not proceed to the next step if the previous step is incomplete (`[ ]`). - On failure, stay on the current step, resolve the cause, and retry (do not proceed). Report failures or unexpected states (branch divergence, conflict, CI failure, etc.) to the user. - Always check the output after running commands and mark success explicitly before checking. - Replace `X.Y.Z` with the actual version. Replace `<PR#>` with the obtained PR number after creation. ## Task List (All steps must be performed in order) ### Phase 1: Preparation - [ ] **Step 1. Prepare release branch** — `git fetch origin && git checkout develop && git pull --ff-only origin develop && git checkout -b release/vX.Y.Z` - If `pull --ff-only` fails (local has diverged), reset with `git reset --hard origin/develop` before creating the branch. The release skill assumes no local unique commits on develop/main. - Confirm: Check that `git branch --show-current` shows `release/vX.Y.Z` before checking. - [ ] **Step 2. Version bump (must be done immediately after Step 1, no other commits before this)** — `scripts/bump_version.sh --patch` (or `--minor` / `--major`) - Confirm: Check that `grep '"version"' deno.json` and `grep 'VERSION' lib/version.ts` match before checking. - [ ] **Step 3. Update CHANGELOG.md** — Append this release's contents - Confirm: Check differences with `git diff CHANGELOG.md` before checking. - [ ] **Step 4. Local CI** — `deno task ci` - Confirm: Verify all tests pass before checking. Stay on this step if it fails. ### Phase 2: Release Branch → Develop - [ ] **Step 5. Commit & push** — `git add deno.json lib/version.ts CHANGELOG.md && git commit -m "chore: bump version to X.Y.Z" && git push -u origin release/vX.Y.Z` - Confirm: Verify push completion with `git log -1` and `git status` before checking. - [ ] **Step 6. Create PR: release/* → develop** — `gh pr create --base develop --head release/vX.Y.Z --title "Release vX.Y.Z"` - Confirm: Record the returned PR URL/number before checking. - [ ] **Step 7. Wait CI & merge (release → develop)** — `gh pr checks <PR#> --watch && gh pr merge <PR#> --merge` - Confirm: Automatically merge after CI is green. Verify merged status with `gh pr view <PR#>` before checking. Report to user and stop if CI fails. ### Phase 3: Develop → Main - [ ] **Step 8. Create PR: develop → main** — `gh pr create --base main --head develop --title "Release vX.Y.Z"` - Confirm: Record the returned PR URL/number before checking. - [ ] **Step 9. Wait CI & merge (develop → main)** — `gh pr checks <PR#> --watch && gh pr merge <PR#> --merge` - Confirm: Automatically merge after CI is green. Verify merged status with `gh pr view <PR#>` before checking. Report to user and stop if CI fails. ### Phase 4: Tag & Publish - [ ] **Step 10. Create vtag on main** — `git fetch origin main && git tag vX.Y.Z origin/main && git push origin vX.Y.Z` - Confirm: Verify the tag exists remotely with `git ls-remote --tags origin vX.Y.Z` before checking. - [ ] **Step 11. Trigger JSR publish** — `gh workflow run publish.yml -f tag=vX.Y.Z` - Confirm: Verify the run started with `gh run list --workflow=publish.yml` before checking. - [ ] **Step 12. Verify JSR publication** — Confirm version is reflected on the JSR page - Confirm: Check that vX.Y.Z is published at `https://jsr.io/@tettuan/breakdown` before checking. ### Phase 5: Post-release - [ ] **Step 13. Sync local develop & main to HEAD** — `git fetch origin && git checkout main && git pull --ff-only origin main && git checkout develop && git pull --ff-only origin develop` - If `pull --ff-only` fails (local has diverged), reset with `git reset --hard origin/<branch>`. The release skill assumes no local unique commits on develop/main. - Confirm: Verify `git log develop..origin/main` and `git log main..origin/develop` are empty before checking. - [ ] **Step 14. Cleanup release branch** — `git branch -D release/vX.Y.Z && git push origin --delete release/vX.Y.Z` - Confirm: Verify `git branch -a | grep release/vX.Y.Z` is empty before checking. - [ ] **Step 15. Start next feature branch** — Explicitly call `/create-feature-branch` to create the next development branch - Do not complete this within the release skill; always delegate to the `/create-feature-branch` skill (to maintain branch naming conventions and Git Flow consistency). - **Default behavior**: If the user does not explicitly specify (issue number, feature name, etc.), derive the next patch version release branch from `develop`. For example, if the previous release was `vX.Y.Z`, create `release/vX.Y.(Z+1)` from `develop`. - Confirm: Verify the new branch is shown by `git branch --show-current` and is derived from `develop` before checking. Refer to `/branch-management` for branch strategy and `/local-ci` `/ci-troubleshooting` for CI. ## Notes - Never push directly to `main` or `develop` - Version in `deno.json` must match `lib/version.ts` and tag - Flow: `release/* → develop → main` (direct PR to main is prohibited) - vtag is created manually (auto-release.yml only works if the head branch is `release/*`) - JSR publish requires manual trigger after vtag - **After creating the release branch, the first commit must always be the version bump. Do not commit other changes first.** This causes GitHub Actions Version Consistency Check to fail.
더 알아보기
Claude Ads: 광고 계정을 감사해 주는 Claude Code 스킬
Claude Ads는 Claude Code용 오픈소스 스킬입니다. Google, Meta, LinkedIn, TikTok, Amazon Ads 등에서 250개가 넘는 항목을 점검하고, 100점 만점 점수와 우선순위가 매겨진 실행 계획을 단 10여 분 만에 내놓습니다. 설치법, 명령어, 한계, 그리고 AgentsRoom에서 이를 오케스트레이션하는 방법까지 정리했습니다.
AGENTS.md: 모든 코딩 에이전트를 위한 단 하나의 컨텍스트 파일 (Codex, Antigravity, Claude)
AGENTS.md는 AI 코딩 에이전트가 코드를 건드리기 전에 읽는 이식 가능한 지침 파일입니다. 무엇을 담아야 하는지, CLAUDE.md와 무엇이 다른지, 그리고 Codex, Antigravity, Claude 사이에서 하나의 컨텍스트를 유지하는 방법을 알아봅니다.
AgentsRoom 다운로드
모든 AI 에이전트를, 모든 프로젝트에서, 하나의 창으로 실행하세요.
컴패니언 앱: 이동 중에도 에이전트를 모니터링
Claude, Codex, Antigravity CLI 또는 다른 AI 공급자를 사용하세요.
버그와 요청을 공개 백로그로 바로 보내세요.