skills/writing-legal/SKILL.md
Internal skill for academic legal writing. Loaded by /writing when style=legal. Based on Volokh's "Academic Legal Writing".
npx skillsauth add edwinhu/workflows writing-legalInstall 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.
Style guide for law review articles, seminar papers, and legal scholarship based on Eugene Volokh's Academic Legal Writing.
Step 1: Load base writing rules
Read ${CLAUDE_SKILL_DIR}/../../skills/writing/SKILL.md and follow its instructions.
Step 2: Check for active workflow
If .planning/ACTIVE_WORKFLOW.md exists and workflow: writing, update style: legal.
If no .planning/PRECIS.md exists in the project:
/writing to set up thesis, audience, and claims first."Step 3: Apply legal-specific rules below
Invoke this skill for:
For general writing: Use /writing skill (Strunk & White)
For economics/finance: Use /writing-econ skill (McCloskey)
When generating Word documents (.docx), you MUST load the /docx skill first. The docx skill provides proper document manipulation capabilities.
Template location: templates/law_review_template.docx
When creating or converting a docx, load references/formatting.md for heading styles, body text styles, pandoc --reference-doc usage, and the document creation gate function.
Before creating ANY Word document for legal writing:
/docx skilltemplates/law_review_template.docx as the baseIf you created a blank docx without the template, DELETE IT and START OVER with the template.
If your draft makes a prescriptive claim but doesn't address obvious objections, DELETE the section and START OVER. Legal scholarship requires anticipating and answering counterarguments, not ignoring them.
If you cite a case/statute/historical fact via an intermediate source (law review, treatise), DELETE the citation and READ THE ORIGINAL. Even Supreme Court opinions misstate precedents.
When to delete and restart:
How to restart:
Old: "This article discusses privacy concerns in Fourth Amendment doctrine..."
New: "When police drones photograph backyards, does the Fourth Amendment require a warrant?
Courts disagree, but three features of aerial surveillance suggest yes."
Start with CONCRETE QUESTION that matters, not abstract topic description.
A law-review article DEFAULTS to Introduction + three body Parts + Conclusion. Seed exactly these three body Parts before any decomposition:
| Part | Mode | Holds | |------|------|-------| | Part I — Background | descriptive | the law / doctrine / facts the argument needs | | Part II — The Argument (Proof of the Claim) | analytical | the proof, with counterarguments FOLDED IN — not a separate Part | | Part III — The Prescription | normative | the reform / fix |
Splitting a Part into two+ numbered Parts is an EXCEPTION, not the starting point. Split ONLY when a Part has become genuinely too large to hold together as one — and that is a demonstrated condition you reach, never the initial decomposition. Begin three-part; expand only on demonstrated unwieldiness, and log the split as an R4 decision in LEARNINGS.md.
Anti-pattern (do NOT do this): opening by decomposing the body into 4–5 Parts — e.g. splitting the Proof into separate "Elimination" and "Window" Parts, or breaking counterarguments out as their own Part — before any Part has proven unwieldy. Counterarguments belong folded into Part II. Five small Parts where three would hold is a structure smell, not thoroughness.
The subsections below describe what each section/Part DOES; the three-part body above is how many there are by default. </EXTREMELY-IMPORTANT>
The introduction serves three functions:
Requirements:
Anti-patterns:
Synthesize precedents; do not summarize each case sequentially. Focus only on facts and rules necessary for the argument.
| Problem | Solution | |---------|----------| | Summarizing each case | Synthesize: "Courts generally hold X, except when Y" | | Mini-treatise on the area | Only what's needed for the claim | | 80% background, 20% claim | Balance must favor the original contribution |
For prescriptive claims: Show the proposal is both doctrinally sound AND good policy.
Use a test suite: Apply the proposal to concrete scenarios (easy cases, hard cases, edge cases) to demonstrate it works.
Confront counterarguments:
Connect to broader issues:
The normative payoff: the reform/fix the argument earns. Keep it ONE Part by default.
Keep conclusions brief. The real work is rewriting the introduction after the draft is complete, ensuring it accurately reflects the article's contributions.
Common logical problems in legal writing (see references/volokh-distilled.md for detailed examples):
| Problem | Issue | |---------|-------| | Categorical assertions | "Always" and "never" invite counterexamples | | Unpacked metaphors | "Slippery slope" and "chilling effect" hide incomplete arguments | | Missing logical pieces | Syllogisms that skip steps (subject to scrutiny ≠ fails scrutiny) | | Universal criticisms | "Chilling effect" applies to most laws—explain why this one matters | | Undefined abstractions | "Privacy," "paternalism," "democratic legitimacy" need definitions | | "Arguably" as argument | Acknowledges controversy but doesn't make the case |
Never rely on intermediate sources for cases, statutes, or historical facts. Even Supreme Court opinions misstate precedents.
| Source Type | Rule | |-------------|------| | Cases/statutes | Read the original; don't trust treatises or other cases | | Historical facts | Go to history books, not law review articles citing them | | Scientific studies | Read the study, not the article summarizing it | | Newspapers | Unreliable; track down underlying documents | | Wikipedia | Use to find sources, but cite originals |
Avoid false synonyms: "murder" ≠ "homicide" ≠ "killing"; "foreign-born" ≠ "noncitizen"; "children" is ambiguous (0-14? 0-17? 0-24?).
Include necessary qualifiers: "falsely shouting fire" is quite different from "shouting fire."
Make clear when inferring:
Acknowledge the inference and defend it; don't hide it.
Surveys measure only what respondents said in response to specific questions. Valid surveys require:
"Online survey" and "Internet poll" are almost sure signs of invalidity.
| Principle | Application | |-----------|-------------| | Understate criticism | "Mistaken" not "idiotic"—overstating raises the burden of proof | | Attack arguments, not people | "This argument fails" not "Volokh is wrong" | | Avoid caricature | Quote adherents, not critics, when explaining a position |
See references/volokh-distilled.md for extended discussion of rhetorical problems.
| Problem | Solution | |---------|----------| | "This article discusses X" | Hook with concrete problem | | Case-by-case summaries | Synthesize precedents | | Undefended metaphors | Unpack the concrete mechanism | | "Arguably" / "raises concerns" | Give the actual argument | | Relying on intermediate source | Read original case/study | | "Many children" | Specify: "111 children age 0-17" | | "Correlation shows causation" | Explain why inference is valid | | "Volokh's argument is idiotic" | "This argument seems unsound" |
For comprehensive guidance, consult:
references/formatting.md - Template formatting reference:
--reference-doc usagereferences/volokh-distilled.md - Extended Volokh guidance covering:
Load references/formatting.md when:
Load references/volokh-distilled.md when:
Required skills for document generation:
/docx - Load BEFORE creating any Word document/bluebook - Load when formatting legal citationsAfter completing any legal writing task, invoke /ai-anti-patterns to check for AI writing indicators. The /writing skill covers general prose principles (active voice, omit needless words) that complement this skill.
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.