Agent skill

Docs Sync Checker

by notque in notque/vexjoy-agent

Detect documentation drift against filesystem state. An agent skill from notque/vexjoy-agent.

MITAuto-check: notesDevelopment

Install Docs Sync Checker

skills CLI
$ npx skills add notque/vexjoy-agent --skill docs-sync-checker -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install notque/vexjoy-agent docs-sync-checker --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/meta/docs-sync-checker .claude/skills/docs-sync-checker && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
docs-sync-checker
GitHub stars
435
Token cost
~2.7k tokens
SKILL.md length
1,270 words
Files
10 (incl. scripts, references)
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Detect documentation drift against filesystem state. An agent skill from notque/vexjoy-agent.

  • Works in 4 steps: SCAN → CROSS-REFERENCE → DETECT → …
  • Development work in your project
  • SKILL.md covers Instructions, Error Handling and Deep References
  • Runs Python scripts from its folder; calls python3

What it does

Docs Sync Checker is an agent skill from notque/vexjoy-agent. Detect documentation drift against filesystem state.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 11 other files, including scripts and reference files (for example `references/documentation-structure.md`, `references/examples.md` and `references/integration-guide.md`).

It sits in Development. The repository describes itself as: VexJoy AI Agent with Jev Intelligent Routing - /do routes plain-English requests to the right specialist agent and gates the work with reviews, tests, and a learning loop. The licence is MIT.

When your agent uses it

  • Development work in your project

Example prompts

  • “/docs-sync-checker”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Write, Bash, Grep, Glob, Edit, Task

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. SCAN
  2. CROSS-REFERENCE
  3. DETECT
  4. REPORT

What it can do on your machine

Read from SKILL.md and the folder at commit 5218674. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Bash
    • Grep
    • Glob
    • Edit
    • Task

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 4 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Docs Sync Checker loads about 2.7k tokens when it runs, and up to ~12k if it reads all its reference files. Until then it costs about 18 tokens; SKILL.md has 1,270 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~18
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~12k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Bash, Grep, Glob, Edit, Task

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from notque/vexjoy-agent at commit 5218674, republished under its MIT licence (© notque). 1,270 words, ~2,731 tokens.

Download SKILL.mdSave it as .claude/skills/docs-sync-checker/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
docs-sync-checker
description
Detect documentation drift against filesystem state.
allowed-tools
Read, Write, Bash, Grep, Glob, Edit, Task
user-invocable
false
routing.triggers
check doc drift, sync documentation, stale docs, documentation drift, README outdated
routing.category
documentation
routing.pairs_with
toolkit, assessment

Documentation Sync Checker Skill

Deterministic 4-phase drift detector that compares the filesystem against README entries. Each phase (Scan, Cross-Reference, Detect, Report) has a gate that must pass before proceeding. The skill produces a sync score (percentage of tools properly documented) and actionable fix suggestions for every detected issue.

This skill checks documentation presence and absence only -- it does not judge description quality, generate documentation content, resolve merge conflicts, validate cross-references, or track when drift occurred. Suggested fixes use YAML descriptions verbatim; content generation and quality assessment require different skills.

Optional flags: --auto-fix (experimental, requires explicit opt-in), --strict (exit code 1 on issues), --format json (machine-readable output for CI/CD).


Instructions

Phase 1: SCAN

Goal: Discover all skills, agents, and commands in the repository filesystem. All discovery (file existence checks, YAML parsing, markdown extraction) must be deterministic -- no AI judgment on content quality.

Step 1: Run the scan script

bash
python3 skills/meta/docs-sync-checker/scripts/scan_tools.py --repo-root $HOME/vexjoy-agent

Step 2: Validate discovery results

For each tool type, verify:

Skills (skills/**/SKILL.md):

  • File has opening --- and closing --- YAML delimiters
  • YAML contains non-empty name and description fields
  • name field matches directory name (e.g., skills/code-quality/code-linting/ has name: code-linting)

Agents (agents/*.md):

  • File has valid YAML frontmatter with name field
  • Filename (without .md) matches YAML name value

Commands (commands/**/*.md):

  • File exists as markdown in commands/ directory
  • Namespaced commands in subdirectories (e.g., commands/code/cleanup.md) are detected

Step 3: Validate the docs routing catalog

Every docs/*.md file (outside archive/ and images/) carries frontmatter with summary and read_when — the on-demand load triggers for docs, matching what skills/INDEX.json gives skills.

bash
python3 scripts/docs-catalog.py --check

Exit 1 means a doc is missing frontmatter; add summary and read_when to that file. python3 scripts/docs-catalog.py (no flags) prints the catalog table; --json emits it machine-readable.

Step 4: Count and verify

markdown
## Scan Results
Skills found: [N]
Agents found: [N]
Commands found: [N]
YAML errors: [N] (must be 0 to proceed)

Gate: All tools discovered, all YAML valid, counts >0 for each type, docs catalog check exits 0. Proceed only after the gate passes.

Phase 2: CROSS-REFERENCE

Goal: Extract documented tools from README files and compare with discovered tools. Each tool type has a primary documentation file: skills belong in docs/skills.md, agents in agents/README.md, commands in commands/README.md.

Step 1: Run the documentation parser

bash
python3 skills/meta/docs-sync-checker/scripts/parse_docs.py --repo-root $HOME/vexjoy-agent --scan-results /tmp/scan_results.json

Step 2: Parse each documentation file

These are the five documentation files to check -- no others:

FileFormatWhat to Extract
docs/skills.mdMarkdown tableName, Description, Command, Hook columns
agents/README.mdTable or listName, Description fields
commands/README.mdMarkdown list/command-name - Description items
README.mdInline referencesPattern-match skill: X, /command, agent-name
docs/REFERENCE.mdSection headers### tool-name headers with descriptions

Step 3: Build documented-tools registry

For each documentation file, collect the set of tool names found. This creates a mapping of {file -> [tool_names]} that Phase 3 will compare against the filesystem scan.

Step 4: Verify parse completeness

  • All 5 documentation files found and parsed (warn if any missing)
  • No parse errors on table/list structures
  • Tool names extracted from each file

Gate: All documentation files parsed without errors. Proceed only after the gate passes.

Phase 3: DETECT

Goal: Compare discovered tools with documented tools to identify drift. This is a point-in-time snapshot -- it cannot tell you when drift occurred, only that it exists now.

Step 1: Compute set differences

For each tool type and its primary documentation file:

  • missing = filesystem_tools - documented_tools (tools that exist but are not documented)
  • stale = documented_tools - filesystem_tools (documented tools that no longer exist -- users waste time trying to invoke non-existent tools, so always flag these)

Step 2: Categorize and assign severity

Severity reflects user impact: missing entries mean tools are undiscoverable and stale entries waste time.

CategoryConditionSeverity
Missing EntryTool in filesystem, not in primary READMEHIGH
Stale EntryTool in README, not in filesystemMEDIUM
Incomplete EntryDocumentation missing required fieldsLOW

Step 3: Record issue details

For each issue, capture: tool type, tool name, tool path, affected documentation file(s), severity, and suggested fix action.

Gate: All issues categorized with severity. Proceed only after the gate passes.

Phase 4: REPORT

Goal: Generate human-readable report with actionable fix suggestions. Report facts concisely -- show data, not self-congratulatory descriptions. Target 100% sync score; even one missing entry erodes trust in all documentation.

Step 1: Run the report generator

bash
python3 skills/meta/docs-sync-checker/scripts/generate_report.py --issues /tmp/issues.json --output /tmp/sync-report.md

Step 2: Verify report structure

Report must include these sections:

  1. Summary -- Total tools, issue counts by severity, sync score

    sync_score = (total_tools - total_issues) / total_tools * 100
  2. HIGH Priority: Missing Entries -- For each missing tool, provide the exact markdown row/item to add to the appropriate README file

  3. MEDIUM Priority: Stale Entries -- For each stale tool, identify the file and line to remove

  4. Files Checked -- List each documentation file with count of tools parsed from it

Step 3: Validate actionability

Every issue in the report must have a concrete suggested fix. No issue should say "review manually" without specifying what to review and where. The fix should enable a single-commit resolution -- tool files and documentation entries should be added/removed together.

Step 4: Report format for missing entries

For each missing skill, generate a suggested table row:

markdown
| skill-name | Description from YAML | `skill: skill-name` | - |

For each missing agent, generate a suggested table row:

markdown
| agent-name | Description from YAML |

For each missing command, generate a suggested list item:

markdown
- `/command-name` - Description from command file

Step 5: Cleanup

Remove any helper scripts and debug outputs created during execution.

Gate: Report generated with actionable suggestions for every issue.

Show full SKILL.md (429 more words)Show less
Examples
Example 1: New Skill Missing from README

User created skills/my-new-skill/SKILL.md but forgot to update docs/skills.md. Actions:

  1. SCAN discovers my-new-skill in filesystem
  2. CROSS-REFERENCE parses docs/skills.md, does not find my-new-skill
  3. DETECT flags as HIGH severity missing entry
  4. REPORT suggests exact table row to add to docs/skills.md
Example 2: Removed Agent Still Documented

User deleted agents/old-agent.md but agents/README.md still lists it. Actions:

  1. SCAN does not find old-agent in filesystem
  2. CROSS-REFERENCE finds old-agent in agents/README.md
  3. DETECT flags as MEDIUM severity stale entry
  4. REPORT suggests removing the row from agents/README.md
Example 3: Batch Changes After Refactor

User created 3 new skills and deleted 2 old ones in a refactoring PR. Actions:

  1. SCAN discovers 3 new skills in filesystem, does not find 2 removed skills
  2. CROSS-REFERENCE finds 2 stale entries and 3 absent entries in docs/skills.md
  3. DETECT flags 3 HIGH (missing) + 2 MEDIUM (stale) issues
  4. REPORT provides exact table rows to add and identifies rows to remove

Error Handling

Error: "YAML Parse Error"

Cause: Invalid frontmatter -- missing --- delimiters, tabs instead of spaces, or missing required fields Solution:

  1. Check file has opening --- on line 1 and closing --- after YAML block
  2. Verify no tab characters in YAML (spaces only)
  3. Confirm required fields present: name, description
  4. Validate manually: head -20 {file_path} and check syntax
Error: "Documentation File Not Found"

Cause: Expected README file does not exist at expected path Solution:

  1. Verify --repo-root path is correct
  2. Check that docs/skills.md, agents/README.md, commands/README.md exist
  3. If file is legitimately missing, create a placeholder with the expected table/list header
  4. Re-run scan after creating placeholder
Error: "No Tools Discovered"

Cause: Wrong --repo-root path, empty directories, or no SKILL.md files Solution:

  1. Verify the repo root path points to the correct repository
  2. Confirm skills/, agents/, commands/ directories exist and are not empty
  3. Check that skill directories contain SKILL.md (not just other files)
  4. Run with --debug flag for verbose discovery output
Error: "Markdown Parse Error"

Cause: Table missing separator row, mismatched column counts, or malformed list items Solution:

  1. Check table has header row, separator row (|---|---|), and data rows
  2. Verify all rows have the same number of pipe-delimited columns
  3. For lists, verify consistent format: - /command - Description
  4. See references/markdown-formats.md for complete format specifications

Deep References

Load when the task requires detailed guidance beyond the phases above.

SignalReference
Documentation file matrix, required fieldsreferences/documentation-structure.md
Expected table/list formats per READMEreferences/markdown-formats.md
Sync score formula, severity rules, deprecationreferences/sync-rules.md
Before/after examples for doc updatesreferences/examples.md
CI/CD setup, pre-commit hooks, auto-fix modereferences/integration-guide.md

© notque, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files (scripts, references) in skills/meta/docs-sync-checker of notque/vexjoy-agent.

  • SKILL.md
  • references/documentation-structure.md
  • references/examples.md
  • references/integration-guide.md
  • references/markdown-formats.md
  • references/sync-rules.md
  • scripts/generate_report.py
  • scripts/parse_docs.py
  • scripts/scan_tools.py
  • scripts/validate.py

Open the folder on GitHubat commit 5218674

Compare with similar skills

Docs Sync Checker next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Docs Sync Checker compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Docs Sync Checker this skillnotque/vexjoy-agent435—~2.7kAutomated safety check: NotesMIT
Finishing a Development Branchobra/superpowers296k5 repos~1.9kAutomated safety check: PassMIT
Typescript Advanced Typesrolling-scopes/rsschool-app10k24 repos~4.2kAutomated safety check: PassMPL-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Code Review ChecklistshareAI-lab/learn-claude-code78k5 repos~1.1kAutomated safety check: PassMIT
Greplooponyx-dot-app/onyx32k4 repos~3.3kAutomated safety check: PassMIT

Similar skills

  • Walks the last step of a branch: confirm tests pass, detect the git environment, ask how to integrate, carry out your choice and clean up the worktree.

    296k GitHub starsUsed in 5 repos~1.9k tokens
    DevelopmentAuto-check passed
  • Typescript Advanced Types

    rolling-scopes/rsschool-app

    Master TypeScript's advanced type system including generics, conditional types, mapped types, template literals, and utility types for building type-safe applications.

    10k GitHub starsUsed in 24 repos~4.2k tokens
    DevelopmentAuto-check passed
  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Code Review Checklist

    shareAI-lab/learn-claude-code

    Reviews code against a five-part checklist covering security, correctness, performance, maintainability and testing, and reports findings in a fixed format.

    78k GitHub starsUsed in 5 repos~1.1k tokens
    DevelopmentAuto-check passed
  • Greploop

    onyx-dot-app/onyx

    Iteratively improves a PR (GitHub), MR (GitLab), or shelved changelist (Perforce) until Greptile gives it a 5/5 confidence score with zero unresolved comments.

    32k GitHub starsUsed in 4 repos~3.3k tokens
    DevelopmentAuto-check passed
  • Guidelines

    akash-network/node

    Behavioral guidelines to reduce common LLM coding mistakes. An agent skill from akash-network/node.

    1.1k GitHub starsUsed in 22 repos~577 tokens
    DevelopmentAuto-check passed

More from notque/vexjoy-agent

All 61 skills in this repo
  • Game Asset Generator

    notque/vexjoy-agent

    Deterministic palette/matrix pixel art (not AI). An agent skill from notque/vexjoy-agent.

    435 GitHub stars~2.3k tokensUpdated 4 days ago
    Auto-check: notes
  • PR Workflow

    notque/vexjoy-agent

    Pull request lifecycle: commit, codex review, sync, review, fix, status, cleanup, and PR mining.

    435 GitHub stars~2.8k tokensUpdated 4 days ago
    Auto-check: notes
  • Architecture Deepening

    notque/vexjoy-agent

    Improve architecture across modules by deepening interfaces.

    435 GitHub stars~3.3k tokensUpdated 4 days ago
    Auto-check: notes
  • Code Quality

    notque/vexjoy-agent

    Code quality: cleanup, linting, formatting, quality gates. An agent skill from notque/vexjoy-agent.

    435 GitHub stars~1.5k tokensUpdated 4 days ago
    Auto-check: notes
  • Codebase Analyzer

    notque/vexjoy-agent

    Statistical rule discovery from Go codebase patterns. An agent skill from notque/vexjoy-agent.

    435 GitHub stars~2k tokensUpdated 4 days ago
    Auto-check: notes
  • Comment Quality

    notque/vexjoy-agent

    Review and fix temporal references in code comments. An agent skill from notque/vexjoy-agent.

    435 GitHub stars~2k tokensUpdated 4 days ago
    Auto-check: notes

Categories

Questions about Docs Sync Checker

What does Docs Sync Checker do?

Detect documentation drift against filesystem state. An agent skill from notque/vexjoy-agent. Docs Sync Checker is an agent skill from notque/vexjoy-agent. Detect documentation drift against filesystem state.

When should I use Docs Sync Checker?

Docs Sync Checker fits situations like: development work in your project.

How do I install Docs Sync Checker in Claude Code?

Run `npx skills add notque/vexjoy-agent --skill docs-sync-checker -a claude-code`. Or copy the skill folder (skills/meta/docs-sync-checker in notque/vexjoy-agent) into .claude/skills/docs-sync-checker in your project. Claude Code loads it when a task matches its description.

How do I install Docs Sync Checker in Codex?

Run `npx skills add notque/vexjoy-agent --skill docs-sync-checker -a codex`. Or copy the skill folder (skills/meta/docs-sync-checker in notque/vexjoy-agent) into .agents/skills/docs-sync-checker in your project. Codex loads it when a task matches its description.

Can I use Docs Sync Checker in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add notque/vexjoy-agent --skill docs-sync-checker -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/docs-sync-checker, .gemini/skills/docs-sync-checker, .github/skills/docs-sync-checker and .opencode/skills/docs-sync-checker in your project.

What does Docs Sync Checker need to run?

Going by SKILL.md and its folder, Docs Sync Checker needs Python for the scripts in its folder and the command-line tools its instructions call (python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Bash, Grep, Glob, Edit, Task.

Does Docs Sync Checker access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Docs Sync Checker safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Docs Sync Checker use?

Docs Sync Checker is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Docs Sync Checker use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 9.6k tokens, read only when the agent opens those files.

What are the alternatives to Docs Sync Checker?

Skills that share tags, products or a category with Docs Sync Checker: Finishing a Development Branch (obra/superpowers, 296k stars), Typescript Advanced Types (rolling-scopes/rsschool-app, 10k stars), PR Babysitter (openinterpreter/openinterpreter, 69k stars) and Code Review Checklist (shareAI-lab/learn-claude-code, 78k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Docs Sync Checker?

notque (a GitHub user) maintains it in notque/vexjoy-agent, which has 435 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 3, 2026.

Source: notque/vexjoy-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.