Skip to main content

cite-check

Cite-checks a brief, motion, or memo (PDF/Word): verifies each cited case is real, supports the proposition, is good law, and quoted accurately. Returns one marked-up .docx with comments and redlines.

설치로 이동

소스 정보

저장소
zhongjingyun/codex-plugins
최근 소스 활동
2026년 7월 6일 07:05
감지된 SKILL.md 언어
영어
스타
16
포크
2

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
7 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
cite-check
description
Cite-checks a brief, motion, or memo (PDF/Word): verifies each cited case is real, supports the proposition, is good law, and quoted accurately. Returns one marked-up .docx with comments and redlines.
metadata
{"version":"0.2.0","author":"midpage"}
# Cite-check Audit every citation in an uploaded document against ground truth, and hand back **one deliverable**: a `.docx` that recreates the document exactly, marked up with Word comments and tracked-change suggestions. AI-drafted briefs invent cases, misstate holdings, and alter quotes; human drafts cite stale law and miscite the record. Every citation gets checked through the Midpage tools and every finding lands in the document itself, anchored where it occurs. Read `references/citations.md` for citation form and `references/legal-docx.md` for the renderer (including the `D.review()` comment/redline helpers). ## Workflow ### 1. Intake (PDF or Word) Read the uploaded file faithfully — full text, in order: for a PDF, extract the text; for a `.docx`, read the document body. Then extract every authority: case citations (with the proposition each is cited for and any quotation attributed to it) and record citations (ECF numbers, page/¶ pins, declarations, exhibits). Build the complete citation inventory **before** checking anything — exhaustiveness starts here; a citation missed at intake is a citation never checked. If the document is a federal filing, note the court and docket number from the caption; ask for the docket if record cites are present and you don't have it. ### 2. Run the five checks — on every citation, no exceptions Work citation by citation; run independent `analyzeOpinion` calls in parallel. Never assert a cite is good until a tool confirms it this session. 1. **The case is real.** Resolve via `analyzeOpinion` — `reporterCitation` exactly as cited, or the `docket` tuple (court abbreviation + docket number, no "No." prefix) for unpublished cases, or a known `opinionId`. Set `question` to the cited proposition so the same call feeds check 2. Resolves → real; use the returned `citation` and `url`. Won't resolve → **Review**: it may be a fabrication or a case the resolver missed — the attorney must check. Never substitute a "corrected" cite from memory. A real but mis-formatted cite that still resolves: existence confirmed, formatting flagged with the tool's exact citation string as the suggested correction. **WL / LEXIS / other commercial-database citations:** Midpage cannot verify a citation to another commercial database. Resolve the case itself (by case name + court/docket tuple) and run the remaining checks against the version Midpage has; the comment must say so (see Comment format). Any suggested correction uses the reporter or docket-number citation the tool returns — never WL/LEXIS. 2. **The proposition isn't mischaracterized.** Check `**doesNotAddress` first** — if the document's point is listed, the case does not stand for it → **Fix** (the most damaging miscite). Otherwise match against `supportedPropositions`: honor `scope` qualifiers; central reliance on a `background`/`secondary_matter` match → **Review** (weak support); a concurrence or dissent (`opinionSection`) sold as the court's holding → **Fix**. A fair-but-aggressive reading the tool can't settle → **Review**, saying what the case actually supports. 3. **Treatment / favorability.** `treatment` negative (reversed, overruled, criticized) → **Fix**, flagged prominently; caution → **Review**. Separately: does the case actually help the position citing it? Positive treatment with a holding that cuts against the use → **Review**, explained. 4. **Quotes are verbatim.** Compare each quotation to the verified `quote` in `supportedPropositions`; if not covered, `findInOpinion` with keywords from the quote. Verbatim → **OK**. Altered → **Fix** with the correct language. Not found → **Review** (keyword search can miss) — never assert a quote is accurate just because the case exists. 5. **Record cites** (federal filings, docket provided). `analyzeDocketReport` to locate the entry (missing from the docket → **Fix**), then `analyzeDocketFiling` asking whether the cited content is actually in that filing. Present → **OK**; absent or different → **Fix**, noting what the filing actually says. No docket / not federal → every record cite is **Review** with a comment that it could not be checked without the docket. ### 3. Build the marked-up .docx (the deliverable) One Word document, rendered through `scripts/legal_docx.js`, in three layers: **Cover page** (centered, then a page break): - Title: **Midpage Cite Check** - Subtitle: the filing name, *Party X v. Party Y*, Case No. XX-XXXXX (from the document's caption; leave a clearly marked placeholder for anything the document doesn't supply — never invent it). - **Scope line** (one or two lines, only what's needed): which portions of the document were reviewed if not the whole thing (e.g. "Scope of this review: the facts section (¶¶ 8–11, pp. 5–6) and the argument section (¶¶ 18–27, pp. 10–15)."), plus this fixed sentence: *Pin-cite page accuracy is not verified.* - Disclaimer, exactly: *This cite check only flags potential errors detected by Midpage. It is not intended to replace an attorney cite check. AI makes mistakes and outputs should be verified independently.* That is the whole cover — no "what was checked / what was not checked" essay, no methodology narration, no per-category inventory. The honesty lives where the reader needs it: each citation's own comment says what was confirmed or why it couldn't be checked, and the chat report carries the counts and the uncheckable items. **Exact recreation.** Recreate the uploaded document's substantive content **exactly** — same text, same order, same headings, same numbering. The unmarked text must read identically to the original: recreate first, mark up second. You may omit a table of contents, table of authorities, and the case caption if present — it's the substantive content being checked. Match the document's structure with the builder API (headings via `B.h1`–`B.h4` or bold paragraphs to mirror the original's levels; body via `B.p`; numbered paragraphs via `B.numbered`). **The markup.** Every finding goes in (a) a Word comment and/or (b) an inline tracked change — nothing else, and nothing in the body text itself: ```js const D = require("./scripts/legal_docx.js"); const B = D.builders("brief"); // mirror the original's register const R = D.review(); // author: "Midpage Cite Check" // a comment anchored to a citation: B.p([ ...R.comment([B.t("Smith v. Jones, 999 F.3d 100 (9th Cir. 2021)")], "OK — cited proposition supported (core holding).\nhttps://app.midpage.ai/…") ]) // a redline suggestion (paired with a short comment explaining the basis): B.p([ B.t("harm must be "), R.del("possible"), R.ins("likely"), B.t(".") ]) // write — passing the comments is required: B.write("Midpage Cite Check - <filing name>.docx", [cover, body], outDir, { comments: R.comments() }); ``` - **Every citation in the inventory gets a comment** — including the clean ones. A verified cite gets "OK — …" with the verified Midpage link; that is how the reader knows it was checked rather than skipped. Prefix every comment with its status: `OK`, `Fix`, or `Review`. - **Concrete corrections are tracked changes**: a mis-formatted citation (delete the cited string, insert the tool's exact `citation`), an altered quote (delete the altered words, insert the verbatim language). Every tracked change gets a companion comment explaining the basis. Judgment items (won't-resolve, weak support, negative treatment, unverifiable quote) are **comment-only** — never "fix" what a tool didn't establish. - **Never silently change the user's text.** Every alteration is a visible tracked change the attorney can accept or reject. ## Comment format — short, scannable, no fat Comments are read in a narrow margin pane. Three lines is the target; five is the ceiling. - **Line 1: the status and the finding**, in plain words. **Then at most 1–3 short sentences** of basis — only what the attorney needs to decide. Cut tool narration ("two keyword searches found…"), case summaries, and Bluebook commentary. - **The link goes on its own line at the end.** One link; the verified Midpage URL. - **Don't restate what the redline already shows.** If the tracked change displays the correction, the comment states the status and the basis — not a prose description of the edit. - **Don't fix the brief in the margins.** Substitute authority only if it was verified this session, and name it in one line — no editorializing. > **Too long:** "Fix — the case does not appear to stand for the proposition cited. > Midpage's analysis of 503 B.R. 571 lists this point among matters the opinion does not > address, and two keyword searches found no passage applying the preliminary-injunction > standard with 'particular emphasis' on preventing dissipation…; the only 'dissipation' > passage quotes the movants' own TRO motion in a footnote. Soundview concerns the automatic > stay's immediate and extraterritorial effect… Verify the cited pages or substitute > supported authority — e.g., verified this session: In re Netia Holdings…" > > **Right:** "Fix — proposition unsupported. Midpage lists this point as *not addressed*, > and keyword searches found no matching language; 'dissipation' appears only in a footnote. > https://app.midpage.ai/document/in-re-soundview-elite-ltd-8496643" > **Too long:** "OK — case verified; quote verbatim except capitalization. Midpage confirms > the sentence '…' 'courts' is lowercase mid-sentence in the original; the redline brackets > the case change ('[C]ourts') per Bluebook R5.2. https://app.midpage.ai/…" > > **Right (the redline already shows the bracket fix):** "OK — case verified; quote verbatim > except capitalization. Confirm against the case: > https://app.midpage.ai/document/matter-of-m4-enterprises-inc-1912384" > **WL/LEXIS cite:** "OK — Midpage cannot verify citations to other commercial databases, but > found this case. The proposition appears supported but worth reviewing. > https://app.midpage.ai/document/iovate-health-sciences-international-inc-11137541" ### 4. Report back in chat A few sentences: how many citations were checked, the counts by status, the worst findings first (unresolvable cites, `doesNotAddress` miscites, negative treatment, altered quotes), and what could not be checked and why. Then hand over the `.docx`. ## Honesty rules (the point of the skill) - **OK** only when a tool confirmed it this session. **Fix** only for a concrete tool-found defect. Everything else — including any cite that won't resolve — is **Review**. - **Exhaustive means accounted for.** Every citation in the inventory appears in the markup with a status. If something couldn't be checked (tool failure, no docket, ambiguous cite), its comment says so explicitly — a silent skip is a lie of omission. - **Never fabricate or repair a citation from memory.** An unresolvable cite is a finding, not a gap to fill. - **Pin cites are out of scope — don't even attempt them.** Never mark a pin cite correct or incorrect, never "correct" a page number; the cover page says so. - Be explicit about what a tool confirmed versus what needs the attorney's judgment. This skill flags; it does not bless.
GitHub에서 보기