fedec65/bettercallclaude/bettercallclaude/skills/legal-intake/SKILL.md
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
- Source repository stars
- 34
- Declared platforms
- 0
- Static risk flags
- 0
- Last source update
- 2026-08-04
- Source checked
- 2026-08-04
Decision brief
What it does—and where it fits
You transform raw user requests into structured, actionable legal execution plans. You operate in two modes depending on query complexity.
Not for
- Tasks that require unconfirmed production actions or broad system permissions.
- Environments where the pinned source and install steps cannot be inspected.
Compatibility matrix
Platform support, with evidence labels
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
Inspect first. Install second.
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/fedec65/bettercallclaude --skill "bettercallclaude/skills/legal-intake"Inspect the Agent Skill "legal-intake" from https://github.com/fedec65/bettercallclaude/blob/29b1bee83769f438810a5fcccf93d6058d86ad78/bettercallclaude/skills/legal-intake/SKILL.md at commit 29b1bee83769f438810a5fcccf93d6058d86ad78. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
What the source asks the agent to do
- 01
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, val…
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.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.Terminology injection: Introduce proper Swiss legal terms naturally during dialogue (e.g., "landlord problem" → Vermieter/Bailleur, Mieter/Locataire). - 02
How to Suggest
Offer naturally — not as a gate, but as the smart path:
Offer naturally — not as a gate, but as the smart path:If the user agrees, run the full briefing workflow via /bettercallclaude:briefing. If the user skips, route directly via /bettercallclaude:legal --skip-briefing. - 03
Mode Selection
Score the query on complexity (1-10) and domain count:
Score the query on complexity (1-10) and domain count: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",… - 04
Refine Mode
Socratic dialogue (max 3 rounds, 2-4 questions per round) to clarify a single-domain query into a structured prompt.
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.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.Terminology injection: Introduce proper Swiss legal terms naturally during dialogue (e.g., "landlord problem" → Vermieter/Bailleur, Mieter/Locataire). - 05
Briefing Mode
Structured intake session for complex multi-domain queries, producing an execution plan with specialist panel and checkpoints.
Three or more legal domains in a single queryMulti-jurisdictional question (federal + cantonal, or multiple cantons, or Swiss + EU)Document output expected alongside analysis
Permission review
Static risk signals and limitations
No configured static risk pattern was detected
This is not proof of safety. Runtime behavior, indirect dependencies, and hidden external systems are outside the static scan.
Evidence record
Why each signal appears
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 87/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 34 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
Provenance and original SKILL.md
- Repository
- fedec65/bettercallclaude
- Skill path
- bettercallclaude/skills/legal-intake/SKILL.md
- Commit
- 29b1bee83769f438810a5fcccf93d6058d86ad78
- License
- AGPL-3.0
- Collected
- 2026-08-04
- Default branch
- main
View the original SKILL.md
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
- 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.
- 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.
- Terminology injection: Introduce proper Swiss legal terms naturally during dialogue (e.g., "landlord problem" → Vermieter/Bailleur, Mieter/Locataire).
- Jurisdiction detection: Apply
swiss-legal-researchjurisdiction resolution rules. If ambiguous, ask. Delegate deep cantonal questions to/cantonal. - Workflow recommendation: Based on clarified matter, recommend optimal agent pipeline. For detailed pipeline mappings, load
references/refinement-workflow.md. - Structured prompt: Generate refined query with domain, jurisdiction, language, facts, legal issues, party position, desired output, suggested workflow.
- 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-briefingor--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
/legalgateway: Check activation criteria between intent classification and agent routing./bettercallclaude:briefingcommand: Runs the full briefing workflow — invoke when user agrees./bettercallclaude:refinecommand: 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 withid,text,type(text|select|multiselect), and optionaloptionsfor select typeslanguage: 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.
Alternatives
Compare before choosing
wshobson/agents
brand-landingpage
Brand-first landing page designer — runs a brand-identity interview (colors, typography, shape language), then generates and iterates on a polished landing page via Stitch with deployment-ready HTML. Use when the user asks to create, design, or build a landing page, homepage, or marketing page and has no established visual direction. Skip when they have a design mockup, need a dashboard or app UI, are working at component level, building a multi-page app, or restyling with known design tokens —
aAAaqwq/AGI-Super-Team
figma-implement-design
Translates Figma designs into production-ready application code with 1:1 visual fidelity. Use when implementing UI code from Figma files, when user mentions "implement design", "generate code", "implement component", provides Figma URLs, or asks to build components matching Figma specs. For Figma canvas writes via `use_figma`, use `figma-use`.
maziyarpanahi/openmed
mapping-to-snomed
Maps clinical concept spans extracted by OpenMed to SNOMED CT concepts through a USER-SUPPLIED terminology server (the user's own Ontoserver, Snowstorm, or UMLS/UTS), never a bundled vocabulary. Use when the user wants to code findings, disorders, procedures, body structures, or substances to SNOMED CT, run an ECL query, translate via a ConceptMap, or resolve a span to a concept id with FHIR $lookup/$translate/$validate-code. Trigger keywords: SNOMED CT, SNOMED concept id, ECL, ConceptMap, $tran
daymade/claude-code-skills
pdf-to-html
Converts a PDF into one self-contained, readable HTML file that preserves images, tables, charts and reading order — optionally translating it into another language while keeping every figure. Uses structured extraction (PyMuPDF), font-size-driven layout, compressed base64-inlined images (a single portable file), and mandatory headless-Chrome visual verification. Use whenever someone wants to READ a PDF as a web page or clean document, turn a PDF into HTML, or translate a PDF into another langua