← Plugin catalog
Data & Analytics

Trellis Law

Trellis Research, Inc. v2.0.3

State Trial Court Research

Create a free account to save this plugin.

From the developer

Not specified in the available declarations: capabilities, limitations, pricing & account requirements.

Onboarding example

1. Summarize the status and recent motion practice in People of the State of New York v. Valve Corporation, NY No. 450952/2026
Sources & dates

Developer declarations; not independently tested. Listing last checked Nov 11, 2026. Package observed Nov 11, 2026.

View package source →

Description

From the marketplace listing

Direct access to the US state trial court system, enabling legal research and insights on cases, verdicts, judges, attorneys, motions, litigation trends, and more - all grounded and sourced from trial court data and documents.

Language: English · Automatically detected from descriptions.

Changes

No changes recorded yet. Follow this plugin to keep track of future changes.

First seen Nov 10, 2026. Last seen Nov 11, 2026.

Files & skills

File archives

Plugin package9 files · 122 KBBrowse files →
Skill instructions
research-attorney5.45 KB

View saved version →

---
name: research-attorney
description: "Always call this first over raw `search_cases` or `search_documents` for any attorney-focused inquiry where the user provides the attorney's name and/or bar number."
metadata:
  displayName: "Research Attorney"
  seedlingSlug: "research_attorney"
---

### Jurisdiction

You need to know the state the user is interested in, or whether they're fine searching every state. If the request is ambiguous as to jurisdiction, ask before proceeding.

### Resolve the attorney's identity before you search

- **Capture the middle name if known** — you will search it three ways: omitted, as an initial, and fully spelled out.  

### Build the name-form SET (do not run a stop-at-first-hit ladder)

The same attorney is routinely indexed under several non-unified forms, and **each form returns a different, only-partially-overlapping subset.** Stopping at the first form that returns hits silently undercounts. So: assemble the applicable forms, run each as a **quoted phrase with the state filter**, then **combine the results and dedupe to case/docket id.**

Forms to include when applicable:

1. "First Last" (no middle)
2. "Last, First" (reversed)
3. "First Middle Last" (full middle spelled out)
4. "First M. Last" (middle initial)
5. reversed middle forms ("Last, First Middle", "Last, First M.")
6. legal/professional first-name swap (search *both*, e.g. Reagan **and** Richard)
7. punctuation-stripped variant for apostrophes / hyphens / accents (a quoted "O'Flaherty" returned 0 even though the firm is in the corpus)

Treat a large gap between forms as **expected**, not as evidence one form is wrong. When the surname is common, **lead with the full-middle form**. Only a pure "is this person in the data at all" check may treat the forms as alternatives; any counting/profiling question must union them.

### Run two retrieval lanes, then reconcile

Run the full-text name-form set **and** the entity filter (`entities=[{name, role: Attorney}]`, no middle initial so default slop absorbs the middle), and reconcile. **Never report one lane's number as "the" count without saying which lane produced it.** Treat an entity-lane **zero as non-dispositive** (it does *not* mean "no footprint"); treat an entity-lane **hit as still needing the counsel-of-record check below.**

Bar-number path (unchanged): `search_documents` with the bar number + quoted name; if empty, drop the bar number and run the name-form set across documents and cases.

### Match the tool to the question type

- **Analytical / aggregate** (practice areas, motion types, judges, win rates) → `search_documents` with `include_aggregations=true`; read the `practice_area`, `matter_type`, `judge`, `motion_type`, `outcome` facets.
- **Specific-case** (which cases, case vs. X) → `search_cases`, unioned with `search_documents` deduped by `case_name`. A firm filter `entities=[{name, role: Law Firm}]` is an *optional add, not a primary path* — coverage is sparse and it mis-resolves (a firm filter returned a plausible-but-wrong cluster for one common name and the wrong firm for another).
- When intent is unclear between analytical and specific-case, ask one clarifying question.

### Confirm one PERSON, not one NAME (disambiguation)

Namesakes are live and prolific, and aggregations blend them silently (two different "John Wayne Hogan"s; at least three "Mark Clark"s; two "Russell Hardin"s). Before reporting, **bucket the returned entity strings by firm + county + practice area.** Report only the bucket(s) matching your target. If two firms each look plausible, ask the user which.

### Counsel-of-record is a CHECK, not just a caveat

A full-text hit does not establish that the person was counsel:

- **Confirm the person appears in the document's structured Attorney list** before calling them counsel of record (one attorney's 12 full-text hits never tagged him as an attorney — pure noise).
- **Role mis-indexing:** an attorney can be indexed as a **Party** in his own case

Preview of the first 4,000 characters. Read full instructions →

Referenced files: 1 — file references are metadata, not package contents.

research-motions2.31 KB

View saved version →

---
name: research-motions
description: "Always call this first over raw search_documents or search_cases for any motion-focused inquiry. Researches motion practice in court filings \u2014 filings, arguments, outcomes, grant rates, judge or firm history, counts, and types \u2014 by searching briefs, memoranda, and rulings directly. Trigger include, but are not limited to: \"what's [judge/firm]'s grant rate on [motion type]\", \"find motions to compel arbitration filed by [firm]\", \"how often are anti-SLAPP motions granted in [jurisdiction]\", \"show me [firm]'s MSJ briefs arguing [theory]\", \"how many [motion type] were filed in [court] last year\", or a bare motion type with no question. Handles motion-name normalization across jurisdictions (12(b)(6) vs. demurrer, \u00a7 425.16 vs. anti-SLAPP, MSJ vs. summary judgment), the count-vs-rate distinction, the raw-vs-decided-motion denominator problem, and the small-N statistical claim guardrail that raw search will not catch."
metadata:
  displayName: "Research Motions"
  seedlingSlug: "research_motions"
---

### Research Motions

**Parse** for motion type, jurisdiction, judge, parties, firms, time, arguments, outcome filter.

**Ask vs. broaden.** Absent fields → search broadly. Ambiguous reads (""Springfield""; ""sanctions"" variant; count vs. rate) → ask.

**Normalize names.** 12(b)(6) → demurrer (CA) / motion to dismiss elsewhere; § 425.16 → anti-SLAPP; MSJ → summary judgment. Don't collapse procedurally distinct motions.

**Verify type by inspection** (caption, relief, signature), not metadata.

**Route.** Counts → filtered search. Rates → aggregation; report raw and decided-motion denominators (non-CA: sample, disclose). Arguments → briefs/memoranda; cite each case. Retrieval → fetch.

**CA rulings index** covers tentative rulings only, partial counties.

**If empty, relax:** firm/attorney → date → judge → subtype → jurisdiction (keep motion type/jurisdiction last).

**Output requirements.** For every cited document: case name, court, date, document type, Trellis ID/link. State the number of documents the answer rests on. For statistical claims, give sample size and time window; if N is small (< ~20) or the source is a sampled estimate rather than a Trellis-computed rate, say so explicitly. Flag low confidence rather than smoothing it over.

Referenced files: 1 — file references are metadata, not package contents.

Release notes

Added new skills: Research Attorney and Research Motions.

Declared in the saved package. Remote tools may change independently.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
Trellis Research, Inc.

Package observed Nov 11, 2026.

Technical details
First seen
Nov 10, 2026 · 06:00 UTC
Last seen
Nov 11, 2026 · 18:00 UTC
Collection status
Collected

plugin_asdk_app_6a4438da388081919a4222e44c6cd1bb

Download plugin data (JSON)

Plugin details: freshly prepared. Prepared . Refreshed when plugin data changes or after 6 hours. Your account and Follow status are live.