docs-submodule-manager

📁 twofourlabs/agent-docs 📅 Jan 28, 2026
4
总安装量
4
周安装量
#47864
全站排名
安装命令
npx skills add https://github.com/twofourlabs/agent-docs --skill docs-submodule-manager

Agent 安装分布

cursor 4
claude-code 4
mcpjam 2
roo 2
junie 2
windsurf 2

Skill 文档

Docs Submodule Manager

Manage documentation stored in the docs/ git submodule with proper structure, syncing, and version control.

Overview

This skill automates the workflow for working with the docs/ submodule:

  • Ensures submodule is initialized
  • Maintains structured documentation (solutions/specs/feature)
  • Syncs with remote before changes
  • Commits both in submodule and parent repo

Workflow

Step 1: Ensure Submodule is Initialized

Check if the docs/ directory exists and is initialized:

# Check if docs directory is a git repository
if [ ! -d "docs/.git" ]; then
  # Try npm run setup if it exists
  if grep -q '"setup"' package.json 2>/dev/null; then
    npm run setup
  else
    # Fallback to git submodule commands
    git submodule update --init --recursive
  fi
fi

Step 2: Determine Directory Structure

Navigate to docs/<repo-name>/ where <repo-name> is the parent repository name.

Get repo name:

# Extract repo name from git remote URL
REPO_NAME=$(basename $(git rev-parse --show-toplevel))

Choose appropriate directory based on content type:

Directory Purpose Examples
solutions/<issue>/ Bug fixes, workarounds, issue documentation android-build-failure/, navigation-crash/
specs/<feature>/ Technical specs, implementation plans, progress tracking chat-refactor/, offline-sync/
feature/<feature-name>/ PRDs, product requirements, user stories voice-messaging/, payment-integration/

For detailed guidance and examples, see structure-guide.md.

Standard files for specs/:

  • implementation-plan.md – Initial technical plan
  • progress.md – Development tracking (use for features with 5+ todos)

If content doesn’t fit these categories, create a descriptive directory (e.g., research/, rfcs/, architecture/).

Step 3: Create/Modify Documentation

Create the necessary directory structure and files:

cd docs/$REPO_NAME

# Create directory if needed (example for specs)
mkdir -p specs/<feature-name>

# Create or edit the file
# Use Write or Edit tools to create/modify the documentation

Step 4: Sync and Commit

Inside the docs submodule:

cd docs

# Sync from remote master first
git fetch origin
git pull origin master

# Stage and commit changes
git add .
git commit -m "doc: added spec for <feature-name>"
# OR
git commit -m "doc: update progress for <feature-name>"

# Push to remote
git push origin master

In the parent repository:

cd ..  # Return to parent repo root

# Commit the submodule update
git add docs
git commit -m "doc: update docs submodule for <feature-name>"

Commit message format:

  • Adding new docs: doc: added spec for <feature-name>
  • Updating docs: doc: update progress for <feature-name>
  • Solutions: doc: added solution for <issue-name>
  • Features/PRDs: doc: added PRD for <feature-name>

Error Handling

If submodule pull fails due to conflicts:

  • Alert user about the conflict
  • Ask whether to stash local changes or manually resolve
  • Do not force push or reset without explicit permission

If docs directory structure doesn’t exist:

  • Create docs/<repo-name>/ if it doesn’t exist
  • Create the appropriate subdirectory (solutions/specs/feature)

If unable to determine appropriate directory:

  • Ask user which category fits best
  • Suggest creating a new category if none fit

Resources

references/structure-guide.md

Detailed documentation structure guide with:

  • Complete directory layout
  • When to use each category (solutions/specs/feature)
  • Naming conventions
  • Examples for each category
  • Guidelines for creating dynamic directories