Enforce branch-based workflow with draft PRs for emoji_gen. Use when starting new work, creating branches, or opening pull requests. Mentions of "new feature", "bug fix", "start work", "create PR", or "pull request" should trigger this Skill.
This Skill enforces the branch-based workflow with draft PRs required for all non-trivial changes.
ALWAYS use feature branches and draft PRs for any non-trivial work.
Before making any changes:
# Ensure you're on main and up-to-date
git checkout main
git pull origin main
# Create feature branch with conventional naming
git checkout -b <type>/<descriptive-name>
Use Conventional Commits prefixes:
| Prefix | Use For |
|---|
| Example |
|---|
feat/ | New features | feat/add-emoji-categories |
fix/ | Bug fixes | fix/negative-count-validation |
docs/ | Documentation | docs/update-readme-install |
build/ | Build/CI changes | build/add-msrv-check |
test/ | Test additions | test/add-pool-size-validation |
refactor/ | Code refactoring | refactor/extract-selection-logic |
perf/ | Performance | perf/optimize-emoji-lookup |
chore/ | Maintenance | chore/update-dependencies |
Examples:
git checkout -b feat/add-emoji-filtering
git checkout -b fix/unicode-encoding-bug
git checkout -b docs/docker-workflow
git checkout -b build/ci-coverage-reporting
Work on your changes, committing as you go:
# Stage your changes
git add <files>
# Create commit following Conventional Commits
# (Use the conventional-commits Skill for proper formatting)
git commit -m "..."
# Push commits to remote
git push
After first commit:
# Push branch to remote
git push -u origin <branch-name>
# Create draft PR
gh pr create --draft --title "<type>: descriptive title" --body "$(cat <<'EOF'
## Summary
[Brief description of changes and motivation]
## Changes
- [Bullet point list of key changes]
- [Another change]
## Test Plan
- [ ] [Testing step 1]
- [ ] [Testing step 2]
- [ ] Run `./docker-dev.sh test`
- [ ] Run `./docker-dev.sh clippy`
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
Shortcut for auto-generated title/body:
gh pr create --draft --fill
See pr-template.md for the full PR description template.
Push additional commits to the branch:
# Make more changes
git add .
git commit -m "..."
git push
The PR automatically updates with each push.
When work is complete and CI passes:
gh pr ready
After CI passes and review is complete:
# Via GitHub CLI
gh pr merge --squash
# Or use GitHub web UI
gh pr view --web
ALWAYS use feature branches and draft PRs for:
Direct commits to main are ONLY acceptable for:
Follow Conventional Commits format: