git-workflows

Git & GitHub Workflows (via Grove Wrap)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "git-workflows" with this command: npx skills add autumnsgrove/groveengine/autumnsgrove-groveengine-git-workflows

Git & GitHub Workflows (via Grove Wrap)

All git and GitHub operations go through gw — never use raw git or gh commands directly. Grove Wrap adds safety tiers, Conventional Commits enforcement, protected branch guards, and agent-safe defaults.

When to Activate

Activate this skill when:

  • Making git commits, pushing, pulling, branching, or stashing

  • Creating, reviewing, or merging pull requests

  • Creating, viewing, or closing GitHub issues

  • Checking CI/workflow run status

  • Reviewing git history, diffs, or blame

  • Resolving merge conflicts

  • Any version control operation

Safety System

gw enforces a three-tier safety model:

Tier Flag Required Examples

READ None gw git status , gw git log , gw gh pr list

WRITE --write

gw git commit , gw git push , gw git pull , gw gh pr create

DANGEROUS --write --force

gw git reset , gw git force-push , gw git rebase

Protected branches (main , master , production , staging ) can NEVER be force-pushed, even with --force .

Agent mode (auto-detected for Claude Code): stricter row limits, force operations blocked, all operations audit-logged.

Dry run any command with --dry-run to preview what would happen.

Conventional Commits Format

gw validates commit messages against Conventional Commits automatically. Format:

<type>(<optional scope>): <brief description>

<optional body>

<optional footer>

Commit Types

Type Purpose Example

feat

New feature feat: add user authentication

fix

Bug fix fix: correct validation error

docs

Documentation docs: update README

style

Code formatting style: format with prettier

refactor

Code restructure refactor: extract helper function

test

Add/modify tests test: add auth tests

chore

Maintenance chore: update dependencies

perf

Performance perf: optimize query speed

ci

CI/CD changes ci: fix deploy workflow

Breaking changes: Add an exclamation mark after the type, e.g. feat!: replace XML config with YAML

Git Commands — Reading (Always Safe)

gw git status # Enhanced git status gw git log # Formatted commit history gw git log --limit 20 # Last 20 commits gw git diff # Show changes gw git diff --staged # Show staged changes gw git blame file.ts # Blame with context gw git show abc123 # Show commit details

Git Commands — Writing (Needs --write )

gw git add --write . # Stage files gw git add --write src/lib/thing.ts # Stage specific file gw git commit --write -m "feat: add new feature" # Commit (validates conventional commits!) gw git push --write # Push to remote gw git pull --write # Pull from remote gw git pull --write --rebase # Pull with rebase strategy gw git branch --write feature/new-thing # Create branch gw git switch --write feature/new-thing # Switch branches gw git stash --write # Stash changes gw git stash --write pop # Pop stash gw git unstage --write file.ts # Unstage files

Git Commands — Dangerous (Needs --write --force )

gw git push --write --force # Force push (blocked to protected branches!) gw git reset --write --force HEAD~1 # Hard reset gw git rebase --write --force main # Rebase onto main gw git merge --write --force feature # Merge branches

Grove Shortcuts

These combine common multi-step operations into single commands:

Quick save: stage all + WIP commit

gw git save --write

Quick sync: fetch + rebase + push

gw git sync --write

WIP commit that skips hooks

gw git wip --write

Undo last commit (keeps changes staged)

gw git undo --write

Amend last commit message

gw git amend --write -m "better message"

FAST MODE: skip ALL hooks, commit + push in one shot

gw git fast --write -m "fix: emergency hotfix"

Branching Strategy

Branch Naming

feature/feature-name # New features fix/bug-description # Bug fixes experiment/new-idea # Experiments release/v1.0.0 # Releases

Feature Branch Workflow

Create and switch to feature branch

gw git branch --write feature/user-auth gw git switch --write feature/user-auth

Work and commit

gw git add --write . gw git commit --write -m "feat: add JWT authentication"

Push and create PR

gw git push --write gw gh pr create --write --title "feat: add JWT authentication"

GitHub — Pull Requests

Reading (always safe)

gw gh pr list # List open PRs gw gh pr view 123 # View PR details gw gh pr status # PR status (CI, reviews, etc.)

Writing (needs --write)

gw gh pr create --write --title "feat: new thing" --body "Description" gw gh pr comment --write 123 "LGTM!" gw gh pr merge --write 123 # Merge PR (prompts for confirmation)

GitHub — Issues

Reading (always safe)

gw gh issue list # List open issues gw gh issue view 456 # View issue details

Writing (needs --write)

gw gh issue create --write --title "Bug: thing broke" gw gh issue close --write 456

GitHub — Workflow Runs (CI)

Reading (always safe)

gw gh run list # List recent runs gw gh run view 12345678 # View run details gw gh run watch 12345678 # Watch a running workflow

Writing (needs --write)

gw gh run rerun --write 12345678 --failed # Rerun failed jobs gw gh run cancel --write 12345678 # Cancel a run

GitHub — API & Rate Limits

GET requests (always safe)

gw gh api repos/AutumnsGrove/Lattice

POST/PATCH (needs --write)

gw gh api --write repos/{owner}/{repo}/labels -X POST -f name="bug"

DELETE (needs --write --force)

gw gh api --write --force repos/{owner}/{repo}/labels/old -X DELETE

Check rate limit status

gw gh rate-limit

GitHub — Project Boards

gw gh project list # List project boards gw gh project view # View current project

Commit Examples

Feature

gw git commit --write -m "feat: add dark mode toggle

  • Implement theme switching logic
  • Add localStorage persistence
  • Update CSS variables"

Bug Fix with Issue Link

gw git commit --write -m "fix: correct timezone handling bug

Fixes off-by-one error in date calculations.

Closes #123"

Breaking Change

gw git commit --write -m "feat!: replace XML config with YAML

BREAKING CHANGE: XML configuration no longer supported. See docs/migration.md for upgrade instructions."

Agent-Optimized Commands (NEW)

These commands are specifically designed for agentic workflows:

Session Start (Always run this first!)

gw context # One-shot session snapshot (rich output) gw --json context # JSON snapshot (branch, changes, packages, issues)

Ship with Auto-Stage

Stage all + format + check + commit + push in ONE command

gw git ship --write -a -m "feat: implement feature"

Equivalent to: gw git add --write . && gw git ship --write -m "..."

PR Preparation

gw git pr-prep # Full PR readiness report gw --json git pr-prep # JSON: commits, files, packages, suggested title

Targeted CI

gw ci --affected # Only check packages with changes gw ci --affected --fail-fast # Fast feedback: stop on first failure gw ci --diagnose # Structured error output when steps fail gw --json ci --affected # JSON with parsed error details

Batch Issue Creation

Create multiple issues from JSON

gw gh issue batch --write --from-json issues.json echo '[{"title":"Bug: thing","labels":["bug"]}]' | gw gh issue batch --write --from-json -

Impact Analysis (via gf)

gf impact src/lib/auth.ts # Who imports this? What tests? Which routes? gf test-for src/lib/auth.ts # Find tests covering this file gf diff-summary # Structured diff with per-file stats gf --json impact src/lib/auth.ts # All of the above as parseable JSON

Common Workflows

Start a new feature

gw context # Orient: what branch, what's changed? gw git branch --write feature/my-feature gw git switch --write feature/my-feature

... make changes ...

gw git ship --write -a -m "feat: implement my feature" gw git pr-prep # Check readiness gw gh pr create --write --title "feat: implement my feature"

Quick fix and ship

gw git fast --write -m "fix: correct typo in header"

Ship with full checks

gw git ship --write -a -m "feat: add auth refresh"

This does: auto-stage all → format → type-check → commit → push

Check CI before merging

gw ci --affected --fail-fast # Quick: only changed packages gw gh pr status # See CI status on current PR gw gh run list # See recent workflow runs gw gh run watch 12345678 # Watch the current run

Pull latest changes

gw git pull --write # Pull from remote (merge strategy) gw git pull --write --rebase # Pull with rebase (cleaner history) gw git pull --write origin main # Pull specific remote/branch

Sync branch with main

gw git sync --write # Fetch + rebase + push

Save work in progress

gw git save --write # Stage all + WIP commit

or

gw git stash --write # Stash without committing

Merge Conflicts

When conflicts occur during sync/rebase/merge:

gw git status # See conflicted files

Edit files to resolve conflicts:

<<<<<<< HEAD

Your changes

=======

Incoming changes

>>>>>>> feature-branch

After resolving:

gw git add --write resolved-file.ts gw git commit --write -m "fix: resolve merge conflicts"

Worktrees

Work on multiple branches simultaneously without stashing:

gw git worktree add --write ../grove-hotfix fix/urgent gw git worktree list gw git worktree remove --write ../grove-hotfix

Best Practices

DO

  • Start every session with gw context (or gw --json context for structured data)

  • Use gw for all git/GitHub operations (never raw git or gh )

  • Use gf for all codebase search (never raw grep or rg )

  • Use Conventional Commits format (gw enforces this)

  • Use gw git ship --write -a -m "..." for the fastest commit+push workflow

  • Use gw ci --affected instead of full CI when possible

  • Use gw git pr-prep before creating PRs

  • Use gf impact before making changes to understand blast radius

  • One logical change per commit

  • Keep subject under 50 characters

  • Use imperative mood ("Add" not "Added")

  • Use --dry-run to preview destructive operations

DON'T

  • Use raw git or gh commands directly

  • Force-push to protected branches

  • Use vague messages ("Update files", "Fix stuff")

  • Combine multiple unrelated changes in one commit

  • Skip the --write flag (even if it seems tedious — it's a safety net)

Troubleshooting

"Protected branch"

You tried to force-push to main . Create a PR instead:

gw gh pr create --write --title "My changes"

"Rate limit exhausted"

gw gh rate-limit # Check when it resets

Committed to wrong branch

gw git log --limit 1 # Note the commit hash gw git switch --write correct-branch

Cherry-pick the commit, then remove from wrong branch

Need to undo last commit

gw git undo --write # Keeps changes staged

Related Resources

  • gw source: tools/grove-wrap-go/ — Go source code and Makefile

  • gw spec: docs/specs/gw-cli-spec.md — Technical specification

  • Git guide: AgentUsage/git_guide.md — Extended documentation

  • MCP integration: gw mcp serve exposes all commands as MCP tools for Claude Code

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

svelte5-development

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

code-quality

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python-testing

No summary provided by upstream source.

Repository SourceNeeds Review
General

cloudflare-deployment

No summary provided by upstream source.

Repository SourceNeeds Review