Guide · Agent skill
How to use the Regulatory Gap Tracker agent skill (gap-surfacer)
Updated · written with AI from the project's own documentation and checked against our catalogue data
The gap-surfacer skill is a shared tracking framework for the regulatory-legal plugin in anthropics/claude-for-legal. It keeps a YAML log of gaps between regulatory requirements and internal policies, with status, due dates and owners, and produces status reports. This guide explains what the skill does, how to install it, how to trigger it, and what it needs and touches, so you can decide whether it fits your team.
Quick start
- 1Download the ZIP. Download the gap-surfacer ZIP from the page you are reading.
- 2Install the skill. Unzip it into ~/.claude/skills/ for personal use or .claude/skills/ for a project, or upload the ZIP under Settings → Capabilities → Skills in the Claude apps.
- 3Check the tracker folder. Make sure the agent can read and write ~/.claude/plugins/config/claude-for-legal/regulatory-legal/.
- 4Add owners. Fill in owner and owner_slack for gaps that need notifications. Leave owner_slack empty to opt an owner out.
- 5Ask for a report. Request an open gaps status report in plain language or via /regulatory-legal:gaps.
- 6Review before sending. If a Slack reminder is requested, read the preview and reply yes only if it is correct.
What is an agent skill, and what does gap-surfacer do?
An agent skill is a folder with a SKILL.md file that gives an AI agent specific instructions for a task. gap-surfacer is a reference skill: it is not something you call directly. The gaps and comments skills load it before doing their work.
Once installed, the agent tracks open policy gaps until they are closed. Each gap records the requirement, the regulation, the affected policy, a gap type, an owner, an opened date, a due date, a status and a resolution. The skill also produces status reports that show what is overdue, due soon, under watch, in progress and recently closed.
- Gap types: none, partial, full, new-policy, watch and comment-decision.
- Status values: open, in-progress, closed and risk-accepted.
- Unverified rules are routed to watch and marked 🟡 Review needed, not 🔴 Overdue.
- Slack DMs to gap owners are sent only after you see the exact message and say yes.
Install the gap-surfacer skill
Download the ZIP for this skill from the page you are reading, then use one of two routes.
Option A: unzip it into your personal skills folder, ~/.claude/skills/, or into a project's .claude/skills/ folder. Option B: in the Claude apps, open Settings, go to Capabilities, then Skills, and upload the ZIP.
- Personal install: unzip into ~/.claude/skills/.
- Project install: unzip into .claude/skills/ inside your project.
- Claude apps: Settings → Capabilities → Skills, then upload the ZIP.
Set up the tracker location and optional integrations
The skill reads and writes its tracker files in ~/.claude/plugins/config/claude-for-legal/regulatory-legal/. The agent needs read and write access to that folder. The tracker file is gap-tracker.yaml, and comment-tracker.yaml sits beside it and is owned by the comments skill.
Slack is optional. It is only needed for owner notifications. If you do not want a particular owner notified, leave their owner_slack field empty. If you use matter-based workspaces, the skill checks a Matter workspaces section in your practice-level CLAUDE.md. If that section is disabled, which is the default for in-house users, the matter machinery is skipped.
- Required: read/write access to ~/.claude/plugins/config/claude-for-legal/regulatory-legal/.
- Optional: Slack MCP connection, for owner notifications only.
- Optional: practice-level CLAUDE.md with a Matter workspaces section, for matter-based setups.
Trigger the skill with natural requests
You usually will not invoke gap-surfacer by name. Ask for gap or comment tracking work in plain language, and the gaps or comments skills load it. The skill's own documented commands are /regulatory-legal:gaps and /regulatory-legal:comments.
When policy-diff finds gaps, they are appended to the tracker, with duplicates removed when the same requirement and policy appear again. After ingestion, the agent offers an owner notification if Slack is connected and an owner_slack value is set.
- Ask for an open gaps report, for example: show me what is overdue or due in the next 30 days.
- Ask for a status update on a specific gap ID.
- Ask to log a gap that policy-diff found, so it is appended to the tracker.
- Ask to send an assignment reminder, then review the preview before answering yes.
/regulatory-legal:gapsRead the status report
The status report opens with a bottom line naming the top items that need action. Overdue items are shown only when the rule is verified as in force. Forward-looking watch and comment-decision items sit in their own bucket so they do not mix with real deadlines.
The report ends with the oldest open gap, a breakdown by owner, and the count of owner notifications sent. The skill's suggested next step for an open gap is /regulatory-legal:policy-redraft, which produces a marked-up redraft for the policy owner to review.
- 🔴 Overdue: a missed binding deadline on a verified rule.
- 🟠 Due in under 30 days.
- 🟡 Open, or Review needed for unverified rules.
- 👀 Watch items: pre-rule tracking, not compliance gaps.
- In progress and recently closed (last 5).
Safety notes: confirmations and citations
Every Slack message needs per-send confirmation. The skill shows you the recipients and the message text, waits for an explicit yes, and never sends on a schedule or in a batch without it. If a message contains citations, deadlines or compliance conclusions, the skill also warns that the citations are unverified and offers to add a verify-before-acting line.
The skill's own footer says regulation citations were generated upstream and have not been checked against current sources. Verify rule status and citations before you rely on them. The skill does not run scripts, and it does use the network for Slack messages when that connection is configured.
- Nothing is sent to Slack without a yes for each message.
- Verify citations and whether a rule is in force before escalating.
- The skill runs no scripts; network use is for optional Slack notifications.
What people use it for
- An in-house compliance team logs partial and full policy gaps found by policy-diff and assigns them to named owners.
- Counsel gets a 7am status report listing overdue items, items due in 30 days and watch items for upcoming rules.
- A developer extending the claude-for-legal regulatory plugin reuses the gap-tracker.yaml schema in a new skill.
- A legal lead tracks comment-decision items with comment deadlines before a proposed rule closes.
Frequently asked questions
Is gap-surfacer free to use?
The source does not state pricing or licence terms beyond the listing's licence, Apache-2.0. Check the repository's licence file for the terms that apply to you.
Do I need to install anything else to use it?
You need a place for the agent to store the tracker, specifically read and write access to ~/.claude/plugins/config/claude-for-legal/regulatory-legal/. Slack is optional and only needed for owner notifications. A practice-level CLAUDE.md with a Matter workspaces section is optional for matter-based setups.
Can it work on its own as a gap tracker?
No. It is a reference file that the gaps and comments skills load. It is not a standalone tracker outside the plugin.
Will it send Slack messages automatically?
No. Every Slack send, including bulk notices and reminders, requires you to see the exact message and recipients and give an explicit yes each time.
Why does a gap sometimes show as Review needed instead of Overdue?
If the rule's status is unverified, the skill will not classify the gap as Overdue. It uses Review needed and routes the item to watch until the rule status is checked.
Can it replace a legal review of whether a rule applies?
No. The skill itself says unverified rules must be checked before escalation, and citations may be wrong. It tracks gaps; it does not reach final legal conclusions on whether a rule is in force.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use gap-surfacer if you run the claude-for-legal regulatory plugin or are building on it, and want a structured YAML tracker with owners, due dates and status reports. Pick something else if you want a standalone gap tracker, unattended alerts at scale, or a tool that confirms whether a rule is in force.
Download the skill