Skip to content
Skills Library
Programming · Writing

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.

Repository
gobby ↗
Licence
Apache-2.0
Last repository change
26.05.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 26.05.2026, without references to retired models or APIs.

Licence

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

  1. Part 1: Commit Workflow
  2. Commit Message Format
  3. Common Mistakes
  4. Part 2: Release PR Workflow
Original SKILL.md headings · 140 lines, 504 words
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.

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.