Nicholai eb7ce4f0ba Add algorithmic-art skill, assets, and many new skills to .claude
- Add algorithmic-art skill with license, template, and viewer.
- Add artifacts-builder skill with scripts and components.
- Add brand-guidelines skill with license.
- Add canvas-design skill with fonts and license.
- Add content-research-writer skill.
- Add doc-coauthoring skill.
- Add PDF, PPTX, XLSX skill assets.
- Update ecosystem manifest and assets.

Signed by Hubert The Eunuch
2026-01-18 08:26:05 -07:00

2.5 KiB

name description
submodule Add git submodules with proper registration, verification, and optional commit

Git Submodule Workflow

Add git submodules correctly with full verification to prevent registration issues.

Usage

  • /submodule <url> <path> - Add submodule with specified URL and path
  • /submodule - Interactive mode, will prompt for URL and path

Workflow

Step 1: Gather Information

If not provided, ask the user for:

  • Repository URL (required) - The git repository to add as submodule
  • Target path (required) - Where to place the submodule (relative to project root)

Step 2: Pre-flight Checks

Before adding, verify:

# Check if path already exists
ls -la <path> 2>/dev/null && echo "WARNING: Path exists"

# Check if already in .gitmodules
grep -q "<path>" .gitmodules 2>/dev/null && echo "WARNING: Already in .gitmodules"

# Check current submodule status
git submodule status

If path exists but isn't a proper submodule, it may need cleanup first.

Step 3: Add Submodule

git submodule add <url> <path>

Step 4: Verify Registration (4-Point Check)

All four checks must pass:

# 1. Check .gitmodules has entry
grep -A2 "<path>" .gitmodules

# 2. Check git submodule status shows it
git submodule status | grep "<path>"

# 3. Check .git/modules/<path>/ exists
ls .git/modules/<path>/

# 4. Check submodule has proper .git file
cat <path>/.git
# Should show: gitdir: ../../.git/modules/<path>

Step 5: Recovery (If Verification Fails)

If the submodule exists but isn't registered:

# Remove from index without deleting files
git rm --cached <path>

# Re-add properly
git submodule add <url> <path>

If .gitmodules entry exists but submodule isn't in index:

# Re-register existing directory
git submodule add <url> <path>

Step 6: Stage and Review

# Check what's staged
git status

# Should show:
#   new file:   .gitmodules (if first submodule or modified)
#   new file:   <path>

Step 7: Commit (Optional)

If user wants to commit:

git commit -m "chore: add <name> git submodule at <path>"

Common Issues

Issue Cause Fix
"already exists in index" Path was added but not as submodule git rm --cached <path> then re-add
Shows as untracked directory Submodule not in git index Run git submodule add on existing dir
Warning about embedded repo Directory has .git but not registered Use git submodule add not git clone