/legal-timeline
Build a sourced legal chronology from case documents — every event with mandatory provenance, undisputed/alleged/contested status, explicit date conflicts, evidentiary gaps, and optional deadline markers. Outputs table, interactive HTML, and docx under bcc-output/timeline/.
$ npx -y skills add fedec65/bettercallclaude --agent claude-codeHow it fires
How this command gets triggered: by you, by Claude, or both.
- Fires itselfClaude auto-loads it when your prompt matches the work.
- You can call itInvoke it directly when you want it.
- Slash command
/legal-timeline
Context preview
What this command does when you run it.
Build a sourced legal chronology from case documents — every event with mandatory provenance, undisputed/alleged/contested status, explicit date conflicts, evidentiary gaps, and optional deadline markers. Outputs table, interactive HTML, and docx under bcc-output/timeline/.
Command definition
legal-timeline.mddescription: "Build a sourced legal chronology from case documents — every event with mandatory provenance, undisputed/alleged/contested status, explicit date conflicts, evidentiary gaps, and optional deadline markers. Outputs table, interactive HTML, and docx under bcc-output/timeline/."
tools:
- Read
- Grep
- Glob
- Bash
- WebSearch
- WebFetch
- mcp__plugin_bettercallclaude_legal-persona__compute_deadlines
/legal-timeline — Sourced Legal Chronology
You are invoked via `/bettercallclaude:legal-timeline`. Apply the `legal-chronology` skill in full: build a legal timeline from case documents where **no event exists without a source**.
**Output convention**: outputs go to `bcc-output/timeline/` (deliberate exception to the dated-folder rule: the chronology is a living case artifact, updated via `--merge`). In chat give only a 3–5 line summary with paths. See `skills/shared/SKILL.md`.
Parameters
- First positional argument: folder path or list of document paths.
- `--lang=<de|fr|it|en>` — output language (dates normalised to one display format).
- `--from=<date>` / `--to=<date>` — restrict the timeline window (ISO dates).
- `--parties=<A,B,...>` — seed the party register.
- `--canton=<ZH|...>` — canton for `compute_deadlines` holiday calendar (ask if `--deadlines` and unknown).
- `--deadlines` — compute deadline markers from events (`compute_deadlines` for procedural; mapping table for Verjährung, marked indicative).
- `--format=<table|visual|docx|all>` — output selection, default `all`.
- `--merge` — update an existing `bcc-output/timeline/events.json` instead of rebuilding from scratch.
**Natural language equivalents**:
- "cronologia della causa" or "case timeline" → run on the case folder
- "fatti contestati" or "contested facts" → focus report on contested/alleged events
- "confronta le date" or "date conflicts" → focus report on conflict rows
Behaviour
Step 1: INVENTORY
List the documents in the target path(s). Assign each an inventory id (`01-<slug>`, `02-<slug>`, ...). Record type, language, legibility. Illegible documents are reported, never compensated with invented events.
Step 2: EXTRACTION (delegated)
For each document, delegate to the `chronology-builder` agent with: the inventory id, the party register, the event schema and date-normalization references, and the existing `events.json` when `--merge` is active. Collect all candidates.
Step 3: RECONCILIATION
Per the `legal-chronology` skill: merge same-event candidates across documents/languages into one event with multiple sources; record date conflicts with BOTH dates and sources; assign `undisputed`/`alleged`/`contested` with attribution; apply `--from/--to` window after merging (never before — conflicts may anchor outside the window).
Step 4: DEADLINES (only with `--deadlines`)
Map events per `references/deadline-mapping.md`:
- Notification-type events → `compute_deadlines(procedureType, notificationDate, canton, language)`. Marker labelled with its procedural basis.
- Substantive limitation → mapping table; marker labelled **indicative — verify**. Never present Verjährung markers as tool-computed.
Step 5: RENDER
Write `bcc-output/timeline/events.json`, then:
node "${CLAUDE_PLUGIN_ROOT}/scripts/timeline-render.mjs" validate bcc-output/timeline/events.json
node "${CLAUDE_PLUGIN_ROOT}/scripts/timeline-render.mjs" render bcc-output/timeline/events.json --outdir bcc-output/timeline --formats <table|visual|docx|all>If `validate` rejects events (missing source), fix or drop them before rendering — never bypass.
Step 6: SUMMARY
In chat, 3–5 lines: events count, contested/conflict counts, gaps found, deadline markers (if any), output paths.
Plugin Scope
Use exclusively BetterCallClaude agents, skills, and MCP servers. File reading, the render script, and system operations are exempt.
User Query
$ARGUMENTS
Read more
description: "Build a sourced legal chronology from case documents — every event with mandatory provenance, undisputed/alleged/contested status, explicit date conflicts, evidentiary gaps, and optional deadline markers. Outputs table, interactive HTML, and docx under bcc-output/timeline/." tools: - Read - Grep - Glob - Bash - WebSearch - WebFetch - mcp__plugin_bettercallclaude_legal-persona__compute_deadlines
/legal-timeline — Sourced Legal Chronology
You are invoked via `/bettercallclaude:legal-timeline`. Apply the `legal-chronology` skill in full: build a legal timeline from case documents where **no event exists without a source**.
**Output convention**: outputs go to `bcc-output/timeline/` (deliberate exception to the dated-folder rule: the chronology is a living case artifact, updated via `--merge`). In chat give only a 3–5 line summary with paths. See `skills/shared/SKILL.md`.
Parameters
- First positional argument: folder path or list of document paths.
- `--lang=<de|fr|it|en>` — output language (dates normalised to one display format).
- `--from=<date>` / `--to=<date>` — restrict the timeline window (ISO dates).
- `--parties=<A,B,...>` — seed the party register.
- `--canton=<ZH|...>` — canton for `compute_deadlines` holiday calendar (ask if `--deadlines` and unknown).
- `--deadlines` — compute deadline markers from events (`compute_deadlines` for procedural; mapping table for Verjährung, marked indicative).
- `--format=<table|visual|docx|all>` — output selection, default `all`.
- `--merge` — update an existing `bcc-output/timeline/events.json` instead of rebuilding from scratch.
**Natural language equivalents**:
- "cronologia della causa" or "case timeline" → run on the case folder
- "fatti contestati" or "contested facts" → focus report on contested/alleged events
- "confronta le date" or "date conflicts" → focus report on conflict rows
Behaviour
Step 1: INVENTORY
List the documents in the target path(s). Assign each an inventory id (`01-<slug>`, `02-<slug>`, ...). Record type, language, legibility. Illegible documents are reported, never compensated with invented events.
Step 2: EXTRACTION (delegated)
For each document, delegate to the `chronology-builder` agent with: the inventory id, the party register, the event schema and date-normalization references, and the existing `events.json` when `--merge` is active. Collect all candidates.
Step 3: RECONCILIATION
Per the `legal-chronology` skill: merge same-event candidates across documents/languages into one event with multiple sources; record date conflicts with BOTH dates and sources; assign `undisputed`/`alleged`/`contested` with attribution; apply `--from/--to` window after merging (never before — conflicts may anchor outside the window).
Step 4: DEADLINES (only with `--deadlines`)
Map events per `references/deadline-mapping.md`:
- Notification-type events → `compute_deadlines(procedureType, notificationDate, canton, language)`. Marker labelled with its procedural basis.
- Substantive limitation → mapping table; marker labelled **indicative — verify**. Never present Verjährung markers as tool-computed.
Step 5: RENDER
Write `bcc-output/timeline/events.json`, then:
node "${CLAUDE_PLUGIN_ROOT}/scripts/timeline-render.mjs" validate bcc-output/timeline/events.json
node "${CLAUDE_PLUGIN_ROOT}/scripts/timeline-render.mjs" render bcc-output/timeline/events.json --outdir bcc-output/timeline --formats <table|visual|docx|all>If `validate` rejects events (missing source), fix or drop them before rendering — never bypass.
Step 6: SUMMARY
In chat, 3–5 lines: events count, contested/conflict counts, gaps found, deadline markers (if any), output paths.
Plugin Scope
Use exclusively BetterCallClaude agents, skills, and MCP servers. File reading, the render script, and system operations are exempt.
User Query
$ARGUMENTS
A powerful plugin for Claude Cowork Desktop, designed specifically for Swiss legal professionals. 20 agents, 14 skills, and 9 MCP servers — automate research, draft documents, and navigate complex legal landscapes with AI-powered precision.
Repo: fedec65/bettercallclaude
Other commands on bettercallclaude.
- /adversarial
Run three-agent adversarial analysis -- advocate builds the case, adversary challenges it, judicial analyst synthesizes
Open command - /briefing
Structured pre-execution briefing session -- collects case context through specialist panel, builds execution plan, supports resume and depth control
Open command - /cantonal
Analyze cantonal law for all 26 Swiss cantons -- cantonal court decisions, cantonal legislation, procedural specifics, and interaction with federal law
Open command - /cite
Validate, format, and look up Swiss legal citations including BGE/ATF/DTF decisions and statutory references
Open command - /doc-analyze
Analyze Swiss legal documents -- identify legal issues, extract key clauses, verify citations, and assess compliance
Open command - /doctor
Diagnose MCP server connectivity — tests each server, reports status and impact in plain language, suggests fixes for issues.
Open command

