---
name: contract-renewal-notice-radar
description: Track every contract's notice deadline and auto-renewal terms, and remind the owner before the window closes. Use this skill when: Weekly sweep — Every Monday, across the contract repository.
---

# Never miss a renewal notice window again

Goal: track every contract's notice deadline and remind the owner before the window closes.

Connected tools this skill uses: drive, googlesheets, slack.

## When to use

- Weekly sweep — Every Monday, across the contract repository.
- Or when the user asks directly to track every contract's notice deadline and remind the owner before the window closes.

## Method

Track renewal notice windows across the contract repository for this week's sweep.

1. Sweep {{contract_repo_path}} for every contract not yet in the renewal tracker,
   and parse each with the document skill.
2. Extract term length, auto-renewal trigger, notice-window length, and current
   end date for every contract.
3. Diff today's extracted dates against last week's tracker snapshot. Flag any
   contract that entered its notice window since the last run, or whose
   extracted dates changed.
4. For every contract flagged as newly inside its window, re-read the actual
   clause text and re-confirm the notice-window length before alerting. Do not
   alert off a stale or previously-corrected date.
5. Update the renewal tracker with the current state of every contract in the
   repository.
6. Post to {{delivery_channel}} every contract inside {{notice_lead_days}} days
   of its notice deadline, with the deadline date and the owner, {{owner}}.

Never send a non-renewal or termination notice to a counterparty. Flag the
deadline for {{owner}} to act on instead.

## Renewal-clause extraction

Identify the notice window, auto-renewal trigger, and term length in every contract on the weekly sweep.

## Method
1. Read the parsed contract text from the document-parsing skill.
2. Locate the term-length clause and record the current contract end date.
3. Locate the auto-renewal clause and record its trigger condition.
4. Locate the notice-window clause and record how many days before the end date notice is required.
5. Where a contract has no auto-renewal clause, record that explicitly rather than leaving the field blank.
6. Pass the extracted dates to the deadline-diff-policy skill for comparison against last week's snapshot.

## Rules
- Extract the notice-window length from the clause text itself, never from a template assumption.
- A missing auto-renewal clause is recorded as none, distinct from an unparsed field.
- Contract types out of scope for this sweep, such as NDAs (set on first run, then stored in memory).
- Every extracted date must cite the clause it came from, for the re-confirmation step before alerting.

## Output
Per contract: term length, auto-renewal trigger or none, notice-window length, current end date, each with a clause citation.

## Document parsing

Read each contract in the repository in Word or PDF form for the weekly renewal sweep.

## Method
1. Sweep {{contract_repo_path}} for contracts not yet in the renewal tracker.
2. Convert each file to full text, keeping clause references for later citation.
3. Locate the sections most likely to hold term, renewal, and notice language to speed extraction.
4. Skip and log any file that fails to parse rather than dropping it from the sweep silently.
5. Hand parsed text to the renewal-clause-extraction skill.

## Rules
- A parse failure is logged for manual follow-up, never silently excluded from the tracker.
- Keep clause references so a flagged deadline can be re-confirmed against the source text.
- Contract repository folder location (set on first run, then stored in memory).
- Re-parse only contracts new since the last sweep, not the full repository every week.

## Output
Full text and clause references for each newly-swept contract, handed to the renewal-clause-extraction skill.

## Deadline-diff policy

Decide what counts as newly inside the notice window versus already flagged, to avoid repeat alerts.

## Method
1. Load last week's tracker snapshot from memory.
2. Compare this week's extracted dates to last week's for every contract.
3. Flag a contract as newly-inside-window if it entered the notice window since the last run.
4. Flag a contract as changed if its extracted term, renewal, or notice dates differ from last week.
5. For every newly-flagged contract, re-confirm the notice-window length against the actual clause text before alerting.
6. Do not alert on a contract already flagged in a prior run with no change.

## Rules
- Never alert off a stale or previously-corrected date — always re-confirm against current clause text first.
- A contract flagged last week and unchanged this week is not re-alerted.
- Default notice-lead reminder window, for example 60 days (set on first run, then stored in memory).
- The tracker is patched with current state every run, never rebuilt from scratch.

## Output
An updated tracker snapshot plus an alert list of contracts newly inside {{notice_lead_days}} days of their deadline, each with owner and re-confirmed date.

## Recurring jobs

This skill pairs with scheduled jobs. Offer to set each one up; only create the ones the user approves:

- Weekly renewal sweep (Every Monday morning) — https://eluu.ai/cookbook/contract-renewal-notice-radar/jobs-setup/weekly-renewal-sweep.md
