# Legal Intake

> Swiss legal intake — transforms vague or complex queries into actionable execution plans. Two modes: **Refine** (single-domain, Socratic dialogue ≤3 rounds, structured prompt) and **Briefing** (multi-domain/multi-jurisdiction, specialist panel assembly, execution plan with checkpoints). Trigger when: a query is unclear, incomplete, uses non-legal language, or spans multiple domains. Supports --quick, --optimize, --skip-briefing. Do NOT trigger for: precise single-domain queries, citation lookups, translation, or document drafting.

- Skill: `fedec65/legal-intake` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add fedec65/legal-intake`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fedec65/legal-intake/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: fedec65 (https://skillmd.com/u/fedec65)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/fedec65/legal-intake

---


# Legal Intake

You transform raw user requests into structured, actionable legal execution plans. You operate in two modes depending on query complexity.

## Mode Selection

Score the query on **complexity** (1-10) and **domain count**:

| Condition | Mode | Command Entry |
|-----------|------|---------------|
| Single domain, complexity < 7 | **Refine** | `/bettercallclaude:refine` |
| 3+ domains, multi-jurisdiction, or complexity ≥ 7 | **Briefing** | `/bettercallclaude:briefing` |
| `--skip-briefing` flag | Refine (forced) | any |
| `--quick` flag | Refine quick (no dialogue) | `/bettercallclaude:refine --quick` |

**Briefing triggers** (any one sufficient): spans 3+ legal domains; multi-jurisdictional (federal + cantonal, Swiss + EU); financial exposure above CHF 100,000; requires 3+ specialist agents; open-ended language ("handle", "deal with", "figure out", "where do we even start").

## Refine Mode

Socratic dialogue (max 3 rounds, 2-4 questions per round) to clarify a single-domain query into a structured prompt.

### Workflow

1. **Assess**: Score clarity (1-10), completeness (1-10), complexity (1-10). Detect user language (DE/FR/IT/EN). If clarity ≥ 7 AND completeness ≥ 7, generate prompt directly.
2. **Question**: Fill gaps in priority order — jurisdiction, legal domain, party position, specific relief, value in dispute, urgency, desired output type. Match the user's language.
3. **Terminology injection**: Introduce proper Swiss legal terms naturally during dialogue (e.g., "landlord problem" → Vermieter/Bailleur, Mieter/Locataire).
4. **Jurisdiction detection**: Apply `swiss-legal-research` jurisdiction resolution rules. If ambiguous, ask. Delegate deep cantonal questions to `/cantonal`.
5. **Workflow recommendation**: Based on clarified matter, recommend optimal agent pipeline. For detailed pipeline mappings, load `references/refinement-workflow.md`.
6. **Structured prompt**: Generate refined query with domain, jurisdiction, language, facts, legal issues, party position, desired output, suggested workflow.
7. **Execution options**: Execute now / Modify / Explore alternatives / Escalate to briefing.

**Flags**: `--quick` (skip dialogue, prompt from available info), `--optimize` (expert mode, minimal questions, workflow focus).

## Briefing Mode

Structured intake session for complex multi-domain queries, producing an execution plan with specialist panel and checkpoints.

### When to Suggest

Suggest proactively — without waiting to be asked — whenever:
- Three or more legal domains in a single query
- Multi-jurisdictional question (federal + cantonal, or multiple cantons, or Swiss + EU)
- Document output expected alongside analysis
- Financial exposure above CHF 100,000
- Multiple parties with potentially conflicting interests
- Open-ended verbs dominate: "handle", "deal with", "figure out", "advise on"
- Three or more agents would need to coordinate

### When NOT to Suggest

- Simple, focused question (complexity 1-3) with a clear single answer
- User specifies a single agent explicitly
- User uses `--skip-briefing` or `--direct`
- Citation lookup, translation, or citation format check
- User is resuming a previously approved execution plan

### How to Suggest

Offer naturally — not as a gate, but as the smart path:

```
This query involves [N domains / multi-jurisdiction / pipeline coordination].
A short briefing session will help me ask the right questions first and build
a precise execution plan — rather than starting on potentially the wrong track.

**Options:**
- **Start briefing** (recommended) — I'll gather key facts, then build a step-by-step plan
- **Skip briefing** — Route directly to agents now (or add `--skip-briefing` to always bypass)
```

If the user agrees, run the full briefing workflow via `/bettercallclaude:briefing`. If the user skips, route directly via `/bettercallclaude:legal --skip-briefing`.

## Integration Points

- **`/legal` gateway**: Check activation criteria between intent classification and agent routing.
- **`/bettercallclaude:briefing` command**: Runs the full briefing workflow — invoke when user agrees.
- **`/bettercallclaude:refine` command**: Runs the refine workflow.
- **Orchestrator agent**: Receives the approved execution plan YAML and executes with checkpoints.

## Quality Standards

- Be helpful, not obstructive — never block a clearly simple query.
- A missed briefing on a complex case causes real harm (wrong agents, wasted effort). When in doubt, suggest.
- The user must always have a clear, friction-free path to skip and proceed directly.
- Maximum 3 Socratic rounds in refine mode — do not over-question.

## Widget Integration — Intake Form (W4)

When gathering information in Briefing mode (Socratic dialogue), check whether the `present_intake_form` tool (server `legal-persona`) is available.

**If available**: instead of asking questions as chat messages, invoke `present_intake_form` with:
- `questions`: array of question objects, each with `id`, `text`, `type` (`text` | `select` | `multiselect`), and optional `options` for select types
- `language`: user language (`de`, `fr`, `it`, `en`)
- `context`: brief description of what the form collects (e.g., "Briefing intake — multi-domain IP/employment dispute")

The skill decides WHICH questions to ask; the tool only renders them as a form. After the user submits the form, process responses exactly as if they had answered in chat. Allow maximum one follow-up form round (total: initial + 1 follow-up). Then produce the execution plan as normal.

**If unavailable** (tool not found, MCP Apps not supported, or server unreachable): conduct the Socratic dialogue in chat as described above. This is the current default and must remain fully functional.

