mcpField
R
renewal-tracker

renewal-tracker

github.com/anthropics生産性9.8k605 回インストール14 週間前に更新
リポジトリ

renewal-tracker について

renewal-tracker は、契約更新と解約期限を更新台帳で追跡する法律業務向けスキルです。期限を緊急度別に分類して対応案を示しますが、更新や解約の判断は行いません。

主な機能

  1. 01更新日と解約期限の追跡
  2. 02期限を緊急度別に分類
  3. 03営業日を考慮した期限の繰り上げ
  4. 04過ぎた解約期限の報告
  5. 05担当者と次の対応案の提示

活用シーン

  1. 01今後 90 日間の更新確認
  2. 02期限の検索範囲の変更
  3. 03過ぎた解約期限の確認
  4. 04接続済み CLM から更新日を読み込み

MCP 対応

台帳が空または古い場合、接続済みの MCP 連携を通じて CLM の有効な契約と更新日を検索できます。また、更新関連のメタデータを含む DocuSign の完了済みエンベロープも検索できます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/anthropics/claude-for-legal --skill renewal-tracker

インストール後、Claude Code で/renewal-trackerを入力して読み込まれたか確認します。

同梱ファイルreferences/renewal-register.yaml

詳細

/renewal-tracker

更新がある契約と、解約通知が必要な期限を表示します。

Instructions

  1. ~/.claude/plugins/config/claude-for-legal/commercial-legal/renewal-register.yaml を読み込みます(設定ディレクトリはプラグインの更新後も維持されます)。

  2. デフォルトモード: モード 2 — 今後 90 日以内に予定されているものを、緊急度別にグループ化して表示します。半開区間を使うため、各期限は必ず 1 つの区分に入ります。🔴 0~13 日、🟠 14~44 日、🟡 45~89 日。14 日、45 日、90 日は境界で、それぞれ必ず 1 つの区分にのみ属します。

  3. --days N: 対象期間を変更します。

  4. --missed: モード 4 — 解約期限を過ぎており、解約の記録がないものを表示します。

  5. 登録が空で、[CLM] が接続されている場合: モード 3 を提案します。[CLM] をスキャンして、更新日が設定された有効な契約を探し、一括で読み込みます。

  6. 推奨アクションも出力します: 誰に連絡するか(各登録項目のビジネスオーナー)、上限なしの価格設定がある契約(期間が終わる前に交渉材料を得ます)。

例

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

目的

契約書を二度読む人はいません。更新日はレビュー時に一度だけ抽出され、その後はどこかに保管されます。理想的には、解約通知期限の 45 日前に知らせてくれる場所です。45 日後ではなく。

このスキルは更新登録簿を管理し、今後予定されているものを表示します。

登録簿

~/.claude/plugins/config/claude-for-legal/commercial-legal/renewal-register.yaml にあります(設定ディレクトリはプラグインの更新後も維持されます)。各項目:

- 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: "[email protected]"
  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."

通知の郵送所要日数 — cancel_by_effective ではなく send_by_effective を基準にアラートします。 内容証明郵便が必要な 60 日間の通知期間は、実質的には約 55 日です。受領日を基準にアラートするトラッカーでは、期限を逃してしまいます。send_by_effective = cancel_by_effective - transit_buffer_days を計算し、send_by_effective を基準にアラートを出します(モード 2 の 🔴 / 🟠 / 🟡 の緊急度区分)。モード 2 の緊急度列には send_by_effective を表示し、詳細列には cancel_by_effective、notice_method、transit_buffer_days を表示します。これにより、読者は差分を確認し、バッファ期間に異議を唱えられます。

自動更新 — 更新後に繰り越されない登録簿は、一度しか正しく機能しません。 記録用に initial_term_end を保存しますが、cancel_by_* は current_term_end から計算します。更新が発生した場合(解約通知期間が過ぎ、通知が行われなかった場合)、次のように確認を求めます。

この契約は [date] に自動更新されました。登録簿を更新してください。新しい current_term_end は [date + renewal period]、新しい cancel_by_effective は [computed]、新しい send_by_effective は [computed] です。よろしいですか?

初年度を過ぎると initial_term_end は正しくなくなり、正しい解約期限を算出できるのは current_term_end だけです。

キャンセル期限はすべて営業日で確認

登録簿のキャンセル期限は、暦日ではなく、通知が有効となる最終営業日でなければなりません。 週末にあたる暦日は、更新期限を逃す最も一般的な原因です。登録簿でこれを検出できます。

キャンセル期限を計算(または取り込む)ときは、次の手順に従います。

  1. 暦日を計算します。 cancel_by_calendar = initial_term_end − notice_period_days(または条項に指定された計算方法)とします。これは単純な算術計算の結果です。
  2. 準拠法に基づいて営業日をさかのぼります。 契約の準拠法によって、どの祝日を考慮するかが決まります。米国:連邦祝日+準拠法が州法の場合は州の祝日。イングランドおよびウェールズ:バンクホリデー。ドイツ:祝日(州によって異なるため、どの州かを確認します)。カナダ:連邦および州の祝日。シンガポール:祝日。土曜日の場合は金曜日にさかのぼります。日曜日の場合も金曜日にさかのぼります。準拠法の管轄区域で祝日にあたる場合は、直前の営業日にさかのぼります。必ずさかのぼって調整し、先の日に進めてはいけません。先の日に進めると、通知が期間終了後に届くことになります。準拠法が米国以外で、祝日カレンダーを特定できない場合は、次のように明記します。「準拠法は[X]です。営業日の繰り上げ調整には、暫定的に米国連邦祝日を使用しています。発効日に依拠する前に、[管轄区域]の祝日カレンダーと照合してください。」
  3. 契約独自の日数計算ルールを確認します。 「営業日」、「到達」、「到達したものとみなす」、「[現地時間]午後5時」、通知方法に関する条項を確認します。契約で「営業日」が定義されている場合、または受領の仕組み(書留郵便、開封確認付きメールなど)が指定されている場合は、その定義が優先されます。既定の繰り上げ調整と契約独自のルールに食い違いがあれば、明記します。
  4. 両方の日付を登録簿に記録します。 cancel_by_calendar は単純な算術計算による日付、cancel_by_effective は通知が有効となる最終営業日です。cancel_by_roll_note には、両者が異なる理由(例:「2026-11-01(日曜日)から繰り上げ調整。契約の営業日定義と照合してください」)を記録します。計算した cancel_by_effective にはすべて [model calculation — verify against the notice clause] の cancel_by_provenance タグを付けます。これにより、確認フラグが周辺の文章ではなく日付に紐付いた状態になります。
  5. アラートは暦日ではなく有効日を基準に発報します。 緊急度の区分(モード2の🔴/🟠/🟡)には cancel_by_effective を使用します。モード2の出力では、緊急度の列に cancel_by_effective を表示し、繰り上げ調整が行われた場合は詳細列に cancel_by_calendar と cancel_by_roll_note を表示します。これにより、読者が内容を確認し、異議を申し立てられます。

曜日も警告もなく、日曜日の cancel_by: 2026-11-01 を出力するモード2のレポートは、有効な期限を気付かれないまま誤って示しています。登録簿で検出すべきなのは、取り込み時の一度だけです。期限がすでに過ぎてからではありません。

モード

モード1:更新を取り込む(レビューからの引き継ぎ)

saas-msa-review または vendor-agreement-review が更新条項を見つけた場合、レコードを引き継ぎます。そのレコードを登録簿に追加します。取引相手がすでに登録されている場合は、今回の契約が差し替え(更新された契約)なのか、追加の契約なのかを確認します。

モード 2:近日中の更新

デフォルトの対象期間: 今後 90 日間です。

緊急度の区分は、端点を一方だけに含む区間です。各期限はいずれか 1 つの区分にのみ該当します。 キャンセル期限までの日数(cancel_by_effective - today)を使います。14 日目、45 日目、90 日目はそれぞれ 1 つの区分にのみ属し、複数の区分には属しません。ここで 1 日ずれると、最も緊急度の高い項目が緊急度の低い区分に入ってしまいます。

  • 🔴 0~13 日(キャンセル期限まで 14 日未満。今日を含みます)
  • 🟠 14~44 日
  • 🟡 45~89 日
  • (90 日以上先のものはすべてデフォルトの対象期間外です。ユーザーが --horizon に 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

対象期間内の更新が登録簿に約 10 件以上ある場合、またはユーザーから求められた場合は、ダッシュボードを提案してください(CLAUDE.md ## Outputs → Dashboard offer for data-heavy outputs を参照)。この出力に合わせて提案内容を調整してください。緊急度区分(🔴/🟠/🟡)ごとの件数、キャンセル期限のタイムライン、取引先、更新日、年間金額、担当者で並べ替え可能な登録簿を含めます。

モード 3:[CLM]/電子署名ツールをスキャンして登録簿にデータを入力する

MCP が接続されており、登録簿が空または古い場合:

  1. [CLM] に対し、ステータスが「Active」で、更新日フィールドがあるすべての契約を照会します
  2. DocuSign に対し、過去 24 か月間に完了したエンベロープのうち、メタデータに「subscription」/「renewal」/「auto-renew」が含まれるものを照会します
  3. 該当するものそれぞれについて、更新条件を抽出して登録簿に追加します
  4. メタデータから更新日を特定できないものにはフラグを立てます。これらは人が契約を確認する必要があります

これは一度限りの一括読み込みです。その後の取り込みは、レビュー時に行われます。

モード 4:期限を逃した場合(悪い知らせの報告)
## 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)

ゲート:更新を受諾または拒否する

更新日を追跡するのは調査です。更新しない旨の通知を送る、自動更新を実行させる、または更新フォームに連署するといった、実際に行動することは、法的に重大な措置です。

更新を受諾または拒否する前(更新しない旨の通知を送る場合や、キャンセル期限を過ぎて自動更新を実行させる場合を含みます): ~/.claude/plugins/config/claude-for-legal/commercial-legal/CLAUDE.md の ## Who's using this を読みます。Role が Non-lawyer の場合:

この手順には法的な影響があります(次の契約期間に同意するか、取引関係を終了することになります)。弁護士に相談しましたか?相談済みであれば、先に進んでください。まだの場合は、相談時に使える概要を以下に示します。

[1 ページの要約を作成します。取引先、現行契約期間の終了日とキャンセル期限、更新価格の仕組み、何もしなかった場合の結果、他社との比較検討を希望する場合の代替ベンダー、期限が来る前に弁護士に尋ねるべき 3 つの事項を含めます。]

弁護士、ソリシター、バリスター、その他の認可を受けた法律専門家を探す必要がある場合は、専門職の規制機関(米国では州弁護士会、イングランドおよびウェールズでは SRA/Bar Standards Board、スコットランド/北アイルランド/アイルランド/カナダ/オーストラリアでは Law Society、または管轄地域における同等の機関)に連絡し、紹介サービスについて問い合わせてください。

明示的な「はい」がない限り、このゲートの先に進んではいけません。

連携:renewal-watcher エージェント

このプラグインの renewal-watcher エージェントは、スケジュール(デフォルトでは毎週)に従ってこのスキルを実行し、「近日中の更新」レポートを ~/.claude/plugins/config/claude-for-legal/commercial-legal/CLAUDE.md → ## House style → 成果物の送信先に記載されたチャンネルに投稿します。モード 2 は、このエージェントの主な出力です。

このスキルで行わないこと

  • 契約は解約しません。判断が必要な時期をお知らせします。
  • 更新するかどうかは判断しません。期限と事業担当者を提示します。
  • 更新日を見つけるために契約を読みません。これはレビュー時に行われます。更新日がないまま契約が登録簿に含まれている場合は手動で追加されたものであり、誰かが不足情報を補う必要があります。

コメント