| name | commit-all-repos |
| description | Iterate through all sub-repos in repos/ and stage/commit/push each one, then do the same for the master repo |
| user-invocable | true |
| origin | template |
Commit All Repos
Iterate through every sub-repo in repos/ and stage, commit, and push changes in each one individually, then do the same for the master repo last.
Order of Operations
- Sub-repos first — iterate through each directory in
repos/*/ that is a git repository
- Master repo last — commit root-level changes after all sub-repos are done
For Each Sub-Repo
For each directory under repos/<name>/ that is a git repository (has a .git directory):
Note: Skip type: local entries from repos/repos.yaml — local source folders have no git history of their own. Their changes are committed via the root repo's /commit skill.
cd into the repo directory
- Run
git status (never use -uall) — if no changes, skip it
- Run
git diff to review what changed
- Run
git log --oneline -5 to match that repo's commit message style
- Read the sub-repo's agentic instructions if they exist (in priority order):
CLAUDE.md in the sub-repo root
AGENTS.md in the sub-repo root
.github/copilot-instructions.md in the sub-repo
- These instructions take precedence over root-level instructions for that repo's commit
- Follow the sub-repo's commit message guidelines if they define any; otherwise fall back to the root
.claude/prompt-snippets/commit-message.md
- Stage relevant files using explicit paths — never
git add -A
- Create the commit
- Run
git push to push the commit to the remote
- Run
git status to verify
For the Master Repo
After all sub-repos are committed:
- Run the
/commit skill for the root workspace (which excludes repos/)
- If there are no root-level changes, skip — don't create an empty commit
Notes
- Report a summary at the end: which repos had commits, which were skipped (clean), and any errors
- If a sub-repo has no changes, skip it silently — don't create empty commits
- If a pre-commit hook fails in a sub-repo, report the error and continue to the next repo
- Never force-push or amend existing commits in sub-repos