policy-diff
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinese/policy-diff
/policy-diff
- Load → policy library index.
~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md - Use the workflow below.
- Extract requirements from the reg. Match to indexed policies.
- Output: per-requirement gap analysis, which policy needs updating.
- 加载 → 政策库索引。
~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md - 使用下方工作流。
- 从法规中提取要求,与已索引的政策进行匹配。
- 输出:逐要求的差距分析、需要更新的政策。
Matter context
事项上下文
Matter context. Check in the practice-level CLAUDE.md. If is (the default for in-house users), skip the rest of this paragraph — skills use practice-level context and the matter machinery is invisible. If enabled and there is no active matter, ask: "Which matter is this for? Run or say ." Load the active matter's for matter-specific context and overrides. Write outputs to the matter folder at . Never read another matter's files unless is .
## Matter workspacesEnabled✗/regulatory-legal:matter-workspace switch <slug>practice-levelmatter.md~/.claude/plugins/config/claude-for-legal/regulatory-legal/matters/<matter-slug>/Cross-matter contexton事项上下文。查看业务层面CLAUDE.md中的。如果为(内部用户默认设置),则跳过本段剩余内容——技能使用业务层面上下文,事项机制不可见。如果已启用且无活跃事项,请询问:“这是针对哪个事项的?运行或说明‘业务层面’。”加载活跃事项的以获取特定于事项的上下文和覆盖规则。将输出写入事项文件夹:。除非开启,否则切勿读取其他事项的文件。
## Matter workspacesEnabled✗/regulatory-legal:matter-workspace switch <slug>matter.md~/.claude/plugins/config/claude-for-legal/regulatory-legal/matters/<matter-slug>/Cross-matter contextPurpose
目的
A reg changed. You have policies. This skill finds which policies the change touches and what the gap is between "what the reg now requires" and "what the policy says."
法规已变更,您拥有相关政策。此技能可找出该变更影响哪些政策,以及“法规当前要求”与“政策内容”之间存在哪些差距。
Load context
加载上下文
~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.mdScope integrity
范围完整性
If the user asks you to exclude a policy section, requirement, or category from the diff:
- Do it — the user owns the scope.
- But flag it, loudly and permanently: "⚠️ SCOPE LIMITATION: Section [X] excluded at user request. This diff does not reflect the full policy. Gaps in the excluded area are NOT identified." Above the header, carried to every downstream artifact.
- Hand the flag to : "This diff was scope-limited. Do not represent it as a complete compliance picture." Include the scope-limitation banner verbatim on any gap tracker entry derived from this diff.
gap-surfacer - Note what the exclusion means: "Excluding vendor management means the diff will show 'no policy addresses vendor management' — which is worse than showing the gap."
A compliance artifact built on an undisclosed scope exclusion looks like concealment in discovery. The flag is the difference between "we scoped the review" and "we hid the problem."
如果用户要求您在差异对比中排除某个政策章节、要求或类别:
- 执行操作——用户拥有范围决定权。
- 但需显著且持续地标记:“⚠️ 范围限制:应用户要求排除[X]章节。此差异对比未反映完整政策内容。排除区域的差距未被识别。”该标记需置于标题上方,并随所有下游产物保留。
- 将此标记移交至:“此差异对比存在范围限制,不得将其表述为完整合规情况。”从该差异对比衍生的任何差距跟踪条目,均需逐字包含此范围限制提示。
gap-surfacer - 说明排除的影响:“排除供应商管理意味着差异对比将显示‘无政策涉及供应商管理’——这比显示差距的情况更严重。”
基于未披露范围排除构建的合规产物,在取证环节可能被视为隐瞒。标记的作用在于区分“我们限定了审查范围”与“我们隐瞒了问题”。
Workflow
工作流
Step 0: Verify rule status before you diff
步骤0:差异对比前验证规则状态
Before diffing a rule against policy, confirm the rule is actually in force. Red flags that the rule may not be in force:
- The applicability/compliance date has passed by more than 30 days but you have no confirmation it wasn't delayed
- The rule is more than 12 months old
- The rule is a politically contentious final rule (major rulemakings are frequently challenged)
When you see a red flag, check (via research MCP, web search if enabled, or the Federal Register docket) for: delays, stays, injunctions, rescission proposals, vacatur, or amendments. If you can check and the rule is confirmed in force, proceed. If you cannot verify (no tools connected), emit this banner ABOVE the header, before any content:
⚠️ RULE STATUS UNVERIFIED — I could not confirm this rule is currently in force. Final rules are frequently stayed, enjoined, delayed, or rescinded after publication. Do not treat any compliance date below as binding until you confirm the rule's status at the Federal Register docket or with outside counsel.
Tag every due date in the output: .
[due date per published rule — status unverified]Rule-status uncertainty travels downstream. When handing off a gap to , mark the item so it never gets routed to an Overdue bucket on the strength of a published date alone.
gap-surfacerstatus_verified: false在将规则与政策进行差异对比前,确认规则是否实际生效。规则可能未生效的警示信号:
- 适用/合规日期已超过30天,但未确认是否延期
- 规则发布已超过12个月
- 规则存在政治争议的最终规则(重大规则制定常受到质疑)
当发现警示信号时,需通过研究MCP、启用的网页搜索或Federal Register案卷,检查是否存在延期、暂缓、禁令、撤销提案、无效或修订情况。如果可以检查并确认规则已生效,则继续操作。如果无法验证(未连接工具),则在标题上方、所有内容之前显示以下提示:
⚠️ 规则状态未验证——我无法确认此规则当前是否生效。最终规则在发布后常被暂缓、禁止、延期或撤销。在Federal Register案卷或外部律师处确认规则状态前,请勿将下方任何合规日期视为具有约束力。
为输出中的每个截止日期添加标签:。
[根据已发布规则的截止日期——状态未验证]规则状态的不确定性会传递至下游。当将差距移交至时,标记该事项,使其不会仅凭发布日期就被归入逾期事项桶。
gap-surfacerstatus_verified: falseStep 1: Extract the new requirements
步骤1:提取新要求
No silent supplement. If the regulatory change text is partial or ambiguous and the fuller rule isn't available from the indexed source, stop and ask. Do NOT fill the gap from web search or model knowledge without asking. Say: "I have [what you have]. To extract requirements accurately I'd need [what's missing]. Options: (1) paste the full text, (2) point me at the primary source, (3) search the web for the rule — results will be tagged and should be checked against the issuing authority before relying, or (4) stop here. Which would you like?" A lawyer decides whether to accept lower-confidence sources; Claude does not decide for them.
[web search — verify]Source attribution. Tag every citation — the regulatory citation, any cross-references, any policy excerpts — with where it came from: for items retrieved from a primary source, policy library, or MCP; for items pulled from web search; for items recalled from the model's training data; for items pasted in by the user. Items tagged carry higher fabrication risk and should be checked first. Never strip or collapse the tags in the output.
[<regulator or research tool>][web search — verify][model knowledge — verify][user provided]verifyRead the regulatory change. List each discrete new or changed requirement:
| # | Requirement | Effective | Citation |
|---|---|---|---|
| 1 | [what it requires] | [date] | [section] |
Be specific. "Enhanced disclosure requirements" is not a requirement. "Must disclose X in Y format at Z point in the flow" is.
禁止静默补充。如果法规变更文本不完整或存在歧义,且无法从索引源获取完整规则,请停止操作并询问。未经许可,不得通过网页搜索或模型知识填补空白。应说明:“我已获取[现有内容]。为准确提取要求,我需要[缺失内容]。选项:(1)粘贴完整文本,(2)指向原始来源,(3)网页搜索规则——结果将标记为,在依赖前需与发布机构核对,或(4)在此停止操作。您希望选择哪一项?”由律师决定是否接受低可信度来源;Claude不得自行决定。
[web search — verify]来源归因。为每个引用添加来源标签——法规引用、任何交叉引用、任何政策摘录均需标明来源:从原始来源、政策库或MCP获取的内容标记为;从网页搜索获取的内容标记为;从模型训练数据回忆的内容标记为;用户粘贴的内容标记为。标记有的内容存在更高的伪造风险,需优先核对。切勿在输出中删除或合并标签。
[<监管机构或研究工具>][web search — verify][model knowledge — verify][user provided]verify阅读法规变更内容,列出每项新的或已变更的具体要求:
| # | 要求 | 生效日期 | 引用 |
|---|---|---|---|
| 1 | [具体要求内容] | [日期] | [章节] |
要求需具体明确。“加强披露要求”不属于具体要求,“必须在流程的Z环节以Y格式披露X”才是具体要求。
Step 2: Map to policies
步骤2:映射至政策
For each requirement, which indexed policy is closest?
- Direct hit: policy explicitly covers this topic
- Indirect: policy covers a related topic, this is a new sub-issue
- No match: no policy addresses this — gap is "policy doesn't exist"
对于每项要求,找出最匹配的已索引政策:
- 直接匹配:政策明确涵盖该主题
- 间接匹配:政策涵盖相关主题,此为新的子问题
- 无匹配:无政策涉及该主题——差距为“政策不存在”
Step 3: Diff
步骤3:差异对比
For each direct or indirect hit, read the policy and compare:
markdown
undefined对于每个直接或间接匹配的政策,阅读政策内容并进行对比:
markdown
undefinedRequirement [N]: [name]
要求[N]:[名称]
New rule requires: [requirement]
Our policy ([name], last updated [date]) says:
"[relevant excerpt]"
Gap: [None — policy already covers this | Partial — policy addresses X but not Y | Full — policy contradicts or doesn't address]
Change needed: [specific — "add a paragraph on X" not "update the policy"]
Policy owner: [from index]
undefined新规要求: [具体要求]
我们的政策([政策名称],最后更新日期[日期])规定:
"[相关摘录]"
差距: [无差距——政策已涵盖该内容 | 部分差距——政策涉及X但未涉及Y | 完全差距——政策矛盾或未涉及]
所需变更: [具体内容——如“添加关于X的段落”而非“更新政策”]
政策负责人: [来自索引]
undefinedStep 4: No-match gaps
步骤4:无匹配差距
Requirements with no policy match get called out separately:
markdown
undefined无匹配政策的要求需单独列出:
markdown
undefinedNew policy needed
需要制定新政策
Requirement [N]: [requirement]
No existing policy covers this. Options:
- Draft new policy (suggested owner: [whoever owns the closest topic])
- Add to existing [related policy] as a new section
- Determine this doesn't need a policy (one-off compliance, not ongoing)
undefined要求[N]:[具体要求]
现有政策未涵盖此内容。可选方案:
- 起草新政策(建议负责人:[负责最相关主题的人员])
- 作为新章节添加至现有[相关政策]
- 确定无需制定政策(一次性合规要求,非持续性)
undefinedBranches by regulatory input type
按法规输入类型分支
Pre-rule branch (ANPR / RFI)
预规则分支(ANPR / RFI)
If the regulatory input is an ANPR or RFI (no imposed requirements), do NOT run a full gap-closure diff. Instead, produce a pre-positioning analysis:
- Name the policies that will likely need to change once a final rule issues (not today).
- Flag whether any of the ANPR's issue areas intersect with the company's practice in a way that warrants a comment letter.
- Note the comment deadline and the team's comment-decision owner from .
~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md - Do NOT produce per-requirement "no gap" rows for an ANPR — there are no requirements to diff against. Produce one paragraph naming the future exposure and the policies it would touch.
如果法规输入为ANPR或RFI(无强制要求),请勿运行完整的差距闭合差异对比。取而代之,生成预定位分析:
- 列出最终规则发布后可能需要变更的政策(非当前需变更)。
- 标记ANPR的任何议题领域是否与公司业务存在交集,是否需要提交意见函。
- 记录意见截止日期以及从获取的团队意见决策负责人。
~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md - 请勿为ANPR生成逐要求的“无差距”条目——无要求可进行差异对比。生成一段文字,说明未来风险及其可能影响的政策。
Negative-finding branch (final rule / NPRM diffed against a policy that isn't the right target)
负面结果分支(最终规则 / NPRM与非目标政策进行差异对比)
If every requirement in the extracted list comes out as "no gap against [the named policy]," do NOT produce the full per-requirement analysis — compress to a single short paragraph:
markdown
undefined如果提取的所有要求与[指定政策]对比均显示“无差距”,请勿生成完整的逐要求分析——压缩为一段简短文字:
markdown
undefinedPolicy Diff: [Regulation name] — [Policy name]
政策差异对比:[法规名称] — [政策名称]
[REGULATION] doesn't appear to require a change to [POLICY NAME]. [POLICY NAME]
§[X] already covers [Y]. The policies this regulation actually touches are
[other-policy-1] and [other-policy-2] — rerun against those.
/regulatory-legal:policy-diffReview on [next cycle — e.g., "at the next annual policy review"] or if
[trigger — e.g., "the rule is finalized or amended"].
One paragraph, one recommendation, routing note. Don't repeat the "no gap" finding for every requirement — the summary table handles that. A negative finding against the wrong target policy is a routing problem, not a compliance analysis.[法规]似乎不需要对[政策名称]进行变更。[政策名称]
§[X]已涵盖[Y]。此法规实际影响的政策为
[其他政策1]和[其他政策2]——请针对这些政策重新运行。
/regulatory-legal:policy-diff请在[下一周期——如“下一次年度政策审查”]或当
[触发条件——如“规则最终确定或修订”]时进行复查。
一段文字、一项建议、路由说明。请勿为每个要求重复“无差距”结论——汇总表格已涵盖此信息。针对非目标政策的负面结果属于路由问题,而非合规分析问题。Gap branch (final rule / NPRM with at least one gap against the target policy)
差距分支(最终规则 / NPRM与目标政策存在至少一处差距)
Full per-requirement analysis as specified below. The detailed diff format is for diffs that actually find gaps.
按照下方指定格式生成完整的逐要求分析。详细差异对比格式适用于实际发现差距的情况。
Output
输出
markdown
[WORK-PRODUCT HEADER — per plugin config ## Outputs — differs by role; see `## Who's using this`]markdown
[工作产物标题——根据插件配置## Outputs——因角色而异;请查看`## Who's using this`]Policy Diff: [Regulation name]
政策差异对比:[法规名称]
Regulation: [name, link]
Effective: [date]
Requirements extracted: [N]
法规: [名称,链接]
生效日期: [日期]
提取的要求数量: [N]
Bottom line
核心结论
[N gaps need action by [date] — top 3: X, Y, Z]
[N处差距需在[日期]前处理——排名前三:X、Y、Z]
Summary
汇总表
| # | Requirement | Policy affected | Gap | Owner |
|---|---|---|---|---|
| 1 | [short] | [policy name or "none"] | None/Partial/Full | [name] |
| # | 要求 | 受影响政策 | 差距类型 | 负责人 |
|---|---|---|---|---|
| 1 | [简要描述] | [政策名称或“无”] | 无/部分/完全 | [姓名] |
Detailed diffs
详细差异对比
[Each requirement block from Step 3]
[步骤3中的每个要求模块]
New policies needed
需要制定的新政策
[From Step 4, if any]
[来自步骤4(如有)]
No-gap requirements
无差距要求
[List — useful to know what's already covered]
Verify citations before relying on them. The regulatory citations and policy references above were AI-generated and have not been checked against a primary source. Before acting on any requirement here, confirm the rule against Westlaw, your firm's research platform, or the issuing authority's website — check accuracy, effective date, and current status. AI-generated regulatory citations are sometimes fabricated, misquoted, or stale. Source tags on each requirement (e.g., , ) show where the citation came from; tags carry higher fabrication risk and should be checked first.
[Federal Register][web search — verify]verifyundefined[列表——了解已涵盖内容非常有用]
依赖前请核对引用。上述法规引用和政策参考由AI生成,未与原始来源核对。在根据此处的任何要求采取行动前,请通过Westlaw、您公司的研究平台或发布机构的网站确认规则——核对准确性、生效日期和当前状态。AI生成的法规引用有时可能存在伪造、误引或过时情况。每个要求的来源标签(如、)显示引用的来源;带有标签的内容伪造风险更高,需优先核对。
[Federal Register][web search — verify]verifyundefinedConfig-dependent fallbacks
依赖配置的回退方案
This skill reads the policy library index from . When the index is empty or still :
~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md[PLACEHOLDER]- Policy library empty: flag every requirement as "no policy match" by default and append to the output: "The policy library in your configuration is empty, so every requirement is flagged as a new-policy gap. If you have policies that address these requirements, add them to the library with or by editing
/regulatory-legal:cold-start-interview --redo, then re-run the diff."~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md - Owner missing for a matched policy: leave the Owner cell blank in the summary and append: "Policy owners aren't set for [list]. Assign them with or by editing the policy library in
/regulatory-legal:cold-start-interview --redoso gap-surfacer can route."~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md
Say nothing about config when the library is populated and owners are set.
此技能从读取政策库索引。当索引为空或仍为时:
~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md[PLACEHOLDER]- 政策库为空: 默认将所有要求标记为“无政策匹配”,并在输出末尾附加:“您配置中的政策库为空,因此所有要求均被标记为新政策差距。如果您有涉及这些要求的政策,请通过或编辑
/regulatory-legal:cold-start-interview --redo将其添加至库中,然后重新运行差异对比。”~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md - 匹配政策缺失负责人: 在汇总表的负责人单元格留空,并附加:“[列表中的政策]未设置负责人。请通过或编辑
/regulatory-legal:cold-start-interview --redo中的政策库分配负责人,以便gap-surfacer进行路由。”~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md
当政策库已填充且负责人已设置时,无需提及配置相关内容。
Handoff
移交
To gap-surfacer: every Partial or Full gap becomes a tracked item with owner and deadline.
移交至gap-surfacer:每个部分差距或完全差距均成为带有负责人和截止日期的跟踪事项。
Close with the next-steps decision tree
以下一步决策树收尾
End with the next-steps decision tree per CLAUDE.md . Customize the options to what this skill just produced — the five default branches (draft the X, escalate, get more facts, watch and wait, something else) are a starting point, not a lock-in. The tree is the output; the lawyer picks.
## Outputs根据CLAUDE.md中的,以下一步决策树收尾。根据此技能生成的内容自定义选项——五个默认分支(起草X、升级、获取更多事实、观望、其他)为起点,而非固定选项。决策树为输出内容,由律师进行选择。
## OutputsWhat this skill does not do
此技能不执行的操作
- Draft the policy updates. It identifies what needs updating; policy-drafting (or a human) drafts.
- Interpret ambiguous regulatory text definitively. If the reg could be read two ways, say so and flag for counsel.
- 起草政策更新内容。它仅确定需要更新的内容;政策起草(或人工)负责具体撰写。
- 对模糊的法规文本做出明确解释。如果法规存在两种解读方式,请说明并标记需咨询法律顾问。