Complete git workflow patterns including GitHub Flow branching, atomic commits with interactive staging, merge and rebase strategies, and recovery operations using reflog. Essential patterns for clean history. Use when managing branches, defining branching strategy, or recovering git history.
Manages complete git workflows including GitHub Flow branching, atomic commits, and recovery operations using reflog.
/plugin marketplace add yonatangross/orchestkit/plugin install orkl@orchestkitThis skill is limited to using the following tools:
checklists/branch-checklist.mdchecklists/pre-commit-checklist.mdreferences/github-flow.mdreferences/interactive-staging.mdreferences/recovery-decision-tree.mdreferences/reflog-recovery.mdrules/_sections.mdrules/_template.mdrules/branch-protection.mdrules/history-hygiene.mdrules/merge-strategy.mdrules/monorepo-context.mdrules/recovery-reflog.mdrules/recovery-reset.mdrules/recovery-stash.mdrules/stacked-pr-rebase.mdrules/stacked-pr-workflow.mdtest-cases.jsonComplete git workflow patterns: GitHub Flow branching, atomic commits, and recovery operations. Essential for maintaining clean, reviewable history.
# Feature branches (link to issue)
issue/<number>-<brief-description>
issue/123-add-user-auth
# When no issue exists
feature/<description>
fix/<description>
hotfix/<description>
Branch Rules:
main is always deployablemain, PR back to main[ ] Does ONE logical thing
[ ] Leaves codebase working (tests pass)
[ ] Message doesn't need "and" in title
[ ] Can be reverted independently
[ ] Title < 50 chars, body wraps at 72
# Stage changes hunk-by-hunk
git add -p
# Options:
# y - stage this hunk
# n - skip this hunk
# s - split into smaller hunks
# e - manually edit the hunk
# q - quit
# Review what's staged
git diff --staged # What will be committed
git diff # What won't be committed
# Separate concerns
git add -p && git commit -m "refactor: Extract database pool"
git add -p && git commit -m "feat(#456): Add query caching"
# Never combine unrelated changes
# BAD: "feat: Add auth and fix formatting"
# GOOD: Two separate commits
# ALWAYS check reflog first - it has everything
git reflog
# Shows ALL recent HEAD movements
# Even "deleted" commits live here for 90 days
| Scenario | Not Pushed | Already Pushed |
|---|---|---|
| Undo commit | git reset --soft HEAD~1 | git revert HEAD |
| Wrong branch | cherry-pick + reset | cherry-pick + revert |
| Lost commits | git reset --hard HEAD@{N} | N/A |
| Bad rebase | git rebase --abort or reflog | reflog + force-with-lease |
# Undo last commit, keep changes staged
git reset --soft HEAD~1
# Find lost commits
git reflog | grep "your message"
# Recover to previous state
git reset --hard HEAD@{1}
# Safe force push (feature branches only)
git push --force-with-lease
# 1. Start fresh
git checkout main && git pull origin main
git checkout -b issue/123-my-feature
# 2. Work with atomic commits
git add -p
git commit -m "feat(#123): Add User model"
# 3. Stay updated
git fetch origin && git rebase origin/main
# 4. Push and PR
git push -u origin issue/123-my-feature
gh pr create --fill
# 5. Cleanup after merge
git checkout main && git pull
git branch -d issue/123-my-feature
Avoid:
- Long-lived branches (> 1 week)
- Merging main into feature (use rebase)
- Direct commits to main
- Force push to shared branches
- Commits that need "and" in message
- Committing broken code
git add -pork:commit - Create commits with conventional format and pre-commit validationgit-recovery - Quick recovery from common git mistakes using reflog operationsstacked-prs - Multi-PR development for large features with dependent PRsork:create-pr - Comprehensive PR creation with proper formatting| Decision | Choice | Rationale |
|---|---|---|
| Branching model | GitHub Flow | Simple single-branch workflow, main is always deployable |
| Merge strategy | Rebase over merge | Keeps history clean and linear, easier to bisect |
| Branch naming | issue/<number>-<desc> | Links work to tracking, enables automation |
| Commit granularity | Atomic (one thing) | Independent revert, clear history, easier review |
| Force push | --force-with-lease only | Prevents overwriting others' work on shared branches |
Each category has individual rule files in rules/ loaded on-demand:
| Category | Rule | Impact | Key Pattern |
|---|---|---|---|
| Branch Protection | rules/branch-protection.md | CRITICAL | Protected branches, required PR workflow |
| Merge Strategy | rules/merge-strategy.md | HIGH | Rebase-first, conflict resolution, force-with-lease |
| History Hygiene | rules/history-hygiene.md | HIGH | Squash WIP, fixup commits, clean history |
| Recovery | rules/recovery-reflog.md | CRITICAL | Reflog recovery for lost commits and branches |
| Recovery | rules/recovery-reset.md | CRITICAL | Safe vs dangerous reset modes |
| Recovery | rules/recovery-stash.md | HIGH | Stash management and dropped stash recovery |
| Stacked PRs | rules/stacked-pr-workflow.md | HIGH | Stack planning, PR creation, dependency tracking |
| Stacked PRs | rules/stacked-pr-rebase.md | HIGH | Rebase management, force-with-lease, retargeting |
| Monorepo | rules/monorepo-context.md | MEDIUM | --add-dir, per-service CLAUDE.md, workspace detection |
Total: 9 rules across 6 categories
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.