Claude-skill-registry julien-dev-commit-message

Generate semantic commit messages and create git commits. Handles OneDrive mmap errors automatically. Use when user wants to commit, needs a commit message, or git commit fails.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/julien-dev-commit-message" ~/.claude/skills/majiayu000-claude-skill-registry-julien-dev-commit-message && rm -rf "$T"
manifest: skills/data/julien-dev-commit-message/SKILL.md
source content

Commit Message Generator

Generate semantic commit messages and create git commits. Automatically handles OneDrive mmap errors.

Observability

First: At the start of execution, display:

🔧 Skill "julien-dev-commit-message" activated

Quick Reference

<type>(<scope>): <description max 50 chars>

<body explaining why>

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>

Commit Types

TypeWhen to Use
feat
New feature
fix
Bug fix
docs
Documentation only
refactor
Code restructure (no functional change)
style
Formatting (no code change)
test
Adding/updating tests
chore
Maintenance, dependencies

Execution Process

Step 1: Analyze Changes

git status
git diff --cached --stat
git diff --cached
git log --oneline -5

Step 2: Generate Message

  1. Identify type from changes (feat/fix/docs/etc.)
  2. Identify scope from file paths
  3. Write description (≤50 chars, imperative mood)
  4. Write body explaining WHY (not what)

Step 3: Present to User

## Proposed Commit

\`\`\`
feat(api): add user authentication endpoint

- Implemented JWT token generation
- Added password hashing with bcrypt
- Created login/logout routes

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
\`\`\`

**Ready to commit?** Run:
\`\`\`bash
git add -A && git commit -m "$(cat <<'EOF'
feat(api): add user authentication endpoint

- Implemented JWT token generation
- Added password hashing with bcrypt
- Created login/logout routes

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
EOF
)"
\`\`\`

Step 4: Wait for Approval

NEVER commit automatically. Always wait for user to execute the command.

OneDrive Error Handling

If

git commit
fails with
fatal: mmap failed: Invalid argument
:

Automatic Detection

Check if repo is in OneDrive:

pwd | grep -i onedrive && echo "OneDrive detected"

Workaround: Git Plumbing Commands

# 1. Configure memory limits
git config core.packedGitWindowSize 1m
git config pack.windowMemory 1m

# 2. Create blob objects
SHA=$(git hash-object -w path/to/file)

# 3. Update index
git update-index --add --cacheinfo 100644,$SHA,path/to/file

# 4. Create tree
TREE=$(git write-tree)

# 5. Get parent
PARENT=$(git rev-parse HEAD)

# 6. Create commit
COMMIT=$(echo "your message" | git commit-tree $TREE -p $PARENT)

# 7. Update branch
git update-ref refs/heads/$(git branch --show-current) $COMMIT

Alternative

If plumbing fails, recommend:

  • Git GUI (included with Git for Windows)
  • GitHub Desktop
  • VSCode Source Control

Security Checks

Warn if staged files contain:

  • .env
    files
  • credentials.json
  • API keys, tokens
  • Private keys (
    .pem
    ,
    .key
    )

Checklist

Before presenting:

  • Type matches changes
  • Description ≤50 chars, imperative mood
  • Body explains WHY
  • No secrets in staged files
  • Attribution included
  • Command provided (not auto-committed)

Skill Chaining

Input Expected

  • Git repository with staged or unstaged changes

Output Produced

  • Format: Commit message + git command to execute
  • Side effects: None until user executes command

Tools Used

  • Bash
    (git status, git diff, git log)
  • Read
    (if needed to understand file changes)