DA

dab-docs-file-ops

Handles renaming, moving, and deleting documentation files while updating navigation and cross-references.

Install

mkdir -p .claude/skills/dab-docs-file-ops && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16613" && unzip -o skill.zip -d .claude/skills/dab-docs-file-ops && rm skill.zip

Installs to .claude/skills/dab-docs-file-ops

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Rename, move, or delete documentation files in the Data API builder docs repo. Handles all side effects: redirects, TOC, index.yml, media, includes, and cross-references.
170 charsno explicit “when” trigger
Intermediate

Key capabilities

  • Rename documentation files
  • Move documentation files
  • Delete documentation files
  • Update redirects for file operations
  • Update TOC and index.yml entries
  • Clean up orphaned assets

How it works

This skill executes file operations and then systematically updates all related documentation components like redirects, TOCs, and internal links to maintain consistency.

Inputs & outputs

You give it
operation (rename/move/delete), source file path, and destination path
You get back
documentation file operation completed with all side effects handled

When to use dab-docs-file-ops

  • Rename a documentation file
  • Move a file within the documentation repo
  • Delete an outdated documentation page
  • Update TOC after file relocation

About this skill

DAB Docs File Operations

Use this skill whenever you rename, move, or delete a documentation file in this repo. Every file operation has side effects that must all be handled atomically. Never perform a file operation without completing every step in the checklist.

Repository structure

data-api-builder/
├── breadcrumb/toc.yml          # Breadcrumb navigation
├── TOC.yml                     # Main table of contents
├── index.yml                   # Landing page (superset of links)
├── overview.md                 # Product overview
├── .openpublishing.redirection.json  # Redirect rules (repo root)
├── command-line/
│   └── index.yml               # CLI landing page
├── deployment/
│   └── index.yml               # Deployment landing page
├── concept/
│   ├── cache/
│   ├── config/
│   ├── database/
│   ├── graphql/
│   │   └── index.yml           # GraphQL landing page
│   ├── monitor/
│   ├── rest/
│   │   └── index.yml           # REST landing page
│   └── security/
│       └── index.yml           # Security landing page
├── configuration/
├── mcp/
│   └── index.yml               # MCP landing page
├── quickstart/
│   └── index.yml               # Quickstart landing page
├── troubleshooting/
├── vscode-extension/
│   └── index.yml               # VS Code extension landing page
├── whats-new/
│   └── index.yml               # What's new landing page
├── includes/                   # Shared include snippets
├── keywords/
└── media/                      # Root-level media (used by overview.md)

Checklist

Complete every applicable step for each file operation. Do not skip steps.

0. Confirm author identity when Markdown files change

Before editing any .md file as part of a rename, move, delete, link fix, or cross-reference update, confirm the GitHub username and Microsoft alias with a low-friction choice.

For an existing page:

  • Read the page frontmatter first.
  • Treat the existing author and ms.author values as the default author identity.
  • Offer a choice to keep the existing values or enter different values.
  • If the user keeps the existing values, update only ms.date unless other frontmatter must change.
  • If either value is missing, offer author / ms.author pairs from peer files as selectable suggestions and allow a custom entry.
  • Do not guess or silently replace author or ms.author.

1. Execute the file operation

  • Use git mv for renames and moves (preserves git history).
  • Use git rm for deletions.
  • If the file has a matching media folder (e.g., media/old-name/), rename or move it too.
  • If the file has include files in an includes/ folder that only it uses, delete them.

2. Update internal links in the moved/renamed file

  • Fix all relative links (../, ./, sibling references) inside the file itself — the path depth may have changed.
  • Fix all media references (media/old-name/image.pngmedia/new-name/image.png) inside the file.
  • Fix all include references ([!INCLUDE [...]]) inside the file.

3. Update all incoming references across the repo

Search the entire repo for references to the old path. Every one of these files may need updating:

  • TOC.yml — Update href: entries.
  • index.yml (root landing page) — Update url: entries.
  • Folder-level index.yml files (e.g., command-line/index.yml, deployment/index.yml) — Update url: entries.
  • breadcrumb/toc.yml — Update topicHref: or tocHref: if applicable.
  • Other .md files — Search with grep for the old filename across all .md files and update relative links.
  • Other .yml files — Search for the old filename across all .yml files.
  • overview.md or section index.md files — These often link to sibling files.

4. Update the redirect file

The redirect file is .openpublishing.redirection.json at the repo root.

  • Add a new redirect entry for the old source path pointing to the new URL:
    {
      "source_path_from_root": "/data-api-builder/old-path/old-file.md",
      "redirect_url": "/azure/data-api-builder/new-path/new-file",
      "redirect_document_id": false
    }
    
  • Update existing redirect targets — If any existing entries have redirect_url pointing to the old URL, update them to point to the new URL (avoids redirect chains).
  • Validate the JSON — Run Get-Content .openpublishing.redirection.json -Raw | ConvertFrom-Json | Out-Null to confirm valid JSON.

5. Clean up orphaned assets

  • Check if the old media folder is now empty and delete it if so.
  • Check if any media files inside the folder are no longer referenced by any .md file and delete orphans.
  • Check if any include files are no longer referenced and delete orphans.

6. Verify completeness

  • Run grep for the old filename across all .md, .yml, and .json files. The only remaining matches should be source_path_from_root entries in the redirect file.
  • Validate the redirect JSON parses without errors.

Rules

Redirect rules

  • Every renamed, moved, or deleted file MUST get a redirect entry.
  • source_path_from_root uses the format /data-api-builder/path/file.md (with leading slash, with .md).
  • redirect_url uses the format /azure/data-api-builder/path/file (with leading slash, WITHOUT .md).
  • redirect_document_id is false for moves/renames, true only when the old URL should transfer its document ID.
  • Never create redirect chains — if A → B already exists and B is being renamed to C, update A → C directly.

Naming conventions

  • Files in command-line/ use the dab- prefix (e.g., dab-add.md, dab-init.md).
  • Files everywhere else do NOT use prefixes like how-to- or dab-.
  • Do not use abbreviations in filenames (use azure-container-apps.md, not aca.md).
  • Media folders match their parent file's name (e.g., deployment/azure-app-service.mddeployment/media/azure-app-service/).
  • Each doc gets its own media subfolder — do not share media folders between docs.

Image rules

  • Use standard Markdown image syntax ![alt text](path) for all images.
  • Do NOT use :::image DocFX syntax in any form.
  • Every image must have descriptive alt text (10–250 characters, starting with "Diagram showing" or "Screenshot of", ending with a period).
  • When renaming a file, rename the media subfolder to match the new filename.

Link format rules

  • Same-folder links: just the filename (e.g., sibling-file.md).
  • Cross-folder links: relative paths (e.g., ../concept/graphql/overview.md).
  • Links in .yml files use url: (relative) or href: (relative) — no leading /azure/.
  • Links in the redirect file use absolute URL paths starting with /azure/data-api-builder/.

Search commands

Use these to find all references before and after a file operation:

# Find all references to a filename
git --no-pager grep -n "old-filename" -- "*.md" "*.yml"

# Find redirect entries targeting the old URL
git --no-pager grep -n "old-path/old-filename" -- ".openpublishing.redirection.json"

# Verify no stale references remain after the operation
git --no-pager grep -n "old-filename" -- "*.md" "*.yml"

# Validate redirect JSON
Get-Content .openpublishing.redirection.json -Raw | ConvertFrom-Json | Out-Null; Write-Host "Valid JSON"

Procedure

  1. Before starting: Grep for all references to the file being operated on. Understand the full scope.
  2. Execute the file operation (step 1).
  3. Fix internal links in the moved/renamed file (step 2).
  4. Fix all incoming references across the repo (step 3).
  5. Update redirects (step 4).
  6. Clean up orphans (step 5).
  7. Verify no stale references remain (step 6).

Always complete all steps before reporting the operation as done.

Review workflow

After completing the file operation, spin up a sub-agent using a different model to verify:

  1. No broken links remain across .md, .yml, and .json files.
  2. Redirect entries are correct and no chains exist.
  3. TOC and index.yml entries point to valid files.
  4. Media references in all affected files resolve correctly.

Evaluate the reviewer's feedback critically. Implement valid findings; discard nitpicks.

After implementing reviewer feedback, use the dab-docs-audit skill for a final compliance check.

When not to use it

  • When performing file operations outside the Data API builder docs repo
  • When not needing to handle side effects like redirects or TOC updates

Limitations

  • This skill is specific to the Data API builder docs repo.
  • Every file operation has side effects that must all be handled atomically.

How it compares

This skill automates the complex process of handling all side effects of a file operation across a documentation repository, unlike a simple file system command.

Compared to similar skills

dab-docs-file-ops side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
dab-docs-file-ops (this skill)02moNo flagsIntermediate
ml-paper-writing486moReviewAdvanced
docs-review108moNo flagsBeginner
claude-md-improver217moReviewBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

ml-paper-writing

davila7

Write publication-ready ML/AI papers for NeurIPS, ICML, ICLR, ACL, AAAI, COLM. Use when drafting papers from research repos, structuring arguments, verifying citations, or preparing camera-ready submissions. Includes LaTeX templates, reviewer guidelines, and citation verification workflows.

4897

docs-review

metabase

Review documentation changes for compliance with the Metabase writing style guide. Use when reviewing pull requests, files, or diffs containing documentation markdown files.

1085

claude-md-improver

anthropics

Audit and improve CLAUDE.md files in repositories. Use when user asks to check, audit, update, improve, or fix CLAUDE.md files. Scans for all CLAUDE.md files, evaluates quality against templates, outputs quality report, then makes targeted updates. Also use when the user mentions "CLAUDE.md maintenance" or "project memory optimization".

2167

write-docs

tldraw

Writing SDK documentation for tldraw. Use when creating new documentation articles, updating existing docs, or when documentation writing guidance is needed. Applies to docs in apps/docs/content/.

665

update-docs

vercel

This skill should be used when the user asks to "update documentation for my changes", "check docs for this PR", "what docs need updating", "sync docs with code", "scaffold docs for this feature", "document this feature", "review docs completeness", "add docs for this change", "what documentation is affected", "docs impact", or mentions "docs/", "docs/01-app", "docs/02-pages", "MDX", "documentation update", "API reference", ".mdx files". Provides guided workflow for updating Next.js documentation based on code changes.

2543

wiki-architect

microsoft

Analyzes code repositories and generates hierarchical documentation structures with onboarding guides. Use when the user wants to create a wiki, generate documentation, map a codebase structure, or understand a project's architecture at a high level.

1144

Search skills

Search the agent skills registry