Skip to content

docs-drift-fixer

Docs drift fixer — docs true to the code

Daily: finds doc statements the code or recent commits contradict, rewrites only those, proves every edit against the cited code line with a calibrated check, and opens one docs-only PR behind approval.

Source templates/docs-drift-fixer/workflow.yaml
Category development
Trigger manual (wfx run) · schedule 0 5 * * *
Steps 7
Human approval before publish
Providers named claude-cli
Terminal window
wfx templates docs-drift-fixer
wfx new docs-drift-fixer --as my-docs-drift-fixer
wfx dryrun my-docs-drift-fixer

Finds documentation that no longer matches the code — paths, symbols and flags the docs name that the code does not have, and names recent commits renamed or deleted — has an agent confirm each is really stale and make the smallest edit citing the code line that makes it true, re-checks every edit against that line with two calibrated questions, commits only what holds (one commit per doc), and opens a docs-only PR after a person approves.

  • docs / exclude globs if your docs live elsewhere, or you keep history docs outside docs/adr
  • the base branch for the PR, if not the repository’s default
  • TYPESAFE_API_KEY in the env store for the calibrated edit check
Input Type Default Required Meaning
repo_path string
repo_url string
base_branch string
since string
lookback_days integer 14
docs string "README.md,**/README.md,docs/**/*.md,**/SKILL.md"
exclude string "docs/adr/**,**/CHANGELOG*,openspec/**,docs/spikes/**,docs/research/**,.claude/**,.codex/**,.opencode/**,**/node_modules/**"
max_findings integer 25
dry_run boolean true
isolate boolean true
# Step Kind Skills Gates
1 collect
Find drift (machine checks)
shell (run:) exitCode = 70 → fail
exitCode = 78 → skip to remember
2 sync
Confirm and fix each flag (doc-syncer)
agent
on claude-cli
doc-syncer repo-navigator
3 verify
Verify every edit against the code (JEV) and commit
shell (run:) exitCode = 70 → fail
exitCode = 78 → skip to remember
4 dry_run_stop
Stop here on a dry run
shell (run:) exitCode = 78 → skip to remember
5 publish
Push and open the docs PR (pr-publisher)
agent
on claude-cli
pr-publisher human approval first
6 remember
Remember the last commit checked
shell (run:)
7 report
Report
shell (run:)
  • publish waits for wfx approve <run-id> (or wfx reject <run-id> -m "why") before it runs.