From legal-aid
Generates first drafts of civil legal aid documents (eviction answers, protective orders, demand letters, etc.) from case notes and office templates, with jurisdiction formatting and fact/restriction flags.
How this skill is triggered — by the user, by Claude, or both
Slash command
/legal-aid:draft [document type — e.g., 'eviction-answer', 'protective-order', 'demand-letter', 'ssi-appeal'] [case-id][document type — e.g., 'eviction-answer', 'protective-order', 'demand-letter', 'ssi-appeal'] [case-id]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
1. Load `~/.claude/plugins/config/claude-for-legal/legal-aid/CLAUDE.md` → practice-area templates, jurisdiction, local rules, supervision style, funder restrictions, escalation default.
~/.claude/plugins/config/claude-for-legal/legal-aid/CLAUDE.md → practice-area templates, jurisdiction, local rules, supervision style, funder restrictions, escalation default.guides/<practice-area>.md if one exists.[FACT NEEDED: ...]; never guess.[FUNDING RESTRICTION: ...] flag from intake. If the drafted action plausibly engages a new funder restriction, raise a new flag.[VERIFY] / [UNCERTAIN] / [FACT NEEDED] markers, supervision routing per office model./legal-aid:draft eviction-answer
/legal-aid:draft protective-order case=marisol-2026-04
/legal-aid:draft ssi-appeal
A staff attorney spends real hours producing first drafts of routine documents — eviction answers, protective order petitions, demand letters, benefits appeals, asylum declarations, debt validation letters, motions to vacate default judgments. Most of those drafts follow practice-area patterns the office has used hundreds of times. The lawyering is in the facts and the analysis; the structure is repeatable.
This skill generates the first draft from case notes and the office's templates, applies the right jurisdiction's formatting, flags every missing fact, surfaces every funder restriction that the drafted action might engage, and produces a draft the staffer reads critically, edits, and routes for managing-attorney review per the office's supervision model.
What it explicitly does not do: produce final work product. Every output is labeled, marked with inline [VERIFY] and [FACT NEEDED] tags, and gated by the supervision model. A staffer who treats this as final has misunderstood the tool.
The skill checks four conditions before drafting:
Matter context exists. If no case-ID is passed and no intake/screening output is in scope, ask the staffer to provide one or paste relevant facts. The skill does not draft from scratch with no context — that's how generic templates leak into production.
Conflict flags from intake are resolved. If intake raised a conflict flag that the managing attorney has not signed off on, the skill refuses to draft and routes back: "Intake on this matter flagged a conflict that hasn't been resolved by [managing attorney]. Drafting paused — get sign-off first, then re-run."
Funding allocation is set. If the matter is not yet allocated to a specific funder (or the eligibility-screening matrix is ambiguous), the skill flags this and asks the staffer to confirm with the managing attorney before drafting under a default allocation. The funder allocation determines what funder restrictions apply and what reporting the case rolls up into.
Required practice area is in scope. If the doc type doesn't match any practice area the office handles per CLAUDE.md, refuse: "[doc type] is in [practice area], which isn't a listed office practice area. Confirm with [managing attorney] that this matter is in scope before drafting."
~/.claude/plugins/config/claude-for-legal/legal-aid/CLAUDE.md → practice-area templates, jurisdiction, supervision style, escalation default, funder restrictions, supervision-flag triggers.
The matter's case file → intake summary, eligibility-screening output, comms log, deadlines, any prior drafts and managing-attorney feedback.
~/.claude/plugins/config/claude-for-legal/legal-aid/guides/<practice-area>.md if one exists → red flags, escalation posture, review gates, funder-restriction overrides, local quirks, office-specific templates.
If the office has the LawDroid LIA-MCP or VIA-MCP connectors enabled and the matter has an associated upstream conversation, that conversation is referenced for client voice and tone (especially relevant for declarations and client letters), but never quoted verbatim — the client's words in a declaration are the client's, captured by staff, not pasted from a chat log.
From the argument or the staffer's prompt, identify:
If multiple templates could apply (e.g., the office has both a "demand letter — debt collection" and a "demand letter — landlord repair" in the consumer and housing practice areas), confirm with the staffer.
Each document type has a fact requirement set. For example:
Eviction answer:
Protective order petition:
Demand letter (collection defense):
Pull each from the matter's intake summary and prior drafts. For each missing fact, mark inline as [FACT NEEDED: <specific fact> — needed for <where in draft>]. Never guess.
Apply caption format, service block, signature line, and any local rules:
[CASE NUMBER])If the office uploaded local rule supplements at cold-start, defer to them. If not, use state defaults and flag: "Format used: state default. Office did not upload local rules; confirm against current local rules of [court] before filing."
From the matter's intake output:
[FUNDING RESTRICTION: ...] flag still live on the matterThen check whether the drafted action itself plausibly engages any funder restriction not already flagged:
[FUNDING RESTRICTION: LSC class-action prohibition — confirm funding allocation before filing][FUNDING RESTRICTION: LSC fee-generating restriction — confirm allocation and managing-attorney approval][FUNDING RESTRICTION: LSC § 1626 — confirm exception applies or matter is on non-LSC funds][CONFIDENTIALITY: VAWA / state-DV-confidentiality — review address handling before filing]Each net-new flag goes at the top of the draft above the document text, and the relevant inline location.
Generate the document using:
Mark inline:
[FACT NEEDED: ...] — missing required fact[VERIFY: ...] — claim included but should be verified before filing (citations, dates, legal standards)[UNCERTAIN: ...] — language the skill is unsure about; the staffer reviews and edits[STAFF REVIEW: ...] — section that requires the staffer's own analytical contribution, not the skill'sFor citations: every cite is tagged [VERIFY: cite — check current]. Even known-good cites get this tag because the citation database may have updated.
Per the supervision style in CLAUDE.md:
# Draft: [Document type] for [Case ID]
---
[AI-ASSISTED DRAFT — requires staff analysis and managing-attorney review per office supervision model]
**Practice area:** [area] | **Funder allocation:** [funder(s)] | **Generated:** [date]
**Template basis:** [office-uploaded / CLAUDE.md / generic]
**Jurisdiction:** [state, court, division]
---
## Funder considerations
[Each propagated `[FUNDING RESTRICTION: ...]` flag from intake]
[Each net-new flag the draft raises]
## Document
[The drafted document, with inline `[FACT NEEDED]`, `[VERIFY]`, `[UNCERTAIN]`, `[STAFF REVIEW]` markers]
## Pre-filing / pre-sending checklist
- [ ] Fill every `[FACT NEEDED: ...]` from case file or client follow-up
- [ ] Verify every `[VERIFY: ...]` citation against CourtListener or Descrybe
- [ ] Resolve every `[UNCERTAIN: ...]` by review or rewrite
- [ ] Complete every `[STAFF REVIEW: ...]` section with the staffer's analysis
- [ ] Resolve every funder consideration with the managing attorney's sign-off if material
- [ ] Confirm jurisdiction formatting against current local rules
- [ ] Confirm signature line, bar info, and contact details are current
- [ ] Route per supervision model: [formal queue / configurable flag / managing-attorney review at next rounds]
## Premises this draft rests on
- Practice area: [from intake or argument]
- Funder allocation: [from intake — confirm before filing if uncertain]
- Template: [path or "generic — confirm office template doesn't exist"]
- Jurisdiction formatting: [local rules path or "state default — verify against current local rules"]
- Facts: [from intake summary dated X / from staffer notes dated Y / `[FACT NEEDED]` for the rest]
## What to verify before this leaves the office
[Re-stated key verifications: citations, jurisdiction formatting, funder allocation, conflict re-check if material time has passed since intake]
/status can reference it. /case-transfer includes it in the handoff.[FUNDING RESTRICTION: ...] flag stays live on the matter until resolved.[STAFF REVIEW: ...] marker indicates a legal-analysis gap, the staffer can run /memo to scaffold the analysis before completing the draft.npx claudepluginhub lawdroidai/legal-aid-pluginGenerates first drafts of legal clinic documents (motions, petitions, declarations) from case notes and practice-area templates, with jurisdiction-aware formatting and inline flags for missing facts.
Provides legal writing expertise for contract drafting, legal memoranda, discovery, and correspondence. Auto-activates when legal drafting tasks are detected.
Drafts a demand letter from a completed intake, gated on privilege, waiver, admission, and FRE 408 checks, with .docx output and post-send checklist.