npx skills add ...
npx skills add anthropics/knowledge-work-plugins --skill contract-review
Lightweight NDA, MSA, and vendor contract review for SMBs without legal on staff. Reads contracts from local files, mail attachments (Gmail or M365), a connected file store (Google Drive or M365), or DocuSign envelopes; flags non-standard terms; explains risks in plain English; and outputs a marked-up redline as a separate DOCX. Use when the user says "review this contract," "what am I signing," "red flags," "flag any concerns," "check the payment terms," or uploads/forwards a contract or legal agreement.
npx skills add anthropics/knowledge-work-plugins --skill contract-review
Two standing jobs, neither dependent on any chain:
proposal-builder sends a
proposal out and the customer's own contract comes back, this skill is the
risk read on that paper before the owner signs. That pairing is the
quote-to-cash story's closing beat.Attach a contract file, forward the email containing it, or paste the text directly.
Get the contract — Use what the user already gave you first. If they attached a file or pasted the text, that is the document; go straight to step 2 and do not touch a connector.
pages parameter for 10+ page files) or DOCX via Read tool. If the user pastes text directly, work with what's provided.reference/gmail-fetch.md, or reference/m365-fetch.md for Microsoft 365)reference/m365-fetch.md)reference/docusign-fetch.md)If no connector is available and nothing was handed over, ask the user to paste the text or attach the file. That is a normal path, not a failure.
A connected mailbox, file store, or DocuSign account is the owner's only once its address or tenant matches the ## Business context block or the owner names it; on a mismatch, stop and ask, and use nothing read from it (../../shared/tenant-scope.md).
Read the full document before analyzing. Dangerous clauses are frequently in exhibits and schedules at the back.
Identify contract type and parties — Determine agreement type (NDA, MSA, SOW, SaaS subscription, consulting, subcontractor, vendor) and which party is the user's company vs. the counterparty. If the document does not make it obvious which side the owner is on, ask — one line, naming both parties. Reviewing from the wrong side inverts every red flag in the summary. Note if it looks like a counterparty template — these are typically one-sided and the counterparty expects pushback.
Analyze across 8 risk categories — Work through the contract from the ops/finance perspective of a small business owner without in-house legal. Categories are ordered by typical risk severity; use judgment for context.
Category 1: Payment terms and cash flow
Category 2: Liability and indemnification
Category 3: Termination and exit
Category 4: Intellectual property
Category 5: Scope and change management
Category 6: Non-compete and exclusivity
Category 7: Confidentiality and data
Category 8: Operational concerns
Present flagged summary — Organize by severity:
🔴 Red flags (push back before signing) — For each: quote the exact clause, explain the problem in plain language, suggest specific alternative language.
🟡 Yellow flags (negotiate, not deal-breakers) — For each: quote the clause, explain the concern, describe what "better" looks like.
🟢 Key terms to note (awareness only) — Payment schedules, notice periods, renewal dates, insurance requirements, key contacts.
📋 Contract summary — Plain-language summary: who does what, for how much, over what timeframe, under what conditions.
💡 Negotiation playbook — For each red and yellow flag: what to ask for, how to frame the ask, and what a reasonable compromise looks like.
Close with the attorney-review line — a final bullet saying this is a business read, not legal advice, and naming which specific flags are worth an attorney's hour before signing. Every summary ends this way, including clean ones.
Render the review as an artifact — alongside the chat summary, never instead of it, build an HTML page using the house style (../../shared/artifact-style.md): findings grouped by severity tier with a status pill on each (critical for red flags, warn for yellow, good for clean categories), a plain-English risk table quoting each clause with the suggested fix beside it, and the attorney-review line in the footer area. The redline DOCX in the next step stays a separate deliverable.
Export redline DOCX — After presenting the summary, offer to export a redlined DOCX with the suggested changes marked up. Use the docx skill to generate a Word document that:
Ask: "Want me to export a redlined DOCX you can send back to the counterparty?"
If the docx skill is not available, say so plainly and deliver the redline as a numbered list instead: for each change, the clause reference, the exact text to DELETE, and the exact text to INSERT. The counterparty's lawyer can work from that list, and the user can paste it into the document themselves. Do not stall the review waiting on a file format.
../../shared/untrusted-content.md).End with one line on what was reviewed and how it netted out, then the single most relevant next step with its trigger phrase — usually "write this up" (proposal-builder) when this contract sits inside a deal the owner is quoting. Up to two others: "go through my email" (inbox-manager) if the contract arrived in a busy inbox, or "who owes me money?" (invoice-chase) when payment terms were the concern. Max three, and never re-offer something declined earlier this session.
reference/gotchas.md — edge cases in contract analysisreference/docusign-fetch.md — pulling envelopes from DocuSignreference/gmail-fetch.md — finding contract attachments in Gmailreference/m365-fetch.md — the same on Microsoft 365: mail attachments and a named file-store folderreference/examples/flagged-summary-saas.md — worked example: SaaS agreement review outputThe connectors named in this skill are the tested paths, not a wall. If the owner wants this flow to use a tool that isn't connected or listed, offer build-connector — it checks the connector directory first and connects through Zapier otherwise, never hand-building against a raw API. Once the connection exists, the tool joins this skill like any other optional connector, under the same approval gates.