git-commit-messages

📁 boneskull/claude-plugins 📅 6 days ago
3
总安装量
2
周安装量
#58098
全站排名
安装命令
npx skills add https://github.com/boneskull/claude-plugins --skill git-commit-messages

Agent 安装分布

opencode 2
gemini-cli 2
claude-code 2
github-copilot 2
codex 2
kimi-cli 2

Skill 文档

Git Commit Message Formatting

When to Use This Skill

Use this skill when creating git commits with the Bash tool, especially for commits with:

  • Multi-line messages
  • Body text or explanations
  • Co-authored-by footers
  • Claude Code attribution

Core Principle

Avoid HEREDOC syntax – Use -m with multiline strings instead.

Pattern to Follow

✅ DO – Use multiline string with -m

git commit -m "feat(github): add github plugin

This adds comprehensive GitHub workflow support including
commands for PR management and review workflows.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>"

Key points:

  • Single -m flag with entire message in quotes
  • Newlines preserved within the quoted string
  • No special syntax or escaping needed
  • Works reliably across all environments

❌ DON’T – Use HEREDOC syntax

# This FAILS in Claude Code's Bash tool
git commit -m "$(cat <<'EOF'
feat(github): add github plugin

This adds comprehensive GitHub workflow support.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"

Why this fails:

  • HEREDOC syntax has shell interpretation issues
  • Fails in certain execution contexts
  • More complex than necessary
  • Unreliable across environments

Examples

Simple commit

git commit -m "fix: resolve path configuration issue"

Commit with body

git commit -m "feat: add progressive disclosure pattern

Skills now support references/ subdirectory for
detailed documentation that loads on-demand."

Full conventional commit

git commit -m "feat(tools): add git commit message skill

This skill teaches Claude to format git commit messages
using multiline strings instead of HEREDOC syntax, which
fails in certain shell environments.

The pattern uses a single -m flag with the entire message
in quotes, preserving newlines naturally."

Why It Matters

Using -m with multiline strings is:

  • Reliable: Works consistently in all environments
  • Simple: No complex shell syntax needed
  • Portable: Standard git behavior
  • Direct: Git handles newlines correctly

HEREDOC syntax causes issues because:

  • Shell interpretation varies by environment
  • Execution context in Claude Code differs from terminal
  • Quote handling becomes complex
  • Unnecessary complexity for the task

Quick Reference

  • One -m flag
  • Entire message in double quotes
  • Newlines work naturally
  • No HEREDOC needed