Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add zhou210712/claude-for-legal-ZH --skill renewal-trackergit clone --depth 1 https://github.com/zhou210712/claude-for-legal-ZHWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zhou210712/claude-for-legal-zh/renewal-tracker)<a href="https://agentmods.dev/skills/zhou210712/claude-for-legal-zh/renewal-tracker"><img src="https://agentmods.dev/badge/skills/zhou210712/claude-for-legal-zh/renewal-tracker/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zhou210712/claude-for-legal-zh/renewal-tracker"><img src="https://agentmods.dev/badge/skills/zhou210712/claude-for-legal-zh/renewal-tracker.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00094 | $0.01411 |
| Opus 5.5 | $0.00038 | $0.00564 |
| Sonnet 5.5 | $0.00019 | $0.00282 |
| Haiku 4.5 | $0.00009 | $0.00141 |
Grade A, and why
renewal-tracker scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 145 lines — stays where its author put it; the contents beside it link to each section on GitHub.
/renewal-tracker
呈现哪些合同即将续约以及必须在何时之前取消。
指令
-
读取
~/.claude/plugins/config/claude-for-legal/commercial-legal/renewal-register.yaml(配置目录——插件更新后仍保留)。 -
默认模式: 模式2——未来90天内即将到来的事项,按紧急程度分组。
-
--days N: 变更窗口。 -
--missed: 模式4——已过期的取消截止日期。 -
如果登记册为空且合同管理系统已连接: 提供模式3——扫描合同管理系统获取当前协议并批量加载。
-
输出包含建议操作: 联系谁(每条登记记录中的业务负责人)、哪些具有无上限定价。
示例
/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平台订阅协议"
signed_date: 2025-06-15
initial_term_end: 2026-06-15
current_term_end: 2026-06-15
renewal_mechanism: "自动续约年度"
notice_period_days: 60
notice_method: "email"
transit_buffer_days: 0
cancel_by_calendar: 2026-04-16
cancel_by_effective: 2026-04-16
send_by_effective: 2026-04-16
cancel_by_roll_note: ""
cancel_by_provenance: "[模型计算 — 对照通知条款核实]"
price_on_renewal: "当时价目表(无上限)"
annual_value: 48000
business_owner: "[email protected]"
clm_id: "IC-12345"
status: "active"
notes: "定价无上限——续约前重审。替代供应商:X, Y。"
通知送达时间。 计算 send_by_effective = cancel_by_effective - transit_buffer_days,以 send_by_effective 触发预警。
滚动续约。 存储 initial_term_end 供记录,但从 current_term_end 计算 cancel_by_*。
工作日检查
每个取消截止日期必须回退至最后一个工作日。中国法下,以合同约定的管辖法域确定节假日范围。记录 cancel_by_calendar 和 cancel_by_effective 两个日期。以有效日期触发预警。
模式
模式1:录入续约(来自审查的交接)
当SaaS审查或供应商协议审查发现续约条款时,交接记录。追加至登记册。
模式2:即将到来的事项
默认回顾窗口: 未来90天。紧急程度分组使用半开区间:
- 🔴 0-13天
- 🟠 14-44天
- 🟡 45-89天
## 续约——未来90天
### 🔴 取消截止日期在0-13天内
| 对方当事人 | 取消截止日 | 续约日 | 年度金额 | 负责人 | 备注 |
|---|---|---|---|---|---|
### 🟠 取消截止日期在14-44天内
[同上表格]
### 🟡 取消截止日期在45-89天内
[同上表格]
---
**建议操作:**
- [ ] [对方当事人] — 联系 [业务负责人]:我们还要这个吗?
- [ ] [对方当事人] — 定价无上限;在失去谈判优势前获取替代报价
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 145 lines · 94 tokens per session scan A da490e47c203
renewal-tracker is a skill published in the GitHub repository zhou210712/claude-for-legal-ZH (238 stars, last pushed 5mo ago), licensed Apache-2.0. It adds 94 tokens to every session and 1,411 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
vendor-review
Evaluate a vendor — cost analysis, risk assessment, and recommendation. Use when reviewing a new vendor proposal, deciding whether to renew or replace a contract, comparing two vendors side-by-side, or building a TCO breakdown and negotiation points before procurement sign-off.
entity-compliance
Entity compliance tracker — initialize, report upcoming deadlines, update status, run health audit, export to CSV. Maintains a compliance-tracker.yaml built from the entity table, calculates filing deadlines by entity and jurisdiction, and surfaces what's due in the next 30/60/90 days. Use when user says "entity…
portfolio
Track the IP portfolio — registrations, renewals, maintenance fees, and use declarations. Use when checking what's renewing, adding or updating an asset, recording a maintenance filing, or auditing the register for gaps, lapses, and use-in-commerce questions. Receives handoffs from prosecution and clearance work.
launch-review
Full launch review against your framework and risk calibration. Use when the user says "review this launch", "legal review for [feature]", "can we ship this", "what are the legal issues with [product]", or references a launch tracker ticket or PRD that needs a category-by-category review memo.
client-intake
Structured intake — practice-area templates, cross-area issue spotting, conflict flags, and triage classification. Produces a formatted case summary the student analyzes and the professor reviews. Does NOT decide case acceptance. Use when starting a new client intake, running an intake interview, or writing up a new…
gap-surfacer
Reference: shared gap- and comment-tracker framework backing /regulatory-legal:gaps and /regulatory-legal:comments. Tracks open policy gaps with remediation status, ingests gaps from policy-diff, surfaces what's open and aging, routes to owners, and notifies gap owners via Slack with per-send confirmation. Loaded by…