skills/role-manager-git/SKILL.md
Git workflow: branch management, commit conventions, PR patterns, conflict resolution.
npx skillsauth add jasonwarrenuk/goblin-mode git-managerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Comprehensive git workflow guidance covering branch management, commit conventions, pull request best practices, conflict resolution, and LazyGit integration. Emphasizes clean history, collaboration patterns, and the user's established branch naming conventions.
Use this skill when:
Core Development:
feat/ - New features (user-facing or API)enhance/ - Improvements to existing features (not bugs)fix/ - Bug fixeshotfix/ - Critical production fixesCode Quality:
refactor/ - Code restructuring (no behaviour change)types/ - Type definitions (interfaces, types, contracts)perf/ - Performance improvementstest/ - Adding/updating testsdebug/ - Debugging/investigation branches (temporary)Documentation & Content:
docs/ - Documentation changescontent/ - Content updates (copy, text, data files)Styling & UI:
styles/ - Visual styling (colors, fonts, spacing)layout/ - Structural positioning (grid, flexbox, responsive)a11y/ - Accessibility improvementsDependencies & Configuration:
deps/ - Dependency updatesbuild/ - Build system, bundler, toolingconfig/ - Configuration files (non-Claude)agents/ - Claude Code configurationchore/ - Maintenance tasks (cleanup, file moves)CI/CD & DevOps:
ci/ - CI/CD pipeline changesdeploy/ - Deployment-specific changesExperimental:
spike/ - Research/proof-of-concept (not intended for merge)experiment/ - Experimental features (may be discarded)wip/ - Work in progress (explicit "not ready" signal)Structure: <prefix>/<short-description>
Rules:
add-feature, not adds-feature or adding-featurefeat/calculate-user-stats not feat/statsfeat/add-user-dashboard
feat/implement-search
enhance/improve-search-speed
enhance/add-sorting-options
fix/correctly-render-button
fix/handle-null-user
hotfix/patch-security-vulnerability
hotfix/restore-payment-flow
refactor/extract-auth-logic
refactor/simplify-validation
types/add-api-response-types
types/define-user-interfaces
perf/optimize-graph-rendering
perf/lazy-load-images
styles/update-button-colors
layout/make-nav-responsive
docs/add-api-examples
test/add-e2e-tests
deps/upgrade-svelte-5
config/update-prettier-rules
agents/add-roadmap-workflow
chore/remove-deprecated-code
spike/investigate-neo4j
feature/new-stuff # Vague, use feat/ not feature/
fix-button # Missing prefix separator
FIX/button-bug # Uppercase (should be lowercase)
feat/adding-dashboard # Not imperative (should be "add")
fix/bug # Not descriptive enough
refactor/fix-login # Wrong prefix (it's a fix, not refactor)
feat/user_dashboard # Underscores (should be hyphens)
For breaking changes, prefix the description with breaking-:
feat/breaking-api-redesign
refactor/breaking-rename-core-types
enhance/breaking-change-auth-flow
Why prefix not suffix:
git branch | grep breaking/)See breaking-changes.md for the full detection reference — what counts as breaking across APIs, types, schema, HTTP endpoints, config, and component props.
When creating a new branch, ask these questions in order:
feat/fix/ (or hotfix/ if critical)enhance/refactor/types/perf/styles/layout/docs/test/deps/, config/, build/, agents/ci/ or deploy/spike/ or experiment/chore/Styles vs Layout:
Use styles/ for:
Use layout/ for:
Multiple Changes in One Branch: Use the prefix for the PRIMARY purpose.
Examples:
feat/add-user-dashboardfix/handle-null-userenhance/improve-search-speed<type>(<scope>): <subject>
<body>
<footer>
Type: Same as branch prefixes (feat, fix, docs, etc.) Scope: Component/module affected (optional) Subject: Brief description (50 chars max) Body: Detailed explanation (optional, wrap at 72 chars) Footer: Breaking changes, issue references (optional)
Simple commit:
fix(auth): prevent token expiration race condition
With body:
feat(dashboard): add real-time activity feed
Implements WebSocket connection to stream user activities.
Includes reconnection logic and offline handling.
With footer:
fix(api): correct user data validation
BREAKING CHANGE: email field now required in user creation
Closes #123
Fixes #456
Subject line rules:
Good subjects:
fix(login): handle empty password field
feat(search): add fuzzy matching
refactor(db): extract connection pool logic
docs(readme): update installation steps
Bad subjects:
Fixed bug
Updated stuff
Changes to the user service
WIP - still working on this
Body rules:
Good body:
feat(export): add CSV export functionality
Users can now export their data as CSV files. This addresses
frequent requests from enterprise customers who need to import
data into their analytics tools.
The implementation uses streaming to handle large datasets
without memory issues.
One logical change per commit:
Good (atomic):
1. feat(user): add user profile endpoint
2. test(user): add profile endpoint tests
3. docs(api): document profile endpoint
Bad (mixed concerns):
1. feat(user): add profile endpoint, fix login bug, update dependencies
Commit often, push strategically:
# Local development: Commit frequently
git commit -m "feat(auth): add basic login form"
git commit -m "feat(auth): add form validation"
git commit -m "feat(auth): connect to API"
git commit -m "test(auth): add login tests"
# Before pushing: Consider squashing if appropriate
git rebase -i HEAD~4 # Interactive squash if needed
# Push clean history
git push origin feat/add-user-authentication
A github MCP server (@modelcontextprotocol/server-github, user-scoped) is available for GitHub operations — PRs, issues, repo metadata — as an alternative to shelling out to gh. Prefer the MCP tools when working with GitHub-hosted repos and structured data is useful (e.g. parsing PR review comments); gh remains fine for quick one-off CLI calls. Note: the server needs GITHUB_PERSONAL_ACCESS_TOKEN set to do anything beyond unauthenticated public reads.
Mechanical how-to and reference material, loaded only when needed:
Git workflow is successful when:
tools
{{ 𝚫𝚫𝚫 }} Rebuild roadmap-system.zip, the distributable snapshot of the roadmap tooling (scripts, HTML template, conventions reference, and every roadmap-touching skill, including this one).
tools
--- name: "Suggest: Task" description: "{{ 𝚫𝚫𝚫 }} Suggest the next logical task — grounded in the roadmap's pre-vetted ready-set when one exists, codebase analysis otherwise" when_to_use: "When you don't know what to work on next and want a grounded recommendation rather than picking arbitrarily." model: haiku effort: low disable-model-invocation: true allowed-tools: ["Read", "Glob", "Grep", "Bash(python3:*)", "Bash(npm:*)", "Bash(bun:*)", "Bash(pnpm:*)", "Bash(deno:*)"] argument-hint: [named
development
{{ 𝛀𝛀𝛀 }} Convert an old simple-style roadmap (single Markdown, four statuses, <a name> anchors, roadmaps.json pointer registry) into the rich phase-array format (roadmaps.json source of truth + PHASE task list + prose overview).
data-ai
{{ ƔƔƔ }} Create a pull request to main — wordy or shiny (with screenshots), ready-for-review or draft