Agent Skillsanthropics/claude-for-legal › renewal-tracker

renewal-tracker

GitHub

追踪合同续约及取消截止日期,按紧急程度预警。支持扫描即将到期的合同、查找已错过的取消窗口,并在连接CLM时自动加载数据。提供业务负责人联系信息及定价杠杆建议,防止因疏忽导致自动续约。

commercial-legal/skills/renewal-tracker/SKILL.md anthropics/claude-for-legal

Trigger Scenarios

查询即将续约的合同 检查是否错过取消通知期 添加新合同至续约跟踪器

Install

npx skills add anthropics/claude-for-legal --skill renewal-tracker -g -y
More Options

Non-standard path

npx skills add https://github.com/anthropics/claude-for-legal/tree/main/commercial-legal/skills/renewal-tracker -g -y

Use without installing

npx skills use anthropics/claude-for-legal@renewal-tracker

指定 Agent (Claude Code)

npx skills add anthropics/claude-for-legal --skill renewal-tracker -a claude-code -g -y

安装 repo 全部 skill

npx skills add anthropics/claude-for-legal --all -g -y

预览 repo 内 skill

npx skills add anthropics/claude-for-legal --list

SKILL.md

Frontmatter
{
    "name": "renewal-tracker",
    "description": "Show contracts with cancel-by deadlines coming up and warn before notice windows close, working from a maintained renewal register. Use when the user asks \"what's renewing soon\", \"what renewals are due\", \"did we miss a cancellation window\", \"add this to the renewal tracker\", or on a scheduled basis. Receives handoffs from saas-msa-review.\n",
    "argument-hint": "[--days N to change window | --missed for lapsed windows]"
}

/renewal-tracker

Surfaces what's renewing and when you have to cancel by.

Instructions

  1. Read ~/.claude/plugins/config/claude-for-legal/commercial-legal/renewal-register.yaml (the config directory — survives plugin updates).

  2. Default mode: Mode 2 — what's coming up in the next 90 days, grouped by urgency using half-open intervals so each deadline lands in exactly one band: 🔴 0–13 days, 🟠 14–44 days, 🟡 45–89 days. Days 14, 45, and 90 are boundaries — each belongs to exactly one band, not two.

  3. --days N: Change the window.

  4. --missed: Mode 4 — cancel-by deadlines that passed without recorded cancellation.

  5. If register is empty and the [CLM] is connected: Offer Mode 3 — scan the [CLM] for active agreements with renewal dates and bulk-load.

  6. Output includes recommended actions: who to ping (the business owner from each register entry), which ones have uncapped pricing (get leverage before window closes).

Examples

/commercial-legal:renewal-tracker
/commercial-legal:renewal-tracker --days 180
/commercial-legal:renewal-tracker --missed

Purpose

Nobody reads a contract twice. The renewal date is extracted once, at review time, and then it lives somewhere — ideally somewhere that shouts at you 45 days before the cancel-by deadline, not 45 days after.

This skill maintains the renewal register and surfaces what's coming.

The register

Lives at ~/.claude/plugins/config/claude-for-legal/commercial-legal/renewal-register.yaml (the config directory — survives plugin updates). Each entry:

- counterparty: "Acme SaaS Inc."
  agreement: "Acme Platform Subscription Agreement"
  signed_date: 2025-06-15
  initial_term_end: 2026-06-15
  current_term_end: 2026-06-15     # rolls forward after each auto-renewal; compute cancel_by_* from this
  renewal_mechanism: "auto-renew annual"
  notice_period_days: 60
  notice_method: "email"           # email / portal / certified mail / registered post / courier / per contract §X
  transit_buffer_days: 0           # 0 for electronic, 5 for domestic certified mail, 10 for international registered post — or per contract if specified
  cancel_by_calendar: 2026-04-16    # current_term_end minus notice_period_days
  cancel_by_effective: 2026-04-16   # rolled back to last business day if needed
  send_by_effective: 2026-04-16    # cancel_by_effective minus transit_buffer_days — the date you must SEND the notice
  cancel_by_roll_note: ""           # e.g., "rolled back from Sunday 2026-11-01; verify against contract's business-day definition"
  cancel_by_provenance: "[model calculation — verify against the notice clause]"
  price_on_renewal: "then-current list (uncapped)"
  annual_value: 48000
  business_owner: "jane@company.com"
  clm_id:        "IC-12345"        # if connected
  docusign_envelope: "abc-123"   # if connected
  status: "active"               # active | cancelled | renewed | lapsed
  notes: "Pricing uncapped — revisit before renewal. Alt vendors: X, Y."

Notice transit time — alert off send_by_effective, not cancel_by_effective. A 60-day window with a certified-mail requirement is really ~55 days. The tracker that alerts on the received-by date is the tracker that misses the deadline. Compute send_by_effective = cancel_by_effective - transit_buffer_days and fire alerts (the 🔴 / 🟠 / 🟡 urgency bands in Mode 2) off send_by_effective. Mode 2's urgency column shows send_by_effective; a detail column surfaces cancel_by_effective, notice_method, and transit_buffer_days so the reader can see the delta and challenge the buffer.

Rolling renewals — the register that doesn't roll forward is the register that's right once. Store initial_term_end for the record, but compute cancel_by_* from current_term_end. When a renewal fires (the cancel window passes and no notice was given), prompt:

This contract auto-renewed on [date]. Update the register: new current_term_end is [date + renewal period], new cancel_by_effective is [computed], new send_by_effective is [computed]. Confirm?

After year one, initial_term_end is wrong and only current_term_end produces a correct cancel-by date.

Business-day check on every cancel-by date

The register's cancel-by date must be the last BUSINESS DAY on which notice is effective, not the calendar date. A calendar date that falls on a weekend is the single most common way a renewal deadline gets missed. The register catches it.

When you compute (or ingest) a cancel-by date:

  1. Compute the calendar date. cancel_by_calendar = initial_term_end − notice_period_days (or whatever the clause specifies). This is the raw arithmetic.
  2. Business-day roll-back keyed to governing law. The contract's governing law determines which holidays count. US: federal holidays + the state's holidays if governing law is a state. England & Wales: bank holidays. Germany: Feiertage (vary by Bundesland — ask which). Canada: federal + provincial. Singapore: public holidays. If Saturday, roll back to Friday. If Sunday, roll back to Friday. If a holiday in the governing-law jurisdiction, roll back to the prior business day. Roll BACK, never forward — forward means notice arrives after the window closes. For non-US governing law, if you can't determine the holiday calendar, flag it: "Governing law is [X] — business-day roll-back uses US federal holidays as a placeholder. Verify against the [jurisdiction] holiday calendar before relying on the effective date."
  3. Check the contract's own day-counting rule. Look for "business day," "received by," "deemed received," "5:00 p.m. [local time]," or a notice-method clause. If the contract defines "business day" or specifies receipt mechanics (certified mail, email with read receipt), that definition controls. Flag any mismatch between the default roll-back and the contract's own rule.
  4. Record BOTH dates in the register. cancel_by_calendar is the raw arithmetic; cancel_by_effective is the last business day on which notice is effective; cancel_by_roll_note records why they differ (e.g., "rolled back from Sunday 2026-11-01; verify against contract's business-day definition"). Every computed cancel_by_effective carries a cancel_by_provenance tag of [model calculation — verify against the notice clause] so the verify flag travels with the date, not with the surrounding prose.
  5. Fire alerts off the EFFECTIVE date, not the calendar date. Urgency bands (🔴 / 🟠 / 🟡 in Mode 2) use cancel_by_effective. Mode 2 output shows cancel_by_effective in the urgency column and surfaces cancel_by_calendar and cancel_by_roll_note in a detail column where the roll-back happened, so the reader can see it and challenge it.

A Mode 2 report that prints cancel_by: 2026-11-01 (a Sunday) with no weekday and no warning is a silently wrong effective deadline. The register is the place to catch it — once, at ingest — not later, when the window has already moved.

Modes

Mode 1: Ingest a renewal (handoff from review)

When saas-msa-review or vendor-agreement-review finds a renewal clause, it hands off a record. Append it to the register. If the counterparty already has an entry, ask whether this is a replacement (renewed agreement) or an additional agreement.

Mode 2: What's coming up

Default lookback window: next 90 days.

Urgency bands are half-open intervals — a deadline lives in exactly one band. Use days-until-cancel-by (cancel_by_effective - today). Day 14, 45, and 90 each belong to exactly one band, not two; an off-by-one here puts the most-urgent items into the less-urgent bucket.

  • 🔴 0–13 days (cancel-by in less than 14 days — including today)
  • 🟠 14–44 days
  • 🟡 45–89 days
  • (everything 90+ days is outside the default lookback window; include only if the user passed --horizon beyond 90)
## Renewals — next 90 days

### 🔴 Cancel-by deadline in 0–13 days

| Counterparty | Cancel by | Renewal date | Annual $ | Owner | Notes |
|---|---|---|---|---|---|
| [name] | **[date]** | [date] | $[n] | [email] | [notes] |

### 🟠 Cancel-by deadline in 14–44 days

[same table]

### 🟡 Cancel-by deadline in 45–89 days

[same table]

---

**Recommended actions:**
- [ ] [Counterparty] — ping [business owner]: do we want to keep this?
- [ ] [Counterparty] — pricing is uncapped; get a quote from an alternative before we lose leverage

If the register has more than ~10 renewals in the window, or any time the user asks: offer the dashboard (see CLAUDE.md ## Outputs → Dashboard offer for data-heavy outputs). Shape the offer for this output — counts by urgency tier (🔴 / 🟠 / 🟡), a cancel-by timeline, and a sortable register with counterparty, renewal date, annual $, and owner.

Mode 3: Scan the [CLM] / e-signature tool to populate the register

If MCPs are connected and the register is empty or stale:

  1. Query the [CLM] for all agreements with status "Active" and a renewal date field
  2. Query DocuSign for completed envelopes in the last 24 months with "subscription" / "renewal" / "auto-renew" in metadata
  3. For each hit, extract renewal mechanics and add to register
  4. Flag any where the renewal date can't be determined from metadata — those need a human to read the contract

This is a one-time bulk load. After that, ingest happens at review time.

Mode 4: Missed windows (the bad news report)

## Missed cancellation windows

The following agreements had cancel-by deadlines that have passed and no
cancellation was recorded:

| Counterparty | Cancel-by was | Renewal date | Status |
|---|---|---|---|
| [name] | [date] | [date] | Will auto-renew on [date] |

**Options:**
- Negotiate late cancellation (rarely works but worth asking)
- Accept the renewal, mark next year's cancel-by now
- Check the agreement for any other termination rights (for convenience, for cause)

Gate: accepting or declining a renewal

Tracking a renewal date is research. Acting on it — sending a notice of non-renewal, letting an auto-renewal fire, or countersigning a renewal form — is a consequential legal step.

Before proceeding to accept or decline a renewal (including sending a non-renewal notice or letting an auto-renewal run past the cancel-by date): Read ## Who's using this in ~/.claude/plugins/config/claude-for-legal/commercial-legal/CLAUDE.md. If the Role is Non-lawyer:

This step has legal consequences (you're either committing to another term or terminating the relationship). Have you reviewed this with an attorney? If yes, proceed. If no, here's a brief to bring to them:

[Generate a 1-page summary: counterparty, current term end and cancel-by date, renewal price mechanism, what happens if we do nothing, alternative vendors if we want to shop, and the three things to ask the attorney before the window closes.]

If you need to find an attorney, solicitor, barrister, or other authorised legal professional: contact your professional regulator (state bar in the US, SRA/Bar Standards Board in England & Wales, Law Society in Scotland/NI/Ireland/Canada/Australia, or your jurisdiction's equivalent) for a referral service.

Do not proceed past this gate without an explicit yes.

Integration: renewal-watcher agent

The renewal-watcher agent in this plugin runs this skill on a schedule (weekly by default) and posts the "coming up" report to the channel named in ~/.claude/plugins/config/claude-for-legal/commercial-legal/CLAUDE.md## House style → where work product goes. Mode 2 is the agent's primary output.

What this skill does not do

  • It does not cancel contracts. It tells you when to decide.
  • It does not decide whether to renew. It surfaces the deadline and the business owner.
  • It does not read contracts to find renewal dates — that happens at review time. If a contract is in the register without a renewal date, it was added manually and someone needs to fill in the gap.

Version History

  • 5ceb305 Current 2026-07-05 15:33

Same Skill Collection

ai-governance-legal/skills/ai-inventory/SKILL.md
ai-governance-legal/skills/cold-start-interview/SKILL.md
ai-governance-legal/skills/customize/SKILL.md
ai-governance-legal/skills/matter-workspace/SKILL.md
ai-governance-legal/skills/policy-monitor/SKILL.md
ai-governance-legal/skills/policy-starter/SKILL.md
ai-governance-legal/skills/reg-gap-analysis/SKILL.md
ai-governance-legal/skills/use-case-triage/SKILL.md
ai-governance-legal/skills/vendor-ai-review/SKILL.md
commercial-legal/skills/amendment-history/SKILL.md
commercial-legal/skills/cold-start-interview/SKILL.md
commercial-legal/skills/customize/SKILL.md
commercial-legal/skills/escalation-flagger/SKILL.md
commercial-legal/skills/matter-workspace/SKILL.md
commercial-legal/skills/nda-review/SKILL.md
commercial-legal/skills/review-proposals/SKILL.md
commercial-legal/skills/review/SKILL.md
commercial-legal/skills/saas-msa-review/SKILL.md
commercial-legal/skills/stakeholder-summary/SKILL.md
commercial-legal/skills/vendor-agreement-review/SKILL.md
corporate-legal/skills/ai-tool-handoff/SKILL.md
corporate-legal/skills/board-minutes/SKILL.md
corporate-legal/skills/closing-checklist/SKILL.md
corporate-legal/skills/cold-start-interview/SKILL.md
corporate-legal/skills/customize/SKILL.md
corporate-legal/skills/deal-team-summary/SKILL.md
corporate-legal/skills/diligence-issue-extraction/SKILL.md
corporate-legal/skills/entity-compliance/SKILL.md
corporate-legal/skills/integration-management/SKILL.md
corporate-legal/skills/material-contract-schedule/SKILL.md
corporate-legal/skills/matter-workspace/SKILL.md
corporate-legal/skills/written-consent/SKILL.md
employment-legal/skills/cold-start-interview/SKILL.md
employment-legal/skills/customize/SKILL.md
employment-legal/skills/expansion-kickoff/SKILL.md
employment-legal/skills/expansion-update/SKILL.md
employment-legal/skills/handbook-updates/SKILL.md
employment-legal/skills/hiring-review/SKILL.md
employment-legal/skills/internal-investigation/SKILL.md
employment-legal/skills/international-expansion/SKILL.md
employment-legal/skills/investigation-add/SKILL.md
employment-legal/skills/investigation-memo/SKILL.md
employment-legal/skills/investigation-open/SKILL.md
employment-legal/skills/investigation-query/SKILL.md
employment-legal/skills/investigation-summary/SKILL.md
employment-legal/skills/leave-tracker/SKILL.md
employment-legal/skills/log-leave/SKILL.md
employment-legal/skills/matter-workspace/SKILL.md
employment-legal/skills/policy-drafting/SKILL.md
employment-legal/skills/termination-review/SKILL.md
employment-legal/skills/wage-hour-qa/SKILL.md
employment-legal/skills/worker-classification/SKILL.md
external_plugins/cocounsel-legal/skills/deep-research/SKILL.md
ip-legal/skills/cease-desist/SKILL.md
ip-legal/skills/clearance/SKILL.md
ip-legal/skills/cold-start-interview/SKILL.md
ip-legal/skills/customize/SKILL.md
ip-legal/skills/fto-triage/SKILL.md
ip-legal/skills/infringement-triage/SKILL.md
ip-legal/skills/invention-intake/SKILL.md
ip-legal/skills/ip-clause-review/SKILL.md
ip-legal/skills/matter-workspace/SKILL.md
ip-legal/skills/oss-review/SKILL.md
ip-legal/skills/portfolio/SKILL.md
ip-legal/skills/takedown/SKILL.md
law-student/skills/bar-prep-questions/SKILL.md
law-student/skills/case-brief/SKILL.md
law-student/skills/cold-call-prep/SKILL.md
law-student/skills/cold-start-interview/SKILL.md
law-student/skills/customize/SKILL.md
law-student/skills/exam-forecast/SKILL.md
law-student/skills/flashcards/SKILL.md
law-student/skills/irac-practice/SKILL.md
law-student/skills/legal-writing/SKILL.md
law-student/skills/outline-builder/SKILL.md
law-student/skills/session/SKILL.md
law-student/skills/socratic-drill/SKILL.md
law-student/skills/study-plan/SKILL.md
legal-builder-hub/skills/auto-updater/SKILL.md
legal-builder-hub/skills/cold-start-interview/SKILL.md
legal-builder-hub/skills/customize/SKILL.md
legal-builder-hub/skills/disable/SKILL.md
legal-builder-hub/skills/registry-browser/SKILL.md
legal-builder-hub/skills/related-skills-surfacer/SKILL.md
legal-builder-hub/skills/skill-installer/SKILL.md
legal-builder-hub/skills/skill-manager/SKILL.md
legal-builder-hub/skills/uninstall/SKILL.md
legal-clinic/skills/build-guide/SKILL.md
legal-clinic/skills/client-comms-log/SKILL.md
legal-clinic/skills/client-intake/SKILL.md
legal-clinic/skills/client-letter/SKILL.md
legal-clinic/skills/cold-start-interview/SKILL.md
legal-clinic/skills/customize/SKILL.md
legal-clinic/skills/deadlines/SKILL.md
legal-clinic/skills/draft/SKILL.md
legal-clinic/skills/form-generation/SKILL.md
legal-clinic/skills/memo/SKILL.md
legal-clinic/skills/plain-language-letters/SKILL.md
legal-clinic/skills/ramp/SKILL.md
legal-clinic/skills/research-start/SKILL.md
legal-clinic/skills/semester-handoff/SKILL.md
legal-clinic/skills/status/SKILL.md
legal-clinic/skills/supervisor-review-queue/SKILL.md
litigation-legal/skills/brief-section-drafter/SKILL.md
litigation-legal/skills/chronology/SKILL.md
litigation-legal/skills/claim-chart/SKILL.md
litigation-legal/skills/cold-start-interview/SKILL.md
litigation-legal/skills/customize/SKILL.md
litigation-legal/skills/demand-draft/SKILL.md
litigation-legal/skills/demand-intake/SKILL.md
litigation-legal/skills/demand-received/SKILL.md
litigation-legal/skills/deposition-prep/SKILL.md
litigation-legal/skills/legal-hold/SKILL.md
litigation-legal/skills/matter-briefing/SKILL.md
litigation-legal/skills/matter-close/SKILL.md
litigation-legal/skills/matter-intake/SKILL.md
litigation-legal/skills/matter-update/SKILL.md
litigation-legal/skills/matter-workspace/SKILL.md
litigation-legal/skills/oc-status/SKILL.md
litigation-legal/skills/portfolio-status/SKILL.md
litigation-legal/skills/privilege-log-review/SKILL.md
litigation-legal/skills/subpoena-triage/SKILL.md
privacy-legal/skills/cold-start-interview/SKILL.md
privacy-legal/skills/customize/SKILL.md
privacy-legal/skills/dpa-review/SKILL.md
privacy-legal/skills/dsar-response/SKILL.md
privacy-legal/skills/matter-workspace/SKILL.md
privacy-legal/skills/pia-generation/SKILL.md
privacy-legal/skills/policy-monitor/SKILL.md
privacy-legal/skills/reg-gap-analysis/SKILL.md
privacy-legal/skills/use-case-triage/SKILL.md
product-legal/skills/cold-start-interview/SKILL.md
product-legal/skills/customize/SKILL.md
product-legal/skills/feature-risk-assessment/SKILL.md
product-legal/skills/is-this-a-problem/SKILL.md
product-legal/skills/launch-review/SKILL.md
product-legal/skills/marketing-claims-review/SKILL.md
product-legal/skills/matter-workspace/SKILL.md
regulatory-legal/skills/cold-start-interview/SKILL.md
regulatory-legal/skills/comments/SKILL.md
regulatory-legal/skills/customize/SKILL.md
regulatory-legal/skills/gap-surfacer/SKILL.md
regulatory-legal/skills/gaps/SKILL.md
regulatory-legal/skills/matter-workspace/SKILL.md
regulatory-legal/skills/policy-diff/SKILL.md
regulatory-legal/skills/policy-redraft/SKILL.md
regulatory-legal/skills/reg-feed-watcher/SKILL.md
ai-governance-legal/skills/aia-generation/SKILL.md
corporate-legal/skills/tabular-review/SKILL.md
legal-builder-hub/skills/skills-qa/SKILL.md

Metadata

Files
0
Version
5ceb305
Hash
df97d216
Indexed
2026-07-05 15:33

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-10 17:59
浙ICP备14020137号-1 $Гость$