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 the gaps and comments skills before doing substantive work.
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "gap-surfacer" 技能: 1. 下载 https://raw.githubusercontent.com/anthropics/claude-for-legal/main/regulatory-legal/skills/gap-surfacer/SKILL.md 2. 保存为 ~/.claude/skills/gap-surfacer/SKILL.md 3. 装好后重载技能,告诉我可以用了
Owner notifications: on by default. To opt an owner out, leave
owner_slackempty.
Before sending ANY Slack message (assignment notice, overdue reminder, bulk notification, status report):
Auto-send without confirmation is the most irreversible action in this plugin, sending content this plugin's own footer says may be wrong, to people who have no way to check. That combination does not get to skip review.
Matter context. Check ## Matter workspaces in the practice-level CLAUDE.md. If Enabled 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 /regulatory-legal:matter-workspace switch <slug> or say practice-level." Load the active matter's matter.md for matter-specific context and overrides. Write outputs to the matter folder at ~/.claude/plugins/config/claude-for-legal/regulatory-legal/matters/<matter-slug>/. Never read another matter's files unless Cross-matter context is on.
Gaps get found and then forgotten. This skill tracks them until they're closed and notifies the people responsible for closing them.
Lives at ~/.claude/plugins/config/claude-for-legal/regulatory-legal/gap-tracker.yaml:
Note on comment-tracker.yaml:
~/.claude/plugins/config/claude-for-legal/regulatory-legal/comment-tracker.yamlis a sibling file owned by the comments skill. It is written to by reg-feed-watcher (which logs NPRMs automatically) and the comments skill (which tracks user-initiated comment decisions). This skill does not read or cross-reference it. If you modify the comment-tracker schema, update both actual consumers.
gaps:
- id: GAP-001
requirement: "[what the reg requires]"
regulation: "[name + cite]"
policy_affected: "[name or 'new policy needed']"
gap_type: "partial" # none | partial | full | new-policy | watch | comment-decision
owner: "[name from policy index]"
owner_slack: "[Slack user ID or handle, if known]"
opened: 2026-03-01
due: 2026-06-01 # reg effective date, internal deadline, or comment deadline
status_verified: true # false if upstream policy-diff could not confirm the rule is in force; unverified items never hit 🔴 Overdue
status: "open" # open | in-progress | closed | risk-accepted
notified: false # set to true after assignment notification sent
resolution: "" # filled on close
Never classify a gap as Overdue on an unverified rule. The 🔴 Overdue classification means "we missed a binding deadline." If the rule's status is unverified (policy-diff set status_verified: false, or the rule is >12 months old / past its applicability date with no currency confirmation), the deadline may not be binding. Use 🟡 "Review needed" and note: "If this rule is in force as published, this would be overdue by [N] days. Verify rule status before escalating." Route unverified-rule items to watch, not to the active overdue/due-soon buckets; the watch revisit cadence forces a rule-status check before the item can re-surface as a compliance gap.
gap_type semantics:
| Value | Meaning | Typical reminder cadence |
|---|
…
Draft a DMCA takedown notice, triage one you received, or draft a §512(g) counter-notice. Use when asserting copyright through a §512(c)(3) takedown with the fair-use and perjury gates, when an incoming takedown needs triage into comply / counter / engage / ignore options, or when drafting a §512(g)(3) counter-notice with the consent-to-federal-jurisdiction gate.
Search watched registries for community legal skills, showing matches with descriptions and offering to show the full SKILL.md before install. Use when the user says "browse", "search skills", "find a skill for", "what's out there for", or wants to add a new registry to the watchlist.
Case status summary by audience — client-facing (plain language), internal (for the professor), or court-ready (formal caption format per local rules). Same facts, different framing and depth. Use when a student needs to update the client, brief the professor, or prepare a court status report.
Draft a brief section in house style, consistent with the case theory — every fact cited, every case checked, every argument tied to the theory. Use when the user says "draft the [section]", "write the statement of facts", "argument section on [issue]", or needs a first draft of a brief section.
Build a deposition outline for a witness — pull their documents from the eDiscovery platform, organize topics around the case theory, and surface impeachment material. Use when the user says "depo prep for [witness]", "build a depo outline", or "prepare for [name]'s deposition".
Manage matter workspaces — create, list, switch, close, or detach the active matter. Use in multi-client private practice to keep one client's context separate from another, or when a substantive skill needs to know which matter it's working in.