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.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "gap-surfacer" skill from askskill: 1. Download https://raw.githubusercontent.com/anthropics/claude-for-legal/main/regulatory-legal/skills/gap-surfacer/SKILL.md 2. Save it as ~/.claude/skills/gap-surfacer/SKILL.md 3. Reload skills and tell me it's ready
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 |
|---|
…
Diff a proposed handbook change against the current version, flag ripple effects and state supplement impacts. Use when user says "update the handbook", "add this to the handbook", "handbook change", or has a policy ready for insertion.
Review an offer letter and any restrictive covenants — jurisdiction check included. Substantive rules (covenant enforceability, pay-transparency, salary-history limits, exemption criteria) are researched per hire, not stored. Use when the user says "review this offer", "can we use a non-compete here", "check this offer letter", "hiring in [state]", or attaches an offer.
Draft an audience-specific summary from the privileged investigation memo — HR, leadership, or outside counsel versions. Use when an investigation memo needs to be communicated to an audience that should not see the full privileged work product.
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.
IRAC-scaffolded case analysis memo with research gaps flagged — the scaffold, not the analysis. Rule blocks are RESEARCH NEEDED, Application is STUDENT ANALYSIS prompts, Conclusion is blank. Use when a student needs to scaffold a case analysis memo, write up their analysis, or build an IRAC memo for a case.
Read VDR documents and extract issues per house categories and materiality thresholds, producing findings in house memo format. Use when user says "review the data room", "extract issues from [folder]", "diligence review", "what's in the VDR", or points at VDR documents.