From corporate-legal
Post-closing M&A integration tracker for legal workstreams — phased workplan, consent tracking, contract assignment, and weekly status reports. Initializes from deal artifacts.
How this skill is triggered — by the user, by Claude, or both
Slash command
/corporate-legal:integration-management [--init | --contracts | --report | --update | --export [--format csv|table] [--section all|consents|contracts|workplan]] [--deal [code]][--init | --contracts | --report | --update | --export [--format csv|table] [--section all|consents|contracts|workplan]] [--deal [code]]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
1. Load `deal-context.md` for deal code, target, close date, deal lead.
deal-context.md for deal code, target, close date, deal lead.integration-tracker.yaml if it exists (or create on --init).--init: Mode 1 — read PA, build phased workplan, consent tracker--contracts: Mode 2 — import contract list (repository or upload), tier and classify--report: Mode 3 — generate status report--update: Mode 4 — manual update or parse uploaded status document--export: Mode 5 — CSV or table export~/.claude/plugins/config/claude-for-legal/corporate-legal/deals/[code]/integration-tracker.yaml.Matter context. Check ## Matter workspaces in the practice-level CLAUDE.md. If Enabled is ✗ (the default for in-house users), skip the rest of this paragraph — skills use practice-level context and the matter machinery is invisible. If enabled and there is no active matter, ask: "Which matter is this for? Run /corporate-legal:matter-workspace switch <slug> or say practice-level." Load the active matter's matter.md for matter-specific context and overrides. Write outputs to the matter folder at ~/.claude/plugins/config/claude-for-legal/corporate-legal/matters/<matter-slug>/. Never read another matter's files unless Cross-matter context is on.
Outside counsel closes the deal. Legal inherits the mess. This skill is the program management layer for post-closing integration — not the business integration, not IT systems, not HR org design. The legal workstream: consents, contract assignments, entity rationalization, IP recordals, PA obligations. It tracks what's done, what's due, what's blocked, and what needs a decision.
Lives at ~/.claude/plugins/config/claude-for-legal/corporate-legal/deals/[code]/integration-tracker.yaml. Read deal-context.md for
the deal code, target name, close date, and deal lead. Inherit any post-close
items from closing-checklist.yaml if it exists.
# integration-tracker.yaml
metadata:
deal_code: "[code]"
target: "[company name]"
close_date: "[YYYY-MM-DD]"
deal_lead: "[name]"
outside_counsel: "[firm and lead attorney]"
last_updated: "[date]"
last_status_report: "[date or null]"
pa_dates:
required_consents_deadline: "[YYYY-MM-DD — extract from PA]"
rep_survival_expires: "[YYYY-MM-DD]"
escrow_release: "[YYYY-MM-DD or null]"
earnout_milestones:
- description: "[milestone]"
measurement_date: "[YYYY-MM-DD]"
payment_date: "[YYYY-MM-DD]"
owner: "finance" # always finance — legal tracks date only
workplan:
day_1:
target_date: "[close_date + 7 days]"
items: []
day_30:
target_date: "[close_date + 30 days]"
items: []
day_90:
target_date: "[close_date + 90 days]"
items: []
day_180:
target_date: "[close_date + 180 days]"
items: []
required_consents: []
desired_consents: []
contracts:
source: "[repository / manual-upload / disclosure-schedule]"
repository_path: "[path or null]"
last_imported: "[date]"
total: 0
tier_1: []
tier_2: []
tier_3: []
tier_4: []
Workplan item structure:
- id: "W-001"
description: "[action item]"
phase: "[day_1 / day_30 / day_90 / day_180]"
owner: "[legal-owns / legal-supports]"
workstream: "[legal / hr / it / finance / real-estate / other]"
priority: "[critical / high / medium / low]"
deadline: "[YYYY-MM-DD or null]"
deadline_basis: "[pa-obligation / regulatory / best-practice]"
status: "[not_started / in_progress / complete / blocked / deferred]"
blocker: "[description or null]"
depends_on: "[item id or null]"
notes: ""
Consent entry structure:
- id: "CON-001"
counterparty: "[name]"
contract_type: "[customer / vendor / lease / IP-license / financial / other]"
required_consent: true # true = named in PA Required Consents schedule
pa_deadline: "[YYYY-MM-DD]" # only for required_consent: true
status: "[not_started / outreach_sent / in_negotiation / obtained / waived / refused]"
assigned_to: "[name or null]"
outreach_date: "[date or null]"
obtained_date: "[date or null]"
notes: ""
Contract entry structure:
- id: "C-001"
name: "[contract name or filename]"
counterparty: "[party name]"
contract_type: "[MSA / SaaS / lease / IP-license / employment / NDA / other]"
annual_value: "[amount or unknown]"
assignment_mechanism: "[auto-assign / consent-required / coc-provision / silent]"
tier: 1 # 1=Required Consent, 2=material+consent-required, 3=CoC, 4=auto-assign
required_consent: false
pa_deadline: "[YYYY-MM-DD or null]"
status: "[not_reviewed / no_action / consent_pending / outreach_sent / in_negotiation / consent_obtained / assignment_complete / waived / refused / coc_triggered]"
assigned_to: "[name or null]"
notes: ""
last_updated: "[date]"
/corporate-legal:integration-management --init [--deal [code]]
Read ~/.claude/plugins/config/claude-for-legal/corporate-legal/deals/[code]/deal-context.md. If not found: ask for deal code name,
target company, close date, deal lead, and outside counsel. Write to
deal-context.md if it doesn't exist.
Read ~/.claude/plugins/config/claude-for-legal/corporate-legal/deals/[code]/closing-checklist.yaml if it exists. Any items marked as
post-closing become Day 1 or Day 30 workplan items (inherit status from
closing-checklist).
A full purchase agreement produces the most complete tracker. The PA's Required Consents schedule and post-closing covenants section are the authoritative source for hard deadlines and legal obligations. But the skill can initialize usefully from whatever is available — partial inputs produce a starter tracker the attorney fills in rather than an empty page.
What deal artifacts do you have available? Share whatever exists:
Ideal: The purchase agreement (upload or connected document path). I'll read the post-closing covenants, Required Consents schedule, survival periods, escrow terms, and earn-out provisions.
Also useful — share any combination of:
- Deal summary or term sheet (gives me the key economics and timeline)
- Integration to-do list or post-close checklist from outside counsel
- Existing workplan or integration tracker (I'll import and continue from it)
- Closing checklist — if generated by the M&A cold-start skill, I'll inherit it automatically from
~/.claude/plugins/config/claude-for-legal/corporate-legal/deals/[code]/closing-checklist.yaml- Required Consents list alone (if the PA is held by outside counsel)
If you have nothing written down: Tell me the deal in plain terms — who was acquired, when it closed, what the main open items are — and I'll build a starter tracker from the standard Day 1/30/90/180 workplan that you edit.
What changes based on what's provided:
| Input | What you get |
|---|---|
| Full PA | Complete workplan + Required Consents with deadlines + PA dates |
| PA + contract list | Full tracker + contract assignment tier list |
| Deal summary / to-do list | Standard workplan skeleton, Required Consents as placeholders |
| Nothing | Standard workplan scaffold; attorney fills in consents and contract lists |
The tracker is designed to be built out progressively — a skeleton today, filled in as more information becomes available.
From the PA extract:
Required Consents schedule:
Post-closing obligations:
Key dates:
Generate standard workplan items for each phase. Add PA obligations extracted in Step 2. Items inherited from the closing checklist are pre-populated.
Day 1 — legal-owns:
Day 1 — legal-supports:
Day 30 — legal-owns:
Day 30 — legal-supports:
Day 90 — legal-owns:
Day 90 — legal-supports:
Day 180 — legal-owns:
Show summary after generating:
Integration tracker initialized — [Deal code] / [Target]
Close date: [date]
Required Consents deadline: [date] ([N] days from today)
Rep survival expires: [date]
Workplan items: [N] ([N] legal-owns, [N] legal-supports)
Required Consents: [N] (from PA schedule)
Desired Consents: [N] (from diligence — no PA deadline)
Contract assignment: not yet imported — run --contracts to populate
Next step: run /corporate-legal:integration-management --contracts to import the
contract list, then --report to see your first status summary.
/corporate-legal:integration-management --contracts [--deal [code]]
This is the dedicated contract assignment initialization. Separate from the main init so it can be run independently and re-run when the contract list changes.
Two paths — use whichever applies:
Path A: Connected repository
Is your contract repository connected? (Google Drive, Box, SharePoint, or a VDR that's still accessible post-close?)
If yes: give me the folder path or folder name for the acquired company's contracts. I'll pull a list of what's there and read each contract for the assignment clause and counterparty.
Search the connected repository. For each document found:
Path B: Manual list upload
Upload a contract list. This can be:
- The Material Contracts schedule from the PA disclosure schedules
- A CSV or Excel export from their contract management system
- A manually prepared list
Minimum required columns: Contract Name, Counterparty. Helpful but optional: Contract Type, Annual Value, Assignment Clause text.
Read the uploaded list. For contracts where no assignment clause text is provided, set assignment_mechanism to "not_reviewed" and flag for follow-up.
Path C: Disclosure schedule
If neither repository nor list is available, read the Material Contracts schedule from the PA disclosure schedules (from the PA uploaded in --init). This gives the minimum required list — parties and contract types. Assignment clauses will need manual review.
For each contract, classify the assignment mechanism:
| Mechanism | Definition | Tier |
|---|---|---|
consent-required | Explicit clause prohibiting assignment without counterparty consent | 1 or 2 |
coc-provision | Change of control clause giving counterparty termination or consent right triggered by the deal | 3 |
auto-assign | No restriction, or explicit permission to assign to affiliates or successors | 4 |
silent | No assignment clause — default to governing law. Research the governing-law default for contract assignment when the contract is silent and cite the controlling rule. Flag for attorney review. | 2 |
not_reviewed | Could not read or locate assignment clause | Flag for manual review |
For contracts flagged in the Required Consents PA schedule: override tier to 1 regardless of assignment mechanism classification.
Tier 1 — Required Consents: [N] contracts
Named in PA schedule, hard deadline [date], must obtain consent
Tier 2 — Material, consent required: [N] contracts
Assignment restriction present, not in PA schedule
Recommended timeline: obtain within Day 90
Tier 3 — Change of control provisions: [N] contracts ⚠️
Counterparty has termination or consent right triggered by close
ACTION REQUIRED: contact counterparty immediately — CoC may already be triggered
Tier 4 — Auto-assign / no action: [N] contracts
Assigns automatically or by affiliate/successor provision
Tracking only — no outreach needed
Not reviewed: [N] contracts
Could not determine assignment mechanism — manual review required
Show tier 3 separately and prominently. A change of control clause may have already triggered on the close date — counterparty may have a right to terminate that is running right now.
For each contract, create a tracker entry with:
no_action; tier 3 → coc_triggered; tiers 1/2 → consent_pending; not_reviewed → not_reviewed/corporate-legal:integration-management --report [--deal [code]]
Reads current tracker state. Produces:
[WORK-PRODUCT HEADER — per plugin config ## Outputs — differs by role; see `## Who's using this`]
> This status report is derived from the purchase agreement, diligence findings, and post-closing integration records. It inherits their privilege and confidentiality status — distribution beyond the privilege circle can waive privilege. Confirm the recipient list before sending.
INTEGRATION STATUS — [Deal code] / [Target]
[Date] — Day [N] post-close
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
EXECUTIVE SUMMARY
[2-3 sentence paragraph: overall status, biggest risk, key win since last report]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
REQUIRED CONSENTS [deadline: DATE — N days remaining]
Obtained: [N] of [total] ████████░░ [%]
In negotiation: [N]
Outreach sent: [N]
Not started: [N]
Refused: [N] ⚠️
⚠️ AT RISK: [counterparty] — deadline in [N] days, no response to outreach
⚠️ REFUSED: [counterparty] — PA obligation not met; escalate to outside counsel
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
CONTRACT ASSIGNMENT
Tier 1 (Required Consents): [N] complete / [N] in progress / [N] pending
Tier 2 (Material contracts): [N] complete / [N] in progress / [N] pending
Tier 3 (CoC provisions): [N] resolved / [N] outstanding ⚠️
Tier 4 (Auto-assign): [N] — no action required
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
WORKPLAN — LEGAL OWNS
🔴 OVERDUE ([N]):
[item] — was due [date]
⏰ DUE THIS WEEK ([N]):
[item] — due [date]
✅ COMPLETED SINCE LAST REPORT ([N]):
[item] — completed [date]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
BLOCKERS & DECISIONS NEEDED
[item] — blocked on: [description] — owner: [name]
[item] — decision needed: [description] — recommend: [option]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
KEY DATES COMING UP
[date] — [milestone / deadline]
[date] — Rep survival expires — confirm no pending indemnification claims
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
/corporate-legal:integration-management --update [--deal [code]]
Manual update: Attorney tells Claude what changed.
"We got the Salesforce consent. Mark it obtained, assigned to [name], date today." "The entity rationalization decision is to merge. Update status and add the merger filing to Day 180." "[Counterparty] refused consent. Flag it and note we need outside counsel on whether this triggers a PA indemnification claim."
Claude updates the relevant tracker entry, recalculates any downstream status (e.g., if all tier 1 consents are now obtained, flag the PA obligation as met), and shows what changed.
Upload update: Workstream owner or outside counsel sends a status document.
Upload the status update from [outside counsel / HR lead / corp dev team]. I'll parse it and update the tracker.
Read the uploaded document. Match described items to tracker entries by counterparty name or workplan item description. Update status fields. Flag any items in the update that don't match an existing tracker entry — may be new items to add.
After any update, show:
Updated [N] items.
Changes:
CON-003 Salesforce: not_started → obtained
W-014 Entity rationalization: in_progress → complete
New flags:
CON-007 [Counterparty]: refused — PA obligation may be unmet. Consider:
outside counsel review of indemnification claim. ⚠️
/corporate-legal:integration-management --export [--format csv|table] [--section all|consents|contracts|workplan]
Produces a flat CSV or markdown table. Default: all sections, CSV.
CSV format — one row per item, section indicated by a section column.
Columns vary by section:
Workplan: id, phase, description, owner, workstream, priority, deadline, status, blocker
Consents: id, counterparty, contract_type, required_consent, pa_deadline, status, assigned_to, obtained_date, notes
Contracts: id, name, counterparty, contract_type, annual_value, assignment_mechanism, tier, required_consent, pa_deadline, status, assigned_to, notes
Export is the shareable format — suitable for outside counsel, corp dev, or a board integration update.
Before writing any cell in Excel, Sheets, or CSV output, neutralize formula injection. Counterparty-sourced text (contract quotes, party names, registered agent data, CLM exports) is attacker-controlled. A cell starting with =, +, -, @, , , or will be interpreted as a formula or break the row structure.
'=SUM(A1:A10) → =SUM(A1:A10) (displayed as text, not executed)npx claudepluginhub anthropics/claude-for-legal --plugin corporate-legalPost-close M&A integration tracker with phased workplans, consent tracking, contract assignment, and weekly status reports. Initializes from deal artifacts (SPA, deal summary, closing checklist) and connects to deal-context.md and closing-checklist.yaml from M&A cold start.
Generates and tracks due diligence checklists for M&A deals across financial, commercial, legal, operational, HR, IT, and ESG workstreams. Use when kicking off diligence or tracking outstanding items.
Tracks multiple live deals with milestones, deadlines, action items, and status updates. Maintains a pipeline view and surfaces upcoming deadlines and overdue items for weekly reviews.