dotfiles/.claude/skills/sphinx-docs-sync/SKILL.md
Two-way comparison and synchronization of Sphinx documentation across sibling projects. Discovers discrepancies in conf.py, install.md, index.md toctree, pyproject.toml docs dependencies, extra-deps sections, readme badges, and static assets. Use when you want to align documentation structure, catch stale dependencies, or push improvements across your Sphinx-enabled repositories.
npx skillsauth add kdeldycke/dotfiles sphinx-docs-syncInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
![ -d docs ] && echo "docs/ exists" || echo "No docs/ directory"
![ -f docs/conf.py ] && head -5 docs/conf.py || echo "No docs/conf.py"
!ls ../*/docs/conf.py 2>/dev/null | head -20 || echo "No sibling projects with docs/conf.py"
You audit Sphinx documentation consistency across sibling projects. Your goal is to find discrepancies in both directions: improvements this project can borrow from siblings, and improvements this project can push to siblings.
If $ARGUMENTS are provided, each argument can be a local directory path or a GitHub repository URL (e.g., https://github.com/owner/repo or owner/repo). For GitHub URLs, clone the repository into a temporary directory with gh repo clone. Otherwise, scan the parent directory of the current working directory for all projects that have a docs/conf.py file.
Filter out likely forks: check git remote get-url origin and skip projects whose upstream repo name doesn't match the directory name (e.g., a local click/ pointing to a fork of pallets/click). Focus on the user's own projects.
List the discovered projects and confirm with the user before proceeding.
For each project, collect (using parallel agents where possible):
docs/conf.pyRead the full file. Compare every setting, import, and extension list across projects. Look for:
tomli fallback when the minimum Python already ships tomllib).encoding parameters on read_text() calls.docs/index.mdCompare toctree structure (main and development sections), standard pages (contributing, changelog, code-of-conduct, license), and external links. Toctree entries should use the same ordering and emoji icons across projects.
docs/install.mdCompare sections across projects: installation method tabs, try-it-now examples, binaries/executables table, shell completion, extra-deps format, dependency graph. Not every section applies to every project (see guidelines).
pyproject.toml docs dependenciesCompare the docs dependency group across projects. Flag missing deps that are imported in conf.py but not declared, stale conditional dependencies (e.g., tomli when requires-python already guarantees tomllib), and significant version pin divergence.
readme.mdCompare badge sets, section structure (quick start, "Used in", "Development"). Flag "Development" sections that should be removed when a CLAUDE.md exists.
Compare docs/_static/, docs/assets/, .rst API doc files, and any docs_update.py scripts. Hunt for stale .rst files left over from package renames or previous autodoc runs that reference modules or packages that no longer exist.
Present findings as tables organized by category. For each discrepancy, indicate:
Use this format for each category:
### Category name
| Issue | Severity | Direction | Projects |
|:------|:---------|:----------|:---------|
| description | bug/align/enhance | borrow/push | list |
Group by:
conf.py settings)After presenting the report, ask the user which items to implement. When they confirm, make all the changes, grouping edits by project to minimize context switches.
click-extra[sphinx] and similar meta-extras before flagging loose pins.nuitka.enabled).[tool.repomatic] nuitka.enabled before suggesting a binaries section.pip install commands that should be uv tool install or uv pip install per claude.md § Prefer uv over pip in documentation.Suggest the user run:
/repomatic-audit to check broader workflow and config alignment across the same projects./repomatic-deps to analyze dependency graphs for projects with stale or divergent docs deps.tools
Create or update an upstream contributions page (docs/upstream.md) tracking the project's relationship with its dependencies. Discovers merged PRs, reported issues, workarounds, and declined features.
documentation
Detect stale translations in readme.*.md and contributing.*.md files by comparing structure and content against the English source, then draft updated translations for changed sections.
tools
Optimize GitHub topics for discoverability by analyzing competition on topic pages.
development
Run and write YAML test plans for compiled binaries.