The Atlas doc.haus documentation, bound to its code
180 documents
dochaus/skill/cite-check/SKILL.md

Fabricated and mischaracterized citations are the signature failure of AI-assisted legal writing, and courts sanction filers for them. Treat every citation in the document as unverified until a database lookup confirms it. Never mark a citation verified from memory — verification means a live lookup returned the case.

1. **Extract every citation.** Read the full document and list each legal authority it cites: case citations (full and short-form, including *id.* and *supra* references resolved back to their antecedent), statutes, regulations, and rules. For each, record the exact anchor where it appears as `[ §
]` and the proposition the document uses it for (quote the sentence it supports). 2. **Verify each case against CourtListener.** Use the CourtListener MCP server when available; otherwise use the `case-law` tool. Search by case name and by reporter citation. Both sources cover U.S. opinions only — for non-U.S. authorities, and for statutes and regulations, do not guess: classify them as unverifiable here and list them for manual confirmation. 3. **Compare the holding.** For each case found, read the returned snippet and metadata. Confirm the case stands for the proposition the document cites it for — a real case cited for something it does not say is as dangerous as a fake one. Check the cited court and year against the database record. 4. **Classify each citation** into exactly one status: - **verified** — the case exists, the reporter citation, court, and year match, and the retrieved content is consistent with the cited proposition. - **not found** — no matching case by name or citation; presumptively fabricated until the author produces the source. - **ambiguous** — a case by that name exists but the citation, court, year, or party names do not match, or multiple candidates exist, or the source could not verify it (non-U.S. authority, statute, regulation). - **supports-different-proposition** — the case is real but the retrieved content does not support, or contradicts, the proposition cited. 5. **Output a findings table** with one row per citation: | Anchor | Citation as written | Proposition cited for | Status | Evidence | The Evidence column carries the CourtListener URL and matched citation for verified entries, and the specific mismatch for everything else.

Close with a summary count by status and a clear verdict: a document is safe to file or send only when every citation is verified or independently confirmed by the supervising attorney. Never soften a not found into "likely correct" — report it as unverified and stop there. Do not invent a replacement citation for a bad one; flag it and let counsel decide.