Always invoke this skill for any git-related request (commit messages, staging review, history, PR descriptions, etc.) so git workflows are handled consistently.
Install with Tessl CLI
npx tessl i github:ceshine/ceshine-agent-skills --skill git-workflow77
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
Generate comprehensive pull request descriptions by analyzing git state: staged changes, commit history, and diffs between commits or branches.
Try tools with these stems in their names first. Fall back to bash if unavailable (see Error Handling section for procedure):
MCP tools (preferred):
git-diff(ancestor) - Get diff from ancestor commit/branch to HEADgit-cached-diff() - Get staged (cached) changesgit-commit-messages(ancestor) - Get commit messages from ancestor to HEADIMPORTANT: Tool names may have prefixes (e.g.,
git-tools_git-diff) depending on the runtime environment. Always check available tools first.
Bash fallbacks:
git diff <ancestor>..HEAD # Diff between ancestor and HEAD
git diff --cached # Staged changes only
git log <ancestor>..HEAD # Commit messages from ancestor to HEADPerform a code review of staged modifications:
git-cached-diff() or git diff --cachedPresent findings clearly, distinguishing between blocking issues and optional suggestions.
Extract commit messages to understand the history:
MCP: git-commit-messages(ancestor="<commit-or-branch>")
Bash: git log <commit-or-branch>..HEAD
Returns commit hashes and messages, useful for:
Create a descriptive commit message based on staged changes through an iterative review process:
git-commit-messages(ancestor="HEAD~2")) to ensure historical context../cache/commit_message.txt in the conventional commit format (remove the file if it already exists before attempting to write to it):
<type>(<scope>): <subject>
<body>
<footer>Use the diff and recent commits to compose a structured PR body:
origin/main).Format suggestions:
## Summary
[Commit-driven overview]
## Key Changes
- `[File]`: [Primary modification]
- ...origin/main or main).git-diff(ancestor="origin/main") and git-commit-messages(ancestor="origin/main") to gather the data.If git MCP tools are unavailable:
If git commands fail:
1462f26
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.