skills/.curated/git-commit-signing/SKILL.md
Configure and manage git commit signing per repository with the correct user identity and signing method (GPG, SSH, or S/MIME). Use when setting up commit signing for a new repo, switching identities between work/personal projects, troubleshooting signing failures, or enforcing signed commits across a team.
npx skillsauth add guicedee/ai-rules git-commit-signingInstall 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.
Set up and manage cryptographic commit signing with the right identity for every repository.
user.name and user.email at the repo level (not global) to avoid cross-contamination.# Show current repo remote + identity
git remote -v
git config user.name
git config user.email
git config commit.gpgsign
git config gpg.format
Determine from the remote URL whether this is a personal, work, or open-source project and select the matching identity.
Always set identity at the local (repo) level to prevent leaking the wrong email:
git config --local user.name "Your Name"
git config --local user.email "[email protected]"
# List available GPG keys
gpg --list-secret-keys --keyid-format=long
# Configure git to use GPG
git config --local gpg.format openpgp
git config --local user.signingkey <KEY-ID>
git config --local commit.gpgsign true
git config --local tag.gpgsign true
# (Optional) tell git where gpg lives
git config --local gpg.program "gpg" # Linux/macOS
git config --local gpg.program "gpg.exe" # Windows — or full path
# List available SSH keys
ls -la ~/.ssh/*.pub
# Configure git to use SSH signing
git config --local gpg.format ssh
git config --local user.signingkey ~/.ssh/id_ed25519.pub # path to your PUBLIC key
git config --local commit.gpgsign true
git config --local tag.gpgsign true
# (Recommended) set allowed-signers for local verification
echo "[email protected] $(cat ~/.ssh/id_ed25519.pub)" >> ~/.config/git/allowed_signers
git config --local gpg.ssh.allowedSignersFile ~/.config/git/allowed_signers
git config --local gpg.format x509
git config --local user.signingkey <CERTIFICATE-ID>
git config --local commit.gpgsign true
git config --local tag.gpgsign true
# Create a signed test commit
echo "test" >> .git/signing-test && git add .git/signing-test
git commit --allow-empty -S -m "chore: test commit signing"
# Verify the signature
git log --show-signature -1
# Clean up
git reset --soft HEAD~1
For developers who contribute to many repos under different identities, use conditional includes in ~/.gitconfig:
# ~/.gitconfig (global)
[user]
name = Default Name
email = [email protected]
# Work repos live under ~/work/
[includeIf "gitdir:~/work/"]
path = ~/.gitconfig-work
# Personal repos live under ~/personal/
[includeIf "gitdir:~/personal/"]
path = ~/.gitconfig-personal
# ~/.gitconfig-work
[user]
name = Work Name
email = [email protected]
signingkey = <WORK-KEY-ID>
[commit]
gpgsign = true
[gpg]
format = openpgp
# ~/.gitconfig-personal
[user]
name = Personal Name
email = [email protected]
signingkey = ~/.ssh/id_ed25519.pub
[commit]
gpgsign = true
[gpg]
format = ssh
--local or includeIf.gpg.program / gpg.ssh.program).git log --show-signature -1.Configure signing for the current repo interactively:
bash scripts/configure_signing.sh
PowerShell equivalent for Windows:
pwsh scripts/configure_signing.ps1
Verify that the current repo's signing is working:
bash scripts/verify_signing.sh
references/signing-methods.mddevelopment
Install Codex skills into $CODEX_HOME/skills from a curated list or a GitHub repo path. Use when a user asks to list installable skills, install a curated skill, or install a skill from another repo (including private repos).
tools
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Codex's capabilities with specialized knowledge, workflows, or tool integrations.
development
WebAwesome icon integration for JWebMP — modern, open-source icon library. Provides 1,500+ icons with solid/regular styles, sizing, rotation, animation, and CSS utilities. Drop-in FontAwesome alternative with fresh designs. Use when working with WebAwesome icons, modern icon designs, or as FontAwesome alternative in JWebMP applications.
development
WebAwesome Pro integration for JWebMP with premium icons and features. Extends jwebmp-webawesome with additional styles, premium icons, and advanced features. Use when working with WebAwesome Pro icons or premium WebAwesome features in JWebMP applications.