/moai-ref-git-workflow
Git workflow patterns, branch strategies, conventional commits, and PR templates reference for git operations. Agent-extending skill that amplifies manager-git expertise with production-grade git workflow patterns. NOT for: code implementation, testing, architecture design,
$ npx -y skills add modu-ai/moai-adk --skill moai-ref-git-workflow --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/moai-ref-git-workflow
Context preview
The summary Claude sees to decide when to auto-load this skill.
Git workflow patterns, branch strategies, conventional commits, and PR templates reference for git operations. Agent-extending skill that amplifies manager-git expertise with production-grade git workflow patterns. NOT for: code implementation, testing, architecture design,
SKILL.md
moai-ref-git-workflow.SKILL.mdname: moai-ref-git-workflow
description: >
Git workflow patterns, branch strategies, conventional commits, and PR templates
reference for git operations. Agent-extending skill that amplifies manager-git
expertise with production-grade git workflow patterns.
NOT for: code implementation, testing, architecture design, documentation content.
when_to_use: >
Use for git workflow reference: branch strategies, conventional commits,
PR templates, merge and rebase flows, and commit/branch/release
conventions. Amplifies manager-git expertise with production-grade git
workflow patterns.
user-invocable: false
metadata:
version: "1.0.0"
category: "workflow"
status: "active"
updated: "2026-03-30"
tags: "git, branch, commit, pr, workflow, reference"
# MoAI Extension: Progressive Disclosure
progressive_disclosure:
enabled: true
level1_tokens: 100
level2_tokens: 3000
Git Workflow Reference
Target Agent
`manager-git` - Applies these patterns directly to git operations, branch management, and PR creation.
Branch Strategy Patterns
GitHub Flow (Default for Most Projects)
main ─────────────────────────────────────────
└── feat/SPEC-XXX-description ──── PR ──→ merge
Rules:
- `main` is always deployable
- Feature branches from `main`
- PR required for all merges
- Delete branch after merge
GitFlow (Complex Release Cycles)
main ──────────────────────────────────────────
└── develop ─────────────────────────────────
├── feature/SPEC-XXX ──── PR ──→ develop
└── release/v1.2.0 ────── PR ──→ main + developTrunk-Based (CI/CD Heavy)
main ──────────────────────────────────────────
└── short-lived branch (< 1 day) ──→ merge
Branch Naming Convention
| Pattern | Example | Use Case | |---------|---------|----------| | `feat/SPEC-{ID}-{slug}` | `feat/SPEC-AUTH-001-jwt-auth` | New feature | | `fix/SPEC-{ID}-{slug}` | `fix/SPEC-BUG-042-null-check` | Bug fix | | `refactor/{slug}` | `refactor/extract-auth-middleware` | Refactoring | | `docs/{slug}` | `docs/api-reference-update` | Documentation | | `chore/{slug}` | `chore/upgrade-dependencies` | Maintenance |
Conventional Commits Reference
| Type | When | Example | |------|------|---------| | `feat` | New feature | `feat(auth): add JWT refresh token flow` | | `fix` | Bug fix | `fix(api): handle null user in profile endpoint` | | `refactor` | Code restructure | `refactor(db): extract query builder` | | `test` | Test changes | `test(auth): add login edge case tests` | | `docs` | Documentation | `docs(api): update endpoint descriptions` | | `chore` | Maintenance | `chore(deps): upgrade Go to 1.23` | | `perf` | Performance | `perf(query): add index for user lookup` | | `style` | Formatting | `style: apply gofmt formatting` | | `ci` | CI/CD changes | `ci: add GitHub Actions workflow` | | `revert` | Revert commit | `revert: undo feat(auth) commit abc123` |
Commit Message Structure
<type>(<scope>): <description> # max 72 chars
[optional body] # what and why, not how
[optional footer] # Breaking changes, issue refs
BREAKING CHANGE: <description>
Refs: #123, SPEC-AUTH-001
Pull Request Template
## Summary
- [1-3 bullet points describing what this PR does]
## Changes
- [ ] File 1: description of change
- [ ] File 2: description of change
## Test Plan
- [ ] Unit tests added/updated
- [ ] Integration tests pass
- [ ] Manual testing completed
## SPEC Reference
- SPEC-{ID}: {title}
## Checklist
- [ ] Tests pass (`go test ./...`)
- [ ] Linting pass (`golangci-lint run`)
- [ ] No secrets committed
- [ ] Documentation updated if neededMerge Strategy Selection
| Strategy | When | Command | |----------|------|---------| | Squash merge | Feature branches (clean history) | `gh pr merge --squash` | | Merge commit | Release branches (preserve history) | `gh pr merge --merge` | | Rebase | Small, clean commits | `gh pr merge --rebase` |
The active method for sync-phase PR auto-merge is governed by the `git_strategy.<mode>.merge_method` config value (`squash` | `merge` | `rebase`; default `squash`), not hardcoded. The sync agent resolves it from the active mode profile and renders the matching `gh pr merge --<merge_method>` command.
Git Safety Rules
| Action | Risk | Rule | |--------|------|------| | `git push --force` | Overwrites remote | NEVER on main/master, ask user first | | `git reset --hard` | Loses local changes | Confirm with user first | | `git checkout .` | Discards changes | Confirm with user first | | `git branch -D` | Deletes branch | Only after merge confirmed | | `--no-verify` | Skips hooks | NEVER unless user explicitly requests | | `git rebase -i` | Interactive (not supported) | NEVER use (requires interactive input) |
Context Memory in Commits
Embed decision context in commit messages for future session continuity:
feat(auth): implement JWT refresh token rotation
Decision: Chose rotation over sliding window for security
Pattern: Middleware chain: RateLimit -> Auth -> Authz -> Handler
Gotcha: Token blacklist requires Redis, not just in-memory cache
Refs: SPEC-AUTH-001
<!-- moai:evolvable-start id="rationalizations" -->
Common Rationalizations
| Rationalization | Reality | |---|---| | "I will clean up the commit messages before merging" | Interactive rebase is error-prone under pressure. Write clean commits from the start. | | "Force push is fine on my feature branch" | Collaborators or CI may have fetched the branch. Force push destroys their reference. Use --force-with-lease. | | "This commit is too small to need a conventional format" | Changelog generators, bisect, and blame all depend on consistent commit formats. Every commit matters. | | "I will push directly to main, it is a small fix" | Direct pushes bypass code review and CI. Even small fixes can break production. | | "Merge commits are messy, I always squash" | Squash loses individual co
Read more
name: moai-ref-git-workflow description: > Git workflow patterns, branch strategies, conventional commits, and PR templates reference for git operations. Agent-extending skill that amplifies manager-git expertise with production-grade git workflow patterns. NOT for: code implementation, testing, architecture design, documentation content. when_to_use: > Use for git workflow reference: branch strategies, conventional commits, PR templates, merge and rebase flows, and commit/branch/release conventions. Amplifies manager-git expertise with production-grade git workflow patterns. user-invocable: false metadata: version: "1.0.0" category: "workflow" status: "active" updated: "2026-03-30" tags: "git, branch, commit, pr, workflow, reference" # MoAI Extension: Progressive Disclosure progressive_disclosure: enabled: true level1_tokens: 100 level2_tokens: 3000
Git Workflow Reference
Target Agent
`manager-git` - Applies these patterns directly to git operations, branch management, and PR creation.
Branch Strategy Patterns
GitHub Flow (Default for Most Projects)
main ───────────────────────────────────────── └── feat/SPEC-XXX-description ──── PR ──→ merge
Rules:
- `main` is always deployable
- Feature branches from `main`
- PR required for all merges
- Delete branch after merge
GitFlow (Complex Release Cycles)
main ──────────────────────────────────────────
└── develop ─────────────────────────────────
├── feature/SPEC-XXX ──── PR ──→ develop
└── release/v1.2.0 ────── PR ──→ main + developTrunk-Based (CI/CD Heavy)
main ────────────────────────────────────────── └── short-lived branch (< 1 day) ──→ merge
Branch Naming Convention
| Pattern | Example | Use Case | |---------|---------|----------| | `feat/SPEC-{ID}-{slug}` | `feat/SPEC-AUTH-001-jwt-auth` | New feature | | `fix/SPEC-{ID}-{slug}` | `fix/SPEC-BUG-042-null-check` | Bug fix | | `refactor/{slug}` | `refactor/extract-auth-middleware` | Refactoring | | `docs/{slug}` | `docs/api-reference-update` | Documentation | | `chore/{slug}` | `chore/upgrade-dependencies` | Maintenance |
Conventional Commits Reference
| Type | When | Example | |------|------|---------| | `feat` | New feature | `feat(auth): add JWT refresh token flow` | | `fix` | Bug fix | `fix(api): handle null user in profile endpoint` | | `refactor` | Code restructure | `refactor(db): extract query builder` | | `test` | Test changes | `test(auth): add login edge case tests` | | `docs` | Documentation | `docs(api): update endpoint descriptions` | | `chore` | Maintenance | `chore(deps): upgrade Go to 1.23` | | `perf` | Performance | `perf(query): add index for user lookup` | | `style` | Formatting | `style: apply gofmt formatting` | | `ci` | CI/CD changes | `ci: add GitHub Actions workflow` | | `revert` | Revert commit | `revert: undo feat(auth) commit abc123` |
Commit Message Structure
<type>(<scope>): <description> # max 72 chars [optional body] # what and why, not how [optional footer] # Breaking changes, issue refs BREAKING CHANGE: <description> Refs: #123, SPEC-AUTH-001
Pull Request Template
## Summary
- [1-3 bullet points describing what this PR does]
## Changes
- [ ] File 1: description of change
- [ ] File 2: description of change
## Test Plan
- [ ] Unit tests added/updated
- [ ] Integration tests pass
- [ ] Manual testing completed
## SPEC Reference
- SPEC-{ID}: {title}
## Checklist
- [ ] Tests pass (`go test ./...`)
- [ ] Linting pass (`golangci-lint run`)
- [ ] No secrets committed
- [ ] Documentation updated if neededMerge Strategy Selection
| Strategy | When | Command | |----------|------|---------| | Squash merge | Feature branches (clean history) | `gh pr merge --squash` | | Merge commit | Release branches (preserve history) | `gh pr merge --merge` | | Rebase | Small, clean commits | `gh pr merge --rebase` |
The active method for sync-phase PR auto-merge is governed by the `git_strategy.<mode>.merge_method` config value (`squash` | `merge` | `rebase`; default `squash`), not hardcoded. The sync agent resolves it from the active mode profile and renders the matching `gh pr merge --<merge_method>` command.
Git Safety Rules
| Action | Risk | Rule | |--------|------|------| | `git push --force` | Overwrites remote | NEVER on main/master, ask user first | | `git reset --hard` | Loses local changes | Confirm with user first | | `git checkout .` | Discards changes | Confirm with user first | | `git branch -D` | Deletes branch | Only after merge confirmed | | `--no-verify` | Skips hooks | NEVER unless user explicitly requests | | `git rebase -i` | Interactive (not supported) | NEVER use (requires interactive input) |
Context Memory in Commits
Embed decision context in commit messages for future session continuity:
feat(auth): implement JWT refresh token rotation Decision: Chose rotation over sliding window for security Pattern: Middleware chain: RateLimit -> Auth -> Authz -> Handler Gotcha: Token blacklist requires Redis, not just in-memory cache Refs: SPEC-AUTH-001
<!-- moai:evolvable-start id="rationalizations" -->
Common Rationalizations
| Rationalization | Reality | |---|---| | "I will clean up the commit messages before merging" | Interactive rebase is error-prone under pressure. Write clean commits from the start. | | "Force push is fine on my feature branch" | Collaborators or CI may have fetched the branch. Force push destroys their reference. Use --force-with-lease. | | "This commit is too small to need a conventional format" | Changelog generators, bisect, and blame all depend on consistent commit formats. Every commit matters. | | "I will push directly to main, it is a small fix" | Direct pushes bypass code review and CI. Even small fixes can break production. | | "Merge commits are messy, I always squash" | Squash loses individual co
Agentic development harness for Claude Code — SPEC-driven plan/run/sync, TRUST 5 quality gates, model+effort routing, and Claude×GLM multi-LLM cost control. Single Go binary, 16 languages, zero deps.
Repo: modu-ai/moai-adk
Other skills on moai-adk.
- /hns-lsel-applier
Local Self-Evolution Loop (LSEL) APPLY engine — the playback-only consumer of approved decision.json records that drives `.moai/hooks/lsel-apply.sh` for the GOOS-local PROPOSE→APPLY seam closure (SPEC-LSEL-LOCAL-EVOLUTION-001 M3). Reads an approved decision.json, validates the
Open skill - /hns-lsel-curator
Local Self-Evolution Loop (LSEL) curator — the CLUSTER + drain engine for the GOOS-local PROPOSE→APPLY seam closure (SPEC-LSEL-LOCAL-EVOLUTION-001). Companion-offset drain of .moai/lessons-inbox.jsonl with a drain-side severity filter that drops the ~65% Bash-timeout/sandbox
Open skill - /hns-moaiadk-best-practices
moai-adk-go best-practices reference for the 4 harness specialists (cli-template-specialist, quality-specialist, workflow-specialist, hook-ci-specialist). Covers TRUST 5 gates, Go test isolation (t.TempDir, no OTEL env in parallel tests), hardcoding-prevention rules (env
Open skill - /hns-moaiadk-dev-reference
moai-adk-go local dev reference — version management/release process (sec 5), shell-script hook development (sec 7), build & dev commands (sec 10). Load only when performing these specific tasks.
Open skill - /hns-moaiadk-patterns
moai-adk-go domain-patterns reference for the 4 harness specialists (cli-template-specialist, quality-specialist, workflow-specialist, hook-ci-specialist). Covers the CLI/template/config/hook/spec subsystem architecture, key source paths, the Pipeline specialist delegation map,
Open skill - /hns-oss-docs-i18n-rules
HARD i18n rules digest for the oss-docs harness specialists working on moai-adk-go README 4-locale set and the docs-site (adk.mo.ai.kr). Covers the canonical-locale chains, the 4-locale same-PR obligation, Mermaid TD-only, the no-emoji + icon-shortcode rule, emphasis-marker
Open skill

