Help us improve
Share bugs, ideas, or general feedback.
From regulatory-legal
Checks regulatory feeds (US Federal Register, RSS) and reports new items filtered by materiality threshold. Detects coverage gaps against a source catalog.
npx claudepluginhub anthropics/claude-for-legal --plugin regulatory-legalHow this skill is triggered — by the user, by Claude, or both
Slash command
/regulatory-legal:reg-feed-watcher [optional: --since DATE][optional: --since DATE]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
1. Load `~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md` → watchlist, materiality threshold, feed config.
Pulls regulatory/legal feeds from Chinese government websites, classifies new items by importance threshold, and reports changes since last check. Useful for compliance monitoring or when a user asks about regulatory updates.
Regulatory compliance monitoring, impact assessment, and alerting. Produces weekly regulatory briefs and monthly board summaries with RAG-status classification. Covers data protection, AI regulation, employment, company law, and sector-specific regulatory areas across multiple jurisdictions.
Monitors user watchlist topics for updates on schedule when Cowork opens or triggers like 'check my watchlist'. Opens styled HTML UI for adding items with pre-filled topics.
Share bugs, ideas, or general feedback.
~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md → watchlist, materiality threshold, feed config.Pull the feeds. Filter by materiality. Output what's left. The filter is the value — unfiltered feeds are noise.
~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md → watchlist, materiality threshold, feed configuration, digest output path (if set).
references/source-catalog.md (in this skill's directory) → curated catalog of RSS/JSON/HTML sources across US federal, US state, EU/UK, international, and secondary/aggregator categories. Use when configuring new sources or when the user's watchlist has coverage gaps (see Step 0).
Before running the pull, compare the watchlist + feed configuration in CLAUDE.md against references/source-catalog.md:
If there's an obvious gap — e.g., user watches "EU regulators" in the watchlist but has only edpb.europa.eu configured in feeds, missing ICO, CNIL, DPC Ireland — surface it once at the top of the digest:
Coverage gap noticed: Your watchlist includes [category], but only [N] feeds are configured. The source catalog lists [X] options in this category (e.g., [top 2-3 names]). Want me to suggest additions? Run
/regulatory-legal:cold-start-interview --redoto update, or edit~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.mddirectly.
Don't nag the same gap repeatedly — if the user has explicitly said "skip state AGs for now," respect that. Note state in CLAUDE.md so it sticks.
Pull from all configured feed tiers. Every installation has Tier 1. Tiers 2 and 3 are additive — use them if configured, skip if not.
Tier 1 — Free feeds (always active)
For each regulator in the watchlist:
https://www.federalregister.gov/api/v1/documents)
— query by agency slug, date range (since last check), document type. Returns
structured data: document type, title, abstract, effective date, comment
deadline (for NPRMs), and citation. Covers all US federal agencies.Agency slug reference for common watchlist regulators:
| Regulator | API slug |
|---|---|
| FTC | federal-trade-commission |
| SEC | securities-and-exchange-commission |
| CFPB | consumer-financial-protection-bureau |
| CPPA (CA) | RSS only — cppa.ca.gov/feed |
| DOL | labor-department |
| HHS | health-and-human-services-department |
| FCC | federal-communications-commission |
For any regulator not in this list: check federalregister.gov/agencies for the correct slug, or fall back to direct RSS.
Tier 2 — Paid feeds (if configured)
De-duplicate across tiers — the same document may appear in multiple sources. Prefer the richest source for the enriched output.
No silent supplement. If the feed pull returns few or no results for a regulator in the watchlist, report what was found and stop. Do NOT fill the gap from web search or model knowledge without asking. Say: "The feed check returned [N] items from [regulators hit]. Coverage appears thin for [regulator / topic]. Options: (1) broaden the date window, (2) try a different feed or MCP, (3) search the web — results will be tagged [web search — verify] and should be checked against the issuing authority's website 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.
Source attribution. Tag every citation and regulatory item with where it came from: [Federal Register], [<regulator> RSS], [TR], [LexisNexis], or the specific MCP tool name for items retrieved via connector; [web search — verify] for items from web search; [model knowledge — verify] for items surfaced from the model's training data; [user provided] for manually-pasted items. Items tagged verify carry higher fabrication risk than tool-retrieved items and should be checked first. Never strip or collapse the tags — they are the user's fastest signal about which citations to verify.
Secondary sources. Some catalog entries (IAPP, FPF, Hogan Lovells, Covington, Lexology, JD Supra, Artificial Lawyer, LawSites, and similar commentators/aggregators) report on primary regulatory action but are not the primary source. Tag any item pulled from these feeds with [secondary source] in addition to the feed-name tag — e.g., [IAPP Daily Dashboard] [secondary source]. In the digest, when a secondary-source item describes a regulator action, add a note: "→ Trace to primary: [link to regulator site if known, otherwise 'find on .gov before relying']." Do not classify a secondary-source item as "Always material" on its own strength — bump it down a tier until the primary source is located.
Tier 3 — Manual entry
If the user has pasted regulatory text or a summary rather than invoking from a scheduled feed check: treat the pasted content as a single item, skip to Step 2 for classification, and record source as "manual entry." No feed pull required. This path works regardless of subscription status.
Record the check timestamp after pulling. Next scheduled run pulls from here forward.
Each item gets a materiality tier per ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md:
| Item type | Match against threshold |
|---|---|
| Final rule | Usually "always material" |
| Proposed rule / NPRM | Usually "review-worthy" — and always log comment deadline |
| ANPR (Advance Notice of Proposed Rulemaking) | Review-worthy for strategy, not compliance — no imposed requirements yet, but signals direction and carries a real comment deadline. Log the comment deadline. Route to /regulatory-legal:policy-diff only as a pre-positioning analysis, not as a gap-closure diff. |
| RFI (Request for Information) | Same as ANPR — pre-rule, no compliance obligation, but comment deadline is real and direction-signaling is the value. |
| Enforcement action | Sector match → material; related-practice match → review-worthy; neither → FYI or skip |
| Guidance | Review-worthy |
| Speech / blog / statement | FYI or skip per threshold |
| Settlement | Depends — novel theory or big number → review-worthy; routine → skip |
ANPR / RFI handling — specific. Pre-rule items are distinct from NPRMs in one important way: they don't change the law, but they do carry comment deadlines and they signal the regulator's direction. Treat them as a separate branch:
~/.claude/plugins/config/claude-for-legal/regulatory-legal/comment-tracker.yaml with item_type: ANPR or item_type: RFI so the downstream tracker can distinguish these from compliance gaps./regulatory-legal:policy-diff only as a pre-positioning analysis (no compliance gap yet)." This primes the policy-diff skill to use its compressed pre-positioning branch rather than a full gap-closure diff.gap-surfacer uses the comment-decision gap_type (or declines to ingest, if the team routes these separately).NPRM comment deadline handling:
For every NPRM classified at any tier above "skip":
~/.claude/plugins/config/claude-for-legal/regulatory-legal/comment-tracker.yaml
with status "undecided" and the default comment decision owner from ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.mdFor each item above FYI tier:
Don't summarize FYI items individually — just count them.
The digest goes into the chat by default. Also write it to a shareable file whenever the output contains one or more items above FYI, unless the user's CLAUDE.md explicitly sets Digest output → chat only.
File output behavior:
Digest output path in ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md. If set, write there. Default if unset: ~/regulatory-legal-digests/reg-digest-YYYY-MM-DD.md.<path>. Share as-is, or convert to .docx with Pandoc: pandoc <path> -o <path>.docx."Format on disk matches the chat format exactly (below). Markdown renders well in GitHub, Notion, Obsidian, Google Docs (via "Import as Markdown" or Pandoc), and most email clients.
[WORK-PRODUCT HEADER — per plugin config ## Outputs — differs by role; see `## Who's using this`]
## Regulatory Feed Check — [date]
**Period:** [last check] to [now]
**Feeds checked:** [list active tiers — e.g., "Federal Register API, FTC RSS, TR"]
**Items found:** [N] total
### Bottom line
[N gaps need action by [date] — top 3: X, Y, Z]
### 🔴 Always material
**[Regulator] — [Title]**
[One-line summary]. [Relevance hook]. Effective [date].
[Link]
→ Recommend: run policy-diff against [likely affected policy]
[repeat for each]
### 🟡 Review-worthy
**[Regulator] — [Title]**
[One-line]. [Relevance]. [Deadline if any].
[Link]
[NPRMs: include "💬 Comment deadline: [date] — decision pending" if comment tracking enabled]
[repeat]
### 📝 FYI
[N] items — [expandable list of titles + links, no summaries]
---
**Last check updated to:** [timestamp]
**Comment tracker:** [N] NPRMs with open comment decisions — run /regulatory-legal:comments to review
---
**Verify citations before relying on them.** Regulatory citations here were AI-generated and have not been checked against a primary source. Before acting on any rule, guidance, or enforcement action above, confirm it against Lexis+, 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 item (e.g., `[Federal Register]`, `[web search — verify]`) show where the citation came from; `verify` tags carry higher fabrication risk and should be checked first.
This skill reads the watchlist, materiality threshold, and feed configuration from ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md. When a required value is still [PLACEHOLDER] or empty, say so in the output — specifically, not generically:
/regulatory-legal:cold-start-interview --redo or edit ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md and add at least one regulator."/regulatory-legal:cold-start-interview --redo or by editing ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md."/regulatory-legal:cold-start-interview --redo or by editing ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md."Say nothing about config when the relevant values are populated.
If nothing above FYI: "All quiet. [N] FYI items, nothing needing attention."
End with the next-steps decision tree per CLAUDE.md ## Outputs. 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.