plugins/git-workflow/skills/professional-commit-workflow/SKILL.md
Creates professional git commits with automated pre-commit checks for Java, Python, React, and documentation projects. Generates emoji conventional commit messages and analyzes staging status. Produces atomic commits following best practices.
npx skillsauth add talent-factory/claude-plugins professional-commit-workflowInstall 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.
This skill automates the complete Git commit workflow with professional quality checks and conventional commit messages. It replaces the /git-workflow:commit command with a reusable, distributable skill.
Special Features:
Required:
Optional (for specific validations):
# Install Python dependencies
pip install -r requirements.txt --break-system-packages
User initiates commit: "Create a commit" or "Commit the changes"
Detect options:
--no-verify: Skips pre-commit checks--skip-tests: Skips tests only--force-push: Force push after commit (use with caution!)Execute project detection:
python scripts/project_detector.py
Automatically detects:
Pre-commit validation (unless --no-verify):
python scripts/main.py --validate-only
Executes project-specific checks:
Staging analysis:
python scripts/git_analyzer.py --analyze-staging
git status for staged filesDiff analysis:
python scripts/git_analyzer.py --analyze-diff
git diff for logical changesGenerate commit message:
python scripts/commit_message.py --generate
<emoji> <type>: <description>Create commit:
git commit -m "$(python scripts/commit_message.py --output)"
Optional: Offer push:
git push origin <branch>
# Standard commit workflow
python scripts/main.py
# Validation only (no commit)
python scripts/main.py --validate-only
# Skip checks
python scripts/main.py --no-verify
# Skip tests
python scripts/main.py --skip-tests
# With force push
python scripts/main.py --force-push
Successful workflow:
Project detected: React/TypeScript
Pre-commit checks passed (3/3)
ESLint: 0 errors
TypeScript: Compilation successful
Build: Successful
Staging analysis: 5 files ready
Commit type detected: feat
Commit created: feat: Add user dashboard with metrics
On validation failures:
Pre-commit checks failed (1/3)
ESLint: 0 errors
TypeScript: 2 errors found
- src/components/Dashboard.tsx:12 - Type 'string' is not assignable to type 'number'
Build: Successful
Commit aborted. Please fix errors or use --no-verify.
Defines emoji mappings for Conventional Commits:
{
"feat": {"emoji": "✨", "description": "New functionality"},
"fix": {"emoji": "🐛", "description": "Bug fix"},
"docs": {"emoji": "📚", "description": "Documentation"}
}
Project-specific validation rules:
{
"java": {
"build": true,
"tests": true,
"checkstyle": true
},
"python": {
"ruff": true,
"black": true,
"pytest": true,
"mypy": true
}
}
Validation errors:
--no-verify optionGit errors:
Tool not found:
Atomic commits:
Meaningful messages:
Code quality:
Complete guidelines: docs/best-practices.md
documentation
Creates comprehensive handoff documentation before a /compact operation, enabling a new agent with fresh context to seamlessly continue the work. Activate when the user says "prepare a handoff", "document before compact", "context is getting too large", "I need to hand this off", "create a handoff document", "end of session notes", or "document the current state for tomorrow". Supports --output and --linear-issue options.
documentation
Collects completed tasks, GitHub activity, calendar meetings, wiki learnings, and Linear progress for the past week, then writes a structured retrospective to the Obsidian vault. Activate when the user runs "/weekly-review", asks "what did I accomplish this week", "weekly retrospective", "summarise my week", or "prepare weekly review". Works from any directory.
development
Produces a prioritised daily briefing by aggregating tasks from Obsidian TaskNotes, Google Calendar, Gmail, Linear, and GitHub, then writes the result to today's daily note in the Obsidian vault. Activate when the user runs "/today", asks "what's on my plate today", "give me my daily briefing", "what do I need to do today", or "morning briefing". Works from any directory without requiring Obsidian to be running.
tools
Provides a quick status snapshot of all GitHub repositories in a configured organisation — active, dormant, stalled — plus open pull requests and issues. Terminal output only, optimised for speed. Activate when the user runs "/project-pulse", asks "what is the status of my GitHub projects", "show me my repos", "which projects are active", "project overview", "GitHub pulse", or "what is happening in [org]". Works from any directory.