Git Workflow
Overview
This skill defines the default git workflow for this environment: work directly on master unless explicitly asked otherwise, keep branches unprefixed, and commit only complete, verified slices with short commit messages.
Important: git work (staging/committing/pushing, etc) is not a signal to stop or report progress. After any commit, immediately return to the continuous loop: pick the next top-most unchecked PLAN.md Now item and keep going.
Only stop to report progress under exactly two conditions:
- All
PLAN.md Now work is complete, or
- A hard blocker / high-risk gate / product decision is encountered.
Defaults (Rules)
- Work on
master unless the human explicitly asks for a new branch.
- Do not create branches “just in case”.
- If asked to create a branch, use a plain branch name with no tool/model prefixes.
- Do not prefix with
codex/, claude/, agent/, etc.
- Commit only complete slices: done, verified, and ready to ship.
- Commit messages are short plain sentences (no
feat:, chore:, etc.).
- Prefer a single sentence.
- If needed, use 2–3 short sentences total (no paragraphs).
- Never use
git add .. Always stage by explicit filenames to avoid accidental commits.
Before Any Commit
Confirm the slice is complete:
- The intended outcome is achieved.
- Verification was run (tests or the project’s chosen verification step).
- Any required checklist/docs updates for the slice are included.
Then:
- Check working tree state:
git status
- Review diff:
git diff (and git diff --staged after staging)
Branching Rules
- Only create a branch when explicitly asked.
- Keep branch names simple and descriptive, like:
fix-login-timeout
billing-webhook-hardening
upgrade-rails-8
Commit Rules
- One commit per completed slice whenever feasible.
- Do not commit partial work, experiments, or “WIP” unless the human explicitly asks.
- If a change is essentially “more of the same” as the most recent commit (tight follow-up, fixup, small adjustment), prefer amending the most recent commit instead of making a new commit.
- If it is unclear whether to amend vs make a new commit, ask.
- Do not add co-authoring trailers (no
Co-authored-by:). The human is the sole author.
Commit Message Style
Good:
Fix login redirect loop
Add read-only admin audit view
Reduce flaky checkout test timeouts
Avoid:
feat: add admin audit view
chore: stuff
- Long multi-paragraph explanations
Pushing
Pushing to master triggers a deploy. Treat git push as a production operation.
Hard gate:
- Do not push to
master unless you are intentionally deploying to production.
Rules:
- Only push to
master when all unpushed commits are complete, verified, and safe for production.
- Do not push if there are missing dependencies, unfinished work, or “it should work” assumptions.
- If the change set is not ready to deploy, keep commits local until it is ready.
- If the work is finished and verified, prefer pushing and deploying rather than accumulating completed work locally without a reason.
Gems/libraries:
- Only push to
master when ready to release a new version.
- It is acceptable to keep collecting local commits until release-ready.
Safety Defaults
- Never run destructive git commands (
git reset --hard, forced checkouts, force pushes) unless explicitly requested and confirmed.
- If unrelated changes exist in the worktree, do not revert them unless asked. Keep your work focused.
Source: kaka-ruto/skills — distributed by TomeVault.
1---2name: git-workflow-323description: Use when doing any git operations (branching, committing, pushing) so the repo history stays clean and matches the preferred workflow4---56# Git Workflow78## Overview910This skill defines the default git workflow for this environment: work directly on `master` unless explicitly asked otherwise, keep branches unprefixed, and commit only complete, verified slices with short commit messages.1112**Important:** git work (staging/committing/pushing, etc) is not a signal to stop or report progress. After any commit, immediately return to the continuous loop: pick the next top-most unchecked `PLAN.md` **Now** item and keep going.1314Only stop to report progress under exactly two conditions:1516- All `PLAN.md` **Now** work is complete, or17- A hard blocker / high-risk gate / product decision is encountered.1819## Defaults (Rules)2021- Work on `master` unless the human explicitly asks for a new branch.22- Do not create branches “just in case”.23- If asked to create a branch, use a plain branch name with no tool/model prefixes.24 - Do not prefix with `codex/`, `claude/`, `agent/`, etc.25- Commit only complete slices: done, verified, and ready to ship.26- Commit messages are short plain sentences (no `feat:`, `chore:`, etc.).27 - Prefer a single sentence.28 - If needed, use 2–3 short sentences total (no paragraphs).29- Never use `git add .`. Always stage by explicit filenames to avoid accidental commits.3031## Before Any Commit3233Confirm the slice is complete:3435- The intended outcome is achieved.36- Verification was run (tests or the project’s chosen verification step).37- Any required checklist/docs updates for the slice are included.3839Then:4041- Check working tree state: `git status`42- Review diff: `git diff` (and `git diff --staged` after staging)4344## Branching Rules4546- Only create a branch when explicitly asked.47- Keep branch names simple and descriptive, like:48 - `fix-login-timeout`49 - `billing-webhook-hardening`50 - `upgrade-rails-8`5152## Commit Rules5354- One commit per completed slice whenever feasible.55- Do not commit partial work, experiments, or “WIP” unless the human explicitly asks.56- If a change is essentially “more of the same” as the most recent commit (tight follow-up, fixup, small adjustment), prefer amending the most recent commit instead of making a new commit.57 - If it is unclear whether to amend vs make a new commit, ask.58- Do not add co-authoring trailers (no `Co-authored-by:`). The human is the sole author.5960## Commit Message Style6162Good:6364- `Fix login redirect loop`65- `Add read-only admin audit view`66- `Reduce flaky checkout test timeouts`6768Avoid:6970- `feat: add admin audit view`71- `chore: stuff`72- Long multi-paragraph explanations7374## Pushing7576**Pushing to `master` triggers a deploy.** Treat `git push` as a production operation.7778Hard gate:7980- Do not push to `master` unless you are intentionally deploying to production.8182Rules:8384- Only push to `master` when all unpushed commits are complete, verified, and safe for production.85- Do not push if there are missing dependencies, unfinished work, or “it should work” assumptions.86- If the change set is not ready to deploy, keep commits local until it is ready.87- If the work is finished and verified, prefer pushing and deploying rather than accumulating completed work locally without a reason.8889Gems/libraries:9091- Only push to `master` when ready to release a new version.92- It is acceptable to keep collecting local commits until release-ready.9394## Safety Defaults9596- Never run destructive git commands (`git reset --hard`, forced checkouts, force pushes) unless explicitly requested and confirmed.97- If unrelated changes exist in the worktree, do not revert them unless asked. Keep your work focused.9899---100> Source: [kaka-ruto/skills](https://github.com/kaka-ruto/skills) — distributed by [TomeVault](https://tomevault.io).101<!-- tomevault:4.0:skill_md:2026-06-16 -->