agentsclimarketplace

Kelly legal contracts

Skill mr-kelly/skills/skills/kelly-legal-contracts

Agent Skills by mr-kelly

Install
npx -y skills add mr-kelly/skills --skill kelly-legal-contracts

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Legal-contract App-in-Skill review desk for NDAs, MSAs, DPAs, SOWs, clause playbooks, risk checks, fallback language, and approval-gated issue-list exports. Use when the user invokes $kelly-legal-contracts or /kelly-legal-contracts, mentions legal, 法务, contract review, 合同审阅, NDA, MSA, DPA, SOW, redlines, clause playbook, legal intake, issue list, or wants a local UI where a human legal reviewer approves, revises, or blocks agent-prepared contract issues.

SKILL.md

10.0 KB, ~2.2k tokens by cl100k_base, as published. Nobody here has run it

Kelly Legal Contracts

Overview

Use this skill as a local legal-contract review desk. The agent can ingest contract facts or extracted clauses, map issues against a company playbook, draft fallback language, and prepare issue-list exports. The human legal reviewer inspects every issue in a local App UI, edits recommendations, approves safe exports, requests changes, or blocks high-risk items.

Default interaction mode: App UI. Unless the user explicitly asks for chat-only handling, check onboarding/config, refresh or ingest the contract review snapshot, start/reuse the local app with app/start.sh, and give the actual local URL. Use chat-only mode only when the user says "纯聊天", "chat only", "不要打开 UI", or similar; in that mode present numbered issues (Issue #1) and take verdicts in conversation.

App UI Screenshots

<table> <tr> <td width="50%"><img src="assets/screenshots/overview.webp" alt="Kelly Legal Contracts overview"></td> <td width="50%"><img src="assets/screenshots/needs-review.webp" alt="Kelly Legal Contracts review queue"></td> </tr> <tr> <td><strong>Overview</strong><br>Legal command desk with contract × workstream status, risk pass rate, review queue preview, and recent activity.</td> <td><strong>Review queue</strong><br>Approval-gated legal issue queue with approve / request changes / block decisions and audit notes.</td> </tr> <tr> <td width="50%"><img src="assets/screenshots/checks.webp" alt="Kelly Legal Contracts risk checks"></td> <td width="50%"><img src="assets/screenshots/issues.webp" alt="Kelly Legal Contracts issue workbench"></td> </tr> <tr> <td><strong>Risk checks</strong><br>Per-rule pass/warn/fail results across clause issues, including hard-stop terms and playbook violations.</td> <td><strong>Clause issues</strong><br>Editable issue detail with fallback language, memo fields, reviewer rationale, and risk-check evidence.</td> </tr> </table>

Boundary

  • This skill assists legal operations and contract review; it does not provide final legal advice and does not replace licensed counsel or an authorized legal reviewer.
  • The skill may read user-supplied contract text, summaries, playbooks, and clause positions; draft issue summaries and fallback language; run deterministic risk checks; and write local handoff files.
  • The app reads and writes local files only. It never sends redlines, emails counterparties, signs contracts, accepts terms, deletes files, or performs external side effects.
  • Every outbound legal position, redline, counterparty message, approval, signature, filing, or waiver is approval-required and happens outside the app only after explicit human approval.
  • Treat contracts and playbooks as sensitive. Do not commit config.local.json, env files, app/.data/, exports, contract text, counterparties, or privileged notes.

First Run And Onboarding

On invocation, check app/.data/onboarding.json and private config readiness. If onboarding is absent/incomplete, guide setup before doing real work.

Private config priority:

  1. KELLY_LEGAL_CONTRACTS_CONFIG=/absolute/path/to/config.json
  2. skills/kelly-legal-contracts/config.local.json
  3. ~/.config/kelly-legal-contracts/config.json
  4. skills/kelly-legal-contracts/config.example.json as template only

Env priority:

  1. Existing environment variables
  2. KELLY_LEGAL_CONTRACTS_ENV_FILE=/absolute/path/to/.env
  3. Repository root .env
  4. skills/kelly-legal-contracts/.env.local
  5. ~/.config/kelly-legal-contracts/.env

Onboarding asks, turn by turn: legal profile (company/entity, reviewer role, preferred risk scale), enabled workstreams (nda, msa, dpa, sow), jurisdictions, clause playbook sources, hard-stop terms, escalation policy, export preferences, and which external skill handles approved sends/redlines if any. Ask for non-secret details only; secrets belong only in local env files. When setup is complete and the user confirms, write:

{
  "completed": true,
  "completed_at": "ISO timestamp",
  "config_version": "1"
}

Local App

Start the desk with:

skills/kelly-legal-contracts/app/start.sh

The app uses local HTTP on 127.0.0.1, preferring ports 3000 through 4000, or KELLY_LEGAL_CONTRACTS_UI_PORT when set. /api/state reports app: "kelly-legal-contracts".

Required app views:

  • #/overview: legal command desk with contract × workstream status, risk pass rate, review queue preview, and recent activity.
  • #/products and #/products/<id>: contract library. The internal schema keeps the generic products[] key, but the UI presents them as contracts with counterparty, matter type, facts, key obligations, watch terms, required document checklist, and linked issues.
  • #/drafts and #/drafts/<id>: clause issue workbench. Internal drafts[] are agent-prepared contract issues with editable fallback language, negotiation notes, memo summary, and linked risk checks.
  • #/checks: deterministic risk checks across issues, including required fields, title limits, hard-stop terms, restricted positions, document checklist, and clause-playbook violations.
  • #/claims: clause playbook. Internal claims[] are approved fallback clauses or rejected positions; rules[] are hard-stop/restricted terms.
  • #/review: approval queue with workflow states (needs_review / changes_requested / approved / done / blocked), risk summary, reviewer rationale, decision buttons, Review note, and stable refs (Issue #1). done means exported or handed off in the execution report.
  • #/settings: sanitized legal profile, enabled workstreams/rules, jurisdictions, hard-stop term counts, export prefs, data provider, and onboarding state. Never expose secret values or raw private playbooks.

Demo mode:

  • ?demo=overview, ?demo=products, ?demo=drafts, ?demo=checks, ?demo=claims, ?demo=review, and ?demo=detail open deterministic mock scenes for documentation and screenshots.
  • lang=en or lang=zh forces UI chrome language. Demo legal metadata is localized; contract/legal terms may stay in English when that is realistic.
  • Deep links such as /?demo=detail&lang=zh#/drafts/d-msa-liability-us must work.
  • Demo API responses never read or write files under app/.data/.

File Contract

Read references/contracts-schema.md before editing the app, scripts, or any generated JSON.

  • app/.data/contract_snapshot.json: contracts, issues, risk rules, checks, review items, metrics, activity log.
  • app/.data/claims.json: clause playbook — approved fallback clauses, rejected positions, and hard-stop/restricted terms.
  • app/.data/decisions.json: reviewer verdicts keyed by review id.
  • app/.data/agent_tasks.json: queued revise_contract_issue work for the agent.
  • app/.data/execution_report.json: export, handoff, and revision operations.
  • app/.data/onboarding.json: onboarding completion marker.
  • app/.data/agent.lock: temporary lock while the skill writes; write endpoints reject with HTTP 423 while it exists.

Validate with scripts/validate_ui_schema.ts before relying on a snapshot.

Review Workflow

  1. Collect inputs: contract type, counterparty, our entity, governing law, deal owner, target date, business ask, extracted clause text, and company playbook positions.
  2. Create or update contract records and issue records with scripts/ingest_contracts.ts payload.json. The current schema keeps generic keys (products, drafts, platform) for compatibility; map them as contract, issue, and workstream (nda, msa, dpa, sow).
  3. Run scripts/run_checks.ts to refresh deterministic risk checks and scores. The checks catch missing fields, hard-stop terms, restricted positions, all-caps/noisy terms, overlong notes, incomplete document checklists, and clause-playbook violations.
  4. Send the reviewer to #/review. Verdicts persist through POST /api/decision into decisions.json. Field edits saved in the workbench arrive as revise decisions carrying edited issue fields.
  5. Poll app/.data/agent_tasks.json for revise_contract_issue tasks created by request_changes. Redraft the issue per the comment and return it to needs_review.
  6. Before executing anything, re-read decisions and run node scripts/execute_decisions.ts (dry-run). With --apply it records export_issue_list, handoff_redline, and request_revision operations in execution_report.json — no external side effects.

Export Workflow

node scripts/export_issues.ts --out <dir> writes approved issues as Markdown issue memos plus issues.csv. It records export_issue_list entries and marks those issues done.

Actual sending, redline generation, counterparty communications, CLM updates, signature, or filing happen only outside the app after explicit approval, through the user or a separate approved connector/skill.

Safety Defaults

  • Never fabricate legal approval, waiver, signature authority, regulatory conclusion, or attorney review.
  • Treat legal, privacy, money, IP, employment, and dispute-related terms as approval-required.
  • Do not send issue lists, redlines, fallback clauses, or counterparty messages without an explicit approve decision.
  • If a hard-stop term is present (uncapped liability, perpetual data retention, broad indemnity, missing DPA terms), block or request changes rather than weakening the rule.
  • Preserve privilege and confidentiality: keep local data minimal, avoid copying full contracts when summaries/evidence snippets suffice, and never expose raw secrets or private playbooks through /api/state, logs, reports, screenshots, or exported demo data.

Gives 0 of the 12 instructions most review quality skills give in ~2.2k tokens

Counted across 1,048 of the 1,783 authors here whose files we hold, read 2026-08-06

  • ask questions one at a timein 82 of 1048, across 54 files
  • provide a recommended answer for each questionin 73 of 1048, across 45 files
  • explore the codebase instead of asking answerable questionsin 66 of 1048, across 37 files
  • resolve dependencies between decisions one-by-onein 42 of 1048, across 15 files
  • interview the user relentlessly about the planin 39 of 1048, across 12 files
  • order findings by severityin 29 of 1048
  • resolve each branch of the decision treein 28 of 1048, across 5 files
  • run a grilling sessionin 26 of 1048, across 5 files
  • update CONTEXT.md immediately when a term is resolvedin 26 of 1048, across 9 files
  • propose precise canonical terms for vague languagein 25 of 1048, across 6 files
  • create documentation files lazilyin 24 of 1048, across 5 files
  • use the domain-modeling skillin 22 of 1048, across 3 files

Said here and by no other author read

  • check onboarding completion before seeding work
  • read the ui schema before editing the app
  • start the local app unless chat-only mode is requested
  • ingest contract records using the provided script
  • run deterministic risk checks before sending to review
  • poll agent tasks for requested issue revisions

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.