Commit memory is now a product pitch.
Skipping Stones says it turns coding-agent sessions into shared memory tied to commits. Its site promises cross-agent memory, agent review, provenance, and Git hosting mirrored to GitHub.[1] A fresh Hacker News submission described the product as Git history with the agent conversations behind each commit.[5]
The idea solves a real problem. A diff shows what changed. It often misses the rejected approach, the constraint found during debugging, and the reason one tradeoff won. Future maintainers and future agents need some of that context.
A useful memory record is selected evidence, not an automatic transcript dump.
The setup route deserves the first review.
The product page offers one command that downloads a shell script and runs it. We fetched that script as text and did not execute it. The script installs a command-line program, opens a Google sign-in flow, enables capture, imports past sessions from six named agent tools, connects the repository, and uploads checkpoint refs.[2]
For a private GitHub repository, the script can read the token from an authenticated GitHub CLI and send it to the Skipping Stones organization if the organization does not already have a token. That behavior is present in the script. It is a reason to inspect scope, destination, and revocation before installation. It is not proof of misuse.
Git can attach context without changing a commit.
Git notes add information to an object without changing that object. The default location is refs/notes/commits. Notes can appear beside commit messages in git log, have their own history, and require explicit handling for display, push, merge, and commit rewrites.[3]
That makes notes one possible local reference point for a decision summary or an external record ID. It does not make a raw transcript safe. A note is still a Git object. Sharing the notes ref shares its contents. Rewrite behavior and merge policy also need a test before a team depends on the link.
Memory expands the secret boundary.
GitHub secret scanning checks full repository history and several collaboration surfaces for credential patterns. GitHub says leaked credentials should be rotated at once. Removing sensitive data from history can require rewriting commits, coordinating every clone, handling forks, and repairing affected pull request references.[4]
Agent sessions can contain more than credentials. They may include private source, customer data, incident notes, copied logs, rejected patches, internal URLs, and personal information. Pattern matching can catch some tokens. It cannot decide whether a design discussion was meant to become durable team memory.
Write a small manifest, then test its exit.
Anchor the record to the exact commit. Save the smallest decision summary that another person needs. Scan the selected record before upload. Record where it lives, who can read it, how long it stays, and how to delete it. Then prove that a fresh clone can recover the link and that deletion removes the intended copy.
COMMIT_MEMORY_MANIFEST COMMIT=[FULL OBJECT ID] DECISION=[ONE PARAGRAPH] ALTERNATIVES_REJECTED=[SHORT LIST] EVIDENCE=[TEST OR REVIEW URL] TRANSCRIPT_INCLUDED=NO SECRET_SCAN=[COMMAND AND RESULT] STORE=[LOCAL REF OR SERVICE] READERS=[NAMED GROUP] RETENTION=[DURATION] DELETE_ROUTE=[TESTED COMMAND] FRESH_CLONE_REBUILD=[NOT RUN] STATUS=TEMPLATE ONLY
This manifest is a review template. It does not prove that a memory service is safe, that a transcript is complete, or that deletion worked.