legal-practice-profile · git:20260624.7b44c89 · 2026-06-24 · sha256 36e577cb391849da
legal-practice-profile git:20260624.7b44c89A
Immutable. This exact content is served forever at /api/v1/blob/36e577cb391849da.
--- model_tier: inherit name: legal-practice-profile description: "Use when setting up the legal pack — captures jurisdiction, role, escalation, and playbook into a plain-prose profile every legal skill reads. Triggers on \"set up legal\", \"legal profile\"." status: active tier: senior council_depth: deep domain: process recommended_for_user_types: [legal] workspaces: - legal-review-prep packs: - legal-review-prep trust: level: advisory install: removable: true --- # legal-practice-profile The keystone of the legal pack. Legal skills (`contract-review`, `nda-triage`, `dpa-review`, `legal-intake-triage`) ship **procedure + output template only — no default legal positions**. This skill captures the positions, in plain prose, so one generic skill set behaves team-specifically. Obeys `legal-safety-floor`. ## When to use - First run of the legal pack — before any review skill is invoked (they halt on `[configure]` placeholders until the profile exists). - A position changed (new standard NDA term, a different escalation owner, a jurisdiction added within EU/DE scope). - A non-lawyer is being given pack access — the role capture drives the attorney gate everywhere downstream. Do NOT use it to perform a review (route to the review skills) or to store per-matter state (the pack deliberately ships no matter-workspace). ## Procedure ### Step 0: Offer quick vs full - **Quick (≈2 min)** — jurisdiction, role, escalation owner. Writes `[DEFAULT]` markers for everything else and tells the user which to tune later. - **Full (≈15 min)** — adds playbook positions per skill (NDA terms, contract clause stances, DPA sub-processor / audit / liability positions). Pause/resume via a `<!-- PROFILE PAUSED AT: <section> -->` marker + `[PENDING]` fields. ### Step 1: Capture the load-bearing identity 1. **Jurisdiction** — must be within EU/DE scope. If the user names an out-of-scope jurisdiction, surface the hard-refusal: the pack covers EU/DE only; for others, consult licensed local counsel. Record the chosen jurisdiction; every skill stamps it as its `Jurisdiction:` tag. 2. **Role** — lawyer / non-lawyer-with-access / non-lawyer-without. This is load-bearing: it selects the work-product header and arms the GREEN×non-lawyer attorney gate in every skill. Capture honestly; never infer. 3. **Escalation owner + reviewer** — who the attorney gate routes to, who signs off RED items. ### Step 2: Capture playbook positions (full mode) — in plain prose, never YAML the user edits For each review skill the user wants configured, capture positions as plain-English statements (e.g. *"we accept mutual NDAs with a 3-year term; one-way inbound needs counsel review"*). The user should see a document about their practice, not a config file. Write `[DEFAULT]` where they skip, and say which defaults a review will otherwise flag. ### Step 3: Optional seed-doc delta If the user points at 5–20 signed agreements, read them and compute the delta between stated positions (Step 2) and what was actually signed. Surface the gap — *"you said 3-year NDAs but 6 of 8 signed at 5"* — and let the user reconcile. The interview tells you what they think their playbook is; the docs tell you what it is. ### Step 4: Write the profile + confirm Write the profile to the package config location (`.agent-settings.yml` legal section + the `agent-config setup` wizard surface — **adapt into existing config, do not clone a per-plugin CLAUDE.md**). Confirm back the jurisdiction, role, and which fields are `[DEFAULT]`/`[PENDING]`. Every downstream skill reads from here and halts on any unresolved `[configure]` before substantive work. ## Related Skills **WHEN to use this** - Setting up or re-tuning the legal pack's positions, jurisdiction, role, or escalation. **WHEN NOT to use this** - Performing a review → route to [`contract-review`](../contract-review/SKILL.md), [`nda-triage`](../nda-triage/SKILL.md), [`dpa-review`](../dpa-review/SKILL.md). - Triaging a question → [`legal-intake-triage`](../legal-intake-triage/SKILL.md). - Per-matter state — out of scope (no matter-workspace; deliberately rejected). ## When the agent should load this - "Set up the legal pack." - "Update our legal playbook / escalation owner." - "Richte das Legal-Pack ein." - "Wer ist unser Eskalations-Owner für Verträge?" ## Output 1. **Legal practice profile** *(plain prose)* — jurisdiction (within EU/DE), role, escalation owner + reviewer, per-skill playbook positions, with `[DEFAULT]` / `[PENDING]` markers, written to the package config location. 2. **`profile-summary.md`** — what was captured, what stayed default, the seed-doc delta (if run), and which review skills are now configured vs still on `[configure]`. Carries the `Jurisdiction:` tag and the body line: `> ⚠️ Attorney review required on material use. This is a draft for a licensed attorney, not legal advice and not a legal conclusion.` — the profile drives attorney-gated reviews; it is configuration support, not legal advice. ## Gotcha - A non-lawyer filling the profile cannot define what RED is — so the profile never lets a non-lawyer self-clear; the attorney gate holds regardless of captured positions. - Quick mode writes `[DEFAULT]`s, not silence — a review against an unconfigured position must flag `[configure]`, never guess. - Out-of-scope jurisdiction at Step 1 is a hard refusal, not a "best-effort" — adding a jurisdiction is a currency promise the owner must accept. - Seed-doc delta is the truth source; the interview is the stated intent. When they disagree, surface it — do not silently trust either. ## Do NOT - Do NOT emit a YAML config the user must hand-edit — the profile is a plain-prose document. - Do NOT infer the role; ask. The role arms every downstream attorney gate. - Do NOT let a review proceed on `[configure]` / `[PENDING]` positions — halt and route back here. ## Runnable example EU SaaS, processor-side, non-lawyer legal-ops user. - Step 0 — quick mode. - Step 1 — `Jurisdiction: DE`; role = non-lawyer-with-access (arms the attorney gate everywhere); escalation owner = external counsel contact. - Step 2/3 — skipped (quick); NDA + DPA positions left `[DEFAULT]`. - Step 4 — profile written; `dpa-review` now runs but flags `[configure]` on sub-processor notice window + audit frequency, and any GREEN routes into the attorney gate because the role is non-lawyer.