AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Contract Renewal Radar

skill-igptai-skills-contract-renewal-radar · by igptai

Finds every vendor and supplier contract approaching its renewal or expiry date from email — surfacing the deadline, notice period, auto-renewal risk, and whether a renegotiation conversation should be initiated. Use when a procurement manager wants to proactively manage contract renewals and avoid unwanted auto-renewals. Triggers on "contract renewals", "expiring vendor contracts", "supplier con…

No reviews yet
0 installs
37 views
0.0% view→install

Install

$ agentstack add skill-igptai-skills-contract-renewal-radar

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-igptai-skills-contract-renewal-radar)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
4mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Contract Renewal Radar? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Contract Renewal Radar

Prerequisites

This skill needs the iGPT MCP at https://mcp.igpt.ai/.

If the MCP tools aren't available or return an auth error, tell the user to install the iGPT plugin (/plugin marketplace add igptai/skills) or add https://mcp.igpt.ai/ as a connector, then complete OAuth and say "ready". Retry once after they confirm. Never invent tokens or OAuth URLs. For deeper troubleshooting: https://raw.githubusercontent.com/igptai/skills/main/shared/mcp-guard.md


What This Skill Does

Scans email for every vendor and supplier contract referenced, extracts expiry and renewal dates, identifies notice periods, flags auto-renewal risks, and returns a deadline-ordered calendar so procurement can act before contracts renew unfavorably or lapse unexpectedly.


Workflow

  1. Before calling any tool, collect these values from the user. Offer the

defaults and let the user override them; do not invent values they did not give.

  • [time_range] — what window of email to scan. The user may give this

in any form ("last 24 months", "the last 2 years", "May 2024", "since procurement reset"). Default: the last 24 months. Keep the user's natural phrasing for use in the ask input; convert to ISO dates separately for the search call.

  • [category_scope] — either "all" (default) or a specific supplier

category to focus on (e.g. "SaaS", "logistics", "raw materials").

  • [categoryclause] — derived. When [categoryscope] is not "all",

set to " for [categoryscope] vendors". When [categoryscope] is "all", set to empty string.

  1. Call search with:
  • query: contract renew expire notice period auto-renewal terminate

extend renegotiate vendor supplier agreement (if [category_scope] is not "all", append the category to the query)

  • datefrom: ISO start date derived from [timerange]
  • dateto: ISO end date derived from [timerange] (or today if open-ended)
  1. Call ask with:
  • input: Review all vendor and supplier email threads from [timerange][categoryclause] that reference contracts or agreements. For each contract identify: the vendor, the type of agreement, the expiry or renewal date, the notice period required to cancel or renegotiate, whether the contract auto-renews, the annual value if mentioned, and whether a renegotiation or cancellation should be considered based on any satisfaction signals in the email thread.
  • output_format:

{ "strict": true, "schema": { "type": "object", "description": "Vendor contract renewal radar showing all upcoming expiries and renewal deadlines", "additionalProperties": false, "properties": { "asof": { "type": "string", "description": "ISO8601 date when this report was generated" }, "contracts": { "type": "array", "description": "List of every vendor contract with renewal or expiry tracking", "items": { "type": "object", "description": "A single vendor contract with renewal deadline details", "additionalProperties": false, "properties": { "vendor": { "type": "string", "description": "Name of the vendor or supplier" }, "contracttype": { "type": "string", "description": "Type of vendor agreement", "enum": [ "saassubscription", "serviceagreement", "supplycontract", "maintenancecontract", "licensingagreement", "frameworkagreement", "masterserviceagreement", "other" ] }, "description": { "type": "string", "description": "Brief description of what this contract covers" }, "expirydate": { "type": "string", "description": "ISO8601 date the contract expires or auto-renews, empty string if unknown" }, "daysuntilexpiry": { "type": "number", "description": "Number of days until expiry or auto-renewal, -1 if unknown" }, "noticeperioddays": { "type": "number", "description": "Days of advance notice required to cancel or prevent auto-renewal, 0 if not found" }, "actiondeadline": { "type": "string", "description": "ISO8601 date by which procurement must act to avoid unwanted auto-renewal or expiry" }, "autorenews": { "type": "boolean", "description": "Whether this contract auto-renews if no action is taken" }, "annualvalue": { "type": "number", "description": "Annual contract value in local currency, 0 if not found" }, "currency": { "type": "string", "description": "Currency of the annual value" }, "satisfactionsignal": { "type": "string", "description": "Overall satisfaction with this vendor based on email signals", "enum": ["positive", "neutral", "negative", "unknown"] }, "renewalrecommendation": { "type": "string", "description": "Recommended action for this contract renewal", "enum": [ "renewasis", "renegotiatebeforerenewal", "evaluatealternatives", "cancel", "letexpire", "unknown" ] }, "urgency": { "type": "string", "description": "Urgency level for taking action on this contract", "enum": ["critical", "high", "medium", "low"] } }, "required": [ "vendor", "contracttype", "description", "expirydate", "daysuntilexpiry", "noticeperioddays", "actiondeadline", "autorenews", "annualvalue", "currency", "satisfactionsignal", "renewalrecommendation", "urgency" ] } }, "criticalcount": { "type": "number", "description": "Number of contracts requiring critical urgency action" }, "autorenewalriskcount": { "type": "number", "description": "Number of contracts at risk of unwanted auto-renewal if no action is taken" }, "summary": { "type": "string", "description": "One or two sentence summary of upcoming renewals and most urgent actions" } }, "required": [ "asof", "contracts", "criticalcount", "autorenewalriskcount", "summary" ] } }

  1. Present ordered by urgency then action_deadline. Lead with critical count

and autorenewalrisk count. Flag any contracts with negative satisfaction signals that are approaching auto-renewal.

  1. Ask: "Would you like me to draft a cancellation notice or renegotiation

request for any of these vendors?"

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.