From legal-clinic
Tracks legal clinic deadlines with cross-case rollup reporting, configurable warnings (14/7/3/1 days), and overdue flags. Use for adding deadlines, getting reports, or updating case deadlines.
How this skill is triggered — by the user, by Claude, or both
Slash command
/legal-clinic:deadlines [--add | --report (default) | --update [id] | --complete [id] | --close [id] | --horizon=N][--add | --report (default) | --update [id] | --complete [id] | --close [id] | --horizon=N]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-clinic/CLAUDE.md` → jurisdiction, practice areas, warning-day cadence.
~/.claude/plugins/config/claude-for-legal/legal-clinic/CLAUDE.md → jurisdiction, practice areas, warning-day cadence.--add: capture case, type, description, due date, source, owner. Write to ~/.claude/plugins/config/claude-for-legal/legal-clinic/deadlines.yaml. Check for duplicates first.--report (default): cross-case rollup — overdue, next 3d, next 7d, next 14d; by owner; by practice area; unassigned flags.--update [id]: modify fields; log note with date.--complete [id]: mark done; confirm with student that work is actually filed/submitted.--close [id]: close-without-completing; require rationale in notes.A clinic's biggest operational risk is a missed deadline. Students carry multiple cases, work part-time, turn over every semester. Deadlines that live only in individual students' heads get dropped at handoff, get forgotten during finals week, get missed when a student unexpectedly withdraws from the clinic. This skill is the central operational record.
The supervising attorney is on the hook if a deadline is missed. The skill is calibrated to that stakes level — warnings fire early, overdue items stay visible until explicitly resolved, handoffs (via /semester-handoff) pull the deadline list forward to the next student.
~/.claude/plugins/config/claude-for-legal/legal-clinic/CLAUDE.md → jurisdiction, practice areas, deadline warning days (default 14/7/3/1), supervising attorneys~/.claude/plugins/config/claude-for-legal/legal-clinic/deadlines.yaml — the ledgerJurisdiction assumption. Deadline calculations and warning thresholds assume the jurisdiction set in CLAUDE.md. Deadlines, tolling rules, computation-of-time rules, and local court practices vary materially by jurisdiction and by specific court. If a matter involves a different state, a specific court's local rules, or a federal vs. state forum question, confirm the deadline against the governing rule with your supervisor before relying on it.
Flag: --add | --report | --update | --complete | --close (default: report)
--add — log a new deadlineInputs:
The skill generates an id slug automatically: [case]-[short-desc]-[YYYY-MM].
Extraction from other skills: when /client-intake, /draft, or /status surface a deadline in their output, they should hand off to this skill with pre-populated fields. Student confirms and adds.
Pre-add check: if a deadline with the same case_id + type + due_date already exists, flag as likely duplicate and ask before adding.
Plausibility sanity band. After the student enters a due date, do NOT compute or verify — but apply a rough plausibility check against typical ranges for the filing type, and flag the student if the date falls far outside. This is scaffolding to catch gross errors in the student's own math, not an alternative to computing against the rule.
Bands are jurisdiction-keyed. Load the band file for this clinic's jurisdiction from references/plausibility-bands/{state}.md where {state} is the two-letter code from ~/.claude/plugins/config/claude-for-legal/legal-clinic/CLAUDE.md → clinic jurisdiction (and federal always loads alongside). The legal-clinic plugin ships references/plausibility-bands/CA.md (fully populated) and references/plausibility-bands/IL.md (placeholder structure) as starting points.
Hard stop at cold-start if the band file is missing. If references/plausibility-bands/{state}.md does not exist for the clinic's jurisdiction, do NOT silently run without plausibility checks. At cold-start, tell the supervisor:
"I don't have deadline plausibility checks for [state] — the sanity band for this clinic's jurisdiction isn't in the shipped reference files. I can still track deadlines (add, report, update, complete, close), but I cannot sanity-check them against typical ranges. Here's how to build the band file from your state's rules: copy
references/plausibility-bands/IL.mdas a template, fill in one row per deadline type your clinic sees most (typical range, triggering-event handling, computation-of-time rule, short cite), save atreferences/plausibility-bands/{state}.md, and re-run/legal-clinic:deadlines. Until then, every deadline I accept will carrywarnings: no-plausibility-bandand your review should treat dates as unchecked."
Do not fall back to the CA table for a non-CA clinic. The silent-degradation case — shipping a California sanity check to an Illinois clinic — is the failure this fix exists to close.
Sanity check logic:
references/plausibility-bands/{state}.md (plus federal-always).due:, compare to triggering-event date + typical range for that type: (if a typical range exists in the loaded band file for the filing type).The date you entered falls outside the typical range for [type] in [jurisdiction]. [Type] deadlines for [filing type] typically fall ~[range] after [triggering event]. Your entry: [date], which is [N] days from [triggering event]. Re-check your calculation against [cited rule from the band file] and the jurisdiction's computation-of-time rule. If your calculation is correct (local rule exception, atypical triggering event, tolling, waiver), confirm and I will add the entry as-is. Otherwise, recompute and re-run
/deadlines --add.
type: (unusual filing, non-standard deadline), do not sanity-check — write the entry and note in the warnings: field that no plausibility band applies.warnings: no-plausibility-band.The skill does not compute. If the student enters [VERIFY] in the due: field because they haven't done the math yet, write the entry with due: [VERIFY] — the sanity band runs only when the student supplies a concrete date. The computation stays with the student and supervisor.
--report (default) — cross-case rollupRead ~/.claude/plugins/config/claude-for-legal/legal-clinic/deadlines.yaml. Produce:
# Deadline Report — [today]
**Active deadlines:** [N]
**Overdue:** [N] ⚠️
**Due this week (next 7 days):** [N]
---
## ⚠️ Overdue (flagged for immediate attention)
| ID | Case | Type | Due | Owner | Days overdue |
|---|---|---|---|---|---|
## 🔴 Due today / next 3 days
| ID | Case | Type | Due | Owner |
|---|---|---|---|---|
## 🟡 Due in 4-7 days
| ID | Case | Type | Due | Owner |
|---|---|---|---|---|
## 🟢 Due in 8-14 days
[list]
## Beyond 14 days
[count only — expand with `/deadlines --report --horizon=30` for details]
---
## By owner student (workload distribution)
| Student | Overdue | Next 7d | Next 14d | Total active |
|---|---|---|---|---|
## By practice area
[same table, grouped by area]
## Unassigned deadlines
[list — flag if any active deadline has no owner_student]
--update — modify an existing deadlineCommon updates: due date changed (court continuance), owner changed (reassignment), notes added.
Every update writes a dated note inline; history is visible in the entry.
--complete — mark donestatus: completed, completed_date: [today].--close — close without completingFor deadlines that no longer apply — case settled, motion withdrawn, client dropped the matter. Requires a notes: entry explaining why.
Per ~/.claude/plugins/config/claude-for-legal/legal-clinic/CLAUDE.md deadline warning days. Default 14, 7, 3, 1.
Warnings don't auto-surface — this plugin has no scheduled/agent behavior. But any time /deadlines is invoked (or /status, which routes to this skill for deadline checks), the report pulls forward anything hitting a warning threshold.
If a deadline passes its due date without being marked complete, it moves to status: overdue and stays there in every report until explicitly resolved. Overdue deadlines do not auto-close.
/client-intake: when intake surfaces a timeline urgency (eviction notice date, asylum filing deadline, hearing date), offer to /deadlines --add with pre-populated fields./draft: when a filing draft references a deadline (answer due, objection window), offer to add./status: the status skill reads ~/.claude/plugins/config/claude-for-legal/legal-clinic/deadlines.yaml for the relevant case and includes upcoming deadlines in its output./semester-handoff: reads deadlines.yaml to identify all active deadlines across departing-student cases; each handoff memo carries the deadlines forward./supervisor-review-queue (if formal review enabled): deadlines near their cutoff get priority in the review queue.[VERIFY: confirm against local rule] for any non-routine deadline.npx claudepluginhub anthropics/claude-for-legal --plugin legal-clinicTracks legal clinic deadlines with cross-case rollup reporting, configurable warnings (14/7/3/1 days), and overdue flags. Use for adding deadlines, getting reports, or updating case deadlines.
Tracks legal aid case deadlines with configurable warnings, cross-case rollup, and funder-tagged filtering. Use to add, report, update, complete, or close deadlines.
Produces portfolio-level morning briefings for legal portfolio managers handling multiple matters, triaging emails, call notes, calendars into meetings, deliverables, issues, and risks as a .docx file. For multi-matter daily sweeps.