source-control
/source-control
Commit message format and release PR process. Use when ready to commit or push a release; use task-transitions for task close/review gates.
Assessment and security
- Files in this package
- 1
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 0
No signals detected. Repository changed on 26.05.2026, without references to retired models or APIs.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
What it does and when to use it
Commit message format and release PR process. Use when ready to commit or push a release; use task-transitions for task close/review gates.
Original author description
Commit message format and release PR process. Use when ready to commit or push a release; use task-transitions for task close/review gates.
How it works
- Part 1: Commit Workflow
- Commit Message Format
- Common Mistakes
- Part 2: Release PR Workflow
SKILL.md preview
---
name: source-control
description: Commit message format and release PR process. Use when ready to commit or push a release; use task-transitions for task close/review gates.
category: core
triggers: commit, git commit, commit changes, release, push release, create pr, pull request
metadata:
gobby:
audience: all
format_overrides:
autonomous: full
---
# Source Control - Commits, Closes, and Releases
This skill covers commit message format and the release PR process.
Use the `task-transitions` skill for task lifecycle transitions such as `close_task`,
`submit_for_review`, validation gates, and commit SHA requirements.
---
## Part 1: Commit Workflow
### Step 1: Stage Changes
```bash
git add <specific-files>
```
Prefer staging specific files over `git add -A`.
### Step 2: Commit with Task ID
```bash
git commit -m "[<project_name>-#<task_number>] <type>: <description>"
```
Use the real project name in the task reference (e.g., `[gobby-#123]` or
`[gobby-cli-#123]`). `project_name` is a placeholder, never a literal prefix.
The hyphen before `#` is required.
### Step 3: Task Transitions (close_task, review, validation)
After committing, follow the `task-transitions` skill for the correct task lifecycle
action (`close_task`, `submit_for_review`, review approval, validation gates, and
memory review).
## Commit Message Format
```
[<project_name>-#<task_number>] <type>: <description>
<optional body>
```
### Valid Commit Types
| Type | Use For |
|------|---------|
| `feat` | New feature |
| `fix` | Bug fix |
| `refactor` | Code restructuring |
| `test` | Adding tests |
| `docs` | Documentation |
| `chore` | Maintenance |
### Examples
```
[gobby-#123] feat: add user authentication
[gobby-#789] fix: resolve password reset bug
[gobby-#456] refactor: extract auth logic to service
[gobby-#12] test: add unit tests for auth module
```
## Common Mistakes
### Wrong: Commit Without Task Reference
```bash
git commit -m "fix: implement feature"
```
### Right: Include the Task in the Commit Message
```bash
git commit -m "[gobby-#42] feat: implement feature"
```
---
## Part 2: Release PR Workflow
When you're ready to cut a release from a working branch (e.g., `0.3.1`):
### Step 1: Version Bump
Update all version files on the working branch:
1. `pyproject.toml` — `version` field
2. `src/gobby/__init__.py` — `__version__` variable
3. `CHANGELOG.md` — add new `[version]` section
4. Run `uv sync` to update `uv.lock`
Commit: `[gobby-#N] chore: bump version to X.Y.Z`
### Step 2: Push and Create PR
```bash
git push origin <branch>
gh pr create --base main --head <branch> --title "Release vX.Y.Z"
```
This triggers the `claude-code-review.yml` workflow — Claude reviews the PR automatically.
### Step 3: Address Review Feedback
Fix anything flagged by the Claude review, push updates. The review re-runs on `synchronize`.
### Step 4: Merge and Tag
```bash
# Merge the PR (via GitHub UI or CLI)
gh pr merge <number> --merge
# Tag from main
git checkout main && git pull
git tag vX.Y.Z
git push origin vX.Y.Z
```
The `v*` tag triggers the release workflow: test → build → PyPI publish → GitHub Release.
### Step 5: Start Next Version
```bash
git checkout -b X.Y.(Z+1)
# Bump version files to next patch
# Commit and push
```
### Release Checklist
- [ ] Version files updated (pyproject.toml, __init__.py, CHANGELOG.md, uv.lock)
- [ ] PR created to `main`
- [ ] Claude review passed
- [ ] PR merged
- [ ] Tag pushed (`vX.Y.Z`)
- [ ] Release workflow completed (check GitHub Actions)
- [ ] Next version branch created and bumped
Versions
The database has no other skills named source-control.
Database snapshot: 13.11.2026 · package version 5c898c15128e (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 82commit-push
Commit with a Conventional Commits subject, then push. Use for /commit-push, "commit and push", "commit this and push". Must push. Never force-push. - 100commit-push-pr
Commit changes, push to remote, and create a pull request. Use for completing features or fixes ready for review. - 100conventions
Defines the commit message, branch naming, pull request, and release note conventions for the ai-agent-skills repository. Make sure to load this skill whenever writing a commit message, naming a branch, drafting a PR title or body, or writing CHANGELOG entries in this repo. Use… - 100commit
Use when creating a git commit — the user asks to commit, or a unit of work is complete and ready to commit. - 100create-commit-message
Generate a Conventional Commit message from staged git changes when the user asks to write a commit message, create a commit, or format a commit - 100commit-pr-writer
Write commit messages in Conventional Commits format and pull request descriptions from a fixed template, based on the actual staged diff. Use when the user asks for a commit message, wants to split changes into commits, or needs a PR title and description written or cleaned up.