skills/bluebook-audit/skills/audit-report/SKILL.md
Phase 3: Generate and present audit report for user review
npx skillsauth add edwinhu/workflows audit-reportInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate a human-readable audit report and present to the user for review before applying corrections.
scratch/AUDIT_REPORT.mdMechanical > Claude cross-review > Gemini per-footnote
# Bluebook Audit Report
## Summary
- Total footnotes: N
- Clean: N (XX%)
- Issues found: N across M footnotes
## Fix Counts by Category
| Category | Count | Auto-fixable |
|----------|-------|-------------|
| Journal name small caps | N | Yes |
| Book title small caps | N | Yes |
| Cross-reference resolution | N | Yes (high confidence) |
| Id. chain errors | N | Partial |
| Signal formatting | N | Yes |
| Terminal periods | N | Yes |
| Typeface errors (other) | N | Manual |
## Issues by Footnote
[sorted by footnote number]
## Items Needing Manual Review
[low-confidence cross-refs, ambiguous citations, judgment calls]
## Correct As-Is (Gemini False Positives)
[Items Gemini flagged but are actually correct, with reasoning]
[Group by source type: SEC releases (roman), exec orders (roman), etc.]
[Reference: audit-patterns.md Source Type Typeface Reference table]
Many Gemini suggestions are wrong — especially for non-standard source types (SEC releases, exec orders, working paper designations). Documenting WHY these are correct:
This is a user gate. The workflow pauses here.
scratch/AUDIT_REPORT.md existsDo NOT proceed to corrections without user acknowledgment.
After user approval:
Read ${CLAUDE_SKILL_DIR}/../../../../skills/bluebook-audit/skills/audit-correct/SKILL.md and follow its instructions.
development
Build the meeting-level proxy-voting × ownership panel on the WRDS SGE grid — ISS N-PX fund votes reduced to (item × block) direction cells, joined to institutional and mutual-fund ownership. Use when working with risk.voteanalysis_npx, N-PX fund-level votes, ISS→CRSP fund linking, index/passive/active voting blocks, or a proxy-voting panel that needs ownership attached.
development
Use when "CRSP CIZ", "CRSP v2", "CRSP flat file format 2.0", "crsp.dsf_v2 / msf_v2", "StkDlySecurityData", "StkMthSecurityData", "StkSecurityInfoHist", "stocknames_v2", "DlyRet / MthRet / DlyPrc / MthPrc", "SHRCD or EXCHCD equivalent in new CRSP", "SIZ to CIZ migration", "CRSP data after 2024", "CRSP delisting returns", "CRSP cumulative adjustment factors", "CRSP index INDNO / INDFAM", or any CRSP stock/index query where the legacy SIZ column names no longer exist.
development
Use when linking or deduping datasets by entity name rather than a shared key — 'fuzzy match', 'fuzzy name matching', 'entity resolution', 'record linkage', 'match company/person names', 'dedupe entity names', 'name-based join', 'bridge identifiers' (CIK ↔ permno ↔ gvkey ↔ wficn ↔ EIN ↔ personid), or any use of char n-gram TF-IDF, cosine similarity on names, `sparse_dot_topn`, or RapidFuzz at scale.
development
Use when building a publication-quality table in Python — 'regression table', 'results table', 'summary statistics table', 'etable', 'coefplot', 'great_tables', 'GT', 'gt table', 'format a table for the paper', 'export table to LaTeX/HTML', significance stars, spanners, or column formatting for a table headed into a paper, slide deck, or notebook.