
Matter Workspace
OfficialFreeIsolate client contexts for effective legal practice management.
Free · Opens the source repo
What Matter Workspace does
The Matter Workspace skill is designed for legal practitioners who manage multiple clients and cases simultaneously. This skill provides a structured way to create, list, switch, and archive matter workspaces, ensuring that the context of each client remains distinct and organized. By utilizing this skill, users can avoid the risk of context leakage between different matters, which is crucial for maintaining confidentiality and focus in legal work.
With the Matter Workspace skill, practitioners can create a new matter workspace using a unique slug, which serves as an identifier for each case. The skill also facilitates the listing of all matters, allowing users to see the status of each case at a glance. Switching between matters is streamlined, enabling quick context changes without losing track of ongoing engagements. When a matter is no longer active, it can be archived rather than deleted, preserving important information for future reference or compliance purposes.
This skill is particularly beneficial for solo practitioners, small firms, or large legal organizations that handle diverse cases. By keeping each matter's details organized in separate directories, users can manage their workload more efficiently and ensure that they have the necessary context at their fingertips when engaging with clients or preparing legal documents. The skill's functionality is grounded in a clear file structure that maintains all relevant information in an accessible manner, making it an essential tool for any legal professional working in a multi-client environment.
When to use it
Use this skill when managing multiple clients or cases to keep their contexts separate and organized.
When not to use it
This skill is not necessary for in-house practitioners who only work with a single client, as it is designed for multi-client environments.
What you can build with it
Creating a New Matter
Use the skill to create a new matter workspace for a client, ensuring all relevant information is captured.
Switching Matters During Client Meetings
Quickly switch between active matters during client meetings to maintain focus and context.
Archiving Completed Matters
Archive matters that are no longer active to keep your workspace organized and accessible for future reference.
How to install Matter Workspace
View source1. Install with the skills CLI
npx skills add anthropics/claude-for-legal/matter-workspace --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by anthropics/matter-workspace
Practitioners work across multiple clients and matters. A matter workspace keeps one client or engagement's context separate from every other. This skill manages those workspaces.
Subcommands
/ip-legal:matter-workspace new <slug>— create a new matter workspace, run a short intake, writematter.md/ip-legal:matter-workspace list— list matters with status and active flag/ip-legal:matter-workspace switch <slug>— set the active matter/ip-legal:matter-workspace close <slug>— archive a matter (move to~/.claude/plugins/config/claude-for-legal/ip-legal/matters/_archived/, never delete)/ip-legal:matter-workspace none— detach from any active matter, work at practice-level only
Instructions
- Read
~/.claude/plugins/config/claude-for-legal/ip-legal/CLAUDE.md— confirm the## Matter workspacessection is populated. IfEnabledis✗, tell the user: "Matter workspaces are off — you're configured as an in-house practice with one client, so the plugin works from practice-level context automatically. If you actually work across multiple clients, re-run/ip-legal:cold-start-interview --redoand select a private-practice setting. Otherwise, you don't need/ip-legal:matter-workspaceat all." Don't error — the disabled state is the expected one for in-house users. - Follow the subcommand logic below.
- Dispatch on the first token of
$ARGUMENTS:new→ run the intake interview, write~/.claude/plugins/config/claude-for-legal/ip-legal/matters/<slug>/matter.md, seedhistory.mdandnotes.md.list→ enumerate~/.claude/plugins/config/claude-for-legal/ip-legal/matters/*/matter.md, print a table, mark the active matter.switch→ update theActive matter:line in the practice-level CLAUDE.md.close→ move~/.claude/plugins/config/claude-for-legal/ip-legal/matters/<slug>/to~/.claude/plugins/config/claude-for-legal/ip-legal/matters/_archived/<slug>/, log the close date inhistory.md.none→ setActive matter:tonone — practice-level context only.
- Show the user what changed and confirm before writing.
Notes
- The skill never reads across matters unless
Cross-matter contextisonin the practice-level CLAUDE.md. - Archiving is not deletion — closed matters remain readable for retention/conflicts purposes.
- Slugs are lowercase with hyphens. If a slug is reused across archived and active, the archived one is preserved under
_archived/<slug>/.
Multi-client practitioners (private practice — solo, small firm, large firm) work across many matters. Context from one must not leak into another. This skill is the thin file-management layer that makes that true.
Default state is off. In-house users never see this — they run at practice-level only. Matter workspaces turn on at cold-start for private-practice users, or by editing ## Matter workspaces in the practice-level CLAUDE.md. If Enabled is ✗, this skill does not run; instead it explains the disabled state and suggests /ip-legal:cold-start-interview --redo for users who actually need matter isolation.
Storage layout
All matter data lives under:
~/.claude/plugins/config/claude-for-legal/ip-legal/
├── CLAUDE.md # practice-level practice profile
└── matters/
├── <slug>/
│ ├── matter.md # client, counterparty, matter type, key facts, overrides
│ ├── history.md # dated log of events, decisions, drafts, reviews
│ ├── notes.md # free-form working notes
│ └── outputs/ # skill outputs for this matter (optional subfolder)
└── _archived/
└── <slug>/ # closed matters — readable but not active
Slugs are lowercase with hyphens. Examples: acme-trademark-2026, zenith-dmca, novacorp-fto.
Active matter is in the practice CLAUDE.md
The Active matter: line under ## Matter workspaces in the practice-level CLAUDE.md is the single source of truth. Switching a matter edits that line. No separate state file.
Subcommand logic
new <slug>
- Confirm slug is not already present in
matters/<slug>/ormatters/_archived/<slug>/. If reused, ask the user to pick a different slug. - Run the intake interview:
- Client (the party we represent, or the internal business unit if in-house)
- Counterparty (the other side — may be multiple; may be "unknown third-party infringer" for watch-triggered matters)
- Matter type (read the plugin's practice profile for typical categories; for ip-legal: trademark clearance | trademark enforcement | DMCA | patent FTO | patent infringement | IP clause review | OSS compliance | portfolio maintenance | other)
- Confidentiality level (standard | heightened | clean-team — heightened prompts extra care in cross-matter settings; clean-team common in patent FTO work)
- Key facts (2–5 sentences: what this matter is about, who the stakeholders are, what's at stake)
- Matter-specific overrides to the practice posture (e.g., "client wants aggressive posture for this mark only", "counterparty is a strategic partner — measured tone only", "inventor unavailable — don't surface for interview")
- Related matters (slugs of any connected matters)
- Write
matters/<slug>/matter.mdusing the template below. - Seed
matters/<slug>/history.mdwith a single "Opened" entry. - Create an empty
matters/<slug>/notes.md. - Do not auto-switch to the new matter. Ask: "Want to switch to
<slug>now? (/ip-legal:matter-workspace switch <slug>)"
list
Enumerate matters/*/matter.md. Read each file's front-matter or first few lines to extract status. Print a table:
| Slug | Client | Matter type | Status | Opened | Active |
|---|
Mark the currently-active matter with *. Include _archived/* under a separate "Archived" heading if any exist.
switch <slug>
- Confirm
matters/<slug>/matter.mdexists. If not, offer/ip-legal:matter-workspace new <slug>. - Edit the
Active matter:line in the practice-level CLAUDE.md toActive matter: <slug>. - Show the user the matter.md summary so they can confirm they're on the right matter.
close <slug>
- Confirm
matters/<slug>/exists. - Append a "Closed" entry to
matters/<slug>/history.mdwith today's date. - Move
matters/<slug>/→matters/_archived/<slug>/. - If the closed matter was the active matter, set
Active matter:tonone — practice-level context only.
none
Set Active matter: in the practice-level CLAUDE.md to none — practice-level context only. Confirm with the user.
matter.md template
[WORK-PRODUCT HEADER — per plugin config ## Outputs — differs by role; see `## Who's using this` in the practice-level CLAUDE.md]
# Matter: [Client] — [short description]
**Slug:** [slug]
**Opened:** [YYYY-MM-DD]
**Status:** active
**Confidentiality:** [standard / heightened / clean-team]
---
## Parties
**Client:** [name]
**Counterparty:** [name(s)]
## Matter type
[trademark clearance | trademark enforcement | DMCA | patent FTO | patent infringement | IP clause review | OSS compliance | portfolio maintenance | other — with one-line rationale]
## Key facts
[2–5 sentences. What this matter is about. Who the stakeholders are. What's at stake. What makes it different from the default posture.]
## Matter-specific overrides
*Any deviation from the practice-level posture that applies to this matter and only this matter.*
- [e.g., "Enforcement posture: measured here even though house default is aggressive — counterparty is a key channel partner."]
- [e.g., "Approval for assertion: extra sign-off from marketing required before any letter goes out."]
- [e.g., "Clean-team: matter files not readable even with cross-matter context on."]
## Related matters
- [slug — one line why related]
## Notes on confidentiality
[If heightened or clean-team, describe why. Who may see matter files. Whether cross-matter context is permissible even if globally on.]
history.md seed
# History: [Client] — [short description]
Append-only event log. Most recent at top.
---
## [YYYY-MM-DD] — Matter opened
Intake completed. Slug: `[slug]`. Status: active.
[Any initial context worth preserving beyond matter.md — e.g., "Opened in response to watch-service hit on `APEXLEAF` in class 25."]
Cross-matter context
The practice-level CLAUDE.md has a Cross-matter context: flag. When it's off (the default), a skill working in matter A never reads files in matters/B/ for any other B. Period. This is the confidentiality guarantee the setting exists to provide.
When it's on, a skill may read files across matter folders only when the user explicitly asks it to (e.g., "show me every enforcement letter we've sent on this mark across matters"). Even when on, the default is to load only the active matter unless the user asks for a cross-matter view.
What this skill does not do
- Run a conflicts check. Conflicts are the practitioner's/firm's job; the intake captures what the user declares.
- Enforce retention. Closing archives a matter; it does not delete. Retention policy is out of scope.
- Auto-route outputs. The substantive skill decides where to write; this skill tells it which folder is active, not what to put in it.
- Decide whether cross-matter is appropriate. It reads the flag and obeys.
Frequently asked questions about Matter Workspace
Similar skills
Canva Creator
Streamline your content campaign from brief to HubSpot.
Cowork Plugin Customization
Tailor your Claude Code plugin to fit your organization.
Impediment Prioritization
Rank and prioritize impediments effectively.
Chronicle
Streamline your Copilot session analysis and reporting.
Idea Refine
Transform vague ideas into actionable concepts.
App Store Optimization
Optimize your mobile app's visibility and performance.
