| name | audit-extract |
| description | Phase 1: Extract footnotes from DOCX with formatting annotations |
| user-invocable | false |
| disable-model-invocation | true |
Phase 1: Extract Footnotes
Parse the DOCX file and build structured data for all subsequent phases.
What This Phase Does
- Parse
word/footnotes.xml via lxml
- Extract each footnote's runs with formatting flags (italic, small caps, bold)
- Parse
word/_rels/footnotes.xml.rels for hyperlink URLs
- Build citation registry (hereinafter definitions, author-to-first-cite mapping)
- Resolve cross-references (
supra note [_] placeholders)
- Extract all URLs for archiving inventory
Script
uv run python3 "${CLAUDE_SKILL_DIR}/../../../../skills/bluebook-audit/scripts/extract_footnotes.py" --docx <path>
Output: scratch/footnotes_data.json
Gate: Exit Extract
Before proceeding to Check phase:
If footnote count doesn't match document: STOP. Investigate missing footnotes before proceeding.
Next Phase
Read ${CLAUDE_SKILL_DIR}/../../../../skills/bluebook-audit/skills/audit-check/SKILL.md and follow its instructions.