← ClaudeAtlas

doc-synclisted

Sync all project docs after a code change — scans every doc for stale references, updates affected sections. Triggers: "sync docs" | "update docs" | "doc sync" | "sync plugin docs" | "update skill docs" | "update the docs".
Roxabi/roxabi-plugins · ★ 9 · AI & Automation · score 77
Install: claude install-skill Roxabi/roxabi-plugins
# Doc Sync Let: δ := change description | K := keywords from δ (tools, config fields, CLI flags, paths, functions) SRC ∈ {working-tree, staged, last-commit} | D := {doc files referencing K} EDITED := [] — accumulator of modified files Code change → find **every** doc referencing affected concepts → update. **⚠ Continuous pipeline. Stop only on: Cancel or Phase 6 completion.** ``` /doc-sync → auto-detect from working tree or last commit /doc-sync "gitleaks → trufflehog" → user-supplied description ``` ## Phase 1 — Parse Input δ := `$ARGUMENTS` ∨ derive from git (first non-empty wins): ```bash git diff --stat # 1. unstaged git diff --cached --stat # 2. staged git diff HEAD~1..HEAD --stat && git log -1 --format="%s%n%b" # 3. last commit ``` Record SRC. ¬δ after scan → → DP(B) describe change. ## Phase 2 — Discover Context **2a.** `cat .claude/stack.yml 2>/dev/null` → ∃ `docs.path` → DOCS_ROOT = docs.path; else project root. **2b.** `ls .claude-plugin/marketplace.json 2>/dev/null` → ∃ → `PLUGINS_REPO=$(pwd)`. Skip to 2d. **2c.** Locate plugin repo: ```bash [ -n "$ROXABI_PLUGINS_DIR" ] && echo "$ROXABI_PLUGINS_DIR" for d in ../*/; do [ -f "${d}.claude-plugin/marketplace.json" ] && [ -d "${d}plugins" ] && echo "$d" && break; done ``` First hit → `PLUGINS_REPO`. ¬found → warn + skip plugin docs. **2d.** Plugin name: ```bash REPO=$(gh repo view --json name --jq '.name') ls "$PLUGINS_REPO/plugins/" ``` Exact ∨ kebab-case