Use when adding metadata to commits without changing history, tracking review status, test results, code quality annotations, or supplementing commit messages post-hoc - provides git notes commands and patterns for attaching non-invasive metadata to Git objects.
View on GitHubFebruary 2, 2026
Select agents to install to:
npx add-skill https://github.com/NeoLabHQ/context-engineering-kit/blob/main/plugins/git/skills/notes/SKILL.md -a claude-code --skill notesInstallation paths:
.claude/skills/notes/# Git Notes ## Overview Git notes attach metadata to commits (or any Git object) without modifying the objects themselves. Notes are stored separately and displayed alongside commit messages. **Core principle:** Add information to commits after creation without rewriting history. ## Core Concepts | Concept | Description | |---------|-------------| | **Notes ref** | Storage location, default `refs/notes/commits` | | **Non-invasive** | Notes never modify SHA of original object | | **Namespaces** | Use `--ref` for different note categories | | **Display** | Notes appear in `git log` and `git show` output | ## Quick Reference | Task | Command | |------|---------| | Add note | `git notes add -m "message" <sha>` | | View note | `git notes show <sha>` | | Append | `git notes append -m "message" <sha>` | | Edit | `git notes edit <sha>` | | Remove | `git notes remove <sha>` | | Use namespace | `git notes --ref=<name> <command>` | | Push notes | `git push origin refs/notes/<name>` | | Fetch notes | `git fetch origin refs/notes/<name>:refs/notes/<name>` | | Show in log | `git log --notes=<name>` | For complete command reference, see `references/commands.md`. ## Essential Patterns ### Code Review Tracking ```bash # Mark reviewed git notes --ref=reviews add -m "Reviewed-by: Alice <alice@example.com>" abc1234 # View review status git log --notes=reviews --oneline ``` ### Sharing Notes ```bash # Push to remote git push origin refs/notes/reviews # Fetch from remote git fetch origin refs/notes/reviews:refs/notes/reviews ``` ### Preserving Through Rebase ```bash git config notes.rewrite.rebase true git config notes.rewriteMode concatenate ``` ## Common Mistakes | Mistake | Fix | |---------|-----| | Notes not showing in log | Specify ref: `git log --notes=reviews` or configure `notes.displayRef` | | Notes lost after rebase | Enable: `git config notes.rewrite.rebase true` | | Notes not on remote | Push explicitly: `git push origin refs/notes/commits` | | "Note alread