immigration-fact-check

star 6

Use this skill to verify citations and consistency of any immigration draft (brief, motion, declaration, USCIS letter, BIA appeal, petition for review). Triggers: "verify this immigration citation", "is this INA cite right", "INA vs USC", "check my immigration brief", "fact check", "is this BIA case real", "cite-check", "8 CFR 208 or 1208", "DHS or EOIR regulation", "FAM cite", "check hallucinations", "consistency check", "audit this filing", "A-number consistent". Four passes: (1) citation verification — INA/USC/CFR/FAM/I&N Dec./circuit cites resolve to real sources; (2) internal consistency — dates, A-number, names, cross-refs; (3) packet consistency — caption, A-number across documents; (4) sworn-vs-argued consistency — brief facts don't contradict declarations. Flags: INA-vs-8-U.S.C. mismatch, DHS-vs-EOIR duplication, FAM-is-guidance-not-law. **Verification only** — never rewrites.

codearranger By codearranger schedule Updated 6/12/2026

name: immigration-fact-check description: > Use this skill to verify citations and consistency of any immigration draft (brief, motion, declaration, USCIS letter, BIA appeal, petition for review). Triggers: "verify this immigration citation", "is this INA cite right", "INA vs USC", "check my immigration brief", "fact check", "is this BIA case real", "cite-check", "8 CFR 208 or 1208", "DHS or EOIR regulation", "FAM cite", "check hallucinations", "consistency check", "audit this filing", "A-number consistent". Four passes: (1) citation verification — INA/USC/CFR/FAM/I&N Dec./circuit cites resolve to real sources; (2) internal consistency — dates, A-number, names, cross-refs; (3) packet consistency — caption, A-number across documents; (4) sworn-vs-argued consistency — brief facts don't contradict declarations. Flags: INA-vs-8-U.S.C. mismatch, DHS-vs-EOIR duplication, FAM-is-guidance-not-law. Verification only — never rewrites. version: 0.1.2

Fact-Check an Immigration Filing

The fastest way to lose credibility before an immigration judge, the Board, a USCIS officer, or a circuit panel is to cite a provision that doesn't exist, confuse the INA section with the 8 U.S.C. section, cite the DHS regulation when the EOIR one governs, or file a brief whose facts contradict the sworn declaration. This skill runs a four-pass check and produces a human-reviewable verification report.

NOT LEGAL ADVICE. Fact-checking verifies the surface — it does not tell the user whether the underlying legal position is sound, nor whether a cited case is still good law on the facts. Immigration consequences are severe and often irreversible; pair this with substantive review by a licensed immigration attorney or an EOIR-accredited representative.

Never silently rewrite. This skill flags issues; the user (and, as needed, the drafting skills) fix them. Silent edits to citations or facts are how hallucinations get filed.

Inputs to gather

  1. Scope — a single document, or the whole packet?
  2. Path(s) — absolute paths to each file.
  3. Forum — USCIS, EOIR immigration court, BIA, circuit, or consular. The forum decides which of the duplicated regulations governs (see traps).
  4. Intended filing date — for catching post-snapshot amendments.

Pass 1 — Citation verification

Parse the document for every citation type — INA (INA § 240), U.S. Code (8 U.S.C. § 1229a), CFR (Title 8 and 22), FAM (9 FAM), BIA/AG precedent (28 I&N Dec. 199), and circuit / Supreme Court (F.3d / U.S.) — then verify each resolves to a real source that supports the stated proposition.

1a. INA ↔ 8 U.S.C. cross-check (the #1 trap)

For every statutory cite, verify both the INA number and the 8 U.S.C. number against the crosswalk in ../../references/immigration-statutes/README.md. The offset is not constant — never compute it. The common right answers: INA § 240 = 8 U.S.C. § 1229a; INA § 212 = 8 U.S.C. § 1182; INA § 245 = 8 U.S.C. § 1255; INA § 208 = 8 U.S.C. § 1158; INA § 242 = 8 U.S.C. § 1252. A brief that says "INA § 240 (8 U.S.C. § 1182)" is mismatched — flag it. Confirm the verbatim text in the matching ../../references/immigration-statutes/ subchapter file actually says what the draft claims.

1b. CFR cross-check against the regulation corpus

Resolve each CFR cite against the file in ../../references/immigration-regulations/ (e.g., 8CFR-1240-removal-eoir.md, 22CFR-042-immigrant-visas.md). Confirm the part/section exists and supports the proposition.

1c. Case-law verification (CourtListener)

Case law is not snapshotted — verify on demand per ../../references/legal-data-apis.md. Use the bundled CourtListener MCP server (declared in this plugin's .mcp.json; if its tools are absent, have the user run /mcp to sign in) — the citation-lookup / search tools, per the immigration-case-law skill — to confirm a circuit opinion is real and says what the draft claims — watch for circuit misattribution (the Ninth Circuit ca9 has the largest immigration docket). BIA precedent is cited "I&N Dec." (e.g., Matter of A-B-, 28 I&N Dec. 199 (BIA 2021)) — EOIR's Virtual Law Library is the publisher of record and CourtListener indexes many; confirm the precedent has not been certified/overruled by the Attorney General.

Flag each cite RED (does not resolve — possible hallucination), YELLOW (resolves but does not support the proposition / overstates it), ORANGE (resolves and supports, but the provision was amended since the quoted version), or GREEN (resolves, supports, current).

The three immigration citation traps

  • INA-vs-8-U.S.C. mismatch. See Pass 1a. Verify both numbers; never assume a constant offset.
  • DHS-vs-EOIR regulation duplication. Several regulations exist in two parallel versions — the DHS copy and the EOIR copy — and the draft must cite the one that governs its forum:
    Subject DHS (USCIS / CBP / ICE) EOIR (court / BIA)
    Asylum 8 CFR Part 208 8 CFR Part 1208
    Removal proceedings 8 CFR Part 240 8 CFR Part 1240
    EOIR / BIA procedure 8 CFR Part 1003
    A removal-defense brief filed in immigration court that cites "8 CFR § 208.13"
    (DHS) instead of "8 CFR § 1208.13" (EOIR) is citing the wrong sovereign's
    rule — flag it YELLOW and point to the forum-correct part in the
    regulation corpus.
  • FAM is guidance, not law. A 9 FAM / 8 FAM / 7 FAM cite is State Department internal guidance, not binding authority. Never let a FAM cite stand alone — flag any FAM cite that is not paired with the controlling INA / 8 CFR / 22 CFR provision, and verify the FAM text against ../../references/foreign-affairs-manual/.

Pass 2 — Internal consistency

Within a single document, verify:

  • A-number (A2NN-NNN-NNN) is identical every time it appears, and matches the NTA / receipt notice. A drifting A-number is a blocker.
  • Receipt numbers (XYZ + 10 digits), priority dates, and A-file references are consistent.
  • Dates agree (date of entry, NTA service date, hearing date, deadline math). A "30 days from service" claim should compute correctly.
  • Party / declarant names and country of nationality are styled consistently throughout.
  • Paragraph and exhibit cross-references ("as stated in ¶ 12") actually point where they claim.

Pass 3 — Packet consistency

Across every document in the filing (brief, motion, declaration, exhibit index, proposed order, certificate of service):

  • Caption — identical forum/court, A-number, and party names on every page.
  • Cross-referenced facts — the brief's fact recitation matches the declaration's sworn content; exhibits cited in the brief match the exhibit index.
  • Relief requested — the motion's prayer matches the proposed order.
  • Service — the certificate lists every party (and, in EOIR matters, DHS / the ICE Office of the Principal Legal Advisor).

Pass 4 — Sworn-vs.-argued consistency

The brief contains arguments; the declaration / affidavit contains sworn facts. Verify:

  • Every factual assertion in the brief has a sworn source (declaration ¶ or exhibit) — flag unsupported assertions.
  • No argument contradicts a sworn statement (e.g., brief says "entered in 2019"; declaration swears "2018").
  • Each declarant attests only within personal knowledge; flag hearsay.

Producing the report

Output a structured report with a summary count (GREEN / ORANGE / YELLOW / RED + consistency issues), one section per pass with the exact location and suggested fix, and a prioritized fix list tagged BLOCKER (hallucinated cite, INA/USC mismatch, wrong-forum regulation, A-number drift, sworn-vs-argued contradiction), IMPORTANT (amended text, unpaired FAM cite, internal inconsistency), or SUGGESTED (stronger authority available; stylistic drift). Keep it readable — a 2-page report that prioritizes blockers beats a 50-page dump.

Handling fetch failures

If a canonical fetch fails, flag the item UNVERIFIED (fetch failed) — distinct from RED (hallucination) — and continue. Report unverified items separately so the user can confirm them manually. Do not silently rewrite.

Artifacts this skill drafts

  • A verification report (the four-pass output above).
  • A citation table mapping each cite to its INA/USC pair, forum-correct regulation, and verification status.
  • A prioritized fix list (BLOCKER / IMPORTANT / SUGGESTED).

Related authority

Composition

Runs after any drafting skill and before filing. Composes with immigration-pro-se (orientation), eoir-removal-defense, eoir-motions-to-reopen-reconsider, bia-appeals, uscis-benefit-requests, consular-visa-refusal, and circuit-petition-for-review (re-draft flagged items by handing back to the originating skill), and with immigration-deadlines (to confirm any deadline math the draft asserts).

Install via CLI
npx skills add https://github.com/codearranger/claude-legal --skill immigration-fact-check
Repository Details
star Stars 6
call_split Forks 4
navigation Branch main
article Path SKILL.md
More from Creator
codearranger
codearranger Explore all skills →