mcpField
D
document-scanning

document-scanning

github.com/community-accessDocuments429229 installsUpdated today
Repository

About document-scanning

A reference skill for discovering and preparing Word, Excel, PowerPoint, and PDF files for accessibility scans. It covers change detection, exclusions, scan profiles, and context handoff to sub-agents.

Key features

  1. 01Supports four document formats
  2. 02PowerShell and Bash discovery commands
  3. 03Git- or timestamp-based change detection
  4. 04Exclude temporary files and directories
  5. 05Configure rules by file type
  6. 06Define scan profiles and agent context

Use cases

  1. 01Find documents to scan in a directory
  2. 02Scan only recently changed documents
  3. 03Skip lock files and cache directories
  4. 04Pass file details and rules to a sub-agent

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/community-access/accessibility-agents --skill document-scanning

After installing, type/document-scanningin Claude Code to confirm it loaded.

Details

From the project README

Document Scanning

Supported File Types

ExtensionTypeSub-Agent
.docxWord documentword-accessibility
.xlsxExcel workbookexcel-accessibility
.pptxPowerPoint presentationpowerpoint-accessibility
.pdfPDF documentpdf-accessibility

File Discovery Commands

PowerShell (Windows)
# Non-recursive scan
Get-ChildItem -Path "<folder>" -File -Include *.docx,*.xlsx,*.pptx,*.pdf

# Recursive scan
Get-ChildItem -Path "<folder>" -File -Include *.docx,*.xlsx,*.pptx,*.pdf -Recurse |
  Where-Object { $_.Name -notlike '~$*' -and $_.Name -notlike '*.tmp' -and $_.Name -notlike '*.bak' } |
  Where-Object { $_.FullName -notmatch '[\\/](\.git|node_modules|__pycache__|\.vscode)[\\/]' }
Bash (macOS)
# Non-recursive scan
find "<folder>" -maxdepth 1 -type f \( -name "*.docx" -o -name "*.xlsx" -o -name "*.pptx" -o -name "*.pdf" \) ! -name "~\$*"

# Recursive scan
find "<folder>" -type f \( -name "*.docx" -o -name "*.xlsx" -o -name "*.pptx" -o -name "*.pdf" \) \
  ! -name "~\$*" ! -name "*.tmp" ! -name "*.bak" \
  ! -path "*/.git/*" ! -path "*/node_modules/*" ! -path "*/__pycache__/*" ! -path "*/.vscode/*"

Delta Detection

Git-based
# Files changed since last commit
git diff --name-only HEAD~1 HEAD -- '*.docx' '*.xlsx' '*.pptx' '*.pdf'

# Files changed since a specific tag
git diff --name-only <tag> HEAD -- '*.docx' '*.xlsx' '*.pptx' '*.pdf'

# Files changed in the last N days
git log --since="N days ago" --name-only --diff-filter=ACMR --pretty="" -- '*.docx' '*.xlsx' '*.pptx' '*.pdf' | sort -u
Timestamp-based (PowerShell)
# Files modified since a specific date
Get-ChildItem -Path "<folder>" -File -Include *.docx,*.xlsx,*.pptx,*.pdf -Recurse |
  Where-Object { $_.LastWriteTime -gt [datetime]"2025-01-01" }

Files to Skip

Always exclude these patterns during scanning:

  • ~$* - Office lock/temp files (created when a document is open)
  • *.tmp - Temporary files
  • *.bak - Backup files
  • Files inside .git/, node_modules/, .vscode/, __pycache__/ directories

Scan Configuration Files

FilePurpose
.a11y-office-config.jsonRule enable/disable for Word, Excel, PowerPoint
.a11y-pdf-config.jsonRule enable/disable for PDF scanning
Scan Profiles
ProfileRulesSeveritiesUse Case
StrictAllError, Warning, TipPublic-facing, legally required documents
ModerateAllError, WarningMost organizations
MinimalAllError onlyTriaging large document libraries

Context Passing Format

When delegating to a sub-agent, always provide this context block:

## Document Scan Context
- **File:** [full path]
- **Scan Profile:** [strict | moderate | minimal]
- **Severity Filter:** [error, warning, tip]
- **Disabled Rules:** [list or "none"]
- **User Notes:** [any specifics]
- **Part of Batch:** [yes/no - if yes, indicate X of Y]

Comments

Markdown supported