git-workflow calls itself a router but named two of the six domains it routes to; the other four appeared nowhere in the file. All six are now named, with a routing table in the always-loaded body. git-submodules lost the foreach shell-variable semantics -- only the bare names survived, though $sm_path and $displaypath differ solely by which directory you are in. The table is back. Its relocated commands had also dropped the rtk git prefix its own SKILL.md mandates; 24 of them are re-prefixed. The wider rtk inconsistency across the plugin stays with #113. Also restores git-commits' body and footers output fields, git-branches' tag/ branch detection commands, git-worktrees' git config --worktree, pc-run's ambiguity fallback, git-remotes' git-history boundary, and git-history's pickaxe triggers. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EJJrm5YmacbwMdzZpXcoti
36 lines
2.0 KiB
Markdown
36 lines
2.0 KiB
Markdown
# git-submodules
|
|
|
|
Add, initialize, update, pin, inspect, and remove git submodules in multi-repository projects.
|
|
|
|
## What it does
|
|
|
|
This skill handles submodule operations within the git workflow suite: cloning a superproject with
|
|
its nested repositories, adding a dependency as a submodule, initializing and updating with
|
|
pinning or branch tracking, parallel and recursive traversal, rebinding URLs and tracked branches,
|
|
and the full removal sequence including the `.git/modules/` cleanup git leaves behind. It returns
|
|
structured results suitable for agent composition.
|
|
|
|
It sits alongside the other git skills rather than duplicating them: `git-worktrees` covers
|
|
multiple checkouts of a single repository, and `git-remotes` covers the superproject's own remotes.
|
|
|
|
## Usage
|
|
|
|
```
|
|
/git-submodules
|
|
```
|
|
|
|
Describe the submodule task. The skill applies the shared working rules, dispatches to the
|
|
reference for that task, and returns structured results (operation, status, per-submodule details,
|
|
conflicts, and a recovery `next_step` when applicable).
|
|
|
|
## Files
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| `SKILL.md` | Skill instructions for agents — gotchas, shared working rules, and the task dispatch table |
|
|
| `references/README.md` | Describes contents of references/ |
|
|
| `references/setup-and-update.md` | Loaded when cloning a superproject, adding a submodule, initializing, updating, or re-pinning one, or running a command across all of them — includes the full `add` and `update` flag tables, the pinning workflows, and the `foreach` shell-variable table |
|
|
| `references/urls-and-config.md` | Loaded when changing where a submodule points or how it is configured — `.gitmodules` vs `.git/config` anatomy, both key tables, `sync`/`set-url`/`set-branch`, local mirror overrides, relative URLs, the custom-`update` security gate, and `absorbgitdirs` |
|
|
| `references/removal.md` | Loaded when removing or deinitializing a submodule — why `deinit` is not removal, and the four-step removal sequence |
|
|
| `references/sources.md` | Research sources and provenance |
|