From git-workflow
Git workflow automation with Jira integration and Conventional Commits. Use when the user requests to: (1) Create commits, (2) Create or publish Merge Requests/Pull Requests on GitLab, (3) Validate commit messages, (4) Check commit formatting, (5) Perform commit+push+MR workflow, (6) Mentions Jira IDs in commits, or (7) References Conventional Commits format. Handles automatic Jira ID extraction from branch names and enforces commit message format type(scope): JIRA-ID message.
npx claudepluginhub xantygc/agent-code-marketplace --plugin git-workflowThis skill uses the workspace's default tool permissions.
Automate Git workflows following Conventional Commits with mandatory Jira ID prefixes for GitLab projects.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Automate Git workflows following Conventional Commits with mandatory Jira ID prefixes for GitLab projects.
When the user requests a commit:
Extract Jira ID from current branch name:
python scripts/extract_jira_id.py
If extraction fails (exit code 1), ask the user for the Jira ID.
Determine commit type and scope:
Draft commit message following this format:
type(scope): JIRA-ID description
[Optional body with details]
Rules:
Validate message before committing:
python scripts/validate_commit_message.py "commit message"
Create the commit:
git add <files>
git commit -m "$(cat <<'EOF'
type(scope): JIRA-ID description
Detailed description if needed.
EOF
)"
When the user requests to create an MR (with or without prior commit):
Ensure changes are committed (follow commit workflow above if needed)
Push to remote:
git push -u origin HEAD
Generate MR description using the template in assets/mr-template.md:
Create MR using GitLab CLI:
gitlab mr create --title "Brief title" --description "$(cat <<'EOF'
[MR description from template]
EOF
)"
Or use gh command if configured for GitLab.
When the user requests "commit and create MR" or similar:
Run these sequentially, not in parallel (commit must complete before push/MR).
When the user wants to validate commits in the current branch:
bash scripts/validate_branch_commits.sh [base_branch]
This validates all commits in the current branch against main/master (or specified base branch).
Common scopes by area:
ui, components, styles, routesapi, auth, db, models, servicesdocker, k8s, ci, deployunit, integration, e2eChoose the most specific scope that accurately describes the change.
For backward-incompatible changes, add in commit body:
BREAKING CHANGE: Description of what breaks and how to migrate.
If a single request involves multiple logical changes:
All scripts are in the scripts/ directory:
extract_jira_id.py: Extract Jira ID from branch name
python scripts/extract_jira_id.py [branch_name]validate_commit_message.py: Validate single commit message
python scripts/validate_commit_message.py "message"validate_branch_commits.sh: Validate all commits in branch
bash scripts/validate_branch_commits.sh [base_branch]User: "Create a commit with these changes"
Steps:
python scripts/extract_jira_id.py → "PROJ-123"fix(api): PROJ-123 handle null response in user endpointpython scripts/validate_commit_message.py "fix(api): PROJ-123 handle null response in user endpoint"User: "Commit these changes and create a merge request"
Steps:
git push -u origin HEADUser: "Check if my commits follow the correct format"
Steps:
bash scripts/validate_branch_commits.sh