Мониторинг регуляторных лент
Проверяет регуляторные ленты и показывает новое с прошлой проверки, отсеяв несущественное по вашему порогу.
- Что делает
- Проверяет регуляторные ленты и показывает новое с прошлой проверки, отсеяв несущественное по вашему порогу.
- Когда брать
- Когда нужно узнать, что нового у регуляторов из вашего списка наблюдения, или разобрать вручную вставленный регуляторный документ.
- Когда не брать
- Если список наблюдения пуст или плагин не настроен: сначала пройди cold-start-interview.
- Пример запроса
- Проверь регуляторные ленты и скажи, что нового с прошлой недели по моему списку наблюдения.
- Нужно подключить
- доступ к интернету, настройки плагина regulatory-legal
- Работает лучше с
- платная регуляторная лента (MCP), CourtListener
Входит в плагин regulatory-legal. В Cowork и Claude Code можно поставить плагин целиком.
Как включить
- Скачайте архив и распакуйте его.
- Положите папку
reg-feed-watcherв~/.claude/skills/. - Откройте Claude Code и опишите задачу своими словами: Claude подхватит скилл по описанию.
Текст
---
name: reg-feed-watcher
description: Проверяет регуляторные ленты прямо сейчас и сообщает, что нового появилось с прошлой проверки, отфильтровав всё по твоему порогу существенности. Используй, когда пользователь говорит «проверь ленты», «что нового», «обновление регулирования», при запуске из планировщика, а также когда он вручную вставляет регуляторное событие для классификации и сравнения.
argument-hint: "[optional: --since DATE]"
---
/reg-feed-watcher
- Загрузи
~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md: список наблюдения, порог существенности, настройки лент. - Действуй по рабочему процессу ниже.
- Забери данные из каждой ленты. Отфильтруй по существенности.
- Результат: что нового, с разбивкой по уровням существенности.
Назначение
Забрать ленты. Отфильтровать по существенности. Выдать то, что осталось. Вся ценность в фильтре: нефильтрованные ленты — это шум.
Загрузка контекста
~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md → список наблюдения, порог существенности, настройки лент, путь для сохранения дайджеста (если задан).
references/source-catalog.md (в папке этого скилла) → подобранный каталог RSS/JSON/HTML-источников по категориям: федеральные органы США, штаты США, ЕС и Великобритания, международные, а также вторичные источники и агрегаторы. Используй его при настройке новых источников и когда в списке наблюдения пользователя есть пробелы в покрытии (см. шаг 0).
Рабочий процесс
Шаг 0: Проверка покрытия (до загрузки)
Перед загрузкой сравни список наблюдения и настройки лент из CLAUDE.md с references/source-catalog.md:
- Какие категории (федеральные органы США / штаты США / ЕС и Великобритания / международные) интересуют пользователя по его списку наблюдения?
- В каких из этих категорий настроено ноль или совсем мало источников?
Если пробел очевиден (например, в списке наблюдения указаны «регуляторы ЕС», а в лентах настроен только edpb.europa.eu и нет ICO, CNIL, DPC Ireland), один раз сообщи об этом в самом начале дайджеста:
Замечен пробел в покрытии: В твоём списке наблюдения есть [категория], но настроено лент всего [N]. В каталоге источников для этой категории указано [X] вариантов (например, [2–3 главных названия]). Предложить, что добавить? Запусти
/regulatory-legal:cold-start-interview --redo, чтобы обновить настройки, или отредактируй~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.mdнапрямую.
Не напоминай об одном и том же пробеле снова и снова: если пользователь прямо сказал «пока пропусти генпрокуроров штатов», уважай это. Запиши такое решение в CLAUDE.md, чтобы оно сохранилось.
Шаг 1: Загрузка
Забирай данные из всех настроенных уровней лент. Уровень 1 есть в любой установке. Уровни 2 и 3 дополнительные: используй их, если они настроены, и пропускай, если нет.
Уровень 1 — бесплатные ленты (работают всегда)
Для каждого регулятора из списка наблюдения:
- Federal Register API (
https://www.federalregister.gov/api/v1/documents) — запрашивай по коду ведомства (slug), диапазону дат (с момента прошлой проверки) и типу документа. Возвращает структурированные данные: тип документа, название, аннотацию, дату вступления в силу, срок подачи комментариев (для NPRM) и ссылку-цитату. Охватывает все федеральные ведомства США. - Прямые RSS регуляторов — получай и разбирай любые RSS-адреса, указанные в настройках лент в ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md (SEC, FTC, CFPB, ведомства штатов, органы по защите данных ЕС и т. д.).
Коды ведомств для часто встречающихся регуляторов из списка наблюдения:
| Регулятор | Код в API |
|---|---|
| FTC | federal-trade-commission |
| SEC | securities-and-exchange-commission |
| CFPB | consumer-financial-protection-bureau |
| CPPA (Калифорния) | только RSS — cppa.ca.gov/feed |
| DOL | labor-department |
| HHS | health-and-human-services-department |
| FCC | federal-communications-commission |
Для регулятора, которого нет в этом списке, найди правильный код на federalregister.gov/agencies или используй прямой RSS.
Уровень 2 — платные ленты (если настроены)
- MCP-сервер платной регуляторной ленты: запроси обновления с даты прошлой проверки, отфильтровав по регуляторам из списка наблюдения.
- CourtListener MCP: то же самое.
Убирай дубли между уровнями: один и тот же документ может встретиться в нескольких источниках. Для итогового обогащённого результата бери самый полный источник.
Никаких тихих дополнений. Если загрузка вернула мало результатов или не вернула ничего по регулятору из списка наблюдения, сообщи, что нашлось, и остановись. НЕ заполняй пробел веб-поиском или собственными знаниями без вопроса. Скажи: «Проверка лент вернула [N] документов от [затронутых регуляторов]. По [регулятору / теме] покрытие, похоже, тонкое. Варианты: (1) расширить диапазон дат, (2) попробовать другую ленту или MCP-сервер, (3) поискать в интернете — результаты будут помечены [web search — verify], и перед использованием их нужно сверить с сайтом издающего органа, или (4) остановиться на этом. Какой вариант выбрать?» Принимать ли менее надёжные источники, решает юрист; Claude за него не решает.
Указание источника. Помечай каждую цитату и каждый регуляторный документ тегом, откуда он взят: [Federal Register], [<regulator> RSS], [CourtListener] или точное название инструмента MCP для документов, полученных через коннектор; [web search — verify] — для найденного веб-поиском; [model knowledge — verify] — для того, что всплыло из обучающих данных модели; [user provided] — для вставленного пользователем вручную. Документы с тегом verify несут более высокий риск выдумки, чем полученные через инструмент, и проверять их нужно в первую очередь. Никогда не убирай и не объединяй теги: по ним пользователь быстрее всего видит, какие цитаты проверять.
Вторичные источники. Некоторые записи каталога (IAPP, FPF, Hogan Lovells, Covington, Lexology, JD Supra, Artificial Lawyer, LawSites и подобные комментаторы и агрегаторы) сообщают о первичных регуляторных действиях, но сами первичным источником не являются. Помечай любой документ из таких лент тегом [secondary source] в дополнение к тегу ленты, например: [IAPP Daily Dashboard] [secondary source]. Когда в дайджесте документ из вторичного источника описывает действие регулятора, добавь примечание: «→ Найди первоисточник: [ссылка на сайт регулятора, если известна, иначе «найди на <regulator>.gov, прежде чем полагаться»]». Не относи документ из вторичного источника к «всегда существенным» только на его основании: опусти его на уровень ниже, пока не найден первичный источник.
Уровень 3 — ручной ввод
Если пользователь вставил регуляторный текст или его краткое изложение, а не запустил плановую проверку лент, считай вставленное одним документом, переходи сразу к шагу 2 (классификация) и запиши источник как «ручной ввод». Загружать ленты не нужно. Этот путь работает независимо от наличия подписки.
Запиши время проверки после загрузки. Следующий плановый запуск возьмёт данные начиная с этого момента.
Шаг 2: Классификация
Каждому документу присвой уровень существенности по ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md:
| Тип документа | Сопоставление с порогом |
|---|---|
| Итоговое правило (final rule) | Обычно «всегда существенно» (always material) |
| Предлагаемое правило / NPRM (Notice of Proposed Rulemaking) | Обычно «заслуживает разбора» (review-worthy), и срок подачи комментариев фиксируется всегда |
| ANPR (Advance Notice of Proposed Rulemaking, предварительное уведомление о предлагаемом нормотворчестве) | Заслуживает разбора с точки зрения стратегии, а не соответствия требованиям: обязательств пока нет, но документ показывает направление и содержит настоящий срок подачи комментариев. Зафиксируй срок комментариев. Передавай в /regulatory-legal:policy-diff только как анализ для заблаговременной подготовки, а не как сравнение для закрытия пробела. |
| RFI (Request for Information, запрос информации) | То же, что ANPR: правило ещё не принято, обязательств по соответствию нет, но срок комментариев настоящий, а ценность в сигнале о направлении. |
| Меры принуждения (enforcement action) | Совпадение по отрасли → существенно; совпадение по смежной практике → заслуживает разбора; ни то ни другое → к сведению (FYI) или пропустить |
| Разъяснения (guidance) | Заслуживает разбора |
| Выступление / блог / заявление | К сведению (FYI) или пропустить, в зависимости от порога |
| Мировое соглашение (settlement) | Зависит: новая правовая теория или крупная сумма → заслуживает разбора; рядовое → пропустить |
Порядок работы с ANPR и RFI. Документы стадии «до правила» отличаются от NPRM в одном важном: они не меняют право, но у них есть сроки комментариев, и они показывают направление регулятора. Рассматривай их отдельной веткой:
- Не относи ANPR / RFI к «всегда существенным»: пока правило не издано, влияние на соответствие требованиям нулевое.
- Относи их к «заслуживает разбора», если какая-либо из затронутых в уведомлении тем попадает в категории «всегда существенно» из списка наблюдения (например, ANPR об открытом банкинге в списке наблюдения финтех-компании).
- Записывай срок комментариев в
~/.claude/plugins/config/claude-for-legal/regulatory-legal/comment-tracker.yamlсitem_type: ANPRилиitem_type: RFI, чтобы нижестоящий трекер отличал их от пробелов в соответствии требованиям. - Добавляй в запись дайджеста строку с прямым текстом: «Стадия до правила. Срок комментариев [дата]. Передавай в
/regulatory-legal:policy-diffтолько как анализ для заблаговременной подготовки (пробела в соответствии требованиям пока нет)». Это настроит скилл policy-diff на сокращённую ветку заблаговременной подготовки вместо полного сравнения для закрытия пробела. - Направляй в трекер комментариев, а не в трекер пробелов. Решения о комментариях не относятся к пробелам в соответствии требованиям: их место в трекере комментариев, а
gap-surfacerиспользует для нихgap_typeсо значениемcomment-decision(либо отказывается принимать, если команда ведёт такие документы отдельно).
Срок комментариев по NPRM:
Для каждого NPRM, отнесённого к любому уровню выше «пропустить»:
- Извлеки срок подачи комментариев (Federal Register API отдаёт его как структурированные данные).
- Если в ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md включён учёт комментариев: добавь запись в
~/.claude/plugins/config/claude-for-legal/regulatory-legal/comment-tracker.yamlсо статусом «undecided» и ответственным за решение о комментарии по умолчанию из ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md. - Включи срок комментариев в запись результата.
Шаг 3: Обогащение
Для каждого документа выше уровня «к сведению» (FYI):
- Краткое содержание в одну строку (что изменилось)
- Почему это может быть важно именно здесь (зацепка по релевантности: «это касается [практики, которую вы ведёте]»)
- Ссылка на источник
- Дата вступления в силу или срок комментариев, если применимо
Документы уровня «к сведению» по отдельности не пересказывай: просто посчитай их.
Результат
По умолчанию дайджест выводится в чат. Также запиши его в файл, которым можно поделиться, всякий раз, когда в результате есть хотя бы один документ выше уровня «к сведению», если только в CLAUDE.md пользователя прямо не задано Digest output → chat only.
Порядок записи в файл:
- Найди
Digest output pathв~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md. Если путь задан, пиши туда. Если не задан, по умолчанию:~/regulatory-legal-digests/reg-digest-YYYY-MM-DD.md. - При необходимости создай родительские папки.
- Запиши полный дайджест в формате Markdown (то же содержимое, что и в чате, включая заголовок рабочего материала, теги источников и сноску о проверке цитат).
- Если файл по этому пути за сегодня уже существует, не перезаписывай его, а добавь новый раздел с подзаголовком со временем: в один день бывает несколько запусков (утренний дайджест, внеплановая проверка).
- После записи скажи пользователю: «Дайджест записан в
<path>. Можно отправлять как есть или превратить в .docx через Pandoc:pandoc <path> -o <path>.docx». - Если запись не удалась (нет прав, нет папки, создавать которую пользователь не разрешал, нет места на диске), выведи результат только в чат и скажи об этом: не отбрасывай просьбу о файле молча.
Формат на диске в точности совпадает с форматом в чате (ниже). Markdown хорошо отображается в GitHub, Notion, Obsidian, Google Docs (через «Импорт из Markdown» или Pandoc) и в большинстве почтовых клиентов.
[ЗАГОЛОВОК РАБОЧЕГО МАТЕРИАЛА — по разделу `## Outputs` настроек плагина; зависит от роли, см. `## Who's using this`]
## Проверка регуляторных лент — [дата]
**Период:** [прошлая проверка] — [сейчас]
**Проверенные ленты:** [список активных уровней, например: «Federal Register API, FTC RSS, TR»]
**Найдено документов:** [N] всего
### Главное
[N пробелов требуют действий до [дата]; главные три: X, Y, Z]
### 🔴 Всегда существенно
**[Регулятор] — [Название]**
[Краткое содержание в одну строку]. [Зацепка по релевантности]. Вступает в силу [дата].
[Ссылка]
→ Рекомендация: запусти policy-diff для [вероятно затронутая политика]
[повтори для каждого документа]
### 🟡 Заслуживает разбора
**[Регулятор] — [Название]**
[Одна строка]. [Релевантность]. [Срок, если есть].
[Ссылка]
[NPRM: если включён учёт комментариев, добавь «💬 Срок комментариев: [дата] — решение не принято»]
[повтори]
### 📝 К сведению (FYI)
[N] документов — [раскрывающийся список: только названия и ссылки, без пересказа]
---
**Время последней проверки обновлено до:** [отметка времени]
**Трекер комментариев:** [N] NPRM с нерешёнными вопросами о комментариях — запусти /regulatory-legal:comments, чтобы разобрать
---
**Проверяй цитаты, прежде чем на них полагаться.** Регуляторные цитаты здесь сформированы ИИ и не сверены с первоисточником. Прежде чем действовать на основании любого правила, разъяснения или меры принуждения из списка выше, сверь их с Westlaw, исследовательской платформой своей фирмы или сайтом издающего органа: проверь точность, дату вступления в силу и текущий статус. Цитаты ИИ иногда оказываются выдуманными, искажёнными или устаревшими. Теги источников у каждого документа (например, `[Federal Register]`, `[web search — verify]`) показывают, откуда взята цитата; теги `verify` несут более высокий риск выдумки, и проверять их нужно в первую очередь.
Запасные варианты при недостающих настройках
Скилл читает список наблюдения, порог существенности и настройки лент из ~/.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или отредактировав~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md». - Настройки лент пусты: запусти только Federal Register API и добавь: «Для этого результата использован только бесплатный Federal Register API, потому что в твоих настройках не указаны ни прямые RSS, ни платные ленты. Добавь ленты через
/regulatory-legal:cold-start-interview --redoили отредактировав~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md».
Если нужные значения заполнены, про настройки не говори ничего.
Если выше уровня «к сведению» ничего нет: «Тихо. [N] документов уровня «к сведению», ничего, что требует внимания».
Передача дальше
- В policy-diff: любой «всегда существенный» документ, который, вероятно, влияет на политики, → предложи запустить сравнение.
- В gap-surfacer: если сравнение нашло пробел → он берётся на учёт.
- В трекер комментариев: любой NPRM выше уровня «пропустить» → срок комментариев записывается автоматически, если учёт включён.
Завершение: дерево следующих шагов
Закончи деревом следующих шагов по разделу ## Outputs файла CLAUDE.md. Подстрой варианты под то, что этот скилл только что выдал: пять веток по умолчанию (подготовить документ X, эскалировать, собрать больше фактов, наблюдать и ждать, что-то другое) — отправная точка, а не жёсткие рамки. Дерево и есть результат; выбирает юрист.
Чего этот скилл не делает
- Не читает каждый документ целиком. Он классифицирует и обогащает; глубокое чтение нужно для документов, которые прошли фильтр.
- Не меняет порог существенности. Если фильтр настроен неверно, отредактируй ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md.
- Не требует TR или CourtListener. Бесплатные ленты — это базовый уровень, платные добавляют глубины.
Перевод: iiuniversitet. Оригинал: https://github.com/anthropics/claude-for-legal/tree/main/regulatory-legal/skills/reg-feed-watcher, лицензия Apache-2.0. Изменения: перевод на русский язык.
Оригинал на английском
--- name: reg-feed-watcher description: Check regulatory feeds now and report what's new since the last check, filtered by your materiality threshold. Use when the user says "check the feeds", "what's new", "regulatory update", when running from the scheduled agent, or when manually pasting a regulatory development for classification and diff. argument-hint: "[optional: --since DATE]" --- # /reg-feed-watcher 1. Load `~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md` → watchlist, materiality threshold, feed config. 2. Use the workflow below. 3. Pull each feed. Filter by materiality. 4. Output: what's new, categorized by materiality tier. --- ## Purpose Pull the feeds. Filter by materiality. Output what's left. The filter is the value — unfiltered feeds are noise. ## Load context `~/.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). ## Workflow ### Step 0: Coverage check (before pulling) Before running the pull, compare the watchlist + feed configuration in CLAUDE.md against `references/source-catalog.md`: - Which categories (US federal / US state / EU-UK / international) does the user care about per their watchlist? - Which of those categories have zero or very few sources configured? 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 --redo` to update, or edit `~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md` directly. 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. ### Step 1: Pull 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: - **Federal Register API** (`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. - **Direct regulator RSS** — fetch and parse any RSS URLs in ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md feed configuration (SEC, FTC, CFPB, state agencies, EU DPAs, etc.). 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)** - **Paid regulatory feed MCP:** Query for updates since last check date, filtered to watchlist regulators. - **CourtListener MCP:** Same. 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]`, `[CourtListener]`, 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 <regulator>.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. ### Step 2: Classify 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: - **Do not** classify an ANPR / RFI as "always material" — the compliance impact is zero until a rule issues. - **Do** classify as review-worthy if any of the issue areas in the notice touch the watchlist's always-material categories (e.g., an ANPR on open banking in a fintech watchlist). - **Do** log the comment deadline to `~/.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. - **Do** include in the digest entry a line that says explicitly: "Pre-rule. Comment deadline [date]. Route to `/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. - **Route to the comment-tracker, not the gap-tracker.** Comment-decision items are not compliance gaps; they belong in the comment tracker, and `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": - Extract comment deadline (Federal Register API returns this as structured data) - If comment tracking is enabled in ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md: append to `~/.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.md - Include comment deadline in the output entry ### Step 3: Enrich For each item above FYI tier: - One-line summary (what changed) - Why it might matter here (the relevance hook — "this is about [practice you do]") - Link to source - Effective date or comment deadline if applicable Don't summarize FYI items individually — just count them. ## Output 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:** 1. Look for `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`. 2. Create parent directories if needed. 3. Write the full digest as Markdown (same content as the chat output, including the work-product header, source tags, and the verify-citations footer). 4. If a file already exists at the path for today, append a new section with a timestamped subheader rather than overwriting — the same day may see multiple runs (morning digest, ad-hoc check). 5. After writing, tell the user: "Digest written to `<path>`. Share as-is, or convert to .docx with Pandoc: `pandoc <path> -o <path>.docx`." 6. If the write fails (permission, missing directory the user didn't authorize creating, disk), fall back to chat-only output and say so — don't silently drop the file request. 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. ```markdown [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 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. ``` ## Config-dependent fallbacks 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: - **Watchlist empty:** stop and say "The watchlist in your configuration is empty. I can't pull feeds without knowing which regulators to watch. Run `/regulatory-legal:cold-start-interview --redo` or edit `~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md` and add at least one regulator." - **Materiality threshold empty:** fall back to the default tiers and append: "This output used the default materiality tiers because your configuration doesn't have custom thresholds set. Tune them with `/regulatory-legal:cold-start-interview --redo` or by editing `~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md`." - **Feed configuration empty:** run Federal Register API only and append: "This output used only the free Federal Register API because your configuration doesn't list direct RSS or paid feeds. Add feeds with `/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." ## Handoff - **To policy-diff:** Any "always material" item with a likely policy impact → offer to run the diff. - **To gap-surfacer:** If a diff finds a gap → tracked. - **To comment-tracker:** Any NPRM classified above "skip" → comment deadline logged automatically if tracking is enabled. ## Close with the next-steps decision tree 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. ## What this skill does not do - Read every item in full. It classifies and enriches; deep reading is for the items that survive the filter. - Change the materiality threshold. If the filter is wrong, edit ~/.claude/plugins/config/claude-for-legal/regulatory-legal/CLAUDE.md. - Require TR or CourtListener. Free feeds are the baseline; paid feeds add depth.
Источник: anthropics/claude-for-legal / regulatory-legal / reg-feed-watcher ↗. Ссылка проверена 2026-10-10.