| name | matter-workspace |
| description | Manage matter workspaces — new, list, switch, close, or detach (practice-level). Use when a multi-client practitioner needs to create a matter, switch the active matter, list matters, archive a matter, or detach to practice-level context, or when another skill needs to know which matter it's working in.
|
| argument-hint | <new | list | switch | close | none> [slug] |
/matter-workspace
Practitioners work across multiple clients and matters. A matter workspace keeps one client or engagement's context separate from every other. This command manages those workspaces.
Subcommands
/commercial-legal-uk:matter-workspace new <slug> — create a new matter workspace, run a short intake, write matter.md
/commercial-legal-uk:matter-workspace list — list matters with status and active flag
/commercial-legal-uk:matter-workspace switch <slug> — set the active matter
/commercial-legal-uk:matter-workspace close <slug> — archive a matter (move to ~/.claude/plugins/config/uk-legal-plugins/commercial-legal-uk/matters/_archived/, never delete)
/commercial-legal-uk:matter-workspace none — detach from any active matter, work at practice-level only
Instructions
- Read
~/.claude/plugins/config/uk-legal-plugins/commercial-legal-uk/CLAUDE.md — confirm the ## Matter workspaces section is populated. If Enabled is ✗, 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 /commercial-legal-uk:cold-start-interview --redo and select a private-practice setting. Otherwise, you don't need /matter-workspace at all." Don't error — the disabled state is the expected one for in-house users.
- Use the subcommand logic below.
- Dispatch on the first token of
$ARGUMENTS:
new → run the intake interview, write ~/.claude/plugins/config/uk-legal-plugins/commercial-legal-uk/matters/<slug>/matter.md, seed history.md and notes.md.
list → enumerate ~/.claude/plugins/config/uk-legal-plugins/commercial-legal-uk/matters/*/matter.md, print a table, mark the active matter.
switch → update the Active matter: line in the practice-level CLAUDE.md.
close → move ~/.claude/plugins/config/uk-legal-plugins/commercial-legal-uk/matters/<slug>/ to ~/.claude/plugins/config/uk-legal-plugins/commercial-legal-uk/matters/_archived/<slug>/, log the close date in history.md.
none → set Active matter: to none — practice-level context only.
- Show the user what changed and confirm before writing.
Notes
- The skill never reads across matters unless
Cross-matter context is on in 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.
Storage layout
All matter data lives under:
~/.claude/plugins/config/uk-legal-plugins/commercial-legal-uk/
├── 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-msa-2026, zenith-renewal, vendor-xyz-nda.
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>/ or matters/_archived/<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)
- Matter type (for commercial-legal-uk: vendor MSA | customer agreement | NDA | SaaS subscription | amendment / deed of variation | renewal | IP licence | other)
- Governing law (English law / Scots law / NI law / other — this determines which jurisdiction notes apply in reviews)
- Confidentiality level (standard | heightened | clean-team)
- Key facts (2–5 sentences: what this matter is about, who the stakeholders are, what's at stake)
- Matter-specific overrides to the practice playbook (e.g., "client requires 24-month LoL cap not 12", "counterparty is a strategic partner — relationship-preserving tone", "governing law must be Scots law not English law")
- Related matters (slugs of any connected matters)
- Write
matters/<slug>/matter.md using the template below.
- Seed
matters/<slug>/history.md with 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? (/commercial-legal-uk:matter-workspace switch <slug>)"
list
Enumerate matters/*/matter.md. Print a table:
| Slug | Client | Matter type | Governing law | 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.md exists.
- Edit the
Active matter: line in the practice-level CLAUDE.md to Active 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.md with today's date.
- Move
matters/<slug>/ → matters/_archived/<slug>/.
- If the closed matter was the active matter, set
Active matter: to none — 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
**Governing law:** [English law / Scots law / NI law / other]
**Confidentiality:** [standard / heightened / clean-team]
---
## Parties
**Client:** [name]
**Counterparty:** [name(s)]
## Matter type
[vendor MSA | customer agreement | NDA | SaaS subscription | amendment / deed of variation | renewal | IP licence | 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 playbook.]
## Matter-specific overrides
*Any deviation from the practice-level playbook that applies to this matter and only this matter.*
- [e.g., "LoL cap: client requires 24 months, not house standard 12."]
- [e.g., "Tone: relationship-preserving — counterparty is a strategic partner."]
- [e.g., "Governing law: must be Scots law, not English law — Scots law differences apply throughout."]
- [e.g., "Competitition Act exposure: flag all exclusivity provisions for CMA review."]
## 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. Governing law: [English law / Scots law / etc.].
[Any initial context worth preserving beyond matter.md — e.g., "Opened in response to inbound MSA draft from [counterparty]."]
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. When it's on, a skill may read files across matter folders only when the user explicitly asks it to.
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 — note that UK law may impose minimum retention periods (e.g., Companies Act 2006 records: 6 years; Limitation Act 1980: 6 years for contract claims, 12 years for deeds).
- 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.