# GIT Notes

Use when adding metadata to commits without changing history, tracking review status...

- Repository: https://github.com/NeoLabHQ/context-engineering-kit (1797 stars)
- Category: Testing
- License: GPL-3.0
- Last updated: 2026-08-26
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add NeoLabHQ/context-engineering-kit --skill git-notes -g -a claude-code -y`
Codex: `npx skills add NeoLabHQ/context-engineering-kit --skill git-notes -g -a codex -y`
Cursor: `npx skills add NeoLabHQ/context-engineering-kit --skill git-notes -g -a cursor -y`
Gemini CLI: `npx skills add NeoLabHQ/context-engineering-kit --skill git-notes -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add NeoLabHQ/context-engineering-kit`

## Description

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.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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

The rest: https://github.com/NeoLabHQ/context-engineering-kit/blob/HEAD/antigravity/skills/git-notes/SKILL.md
