AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Legal Matter Tracker

skill-kirkruglov-claude-skills-kit-legal-matter-tracker · by KirKruglov

Scan local workspace folders by client or case name and assemble a chronological timeline of events with key facts. No external integrations required. Triggers: 'matter tracker', 'case timeline', 'track [client]', 'timeline for [case]', 'client history', 'matter report', 'summarize [client] matter', 'трекер дела', 'хронология дела', 'история клиента', 'что было по [клиент]', 'отчёт по делу', 'хро…

— No reviews yet
0 installs
31 views
0.0% view→install

Install

$ agentstack add skill-kirkruglov-claude-skills-kit-legal-matter-tracker

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ● Filesystem access Used
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-kirkruglov-claude-skills-kit-legal-matter-tracker)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● 3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Legal Matter Tracker? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Legal Matter Tracker

This skill scans a local Cowork workspace for files related to a specified client or legal matter, extracts dated events and key facts, and assembles a structured chronological timeline report — entirely from local files, with no external integrations required.

Input: Client or case name (required). Optional: folder path to narrow scan scope.

Output: Structured markdown timeline report (inline). Optionally saved to output/matter-timeline-[client]-YYYY-MM-DD.md on request.


Language Detection

Detect the user's language from their message:

  • If Russian (or contains Cyrillic): respond in Russian
  • If English (or other Latin-script language): respond in English
  • If ambiguous: default to English

Instructions

Step 1: Parse Input

  1. Extract the client or case name from the user's message.
  • Accepted forms: "case timeline for Acme Corp", "track Smith matter", "хронология по делу Иванов", "что было по клиенту Ромашка".
  • The name may be a company, person, project code, or case identifier.
  1. If no name is provided, return:
  • EN: "Please provide a client or case name. Example: 'Case timeline for Acme Corp'"
  • RU: "Укажите имя клиента или название дела. Пример: «хронология по делу Ромашка»"

Stop — do not generate output.

  1. If the user provided a folder path to narrow the scan scope, note it. Otherwise scan the full workspace.

Step 2: Scan Workspace

  1. Search for files that match the client/case name using these criteria:
  • Filename match: filename contains any word from the name (case-insensitive).
  • Content match: file contains the name in a heading (#, ##, **Name**) or first 10 lines.
  • Accepted file types: .md, .txt.
  • Search folders: workspace root + notes/, clients/, cases/, input/, output/, context/.
  1. If a folder path was provided: scan only that folder (recursive).
  1. Count total files scanned and matching files found.
  1. If no matching files found, return:
  • EN: "No files found matching '[name]'. Try a broader term or check that the relevant files are in your workspace."
  • RU: "Файлов по запросу «[name]» не найдено. Попробуйте более широкий запрос или проверьте, что нужные файлы есть в воркспейсе."

Stop — do not generate output.


Step 3: Extract Events

For each matched file:

  1. Extract dated events: lines or paragraphs that contain:
  • An explicit date (ISO: 2025-01-15, written: January 15, 2025, 15 января 2025, 15.01.2025, 01/15/2025)
  • A fact, decision, event, action item, or key information associated with that date.
  1. Extract key entities (if detectable):
  • Party names (people, organisations)
  • Amounts or values (monetary, percentages, quantities)
  • Status indicators (open, closed, pending, active, закрыто, открыто)
  • Action items or open questions
  1. For lines with no associated date: collect as undated entries — do not discard.
  1. If a file yields zero events (file is empty or contains only unstructured text with no extractable facts), note it and skip.
  1. If all matched files yield zero events, return:
  • EN: "Found [N] file(s) matching '[name]' but could not extract events. Files may be empty or contain only unstructured text."
  • RU: "Найдено [N] файл(ов) по запросу «[name]», но извлечь события не удалось. Файлы могут быть пустыми или содержать только неструктурированный текст."

Stop.


Step 4: Assemble Timeline

  1. Sort all dated events chronologically, ascending (oldest first).
  1. Group undated entries separately at the end — ordered by source file.
  1. Build the timeline table:
  • Column 1: Date (formatted as YYYY-MM-DD for ISO dates; preserve written format for ambiguous dates)
  • Column 2: Event (concise description, max 120 chars; truncate with … if needed)
  • Column 3: Source (filename with relative path, in backticks)
  1. Build the Key Facts Summary using extracted entities:
  • Parties (if found)
  • Matter status (open/closed/unknown)
  • Open items (action items or questions found in files)
  1. Build the Sources list: each matched file with count of extracted events.
  1. Assemble the full report (see Output Format below).

Step 5: Output

  1. Display the complete timeline report inline in chat.
  1. If the user says "save" or "save to file" (or RU: "сохрани", "сохрани в файл"):
  • Write to output/matter-timeline-[client-slug]-YYYY-MM-DD.md where client-slug is the client name lowercased with spaces replaced by hyphens.
  • Confirm: "Saved to output/matter-timeline-[client-slug]-YYYY-MM-DD.md"

Edge Cases

  • Multiple files match: Include all matched files; label every event with its source filename. Do not deduplicate events.
  • No explicit dates in matched files: Include all entries in the Undated Entries section. Add a note at the top: "No dated events found — all entries are undated."
  • User provides folder path to narrow scan: Scan only that folder (recursive); note scan scope in report header.
  • Conflicting facts across files (e.g., different amounts for the same event): List both versions in the event table with their respective source references. Do not resolve silently; add a flag ⚠ Conflict in the Event column.
  • Very long event descriptions (>120 chars): Truncate with … in the table; include the full text as a footnote below the table.
  • Date formats in Russian (e.g., 15 января 2025): Parse and normalise to YYYY-MM-DD for chronological sorting; display original format in the table.

Negative Cases

  • No client/case name provided: Return usage message (EN/RU). Stop. No partial output.
  • No matching files found: Return "No files found" message with search guidance. Stop.
  • Files found but no extractable events: Return informative message. Stop. Do not generate an empty timeline.

Output Format

# Matter Timeline — [Client/Case Name]
**Generated:** YYYY-MM-DD
**Files scanned:** N  |  **Matching files:** M  |  **Events extracted:** K
**Scan scope:** [workspace root / specified folder path]

---

## Chronological Timeline

| Date | Event | Source |
|------|-------|--------|
| 2025-01-15 | Initial consultation. Client presented IP dispute claim. | `notes/acme-notes.md` |
| 2025-02-03 | Contract signed. Engagement fee: $12,000. | `contracts/acme-contract.md` |
| 2025-03-10 | Discovery phase completed. 3 key documents identified. | `notes/acme-notes.md` |

---

## Undated Entries
*(entries without extractable dates — ordered by source file)*

| Entry | Source |
|-------|--------|
| Opposing counsel: Smith & Partners LLP | `notes/acme-notes.md` |

---

## Key Facts Summary
- **Parties:** Acme Corp (client), Smith & Partners LLP (opposing counsel)
- **Matter status:** Open (last activity: 2025-03-10)
- **Open items:**
  - Discovery documents pending review
  - Fee invoice not yet confirmed

---

## Sources
- `notes/acme-notes.md` — 3 events extracted
- `contracts/acme-contract.md` — 1 event extracted

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.