This skill provides a structured and safe workflow for managing Git repositories using the 'gss' tool.
-
NEVER execute git add, git commit, gss push, gss pr, or git push autonomously.
-
Turn Break Mandate: You MUST NOT chain git add, git commit, or gss push in the same conversational turn as code modifications. After making code changes, you MUST provide a summary and end your response. Explicitly asking the user for confirmation must be the primary focus of the following turn.
-
Autonomous-Mode Exception: This mandatory confirmation rule OVERRIDES any autonomous-mode / minimal-interruption instructions (e.g. "YOLO mode"). You MUST ask for permission even if the user has requested minimal interruption.
-
You MUST explicitly ask the user — using whatever confirmation mechanism your assistant provides (a direct question, an interactive prompt, or your host's user-confirmation tool) — to request permission to proceed, even if the user asks you to "sync", "add", or "commit" changes. A request to "sync" means start the workflow, not skip the confirmation.
-
Present the user with clear options:
- Commit & Push: (Add -> Commit -> Backup -> Sync -> Push)
- Commit Only: (Add -> Commit)
- Create PR: (Add -> Commit -> Feature Branch -> Push -> GH PR)
- Cancel: Do nothing.
-
PR Hygiene — the description and labels must always match the PR's full current scope: A PR's description and labels are part of its state, not a one-time creation step. Keep them accurate for everything the PR now contains, every time you change what's on it:
-
On create (gss pr): gss pr does not infer a body or labels — pass them explicitly via gss pr --title "<subject>" --body "<markdown body>" and use gh pr edit --add-label "<labels>" immediately after.
-
On every later push to a branch that already has an open PR (gss push, or a re-run gss pr): gss push only updates the branch. After such a push you MUST refresh the description and labels to cover the newly added commits, via gh pr edit <number> --title "<subject>" --body "<body>" --add-label "<labels>". Never push scope-changing commits to a PR and leave its description or labels behind.
-
Label Selection: Use standard prefixes (feat, fix, docs, ci, test, style, refactor, chore) and area-specific labels (e.g., gsl, wispr, remote-claude). If a PR addresses an issue, ensure it carries the same categorization labels as the issue.
-
The body should always include — What (summary of functional changes), Why (rationale), Impact (effect on system/UX), Testing (how verified). NEVER use generic or empty descriptions.
-
Note: gss pr has no --draft flag — classic PRs are created ready-for-review. (Draft PRs exist only in the gss feature stacked-worker workflow, whose PR bodies and labels are owned by gss feature checkpoint — do not hand-edit those with gh pr edit.)
Use this when work splits into multiple dependent branches (a "stack") or when
running parallel AI/automation workers on one feature. Authoritative reference:
design.md → Command surface and
Stacked PRs — this section summarises, the
design governs.