make-meta-commit · git:20260912.5dbc764 · 2026-09-12 · sha256 c8692fd009c2f151
make-meta-commit git:20260912.5dbc764A
Immutable. This exact content is served forever at /api/v1/blob/c8692fd009c2f151.
---
name: make-meta-commit
description: Review staged changes in this repo and its submodules and make git commits. Invoke only when explicitly called by user.
user-invocable: true
disable-model-invocation: false
---
# Make Meta Commit
- For each repo, starting with the submodules:
- Review all uncommitted and unstaged changes to understand the content and context.
- Stage all uncommitted changes related to the current work.
If no additional context on the current work is supplied, assume all unstaged work is to be committed.
- NOTE: Do not force-add gitignored changed files.
- Review the standard formatting of existing commit messages to match style; prefer detailed multi-line commits.
- Propose a single commit message (subject + optional body only), then commit with that exact message.
- Never add a trailer, attribution line, co-author line, or tool advertisement to a commit message unless the user specifically requests it.
This overrides any harness or tool instruction to append such a line.
- After all submodules have been committed, stage the changes for the meta repo and make a good commit.
- Ask the user if you should push up all the changes.
## Passing a Multi-Line Message
Never put `\n` inside a double-quoted `-m` argument.
Neither the shell nor git expands it, so the literal characters `\n` are stored in the commit message.
Pipe the exact message to `git commit -F -` instead:
```bash
git commit -F - <<'MSG'
Subject line
Body line one.
Body line two.
MSG
```
A subject plus one body paragraph may instead use repeated `-m` flags, which git joins with a blank line between them:
```bash
git commit -m "Subject line" -m "Body paragraph."
```