mit einem Klick
crew-commit
// Canonical commit workflow for Gas Town crew members: pre-flight checks, branch creation, gt commit with agent identity, push, and PR creation. Use when ready to commit and submit work for review.
// Canonical commit workflow for Gas Town crew members: pre-flight checks, branch creation, gt commit with agent identity, push, and PR creation. Use when ready to commit and submit work for review.
Develop and operate Gas Town with the Cursor agent preset (cursor-agent CLI): gt flags, hooks at .cursor/hooks.json, session resume, and how this repo differs from README marketing copy.
List GitHub issues in a formatted ASCII table. Supports filters like --state, --assignee, --label. Use for issue triage and tracking workflows.
List GitHub PRs in a formatted ASCII table. Supports filters like --state, --author, --label. Use for PR review workflows and sheriff duties.
PR Sheriff workflow: triage PRs into easy-wins and crew assignments. Prints recommendations inline - does NOT post to GitHub.
The definitive guide for working with gastown's convoy system -- batch work tracking, event-driven feeding, stage-launch workflow, and dispatch safety guards. Use when writing convoy code, debugging convoy behavior, adding convoy features, testing convoy changes, or answering questions about how convoys work. Triggers on convoy, convoy manager, convoy feeding, dispatch, stranded convoy, feedFirstReady, feedNextReadyIssue, IsSlingableType, isIssueBlocked, CheckConvoysForIssue, gt convoy, gt sling, stage, launch, staged, wave.
| name | crew-commit |
| description | Canonical commit workflow for Gas Town crew members: pre-flight checks, branch creation, gt commit with agent identity, push, and PR creation. Use when ready to commit and submit work for review. |
| allowed-tools | Bash(git *), Bash(gt *), Bash(gh *) |
| version | 1.0.0 |
| author | Gas Town |
This skill guides crew members through the standard Gas Town commit workflow: pre-flight → branch → stage → commit → push → PR.
⚠️ NEVER commit directly to
main. All crew work goes through branches and pull requests. The Refinery handles merges to main.
/crew-commit
Run this when you have changes ready to commit. The skill walks you through each step in order.
Before touching anything, sync with origin and verify your state.
# Fetch latest from origin
git fetch origin
# Check current branch and status
git status
git branch --show-current
# If you're on main, STOP — create a branch first (Step 2)
If you're behind origin/main, rebase now:
git rebase origin/main
If there are conflicts, resolve them carefully before proceeding. If stuck on a rebase conflict, stop and get help rather than force-pushing.
If you're already on a feature branch, skip to Step 3.
Branch naming convention: <type>/<short-description>
Types:
feat/ — new featurefix/ — bug fixrefactor/ — code restructuringdocs/ — documentation onlychore/ — maintenance, deps, configtest/ — tests only# Create and switch to feature branch
git checkout -b feat/my-feature-description
# Or use the crew/<name> prefix for crew-specific branches
git checkout -b crew/<your-name>/description
Check for submodules before staging. Accidentally committing a submodule pointer change causes cascading failures for other crew members.
# Check if repo has submodules
cat .gitmodules 2>/dev/null || echo "(no submodules)"
# Check for dirty submodule state
git submodule status 2>/dev/null
Common submodule paths to watch: shared/, config/, vendor/
If you see changes in submodule directories:
git add shared/ or git add config/ unless you intentionally
bumped the submodule pointerPrefer staging specific files over git add . or git add -A.
# Review what changed
git diff
git status
# Stage specific files (preferred)
git add src/myfile.go tests/myfile_test.go
# If you need to stage all intentional changes and have verified no secrets:
git add -p # Interactive staging — review each hunk
Before staging, verify:
.env files, API keys, or credentialsUse gt commit instead of git commit. It automatically sets the correct
agent identity (name + email) based on your GT_ROLE.
gt commit -m "$(cat <<'EOF'
<type>: <concise description of what and why>
<optional body: context, motivation, or notable details>
EOF
)"
Commit message format:
<type>: <subject> (50 chars or less)feat, fix, refactor, docs, test, choreGood examples:
feat: add retry logic to webhook delivery
fix: prevent nil pointer when session token expires
docs: clarify crew commit workflow in CONTRIBUTING.md
git push origin <your-branch-name>
# Or, if branch doesn't exist on remote yet:
git push -u origin <your-branch-name>
gh pr create --title "<type>: <concise description>" \
--body "$(cat <<'EOF'
## Summary
- <what changed and why>
## Test plan
- [ ] <how to verify this works>
## Notes
<any context reviewers need>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
After creating the PR, note the PR number from the output.
If your work affects others or is high priority:
notify "PR ready: <brief description> — #<PR number>"
gt commit (not git commit)gh pr create| ❌ Don't | ✅ Do instead |
|---|---|
git push origin main | Push feature branch, create PR |
git commit directly | gt commit (sets agent identity) |
git add . blindly | Stage specific files, verify with git status |
Include shared/ or config/ without intent | Check git submodule status first |
| Force-push without understanding why | Resolve the root cause |
| Commit secrets or .env files | Always check git diff before staging |
git rebase --continuegit push origin <branch> is finegit reset HEAD~1 (keeps changes staged)