Owner notification: enabled by default. To choose an owner not to receive notifications, leave
owner_contactblank.
Send confirmation one by one — no exceptions
Before sendinganynotification message (assignment notification, overdue reminder, batch notification, status report):
- Show the user who you are about to send to and what content you are about to send.
- Wait for explicit consent.
- Never send without confirmation. Do not skip because it is a scheduled task. Do not skip because it is a batch. Do not skip because you sent it yesterday.
Automatic sending without confirmation is the most irreversible operation in this plugin — sending content that the plugin's own footer states may be wrong, to people who cannot check it. This combination cannot skip review.
Purpose
Gaps are forgotten once discovered. This skill tracks them until they are closed and notifies the people responsible for closing them.
Tracking file
Located at ~/.claude/plugins/config/claude-for-legal-zh/regulatory-legal/gap-tracker.yaml:
gaps:
- id: GAP-001
requirement: "[法规要求的内容]"
regulation: "[名称 + 引用]"
policy_affected: "[名称或'需要制定新政策']"
gap_type: "partial" # none | partial | full | new-policy | watch | comment-decision
owner: "[政策索引中的姓名]"
owner_contact: "[联系方式,如已知]"
opened: 2026-03-01
due: 2026-06-01 # 法规生效日期、内部截止日期或意见征集截止日期
status_verified: true # 如果上游政策差异分析无法确认法规有效,则为false;未验证的事项永不会进入🔴逾期分类
status: "open" # open | in-progress | closed | risk-accepted
notified: false # 分配通知发送后设为true
resolution: "" # 关闭时填写
Never classify a gap as "overdue" — if the regulation has not been verified. 🔴Overdue classification means "we missed a binding deadline". If the regulation status has not been verified (the policy diff analysis set status_verified: false, or the regulation is >12 months/has passed the applicability date and timeliness has not been confirmed), the deadline may not be binding. Use 🟡"needs review" and note it.
gap_type semantics:
| Value | Meaning | Typical reminder frequency |
|---|---|---|
none |
The policy already covers this requirement. Recorded only for audit trail. | No automatic reminders. |
partial |
The policy covers the topic but does not fully cover the new requirement. Revision needed. | 30 days before expiration. |
full |
The policy contradicts the new requirement or does not mention it. Rewriting or adding a new section needed. | 30 days before expiration. |
new-policy |
No such content in existing policy. Policy drafting needed. | 30 days before expiration. |
watch |
Forward-looking item — pre-comment, survey notice, draft for comment not yet finalized. There is currently no compliance obligation; policy work waits for the formal regulation to be issued.due: is the revisit date, not the compliance deadline. |
No automatic reminders; reevaluate when the draft for comment is issued or on the revisit date. |
comment-decision |
Pre-rule comment collection decision pending — the team is deciding whether to submit feedback comments.due: is the comment collection deadline. |
21 days before the deadline (tighter than compliance gaps). |
Mode
Mode 1: Obtain from policy diff analysis
When policy diff analysis finds a gap, append it to gap-tracker.yaml. Deduplicate — same requirement + same policy = same gap, do not double count.
After obtaining, notify the owner:
If the enterprise communication tool is available and owner_contact is set: send a notification to the gap owner — but only after completing the send confirmation one by one. Preview the message to the user, wait for explicit consent, then send. After sending, set notified: true in the tracking entry.
Mode 2: Status Report
[工作成果头 — 按照插件配置 ## 输出]
## 开放差距 — [日期]
### 要点
[N个差距需要在[日期]前采取行动 — 前3项:X、Y、Z]
### 🔴 逾期
| ID | 要求 | 政策 | 负责人 | 截止日期 | 逾期天数 |
|----|------|------|--------|----------|---------|
| | | | | | |
### 🟠 30天内到期
[同上]
### 🟡 开放
[同上]
### 👀 观察事项(前瞻性——预法规)
[预法规跟踪——`watch` 和 `comment-decision` 条目。这些不是合规差距。单独呈现。]
### 进行中
[同上]
### 最近关闭
[最近5项,附解决方案]
---
**最早开放的差距:** [ID],[N]天
**按负责人分组的差距:** [分布]
**负责人通知已发送:** [N] / [N个总差距]
---
**依赖前核实引注。** 此跟踪文件中的法规引注由AI在上游生成(reg-feed-watcher 和 policy-diff),未经对照一手来源核实。在关闭、接受风险或引用到任何合规声明、董事会报告或监管机构回复之前,通过法律研究工具确认。
Mode 3: Close Gap
Update status to closed, record the resolution and the closure date.
Mode 4: Risk Acceptance
Sometimes the answer is "we are not going to fix this." This is a valid decision—but it should be recorded.
Status → risk-accepted. Keep it in the tracking file (do not delete), but it does not appear in the open gaps report.
Closing
Close with the next-step decision tree specified in CLAUDE.md ## 输出 .
If the tracker shows more than about 10 open gaps, or if the user requests it at any time: provide a dashboard—counts by severity, a timeline of gaps arranged by due date, and a sortable grid with owner, status, and last-updated date.
What this skill does not do
- Do not close gaps on your own. Closing requires a resolution statement and the manual action described by that statement.
- If the enterprise communication tool is not configured, do not send notifications. Fall back to flagging it in the status report.
- Do not send more than one reminder per gap within 7 days. Remind once, do not repeatedly nag.