[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-anthropic-policy-redraft":3,"mdc-d1lc6k-key":34,"related-org-anthropic-policy-redraft":2015,"related-repo-anthropic-policy-redraft":2202},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"policy-redraft","draft policy markups for internal review","Produce a proposed marked-up policy redraft that closes a gap found by \u002Fregulatory-legal:gaps or \u002Fregulatory-legal:policy-diff. A first draft for internal review — not for direct application to approved policy documents. Use when the user says \"redraft the policy\", \"draft the policy fix\", \"mark up the policy\", or when gap-surfacer hands off a gap for drafting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"anthropic","Anthropic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fanthropic.png","anthropics",[13,17,20],{"name":14,"slug":15,"type":16},"Technical Writing","technical-writing","tag",{"name":18,"slug":19,"type":16},"Policy","policy",{"name":21,"slug":22,"type":16},"Legal","legal",8721,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-for-legal","2026-05-13T06:02:43.975631",null,1642,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"A suite of plugins for legal workflows","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-for-legal\u002Ftree\u002FHEAD\u002Fregulatory-legal\u002Fskills\u002Fpolicy-redraft","---\nname: policy-redraft\ndescription: Produce a proposed marked-up policy redraft that closes a gap found by \u002Fregulatory-legal:gaps or \u002Fregulatory-legal:policy-diff. A first draft for internal review — not for direct application to approved policy documents. Use when the user says \"redraft the policy\", \"draft the policy fix\", \"mark up the policy\", or when gap-surfacer hands off a gap for drafting.\nargument-hint: \"[GAP-ID or gap description]\"\n---\n\n# \u002Fpolicy-redraft\n\n1. Load `~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fregulatory-legal\u002FCLAUDE.md` → policy library index + practice profile.\n2. Use the workflow below.\n3. Gather inputs: the gap (from `\u002Fregulatory-legal:gaps` output or described directly), the current approved policy text, the rule text.\n4. Verify the rule is current (per the policy-diff rule-status check). If you can't verify, emit the `⚠️ RULE STATUS UNVERIFIED` banner.\n5. Produce a marked-up redraft of the affected policy section(s) — smallest-possible edit, `[verify]` tags carried through, inline comments explaining WHY each change was made.\n6. Output a Policy Redraft Memo. Write it to a new file named `[policy-name]-proposed-redraft-[YYYY-MM-DD].md` — never write to the source policy document.\n7. Do NOT close the gap in the tracker. The gap closes when the redraft is applied AND approved, which is the policy owner's action.\n\n---\n\n> This skill produces a **proposal**, not an edit. It writes to a new file with a clearly-marked draft filename. It never writes over a source policy document, and it never closes a gap in the tracker — the gap closes when the redraft is applied AND approved by the policy owner.\n\n## Matter context\n\n**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 `\u002Fregulatory-legal:matter-workspace switch \u003Cslug>` or say `practice-level`.\" Load the active matter's `matter.md` for matter-specific context and overrides. Write outputs to the matter folder at `~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fregulatory-legal\u002Fmatters\u002F\u003Cmatter-slug>\u002F`. Never read another matter's files unless `Cross-matter context` is `on`.\n\n---\n\n## Purpose\n\nGap-surfacer finds the gap. Policy-diff names what needs to change. This skill takes the next step and produces a marked-up redraft of the affected policy section — small, specific, flagged — as a first draft for the policy owner's review.\n\n## Hard guardrails — read these first\n\nThese are the load-bearing rules. If any of them would be violated, stop and ask.\n\n1. **This is a PROPOSAL, not an edit.** Never write directly to a source policy document. The output goes to a new file at `[policy-name]-proposed-redraft-[YYYY-MM-DD].md`, or into the matter workspace. Not `[policy-name].md`.\n2. **Never close the gap in the tracker.** Gaps close when the redraft is APPLIED AND APPROVED — that is the policy owner's action, not yours. If the user says \"close the gap now that you've redrafted it,\" decline: \"I produce the proposal. The gap closes when you've reviewed, applied, and approved the change. When that's done, tell me and I'll update the tracker.\"\n3. **\"Apply this for me\" is not in scope.** If the user asks you to apply the redraft to the source policy: \"I don't apply policy changes — that's the policy owner's action after review and approval. I produce the proposal. When it's been reviewed and approved, tell me and I'll update the gap tracker.\"\n4. **Confirm the policy version before redrafting.** If the user gives you a file, ask: \"Is this the approved version of the policy, and is it the latest? A redraft against an outdated policy creates divergence.\" If they paste text, trust but flag in the reviewer note.\n5. **Smallest-possible edit.** Strike a word before a sentence, a sentence before a paragraph, a paragraph before a section. Only touch sections affected by the gap. Don't restyle the policy.\n6. **Carry `[verify]` tags through.** Any effective date, threshold, citation, or requirement that came from model knowledge or an unverified source gets tagged in the redraft itself, not just in the memo.\n\n## Step 1: Gather inputs\n\nThree inputs are required. If any is missing, ask — don't infer.\n\n### 1a. The gap\n\nOne of:\n- A `GAP-ID` from the gap tracker — load the entry from `~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fregulatory-legal\u002Fgap-tracker.yaml` (or the matter-level equivalent).\n- A gap described in the user's message — capture the requirement, the regulation, and the affected policy.\n- A diff summary pasted from `\u002Fregulatory-legal:policy-diff` output.\n\n### 1b. The current policy text\n\nOne of:\n- A file path — read it, then ask: \"Is this the approved version of the policy, and is it the latest? A redraft against an outdated policy creates divergence.\" Note the answer in the reviewer note.\n- Pasted text — trust but flag in the reviewer note: \"Policy text was pasted directly; I assumed it was the current approved version. Confirm before applying.\"\n- Neither — ask for one. Do not guess at the policy text from the gap tracker or from web search.\n\n### 1c. The rule text\n\nOne of:\n- The diff output (already has the rule extracted and tagged).\n- A fetched regulation — note the source with a provenance tag.\n- Pasted rule text from the user — tag `[user provided]`.\n\nIf the rule text is partial or ambiguous, apply the **no silent supplement** rule from CLAUDE.md: offer the user the options (paste full text, point at primary source, web-search-with-verify-tag, or stop), and wait.\n\n## Step 2: Verify the rule is current\n\nUse the same rule-status check pattern as `policy-diff`. Red flags that the rule may not be in force:\n\n- The applicability\u002Fcompliance date has passed by more than 30 days with no confirmation it wasn't delayed.\n- The rule is more than 12 months old.\n- The rule is a politically contentious final rule (major rulemakings are frequently challenged).\n\nWhen you see a red flag, check (via research MCP, web search if enabled, or the Federal Register docket) for: delays, stays, injunctions, rescission proposals, vacatur, or amendments. If you can verify the rule is in force, proceed. If you cannot verify:\n\n> `⚠️ RULE STATUS UNVERIFIED — I could not confirm this rule is currently in force. Final rules are frequently stayed, enjoined, delayed, or rescinded after publication. Do not apply this redraft until you confirm the rule's status at the Federal Register docket or with outside counsel.`\n\nEmit that banner above the work-product header. Tag every effective\u002Fcompliance date in the redraft as `[effective date per published rule — status unverified]`.\n\n## Step 3: Produce the redraft\n\nA marked-up version of the affected policy section.\n\n### Redline granularity — smallest possible edit\n\n- Strike a word before a sentence.\n- Strike a sentence before a paragraph.\n- Strike a paragraph before a section.\n- Only touch sections affected by the gap. Don't restyle the whole policy.\n\n### Conventions\n\n- Struck text: `~~struck text~~`\n- Inserted text: **inserted text**\n- Each change carries an inline comment explaining WHY — the rule, the cite, the gap being closed:\n\n  > `[Change: added biometric identifiers to the PII definition per COPPA 2025 amendments, 16 CFR 312.2 (effective Apr 22 2026) [verify]]`\n\n- Any effective date, threshold, citation, or requirement that came from model knowledge or an unverified source gets a `[verify]` tag inline — not just in the change summary.\n- Carry source tags through from the diff: `[Federal Register]`, `[web search — verify]`, `[model knowledge — verify]`, `[user provided]`. Don't strip them when moving from the diff to the redraft.\n\n### Scope discipline\n\nIf a section of the policy isn't affected by the gap, leave it alone. A redraft that touches sections outside the gap looks like the AI opined on things it wasn't asked to opine on, and makes the review harder.\n\nIf you see a second gap while redrafting — a provision that's clearly out of step with the rule but wasn't in the original gap — don't silently fix it. Flag it in the reviewer note: \"While redrafting for [GAP-ID], I noticed [other provision] appears to have a related issue with [requirement]. Not included in this redraft. Consider a follow-on gap.\"\n\n## Step 4: Output — Policy Redraft Memo\n\n```markdown\n[WORK-PRODUCT HEADER — per plugin config ## Outputs — differs by role; see `## Who's using this`]\n\n> **⚠️ Reviewer note**\n> - **Sources:** [Research connector: CourtListener ✓ verified | not connected — cites from training knowledge, verify before relying]\n> - **Read:** [sections of the policy reviewed; what wasn't read]\n> - **Flagged for your judgment:** [N items marked `[review]` inline | none]\n> - **Currency:** [rule status verified against [source], [date] | unverified — see banner above]\n> - **Before relying:** confirm this is the current approved version of the policy; verify rule status and effective date; get the policy owner's review; follow your policy-change approval process; update the gap tracker only when applied and approved.\n\n## Policy Redraft: [Policy name]\n\n**Gap:** [GAP-ID or short description]\n**Regulation:** [name, citation, effective date]\n**Policy:** [name, last-updated date]\n**Status:** PROPOSAL — not yet reviewed or approved\n\n### Bottom line\n\n[One sentence: what the gap is. One sentence: what the redraft does. One sentence: what needs review.]\n\n### Marked-up policy section(s)\n\n[The redlined text, with inline `[Change: ...]` comments. Only the affected sections.]\n\n### Change summary\n\n| # | Provision | Current | Proposed | Why | Verify |\n|---|---|---|---|---|---|\n| 1 | §2.1 PII definition | \"…names, addresses, SSNs…\" | \"…names, addresses, SSNs, biometric identifiers…\" | COPPA 2025 amendments expand PII to cover biometrics | [Federal Register] |\n| 2 | §4.3 Retention period | \"30 days\" | \"14 days\" | New rule imposes 14-day cap | `[verify — model knowledge]` |\n\n### Before applying — checklist\n\n- [ ] Confirm this is the current approved version of the policy being redrafted.\n- [ ] Verify the rule status and effective date (Federal Register docket, or outside counsel).\n- [ ] Get the policy owner's review.\n- [ ] Follow your policy-change approval process.\n- [ ] Update the gap tracker when applied and approved — not before.\n\n---\n\n**What next? Pick one and I'll help you build it out:**\n\n1. **Apply and get sign-off** — you review, circulate to the policy owner, walk it through your approval process. When approved, tell me and I'll mark the gap closed.\n2. **Get more info on [X]** — if a specific change needs more grounding (a cite verified, a threshold checked, a jurisdiction question resolved), tell me which one and I'll dig in.\n3. **Escalate to [owner \u002F GC]** — if the redraft raises something above the policy-owner's authority, I'll draft a short escalation with the facts, the proposed change, and what decision is needed.\n4. **Watch and wait** — if the rule's status is uncertain or the policy owner is unavailable, I'll add a revisit note to the gap tracker.\n5. **Something else** — tell me what you'd do with it.\n```\n\n## Filename\n\nThe output file name makes clear it's a draft. Use:\n\n`[policy-name]-proposed-redraft-[YYYY-MM-DD].md`\n\nNot `[policy-name].md`. Not `[policy-name]-v2.md`. The word \"proposed-redraft\" and the date are load-bearing — they prevent the draft from being mistaken for the current version.\n\nWrite to the matter workspace if one is active; otherwise to the current working directory or a location the user names. Do not write to the policy library source directory.\n\n## Config-dependent fallbacks\n\nThis skill reads the policy library index and owners from `~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fregulatory-legal\u002FCLAUDE.md`. When a value it needs is empty or still `[PLACEHOLDER]`:\n\n- **Policy owner missing:** still produce the redraft. Note in the reviewer note: \"No policy owner is set for [policy] in `## Policy library`. Assign one with `\u002Fregulatory-legal:cold-start-interview --redo` so the approval path is routable.\"\n- **Policy library empty and the gap doesn't name a specific policy:** stop and ask: \"I need the current policy text to redraft. Paste the text of the affected policy, or point me at the file.\"\n\nSay nothing about config when the values are populated.\n\n## Interactions with other skills\n\n- **Upstream inputs** come from `policy-diff` (per-requirement gap analysis) and `gap-surfacer` (the tracker). Carry their source tags and `[verify]` flags through.\n- **Gap tracker state:** this skill does NOT change the tracker. It doesn't mark the gap closed, doesn't mark it in-progress, doesn't touch `notified`. If you want a paper trail that a redraft exists, the policy owner or the user can update the gap entry with a resolution note when the redraft is applied and approved — see `\u002Fregulatory-legal:gaps --close`.\n- **Severity floor:** if the upstream gap is 🔴 or 🟠, the memo's Bottom line carries that severity. Silent demotion is a contradiction a reviewing lawyer cannot see. See CLAUDE.md `## Cross-skill severity floor`.\n\n## Close with the next-steps decision tree\n\nIncluded in the output template above. Customize the options to what the redraft actually produced — if the rule status is unverified, option 2 (get more info) moves up; if the policy owner isn't set, option 3 (escalate) gets specific.\n\n## What this skill does not do\n\n- Apply the redraft to the source policy. That's the policy owner's action.\n- Close the gap in the tracker. Gaps close when the redraft is applied and approved.\n- Rewrite the whole policy. Smallest-possible edit to close the gap.\n- Produce multi-policy redrafts. One gap, one policy, one memo. A `:package` command for multi-policy fan-out is a future skill.\n- Produce the \"apply\" workflow. An `:apply` command with an approval gate is a future skill.\n",{"data":35,"body":37},{"name":4,"description":6,"argument-hint":36},"[GAP-ID or gap description]",{"type":38,"children":39},"root",[40,48,129,133,151,158,239,242,248,253,259,264,348,354,359,366,371,414,420,424,442,448,452,477,489,495,508,526,531,543,555,561,566,572,595,601,688,694,699,725,731,1745,1751,1756,1764,1784,1789,1795,1815,1860,1865,1871,1948,1954,1959,1965,2009],{"type":41,"tag":42,"props":43,"children":44},"element","h1",{"id":4},[45],{"type":46,"value":47},"text","\u002Fpolicy-redraft",{"type":41,"tag":49,"props":50,"children":51},"ol",{},[52,67,72,85,98,111,124],{"type":41,"tag":53,"props":54,"children":55},"li",{},[56,58,65],{"type":46,"value":57},"Load ",{"type":41,"tag":59,"props":60,"children":62},"code",{"className":61},[],[63],{"type":46,"value":64},"~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fregulatory-legal\u002FCLAUDE.md",{"type":46,"value":66}," → policy library index + practice profile.",{"type":41,"tag":53,"props":68,"children":69},{},[70],{"type":46,"value":71},"Use the workflow below.",{"type":41,"tag":53,"props":73,"children":74},{},[75,77,83],{"type":46,"value":76},"Gather inputs: the gap (from ",{"type":41,"tag":59,"props":78,"children":80},{"className":79},[],[81],{"type":46,"value":82},"\u002Fregulatory-legal:gaps",{"type":46,"value":84}," output or described directly), the current approved policy text, the rule text.",{"type":41,"tag":53,"props":86,"children":87},{},[88,90,96],{"type":46,"value":89},"Verify the rule is current (per the policy-diff rule-status check). If you can't verify, emit the ",{"type":41,"tag":59,"props":91,"children":93},{"className":92},[],[94],{"type":46,"value":95},"⚠️ RULE STATUS UNVERIFIED",{"type":46,"value":97}," banner.",{"type":41,"tag":53,"props":99,"children":100},{},[101,103,109],{"type":46,"value":102},"Produce a marked-up redraft of the affected policy section(s) — smallest-possible edit, ",{"type":41,"tag":59,"props":104,"children":106},{"className":105},[],[107],{"type":46,"value":108},"[verify]",{"type":46,"value":110}," tags carried through, inline comments explaining WHY each change was made.",{"type":41,"tag":53,"props":112,"children":113},{},[114,116,122],{"type":46,"value":115},"Output a Policy Redraft Memo. Write it to a new file named ",{"type":41,"tag":59,"props":117,"children":119},{"className":118},[],[120],{"type":46,"value":121},"[policy-name]-proposed-redraft-[YYYY-MM-DD].md",{"type":46,"value":123}," — never write to the source policy document.",{"type":41,"tag":53,"props":125,"children":126},{},[127],{"type":46,"value":128},"Do NOT close the gap in the tracker. The gap closes when the redraft is applied AND approved, which is the policy owner's action.",{"type":41,"tag":130,"props":131,"children":132},"hr",{},[],{"type":41,"tag":134,"props":135,"children":136},"blockquote",{},[137],{"type":41,"tag":138,"props":139,"children":140},"p",{},[141,143,149],{"type":46,"value":142},"This skill produces a ",{"type":41,"tag":144,"props":145,"children":146},"strong",{},[147],{"type":46,"value":148},"proposal",{"type":46,"value":150},", not an edit. It writes to a new file with a clearly-marked draft filename. It never writes over a source policy document, and it never closes a gap in the tracker — the gap closes when the redraft is applied AND approved by the policy owner.",{"type":41,"tag":152,"props":153,"children":155},"h2",{"id":154},"matter-context",[156],{"type":46,"value":157},"Matter context",{"type":41,"tag":138,"props":159,"children":160},{},[161,166,168,174,176,182,184,190,192,198,200,206,208,214,216,222,224,230,231,237],{"type":41,"tag":144,"props":162,"children":163},{},[164],{"type":46,"value":165},"Matter context.",{"type":46,"value":167}," Check ",{"type":41,"tag":59,"props":169,"children":171},{"className":170},[],[172],{"type":46,"value":173},"## Matter workspaces",{"type":46,"value":175}," in the practice-level CLAUDE.md. If ",{"type":41,"tag":59,"props":177,"children":179},{"className":178},[],[180],{"type":46,"value":181},"Enabled",{"type":46,"value":183}," is ",{"type":41,"tag":59,"props":185,"children":187},{"className":186},[],[188],{"type":46,"value":189},"✗",{"type":46,"value":191}," (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 ",{"type":41,"tag":59,"props":193,"children":195},{"className":194},[],[196],{"type":46,"value":197},"\u002Fregulatory-legal:matter-workspace switch \u003Cslug>",{"type":46,"value":199}," or say ",{"type":41,"tag":59,"props":201,"children":203},{"className":202},[],[204],{"type":46,"value":205},"practice-level",{"type":46,"value":207},".\" Load the active matter's ",{"type":41,"tag":59,"props":209,"children":211},{"className":210},[],[212],{"type":46,"value":213},"matter.md",{"type":46,"value":215}," for matter-specific context and overrides. Write outputs to the matter folder at ",{"type":41,"tag":59,"props":217,"children":219},{"className":218},[],[220],{"type":46,"value":221},"~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fregulatory-legal\u002Fmatters\u002F\u003Cmatter-slug>\u002F",{"type":46,"value":223},". Never read another matter's files unless ",{"type":41,"tag":59,"props":225,"children":227},{"className":226},[],[228],{"type":46,"value":229},"Cross-matter context",{"type":46,"value":183},{"type":41,"tag":59,"props":232,"children":234},{"className":233},[],[235],{"type":46,"value":236},"on",{"type":46,"value":238},".",{"type":41,"tag":130,"props":240,"children":241},{},[],{"type":41,"tag":152,"props":243,"children":245},{"id":244},"purpose",[246],{"type":46,"value":247},"Purpose",{"type":41,"tag":138,"props":249,"children":250},{},[251],{"type":46,"value":252},"Gap-surfacer finds the gap. Policy-diff names what needs to change. This skill takes the next step and produces a marked-up redraft of the affected policy section — small, specific, flagged — as a first draft for the policy owner's review.",{"type":41,"tag":152,"props":254,"children":256},{"id":255},"hard-guardrails-read-these-first",[257],{"type":46,"value":258},"Hard guardrails — read these first",{"type":41,"tag":138,"props":260,"children":261},{},[262],{"type":46,"value":263},"These are the load-bearing rules. If any of them would be violated, stop and ask.",{"type":41,"tag":49,"props":265,"children":266},{},[267,291,301,311,321,331],{"type":41,"tag":53,"props":268,"children":269},{},[270,275,277,282,284,290],{"type":41,"tag":144,"props":271,"children":272},{},[273],{"type":46,"value":274},"This is a PROPOSAL, not an edit.",{"type":46,"value":276}," Never write directly to a source policy document. The output goes to a new file at ",{"type":41,"tag":59,"props":278,"children":280},{"className":279},[],[281],{"type":46,"value":121},{"type":46,"value":283},", or into the matter workspace. Not ",{"type":41,"tag":59,"props":285,"children":287},{"className":286},[],[288],{"type":46,"value":289},"[policy-name].md",{"type":46,"value":238},{"type":41,"tag":53,"props":292,"children":293},{},[294,299],{"type":41,"tag":144,"props":295,"children":296},{},[297],{"type":46,"value":298},"Never close the gap in the tracker.",{"type":46,"value":300}," Gaps close when the redraft is APPLIED AND APPROVED — that is the policy owner's action, not yours. If the user says \"close the gap now that you've redrafted it,\" decline: \"I produce the proposal. The gap closes when you've reviewed, applied, and approved the change. When that's done, tell me and I'll update the tracker.\"",{"type":41,"tag":53,"props":302,"children":303},{},[304,309],{"type":41,"tag":144,"props":305,"children":306},{},[307],{"type":46,"value":308},"\"Apply this for me\" is not in scope.",{"type":46,"value":310}," If the user asks you to apply the redraft to the source policy: \"I don't apply policy changes — that's the policy owner's action after review and approval. I produce the proposal. When it's been reviewed and approved, tell me and I'll update the gap tracker.\"",{"type":41,"tag":53,"props":312,"children":313},{},[314,319],{"type":41,"tag":144,"props":315,"children":316},{},[317],{"type":46,"value":318},"Confirm the policy version before redrafting.",{"type":46,"value":320}," If the user gives you a file, ask: \"Is this the approved version of the policy, and is it the latest? A redraft against an outdated policy creates divergence.\" If they paste text, trust but flag in the reviewer note.",{"type":41,"tag":53,"props":322,"children":323},{},[324,329],{"type":41,"tag":144,"props":325,"children":326},{},[327],{"type":46,"value":328},"Smallest-possible edit.",{"type":46,"value":330}," Strike a word before a sentence, a sentence before a paragraph, a paragraph before a section. Only touch sections affected by the gap. Don't restyle the policy.",{"type":41,"tag":53,"props":332,"children":333},{},[334,346],{"type":41,"tag":144,"props":335,"children":336},{},[337,339,344],{"type":46,"value":338},"Carry ",{"type":41,"tag":59,"props":340,"children":342},{"className":341},[],[343],{"type":46,"value":108},{"type":46,"value":345}," tags through.",{"type":46,"value":347}," Any effective date, threshold, citation, or requirement that came from model knowledge or an unverified source gets tagged in the redraft itself, not just in the memo.",{"type":41,"tag":152,"props":349,"children":351},{"id":350},"step-1-gather-inputs",[352],{"type":46,"value":353},"Step 1: Gather inputs",{"type":41,"tag":138,"props":355,"children":356},{},[357],{"type":46,"value":358},"Three inputs are required. If any is missing, ask — don't infer.",{"type":41,"tag":360,"props":361,"children":363},"h3",{"id":362},"_1a-the-gap",[364],{"type":46,"value":365},"1a. The gap",{"type":41,"tag":138,"props":367,"children":368},{},[369],{"type":46,"value":370},"One of:",{"type":41,"tag":372,"props":373,"children":374},"ul",{},[375,396,401],{"type":41,"tag":53,"props":376,"children":377},{},[378,380,386,388,394],{"type":46,"value":379},"A ",{"type":41,"tag":59,"props":381,"children":383},{"className":382},[],[384],{"type":46,"value":385},"GAP-ID",{"type":46,"value":387}," from the gap tracker — load the entry from ",{"type":41,"tag":59,"props":389,"children":391},{"className":390},[],[392],{"type":46,"value":393},"~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fregulatory-legal\u002Fgap-tracker.yaml",{"type":46,"value":395}," (or the matter-level equivalent).",{"type":41,"tag":53,"props":397,"children":398},{},[399],{"type":46,"value":400},"A gap described in the user's message — capture the requirement, the regulation, and the affected policy.",{"type":41,"tag":53,"props":402,"children":403},{},[404,406,412],{"type":46,"value":405},"A diff summary pasted from ",{"type":41,"tag":59,"props":407,"children":409},{"className":408},[],[410],{"type":46,"value":411},"\u002Fregulatory-legal:policy-diff",{"type":46,"value":413}," output.",{"type":41,"tag":360,"props":415,"children":417},{"id":416},"_1b-the-current-policy-text",[418],{"type":46,"value":419},"1b. The current policy text",{"type":41,"tag":138,"props":421,"children":422},{},[423],{"type":46,"value":370},{"type":41,"tag":372,"props":425,"children":426},{},[427,432,437],{"type":41,"tag":53,"props":428,"children":429},{},[430],{"type":46,"value":431},"A file path — read it, then ask: \"Is this the approved version of the policy, and is it the latest? A redraft against an outdated policy creates divergence.\" Note the answer in the reviewer note.",{"type":41,"tag":53,"props":433,"children":434},{},[435],{"type":46,"value":436},"Pasted text — trust but flag in the reviewer note: \"Policy text was pasted directly; I assumed it was the current approved version. Confirm before applying.\"",{"type":41,"tag":53,"props":438,"children":439},{},[440],{"type":46,"value":441},"Neither — ask for one. Do not guess at the policy text from the gap tracker or from web search.",{"type":41,"tag":360,"props":443,"children":445},{"id":444},"_1c-the-rule-text",[446],{"type":46,"value":447},"1c. The rule text",{"type":41,"tag":138,"props":449,"children":450},{},[451],{"type":46,"value":370},{"type":41,"tag":372,"props":453,"children":454},{},[455,460,465],{"type":41,"tag":53,"props":456,"children":457},{},[458],{"type":46,"value":459},"The diff output (already has the rule extracted and tagged).",{"type":41,"tag":53,"props":461,"children":462},{},[463],{"type":46,"value":464},"A fetched regulation — note the source with a provenance tag.",{"type":41,"tag":53,"props":466,"children":467},{},[468,470,476],{"type":46,"value":469},"Pasted rule text from the user — tag ",{"type":41,"tag":59,"props":471,"children":473},{"className":472},[],[474],{"type":46,"value":475},"[user provided]",{"type":46,"value":238},{"type":41,"tag":138,"props":478,"children":479},{},[480,482,487],{"type":46,"value":481},"If the rule text is partial or ambiguous, apply the ",{"type":41,"tag":144,"props":483,"children":484},{},[485],{"type":46,"value":486},"no silent supplement",{"type":46,"value":488}," rule from CLAUDE.md: offer the user the options (paste full text, point at primary source, web-search-with-verify-tag, or stop), and wait.",{"type":41,"tag":152,"props":490,"children":492},{"id":491},"step-2-verify-the-rule-is-current",[493],{"type":46,"value":494},"Step 2: Verify the rule is current",{"type":41,"tag":138,"props":496,"children":497},{},[498,500,506],{"type":46,"value":499},"Use the same rule-status check pattern as ",{"type":41,"tag":59,"props":501,"children":503},{"className":502},[],[504],{"type":46,"value":505},"policy-diff",{"type":46,"value":507},". Red flags that the rule may not be in force:",{"type":41,"tag":372,"props":509,"children":510},{},[511,516,521],{"type":41,"tag":53,"props":512,"children":513},{},[514],{"type":46,"value":515},"The applicability\u002Fcompliance date has passed by more than 30 days with no confirmation it wasn't delayed.",{"type":41,"tag":53,"props":517,"children":518},{},[519],{"type":46,"value":520},"The rule is more than 12 months old.",{"type":41,"tag":53,"props":522,"children":523},{},[524],{"type":46,"value":525},"The rule is a politically contentious final rule (major rulemakings are frequently challenged).",{"type":41,"tag":138,"props":527,"children":528},{},[529],{"type":46,"value":530},"When you see a red flag, check (via research MCP, web search if enabled, or the Federal Register docket) for: delays, stays, injunctions, rescission proposals, vacatur, or amendments. If you can verify the rule is in force, proceed. If you cannot verify:",{"type":41,"tag":134,"props":532,"children":533},{},[534],{"type":41,"tag":138,"props":535,"children":536},{},[537],{"type":41,"tag":59,"props":538,"children":540},{"className":539},[],[541],{"type":46,"value":542},"⚠️ RULE STATUS UNVERIFIED — I could not confirm this rule is currently in force. Final rules are frequently stayed, enjoined, delayed, or rescinded after publication. Do not apply this redraft until you confirm the rule's status at the Federal Register docket or with outside counsel.",{"type":41,"tag":138,"props":544,"children":545},{},[546,548,554],{"type":46,"value":547},"Emit that banner above the work-product header. Tag every effective\u002Fcompliance date in the redraft as ",{"type":41,"tag":59,"props":549,"children":551},{"className":550},[],[552],{"type":46,"value":553},"[effective date per published rule — status unverified]",{"type":46,"value":238},{"type":41,"tag":152,"props":556,"children":558},{"id":557},"step-3-produce-the-redraft",[559],{"type":46,"value":560},"Step 3: Produce the redraft",{"type":41,"tag":138,"props":562,"children":563},{},[564],{"type":46,"value":565},"A marked-up version of the affected policy section.",{"type":41,"tag":360,"props":567,"children":569},{"id":568},"redline-granularity-smallest-possible-edit",[570],{"type":46,"value":571},"Redline granularity — smallest possible edit",{"type":41,"tag":372,"props":573,"children":574},{},[575,580,585,590],{"type":41,"tag":53,"props":576,"children":577},{},[578],{"type":46,"value":579},"Strike a word before a sentence.",{"type":41,"tag":53,"props":581,"children":582},{},[583],{"type":46,"value":584},"Strike a sentence before a paragraph.",{"type":41,"tag":53,"props":586,"children":587},{},[588],{"type":46,"value":589},"Strike a paragraph before a section.",{"type":41,"tag":53,"props":591,"children":592},{},[593],{"type":46,"value":594},"Only touch sections affected by the gap. Don't restyle the whole policy.",{"type":41,"tag":360,"props":596,"children":598},{"id":597},"conventions",[599],{"type":46,"value":600},"Conventions",{"type":41,"tag":372,"props":602,"children":603},{},[604,615,625,642,654],{"type":41,"tag":53,"props":605,"children":606},{},[607,609],{"type":46,"value":608},"Struck text: ",{"type":41,"tag":59,"props":610,"children":612},{"className":611},[],[613],{"type":46,"value":614},"~~struck text~~",{"type":41,"tag":53,"props":616,"children":617},{},[618,620],{"type":46,"value":619},"Inserted text: ",{"type":41,"tag":144,"props":621,"children":622},{},[623],{"type":46,"value":624},"inserted text",{"type":41,"tag":53,"props":626,"children":627},{},[628,630],{"type":46,"value":629},"Each change carries an inline comment explaining WHY — the rule, the cite, the gap being closed:",{"type":41,"tag":134,"props":631,"children":632},{},[633],{"type":41,"tag":138,"props":634,"children":635},{},[636],{"type":41,"tag":59,"props":637,"children":639},{"className":638},[],[640],{"type":46,"value":641},"[Change: added biometric identifiers to the PII definition per COPPA 2025 amendments, 16 CFR 312.2 (effective Apr 22 2026) [verify]]",{"type":41,"tag":53,"props":643,"children":644},{},[645,647,652],{"type":46,"value":646},"Any effective date, threshold, citation, or requirement that came from model knowledge or an unverified source gets a ",{"type":41,"tag":59,"props":648,"children":650},{"className":649},[],[651],{"type":46,"value":108},{"type":46,"value":653}," tag inline — not just in the change summary.",{"type":41,"tag":53,"props":655,"children":656},{},[657,659,665,667,673,674,680,681,686],{"type":46,"value":658},"Carry source tags through from the diff: ",{"type":41,"tag":59,"props":660,"children":662},{"className":661},[],[663],{"type":46,"value":664},"[Federal Register]",{"type":46,"value":666},", ",{"type":41,"tag":59,"props":668,"children":670},{"className":669},[],[671],{"type":46,"value":672},"[web search — verify]",{"type":46,"value":666},{"type":41,"tag":59,"props":675,"children":677},{"className":676},[],[678],{"type":46,"value":679},"[model knowledge — verify]",{"type":46,"value":666},{"type":41,"tag":59,"props":682,"children":684},{"className":683},[],[685],{"type":46,"value":475},{"type":46,"value":687},". Don't strip them when moving from the diff to the redraft.",{"type":41,"tag":360,"props":689,"children":691},{"id":690},"scope-discipline",[692],{"type":46,"value":693},"Scope discipline",{"type":41,"tag":138,"props":695,"children":696},{},[697],{"type":46,"value":698},"If a section of the policy isn't affected by the gap, leave it alone. A redraft that touches sections outside the gap looks like the AI opined on things it wasn't asked to opine on, and makes the review harder.",{"type":41,"tag":138,"props":700,"children":701},{},[702,704,709,711,716,718,723],{"type":46,"value":703},"If you see a second gap while redrafting — a provision that's clearly out of step with the rule but wasn't in the original gap — don't silently fix it. Flag it in the reviewer note: \"While redrafting for ",{"type":41,"tag":705,"props":706,"children":707},"span",{},[708],{"type":46,"value":385},{"type":46,"value":710},", I noticed ",{"type":41,"tag":705,"props":712,"children":713},{},[714],{"type":46,"value":715},"other provision",{"type":46,"value":717}," appears to have a related issue with ",{"type":41,"tag":705,"props":719,"children":720},{},[721],{"type":46,"value":722},"requirement",{"type":46,"value":724},". Not included in this redraft. Consider a follow-on gap.\"",{"type":41,"tag":152,"props":726,"children":728},{"id":727},"step-4-output-policy-redraft-memo",[729],{"type":46,"value":730},"Step 4: Output — Policy Redraft Memo",{"type":41,"tag":732,"props":733,"children":738},"pre",{"className":734,"code":735,"language":736,"meta":737,"style":737},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","[WORK-PRODUCT HEADER — per plugin config ## Outputs — differs by role; see `## Who's using this`]\n\n> **⚠️ Reviewer note**\n> - **Sources:** [Research connector: CourtListener ✓ verified | not connected — cites from training knowledge, verify before relying]\n> - **Read:** [sections of the policy reviewed; what wasn't read]\n> - **Flagged for your judgment:** [N items marked `[review]` inline | none]\n> - **Currency:** [rule status verified against [source], [date] | unverified — see banner above]\n> - **Before relying:** confirm this is the current approved version of the policy; verify rule status and effective date; get the policy owner's review; follow your policy-change approval process; update the gap tracker only when applied and approved.\n\n## Policy Redraft: [Policy name]\n\n**Gap:** [GAP-ID or short description]\n**Regulation:** [name, citation, effective date]\n**Policy:** [name, last-updated date]\n**Status:** PROPOSAL — not yet reviewed or approved\n\n### Bottom line\n\n[One sentence: what the gap is. One sentence: what the redraft does. One sentence: what needs review.]\n\n### Marked-up policy section(s)\n\n[The redlined text, with inline `[Change: ...]` comments. Only the affected sections.]\n\n### Change summary\n\n| # | Provision | Current | Proposed | Why | Verify |\n|---|---|---|---|---|---|\n| 1 | §2.1 PII definition | \"…names, addresses, SSNs…\" | \"…names, addresses, SSNs, biometric identifiers…\" | COPPA 2025 amendments expand PII to cover biometrics | [Federal Register] |\n| 2 | §4.3 Retention period | \"30 days\" | \"14 days\" | New rule imposes 14-day cap | `[verify — model knowledge]` |\n\n### Before applying — checklist\n\n- [ ] Confirm this is the current approved version of the policy being redrafted.\n- [ ] Verify the rule status and effective date (Federal Register docket, or outside counsel).\n- [ ] Get the policy owner's review.\n- [ ] Follow your policy-change approval process.\n- [ ] Update the gap tracker when applied and approved — not before.\n\n---\n\n**What next? Pick one and I'll help you build it out:**\n\n1. **Apply and get sign-off** — you review, circulate to the policy owner, walk it through your approval process. When approved, tell me and I'll mark the gap closed.\n2. **Get more info on [X]** — if a specific change needs more grounding (a cite verified, a threshold checked, a jurisdiction question resolved), tell me which one and I'll dig in.\n3. **Escalate to [owner \u002F GC]** — if the redraft raises something above the policy-owner's authority, I'll draft a short escalation with the facts, the proposed change, and what decision is needed.\n4. **Watch and wait** — if the rule's status is uncertain or the policy owner is unavailable, I'll add a revisit note to the gap tracker.\n5. **Something else** — tell me what you'd do with it.\n","markdown","",[739],{"type":41,"tag":59,"props":740,"children":741},{"__ignoreMap":737},[742,774,784,811,844,874,923,973,1003,1011,1026,1034,1056,1078,1100,1122,1130,1144,1152,1161,1169,1182,1190,1217,1225,1238,1246,1310,1319,1381,1453,1461,1474,1482,1496,1509,1522,1535,1548,1556,1565,1573,1590,1598,1625,1664,1691,1718],{"type":41,"tag":705,"props":743,"children":746},{"class":744,"line":745},"line",1,[747,753,759,765,769],{"type":41,"tag":705,"props":748,"children":750},{"style":749},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[751],{"type":46,"value":752},"[WORK-PRODUCT HEADER — per plugin config ## Outputs — differs by role; see ",{"type":41,"tag":705,"props":754,"children":756},{"style":755},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[757],{"type":46,"value":758},"`",{"type":41,"tag":705,"props":760,"children":762},{"style":761},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[763],{"type":46,"value":764},"## Who's using this",{"type":41,"tag":705,"props":766,"children":767},{"style":755},[768],{"type":46,"value":758},{"type":41,"tag":705,"props":770,"children":771},{"style":749},[772],{"type":46,"value":773},"]\n",{"type":41,"tag":705,"props":775,"children":777},{"class":744,"line":776},2,[778],{"type":41,"tag":705,"props":779,"children":781},{"emptyLinePlaceholder":780},true,[782],{"type":46,"value":783},"\n",{"type":41,"tag":705,"props":785,"children":787},{"class":744,"line":786},3,[788,794,800,806],{"type":41,"tag":705,"props":789,"children":791},{"style":790},"--shiki-light:#FF5370;--shiki-light-font-style:italic;--shiki-default:#FF9CAC;--shiki-default-font-style:italic;--shiki-dark:#FF9CAC;--shiki-dark-font-style:italic",[792],{"type":46,"value":793},">",{"type":41,"tag":705,"props":795,"children":797},{"style":796},"--shiki-light:#39ADB5;--shiki-light-font-weight:bold;--shiki-default:#89DDFF;--shiki-default-font-weight:bold;--shiki-dark:#89DDFF;--shiki-dark-font-weight:bold",[798],{"type":46,"value":799}," **",{"type":41,"tag":705,"props":801,"children":803},{"style":802},"--shiki-light:#E53935;--shiki-light-font-weight:bold;--shiki-default:#F07178;--shiki-default-font-weight:bold;--shiki-dark:#F07178;--shiki-dark-font-weight:bold",[804],{"type":46,"value":805},"⚠️ Reviewer note",{"type":41,"tag":705,"props":807,"children":808},{"style":796},[809],{"type":46,"value":810},"**\n",{"type":41,"tag":705,"props":812,"children":814},{"class":744,"line":813},4,[815,819,825,830,835,839],{"type":41,"tag":705,"props":816,"children":817},{"style":790},[818],{"type":46,"value":793},{"type":41,"tag":705,"props":820,"children":822},{"style":821},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[823],{"type":46,"value":824}," - ",{"type":41,"tag":705,"props":826,"children":827},{"style":796},[828],{"type":46,"value":829},"**",{"type":41,"tag":705,"props":831,"children":832},{"style":802},[833],{"type":46,"value":834},"Sources:",{"type":41,"tag":705,"props":836,"children":837},{"style":796},[838],{"type":46,"value":829},{"type":41,"tag":705,"props":840,"children":841},{"style":821},[842],{"type":46,"value":843}," [Research connector: CourtListener ✓ verified | not connected — cites from training knowledge, verify before relying]\n",{"type":41,"tag":705,"props":845,"children":847},{"class":744,"line":846},5,[848,852,856,860,865,869],{"type":41,"tag":705,"props":849,"children":850},{"style":790},[851],{"type":46,"value":793},{"type":41,"tag":705,"props":853,"children":854},{"style":821},[855],{"type":46,"value":824},{"type":41,"tag":705,"props":857,"children":858},{"style":796},[859],{"type":46,"value":829},{"type":41,"tag":705,"props":861,"children":862},{"style":802},[863],{"type":46,"value":864},"Read:",{"type":41,"tag":705,"props":866,"children":867},{"style":796},[868],{"type":46,"value":829},{"type":41,"tag":705,"props":870,"children":871},{"style":821},[872],{"type":46,"value":873}," [sections of the policy reviewed; what wasn't read]\n",{"type":41,"tag":705,"props":875,"children":877},{"class":744,"line":876},6,[878,882,886,890,895,899,904,908,914,918],{"type":41,"tag":705,"props":879,"children":880},{"style":790},[881],{"type":46,"value":793},{"type":41,"tag":705,"props":883,"children":884},{"style":821},[885],{"type":46,"value":824},{"type":41,"tag":705,"props":887,"children":888},{"style":796},[889],{"type":46,"value":829},{"type":41,"tag":705,"props":891,"children":892},{"style":802},[893],{"type":46,"value":894},"Flagged for your judgment:",{"type":41,"tag":705,"props":896,"children":897},{"style":796},[898],{"type":46,"value":829},{"type":41,"tag":705,"props":900,"children":901},{"style":821},[902],{"type":46,"value":903}," [N items marked ",{"type":41,"tag":705,"props":905,"children":906},{"style":821},[907],{"type":46,"value":758},{"type":41,"tag":705,"props":909,"children":911},{"style":910},"--shiki-light:#91B859;--shiki-light-font-style:italic;--shiki-default:#C3E88D;--shiki-default-font-style:italic;--shiki-dark:#C3E88D;--shiki-dark-font-style:italic",[912],{"type":46,"value":913},"[review]",{"type":41,"tag":705,"props":915,"children":916},{"style":821},[917],{"type":46,"value":758},{"type":41,"tag":705,"props":919,"children":920},{"style":821},[921],{"type":46,"value":922}," inline | none]\n",{"type":41,"tag":705,"props":924,"children":926},{"class":744,"line":925},7,[927,931,935,939,944,948,953,958,963,968],{"type":41,"tag":705,"props":928,"children":929},{"style":790},[930],{"type":46,"value":793},{"type":41,"tag":705,"props":932,"children":933},{"style":821},[934],{"type":46,"value":824},{"type":41,"tag":705,"props":936,"children":937},{"style":796},[938],{"type":46,"value":829},{"type":41,"tag":705,"props":940,"children":941},{"style":802},[942],{"type":46,"value":943},"Currency:",{"type":41,"tag":705,"props":945,"children":946},{"style":796},[947],{"type":46,"value":829},{"type":41,"tag":705,"props":949,"children":950},{"style":821},[951],{"type":46,"value":952}," [rule status verified against [",{"type":41,"tag":705,"props":954,"children":955},{"style":910},[956],{"type":46,"value":957},"source",{"type":41,"tag":705,"props":959,"children":960},{"style":821},[961],{"type":46,"value":962},"], [",{"type":41,"tag":705,"props":964,"children":965},{"style":910},[966],{"type":46,"value":967},"date",{"type":41,"tag":705,"props":969,"children":970},{"style":821},[971],{"type":46,"value":972},"] | unverified — see banner above]\n",{"type":41,"tag":705,"props":974,"children":976},{"class":744,"line":975},8,[977,981,985,989,994,998],{"type":41,"tag":705,"props":978,"children":979},{"style":790},[980],{"type":46,"value":793},{"type":41,"tag":705,"props":982,"children":983},{"style":821},[984],{"type":46,"value":824},{"type":41,"tag":705,"props":986,"children":987},{"style":796},[988],{"type":46,"value":829},{"type":41,"tag":705,"props":990,"children":991},{"style":802},[992],{"type":46,"value":993},"Before relying:",{"type":41,"tag":705,"props":995,"children":996},{"style":796},[997],{"type":46,"value":829},{"type":41,"tag":705,"props":999,"children":1000},{"style":821},[1001],{"type":46,"value":1002}," confirm this is the current approved version of the policy; verify rule status and effective date; get the policy owner's review; follow your policy-change approval process; update the gap tracker only when applied and approved.\n",{"type":41,"tag":705,"props":1004,"children":1006},{"class":744,"line":1005},9,[1007],{"type":41,"tag":705,"props":1008,"children":1009},{"emptyLinePlaceholder":780},[1010],{"type":46,"value":783},{"type":41,"tag":705,"props":1012,"children":1014},{"class":744,"line":1013},10,[1015,1020],{"type":41,"tag":705,"props":1016,"children":1017},{"style":755},[1018],{"type":46,"value":1019},"## ",{"type":41,"tag":705,"props":1021,"children":1023},{"style":1022},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[1024],{"type":46,"value":1025},"Policy Redraft: [Policy name]\n",{"type":41,"tag":705,"props":1027,"children":1029},{"class":744,"line":1028},11,[1030],{"type":41,"tag":705,"props":1031,"children":1032},{"emptyLinePlaceholder":780},[1033],{"type":46,"value":783},{"type":41,"tag":705,"props":1035,"children":1037},{"class":744,"line":1036},12,[1038,1042,1047,1051],{"type":41,"tag":705,"props":1039,"children":1040},{"style":796},[1041],{"type":46,"value":829},{"type":41,"tag":705,"props":1043,"children":1044},{"style":802},[1045],{"type":46,"value":1046},"Gap:",{"type":41,"tag":705,"props":1048,"children":1049},{"style":796},[1050],{"type":46,"value":829},{"type":41,"tag":705,"props":1052,"children":1053},{"style":749},[1054],{"type":46,"value":1055}," [GAP-ID or short description]\n",{"type":41,"tag":705,"props":1057,"children":1059},{"class":744,"line":1058},13,[1060,1064,1069,1073],{"type":41,"tag":705,"props":1061,"children":1062},{"style":796},[1063],{"type":46,"value":829},{"type":41,"tag":705,"props":1065,"children":1066},{"style":802},[1067],{"type":46,"value":1068},"Regulation:",{"type":41,"tag":705,"props":1070,"children":1071},{"style":796},[1072],{"type":46,"value":829},{"type":41,"tag":705,"props":1074,"children":1075},{"style":749},[1076],{"type":46,"value":1077}," [name, citation, effective date]\n",{"type":41,"tag":705,"props":1079,"children":1081},{"class":744,"line":1080},14,[1082,1086,1091,1095],{"type":41,"tag":705,"props":1083,"children":1084},{"style":796},[1085],{"type":46,"value":829},{"type":41,"tag":705,"props":1087,"children":1088},{"style":802},[1089],{"type":46,"value":1090},"Policy:",{"type":41,"tag":705,"props":1092,"children":1093},{"style":796},[1094],{"type":46,"value":829},{"type":41,"tag":705,"props":1096,"children":1097},{"style":749},[1098],{"type":46,"value":1099}," [name, last-updated date]\n",{"type":41,"tag":705,"props":1101,"children":1103},{"class":744,"line":1102},15,[1104,1108,1113,1117],{"type":41,"tag":705,"props":1105,"children":1106},{"style":796},[1107],{"type":46,"value":829},{"type":41,"tag":705,"props":1109,"children":1110},{"style":802},[1111],{"type":46,"value":1112},"Status:",{"type":41,"tag":705,"props":1114,"children":1115},{"style":796},[1116],{"type":46,"value":829},{"type":41,"tag":705,"props":1118,"children":1119},{"style":749},[1120],{"type":46,"value":1121}," PROPOSAL — not yet reviewed or approved\n",{"type":41,"tag":705,"props":1123,"children":1125},{"class":744,"line":1124},16,[1126],{"type":41,"tag":705,"props":1127,"children":1128},{"emptyLinePlaceholder":780},[1129],{"type":46,"value":783},{"type":41,"tag":705,"props":1131,"children":1133},{"class":744,"line":1132},17,[1134,1139],{"type":41,"tag":705,"props":1135,"children":1136},{"style":755},[1137],{"type":46,"value":1138},"### ",{"type":41,"tag":705,"props":1140,"children":1141},{"style":1022},[1142],{"type":46,"value":1143},"Bottom line\n",{"type":41,"tag":705,"props":1145,"children":1147},{"class":744,"line":1146},18,[1148],{"type":41,"tag":705,"props":1149,"children":1150},{"emptyLinePlaceholder":780},[1151],{"type":46,"value":783},{"type":41,"tag":705,"props":1153,"children":1155},{"class":744,"line":1154},19,[1156],{"type":41,"tag":705,"props":1157,"children":1158},{"style":749},[1159],{"type":46,"value":1160},"[One sentence: what the gap is. One sentence: what the redraft does. One sentence: what needs review.]\n",{"type":41,"tag":705,"props":1162,"children":1164},{"class":744,"line":1163},20,[1165],{"type":41,"tag":705,"props":1166,"children":1167},{"emptyLinePlaceholder":780},[1168],{"type":46,"value":783},{"type":41,"tag":705,"props":1170,"children":1172},{"class":744,"line":1171},21,[1173,1177],{"type":41,"tag":705,"props":1174,"children":1175},{"style":755},[1176],{"type":46,"value":1138},{"type":41,"tag":705,"props":1178,"children":1179},{"style":1022},[1180],{"type":46,"value":1181},"Marked-up policy section(s)\n",{"type":41,"tag":705,"props":1183,"children":1185},{"class":744,"line":1184},22,[1186],{"type":41,"tag":705,"props":1187,"children":1188},{"emptyLinePlaceholder":780},[1189],{"type":46,"value":783},{"type":41,"tag":705,"props":1191,"children":1193},{"class":744,"line":1192},23,[1194,1199,1203,1208,1212],{"type":41,"tag":705,"props":1195,"children":1196},{"style":749},[1197],{"type":46,"value":1198},"[The redlined text, with inline ",{"type":41,"tag":705,"props":1200,"children":1201},{"style":755},[1202],{"type":46,"value":758},{"type":41,"tag":705,"props":1204,"children":1205},{"style":761},[1206],{"type":46,"value":1207},"[Change: ...]",{"type":41,"tag":705,"props":1209,"children":1210},{"style":755},[1211],{"type":46,"value":758},{"type":41,"tag":705,"props":1213,"children":1214},{"style":749},[1215],{"type":46,"value":1216}," comments. Only the affected sections.]\n",{"type":41,"tag":705,"props":1218,"children":1220},{"class":744,"line":1219},24,[1221],{"type":41,"tag":705,"props":1222,"children":1223},{"emptyLinePlaceholder":780},[1224],{"type":46,"value":783},{"type":41,"tag":705,"props":1226,"children":1228},{"class":744,"line":1227},25,[1229,1233],{"type":41,"tag":705,"props":1230,"children":1231},{"style":755},[1232],{"type":46,"value":1138},{"type":41,"tag":705,"props":1234,"children":1235},{"style":1022},[1236],{"type":46,"value":1237},"Change summary\n",{"type":41,"tag":705,"props":1239,"children":1241},{"class":744,"line":1240},26,[1242],{"type":41,"tag":705,"props":1243,"children":1244},{"emptyLinePlaceholder":780},[1245],{"type":46,"value":783},{"type":41,"tag":705,"props":1247,"children":1249},{"class":744,"line":1248},27,[1250,1255,1260,1264,1269,1273,1278,1282,1287,1291,1296,1300,1305],{"type":41,"tag":705,"props":1251,"children":1252},{"style":755},[1253],{"type":46,"value":1254},"|",{"type":41,"tag":705,"props":1256,"children":1257},{"style":749},[1258],{"type":46,"value":1259}," # ",{"type":41,"tag":705,"props":1261,"children":1262},{"style":755},[1263],{"type":46,"value":1254},{"type":41,"tag":705,"props":1265,"children":1266},{"style":749},[1267],{"type":46,"value":1268}," Provision ",{"type":41,"tag":705,"props":1270,"children":1271},{"style":755},[1272],{"type":46,"value":1254},{"type":41,"tag":705,"props":1274,"children":1275},{"style":749},[1276],{"type":46,"value":1277}," Current ",{"type":41,"tag":705,"props":1279,"children":1280},{"style":755},[1281],{"type":46,"value":1254},{"type":41,"tag":705,"props":1283,"children":1284},{"style":749},[1285],{"type":46,"value":1286}," Proposed ",{"type":41,"tag":705,"props":1288,"children":1289},{"style":755},[1290],{"type":46,"value":1254},{"type":41,"tag":705,"props":1292,"children":1293},{"style":749},[1294],{"type":46,"value":1295}," Why ",{"type":41,"tag":705,"props":1297,"children":1298},{"style":755},[1299],{"type":46,"value":1254},{"type":41,"tag":705,"props":1301,"children":1302},{"style":749},[1303],{"type":46,"value":1304}," Verify ",{"type":41,"tag":705,"props":1306,"children":1307},{"style":755},[1308],{"type":46,"value":1309},"|\n",{"type":41,"tag":705,"props":1311,"children":1313},{"class":744,"line":1312},28,[1314],{"type":41,"tag":705,"props":1315,"children":1316},{"style":755},[1317],{"type":46,"value":1318},"|---|---|---|---|---|---|\n",{"type":41,"tag":705,"props":1320,"children":1322},{"class":744,"line":1321},29,[1323,1327,1332,1336,1341,1345,1350,1354,1359,1363,1368,1372,1377],{"type":41,"tag":705,"props":1324,"children":1325},{"style":755},[1326],{"type":46,"value":1254},{"type":41,"tag":705,"props":1328,"children":1329},{"style":749},[1330],{"type":46,"value":1331}," 1 ",{"type":41,"tag":705,"props":1333,"children":1334},{"style":755},[1335],{"type":46,"value":1254},{"type":41,"tag":705,"props":1337,"children":1338},{"style":749},[1339],{"type":46,"value":1340}," §2.1 PII definition ",{"type":41,"tag":705,"props":1342,"children":1343},{"style":755},[1344],{"type":46,"value":1254},{"type":41,"tag":705,"props":1346,"children":1347},{"style":749},[1348],{"type":46,"value":1349}," \"…names, addresses, SSNs…\" ",{"type":41,"tag":705,"props":1351,"children":1352},{"style":755},[1353],{"type":46,"value":1254},{"type":41,"tag":705,"props":1355,"children":1356},{"style":749},[1357],{"type":46,"value":1358}," \"…names, addresses, SSNs, biometric identifiers…\" ",{"type":41,"tag":705,"props":1360,"children":1361},{"style":755},[1362],{"type":46,"value":1254},{"type":41,"tag":705,"props":1364,"children":1365},{"style":749},[1366],{"type":46,"value":1367}," COPPA 2025 amendments expand PII to cover biometrics ",{"type":41,"tag":705,"props":1369,"children":1370},{"style":755},[1371],{"type":46,"value":1254},{"type":41,"tag":705,"props":1373,"children":1374},{"style":749},[1375],{"type":46,"value":1376}," [Federal Register] ",{"type":41,"tag":705,"props":1378,"children":1379},{"style":755},[1380],{"type":46,"value":1309},{"type":41,"tag":705,"props":1382,"children":1384},{"class":744,"line":1383},30,[1385,1389,1394,1398,1403,1407,1412,1416,1421,1425,1430,1434,1439,1444,1448],{"type":41,"tag":705,"props":1386,"children":1387},{"style":755},[1388],{"type":46,"value":1254},{"type":41,"tag":705,"props":1390,"children":1391},{"style":749},[1392],{"type":46,"value":1393}," 2 ",{"type":41,"tag":705,"props":1395,"children":1396},{"style":755},[1397],{"type":46,"value":1254},{"type":41,"tag":705,"props":1399,"children":1400},{"style":749},[1401],{"type":46,"value":1402}," §4.3 Retention period ",{"type":41,"tag":705,"props":1404,"children":1405},{"style":755},[1406],{"type":46,"value":1254},{"type":41,"tag":705,"props":1408,"children":1409},{"style":749},[1410],{"type":46,"value":1411}," \"30 days\" ",{"type":41,"tag":705,"props":1413,"children":1414},{"style":755},[1415],{"type":46,"value":1254},{"type":41,"tag":705,"props":1417,"children":1418},{"style":749},[1419],{"type":46,"value":1420}," \"14 days\" ",{"type":41,"tag":705,"props":1422,"children":1423},{"style":755},[1424],{"type":46,"value":1254},{"type":41,"tag":705,"props":1426,"children":1427},{"style":749},[1428],{"type":46,"value":1429}," New rule imposes 14-day cap ",{"type":41,"tag":705,"props":1431,"children":1432},{"style":755},[1433],{"type":46,"value":1254},{"type":41,"tag":705,"props":1435,"children":1436},{"style":755},[1437],{"type":46,"value":1438}," `",{"type":41,"tag":705,"props":1440,"children":1441},{"style":761},[1442],{"type":46,"value":1443},"[verify — model knowledge]",{"type":41,"tag":705,"props":1445,"children":1446},{"style":755},[1447],{"type":46,"value":758},{"type":41,"tag":705,"props":1449,"children":1450},{"style":755},[1451],{"type":46,"value":1452}," |\n",{"type":41,"tag":705,"props":1454,"children":1456},{"class":744,"line":1455},31,[1457],{"type":41,"tag":705,"props":1458,"children":1459},{"emptyLinePlaceholder":780},[1460],{"type":46,"value":783},{"type":41,"tag":705,"props":1462,"children":1464},{"class":744,"line":1463},32,[1465,1469],{"type":41,"tag":705,"props":1466,"children":1467},{"style":755},[1468],{"type":46,"value":1138},{"type":41,"tag":705,"props":1470,"children":1471},{"style":1022},[1472],{"type":46,"value":1473},"Before applying — checklist\n",{"type":41,"tag":705,"props":1475,"children":1477},{"class":744,"line":1476},33,[1478],{"type":41,"tag":705,"props":1479,"children":1480},{"emptyLinePlaceholder":780},[1481],{"type":46,"value":783},{"type":41,"tag":705,"props":1483,"children":1485},{"class":744,"line":1484},34,[1486,1491],{"type":41,"tag":705,"props":1487,"children":1488},{"style":755},[1489],{"type":46,"value":1490},"-",{"type":41,"tag":705,"props":1492,"children":1493},{"style":749},[1494],{"type":46,"value":1495}," [ ] Confirm this is the current approved version of the policy being redrafted.\n",{"type":41,"tag":705,"props":1497,"children":1499},{"class":744,"line":1498},35,[1500,1504],{"type":41,"tag":705,"props":1501,"children":1502},{"style":755},[1503],{"type":46,"value":1490},{"type":41,"tag":705,"props":1505,"children":1506},{"style":749},[1507],{"type":46,"value":1508}," [ ] Verify the rule status and effective date (Federal Register docket, or outside counsel).\n",{"type":41,"tag":705,"props":1510,"children":1512},{"class":744,"line":1511},36,[1513,1517],{"type":41,"tag":705,"props":1514,"children":1515},{"style":755},[1516],{"type":46,"value":1490},{"type":41,"tag":705,"props":1518,"children":1519},{"style":749},[1520],{"type":46,"value":1521}," [ ] Get the policy owner's review.\n",{"type":41,"tag":705,"props":1523,"children":1525},{"class":744,"line":1524},37,[1526,1530],{"type":41,"tag":705,"props":1527,"children":1528},{"style":755},[1529],{"type":46,"value":1490},{"type":41,"tag":705,"props":1531,"children":1532},{"style":749},[1533],{"type":46,"value":1534}," [ ] Follow your policy-change approval process.\n",{"type":41,"tag":705,"props":1536,"children":1538},{"class":744,"line":1537},38,[1539,1543],{"type":41,"tag":705,"props":1540,"children":1541},{"style":755},[1542],{"type":46,"value":1490},{"type":41,"tag":705,"props":1544,"children":1545},{"style":749},[1546],{"type":46,"value":1547}," [ ] Update the gap tracker when applied and approved — not before.\n",{"type":41,"tag":705,"props":1549,"children":1551},{"class":744,"line":1550},39,[1552],{"type":41,"tag":705,"props":1553,"children":1554},{"emptyLinePlaceholder":780},[1555],{"type":46,"value":783},{"type":41,"tag":705,"props":1557,"children":1559},{"class":744,"line":1558},40,[1560],{"type":41,"tag":705,"props":1561,"children":1562},{"style":749},[1563],{"type":46,"value":1564},"---\n",{"type":41,"tag":705,"props":1566,"children":1568},{"class":744,"line":1567},41,[1569],{"type":41,"tag":705,"props":1570,"children":1571},{"emptyLinePlaceholder":780},[1572],{"type":46,"value":783},{"type":41,"tag":705,"props":1574,"children":1576},{"class":744,"line":1575},42,[1577,1581,1586],{"type":41,"tag":705,"props":1578,"children":1579},{"style":796},[1580],{"type":46,"value":829},{"type":41,"tag":705,"props":1582,"children":1583},{"style":802},[1584],{"type":46,"value":1585},"What next? Pick one and I'll help you build it out:",{"type":41,"tag":705,"props":1587,"children":1588},{"style":796},[1589],{"type":46,"value":810},{"type":41,"tag":705,"props":1591,"children":1593},{"class":744,"line":1592},43,[1594],{"type":41,"tag":705,"props":1595,"children":1596},{"emptyLinePlaceholder":780},[1597],{"type":46,"value":783},{"type":41,"tag":705,"props":1599,"children":1601},{"class":744,"line":1600},44,[1602,1607,1611,1616,1620],{"type":41,"tag":705,"props":1603,"children":1604},{"style":755},[1605],{"type":46,"value":1606},"1.",{"type":41,"tag":705,"props":1608,"children":1609},{"style":796},[1610],{"type":46,"value":799},{"type":41,"tag":705,"props":1612,"children":1613},{"style":802},[1614],{"type":46,"value":1615},"Apply and get sign-off",{"type":41,"tag":705,"props":1617,"children":1618},{"style":796},[1619],{"type":46,"value":829},{"type":41,"tag":705,"props":1621,"children":1622},{"style":749},[1623],{"type":46,"value":1624}," — you review, circulate to the policy owner, walk it through your approval process. When approved, tell me and I'll mark the gap closed.\n",{"type":41,"tag":705,"props":1626,"children":1628},{"class":744,"line":1627},45,[1629,1634,1638,1643,1648,1654,1659],{"type":41,"tag":705,"props":1630,"children":1631},{"style":755},[1632],{"type":46,"value":1633},"2.",{"type":41,"tag":705,"props":1635,"children":1636},{"style":796},[1637],{"type":46,"value":799},{"type":41,"tag":705,"props":1639,"children":1640},{"style":802},[1641],{"type":46,"value":1642},"Get more info on ",{"type":41,"tag":705,"props":1644,"children":1645},{"style":796},[1646],{"type":46,"value":1647},"[",{"type":41,"tag":705,"props":1649,"children":1651},{"style":1650},"--shiki-light:#91B859;--shiki-light-font-weight:bold;--shiki-default:#C3E88D;--shiki-default-font-weight:bold;--shiki-dark:#C3E88D;--shiki-dark-font-weight:bold",[1652],{"type":46,"value":1653},"X",{"type":41,"tag":705,"props":1655,"children":1656},{"style":796},[1657],{"type":46,"value":1658},"]**",{"type":41,"tag":705,"props":1660,"children":1661},{"style":749},[1662],{"type":46,"value":1663}," — if a specific change needs more grounding (a cite verified, a threshold checked, a jurisdiction question resolved), tell me which one and I'll dig in.\n",{"type":41,"tag":705,"props":1665,"children":1667},{"class":744,"line":1666},46,[1668,1673,1677,1682,1686],{"type":41,"tag":705,"props":1669,"children":1670},{"style":755},[1671],{"type":46,"value":1672},"3.",{"type":41,"tag":705,"props":1674,"children":1675},{"style":796},[1676],{"type":46,"value":799},{"type":41,"tag":705,"props":1678,"children":1679},{"style":802},[1680],{"type":46,"value":1681},"Escalate to [owner \u002F GC]",{"type":41,"tag":705,"props":1683,"children":1684},{"style":796},[1685],{"type":46,"value":829},{"type":41,"tag":705,"props":1687,"children":1688},{"style":749},[1689],{"type":46,"value":1690}," — if the redraft raises something above the policy-owner's authority, I'll draft a short escalation with the facts, the proposed change, and what decision is needed.\n",{"type":41,"tag":705,"props":1692,"children":1694},{"class":744,"line":1693},47,[1695,1700,1704,1709,1713],{"type":41,"tag":705,"props":1696,"children":1697},{"style":755},[1698],{"type":46,"value":1699},"4.",{"type":41,"tag":705,"props":1701,"children":1702},{"style":796},[1703],{"type":46,"value":799},{"type":41,"tag":705,"props":1705,"children":1706},{"style":802},[1707],{"type":46,"value":1708},"Watch and wait",{"type":41,"tag":705,"props":1710,"children":1711},{"style":796},[1712],{"type":46,"value":829},{"type":41,"tag":705,"props":1714,"children":1715},{"style":749},[1716],{"type":46,"value":1717}," — if the rule's status is uncertain or the policy owner is unavailable, I'll add a revisit note to the gap tracker.\n",{"type":41,"tag":705,"props":1719,"children":1721},{"class":744,"line":1720},48,[1722,1727,1731,1736,1740],{"type":41,"tag":705,"props":1723,"children":1724},{"style":755},[1725],{"type":46,"value":1726},"5.",{"type":41,"tag":705,"props":1728,"children":1729},{"style":796},[1730],{"type":46,"value":799},{"type":41,"tag":705,"props":1732,"children":1733},{"style":802},[1734],{"type":46,"value":1735},"Something else",{"type":41,"tag":705,"props":1737,"children":1738},{"style":796},[1739],{"type":46,"value":829},{"type":41,"tag":705,"props":1741,"children":1742},{"style":749},[1743],{"type":46,"value":1744}," — tell me what you'd do with it.\n",{"type":41,"tag":152,"props":1746,"children":1748},{"id":1747},"filename",[1749],{"type":46,"value":1750},"Filename",{"type":41,"tag":138,"props":1752,"children":1753},{},[1754],{"type":46,"value":1755},"The output file name makes clear it's a draft. Use:",{"type":41,"tag":138,"props":1757,"children":1758},{},[1759],{"type":41,"tag":59,"props":1760,"children":1762},{"className":1761},[],[1763],{"type":46,"value":121},{"type":41,"tag":138,"props":1765,"children":1766},{},[1767,1769,1774,1776,1782],{"type":46,"value":1768},"Not ",{"type":41,"tag":59,"props":1770,"children":1772},{"className":1771},[],[1773],{"type":46,"value":289},{"type":46,"value":1775},". Not ",{"type":41,"tag":59,"props":1777,"children":1779},{"className":1778},[],[1780],{"type":46,"value":1781},"[policy-name]-v2.md",{"type":46,"value":1783},". The word \"proposed-redraft\" and the date are load-bearing — they prevent the draft from being mistaken for the current version.",{"type":41,"tag":138,"props":1785,"children":1786},{},[1787],{"type":46,"value":1788},"Write to the matter workspace if one is active; otherwise to the current working directory or a location the user names. Do not write to the policy library source directory.",{"type":41,"tag":152,"props":1790,"children":1792},{"id":1791},"config-dependent-fallbacks",[1793],{"type":46,"value":1794},"Config-dependent fallbacks",{"type":41,"tag":138,"props":1796,"children":1797},{},[1798,1800,1805,1807,1813],{"type":46,"value":1799},"This skill reads the policy library index and owners from ",{"type":41,"tag":59,"props":1801,"children":1803},{"className":1802},[],[1804],{"type":46,"value":64},{"type":46,"value":1806},". When a value it needs is empty or still ",{"type":41,"tag":59,"props":1808,"children":1810},{"className":1809},[],[1811],{"type":46,"value":1812},"[PLACEHOLDER]",{"type":46,"value":1814},":",{"type":41,"tag":372,"props":1816,"children":1817},{},[1818,1850],{"type":41,"tag":53,"props":1819,"children":1820},{},[1821,1826,1828,1832,1834,1840,1842,1848],{"type":41,"tag":144,"props":1822,"children":1823},{},[1824],{"type":46,"value":1825},"Policy owner missing:",{"type":46,"value":1827}," still produce the redraft. Note in the reviewer note: \"No policy owner is set for ",{"type":41,"tag":705,"props":1829,"children":1830},{},[1831],{"type":46,"value":19},{"type":46,"value":1833}," in ",{"type":41,"tag":59,"props":1835,"children":1837},{"className":1836},[],[1838],{"type":46,"value":1839},"## Policy library",{"type":46,"value":1841},". Assign one with ",{"type":41,"tag":59,"props":1843,"children":1845},{"className":1844},[],[1846],{"type":46,"value":1847},"\u002Fregulatory-legal:cold-start-interview --redo",{"type":46,"value":1849}," so the approval path is routable.\"",{"type":41,"tag":53,"props":1851,"children":1852},{},[1853,1858],{"type":41,"tag":144,"props":1854,"children":1855},{},[1856],{"type":46,"value":1857},"Policy library empty and the gap doesn't name a specific policy:",{"type":46,"value":1859}," stop and ask: \"I need the current policy text to redraft. Paste the text of the affected policy, or point me at the file.\"",{"type":41,"tag":138,"props":1861,"children":1862},{},[1863],{"type":46,"value":1864},"Say nothing about config when the values are populated.",{"type":41,"tag":152,"props":1866,"children":1868},{"id":1867},"interactions-with-other-skills",[1869],{"type":46,"value":1870},"Interactions with other skills",{"type":41,"tag":372,"props":1872,"children":1873},{},[1874,1906,1931],{"type":41,"tag":53,"props":1875,"children":1876},{},[1877,1882,1884,1889,1891,1897,1899,1904],{"type":41,"tag":144,"props":1878,"children":1879},{},[1880],{"type":46,"value":1881},"Upstream inputs",{"type":46,"value":1883}," come from ",{"type":41,"tag":59,"props":1885,"children":1887},{"className":1886},[],[1888],{"type":46,"value":505},{"type":46,"value":1890}," (per-requirement gap analysis) and ",{"type":41,"tag":59,"props":1892,"children":1894},{"className":1893},[],[1895],{"type":46,"value":1896},"gap-surfacer",{"type":46,"value":1898}," (the tracker). Carry their source tags and ",{"type":41,"tag":59,"props":1900,"children":1902},{"className":1901},[],[1903],{"type":46,"value":108},{"type":46,"value":1905}," flags through.",{"type":41,"tag":53,"props":1907,"children":1908},{},[1909,1914,1916,1922,1924,1930],{"type":41,"tag":144,"props":1910,"children":1911},{},[1912],{"type":46,"value":1913},"Gap tracker state:",{"type":46,"value":1915}," this skill does NOT change the tracker. It doesn't mark the gap closed, doesn't mark it in-progress, doesn't touch ",{"type":41,"tag":59,"props":1917,"children":1919},{"className":1918},[],[1920],{"type":46,"value":1921},"notified",{"type":46,"value":1923},". If you want a paper trail that a redraft exists, the policy owner or the user can update the gap entry with a resolution note when the redraft is applied and approved — see ",{"type":41,"tag":59,"props":1925,"children":1927},{"className":1926},[],[1928],{"type":46,"value":1929},"\u002Fregulatory-legal:gaps --close",{"type":46,"value":238},{"type":41,"tag":53,"props":1932,"children":1933},{},[1934,1939,1941,1947],{"type":41,"tag":144,"props":1935,"children":1936},{},[1937],{"type":46,"value":1938},"Severity floor:",{"type":46,"value":1940}," if the upstream gap is 🔴 or 🟠, the memo's Bottom line carries that severity. Silent demotion is a contradiction a reviewing lawyer cannot see. See CLAUDE.md ",{"type":41,"tag":59,"props":1942,"children":1944},{"className":1943},[],[1945],{"type":46,"value":1946},"## Cross-skill severity floor",{"type":46,"value":238},{"type":41,"tag":152,"props":1949,"children":1951},{"id":1950},"close-with-the-next-steps-decision-tree",[1952],{"type":46,"value":1953},"Close with the next-steps decision tree",{"type":41,"tag":138,"props":1955,"children":1956},{},[1957],{"type":46,"value":1958},"Included in the output template above. Customize the options to what the redraft actually produced — if the rule status is unverified, option 2 (get more info) moves up; if the policy owner isn't set, option 3 (escalate) gets specific.",{"type":41,"tag":152,"props":1960,"children":1962},{"id":1961},"what-this-skill-does-not-do",[1963],{"type":46,"value":1964},"What this skill does not do",{"type":41,"tag":372,"props":1966,"children":1967},{},[1968,1973,1978,1983,1996],{"type":41,"tag":53,"props":1969,"children":1970},{},[1971],{"type":46,"value":1972},"Apply the redraft to the source policy. That's the policy owner's action.",{"type":41,"tag":53,"props":1974,"children":1975},{},[1976],{"type":46,"value":1977},"Close the gap in the tracker. Gaps close when the redraft is applied and approved.",{"type":41,"tag":53,"props":1979,"children":1980},{},[1981],{"type":46,"value":1982},"Rewrite the whole policy. Smallest-possible edit to close the gap.",{"type":41,"tag":53,"props":1984,"children":1985},{},[1986,1988,1994],{"type":46,"value":1987},"Produce multi-policy redrafts. One gap, one policy, one memo. A ",{"type":41,"tag":59,"props":1989,"children":1991},{"className":1990},[],[1992],{"type":46,"value":1993},":package",{"type":46,"value":1995}," command for multi-policy fan-out is a future skill.",{"type":41,"tag":53,"props":1997,"children":1998},{},[1999,2001,2007],{"type":46,"value":2000},"Produce the \"apply\" workflow. An ",{"type":41,"tag":59,"props":2002,"children":2004},{"className":2003},[],[2005],{"type":46,"value":2006},":apply",{"type":46,"value":2008}," command with an approval gate is a future skill.",{"type":41,"tag":2010,"props":2011,"children":2012},"style",{},[2013],{"type":46,"value":2014},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2016,"total":2201},[2017,2038,2052,2064,2083,2094,2115,2135,2149,2164,2172,2185],{"slug":2018,"name":2018,"fn":2019,"description":2020,"org":2021,"tags":2022,"stars":2035,"repoUrl":2036,"updatedAt":2037},"algorithmic-art","create algorithmic art with p5.js","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2023,2026,2029,2032],{"name":2024,"slug":2025,"type":16},"Creative","creative",{"name":2027,"slug":2028,"type":16},"Design","design",{"name":2030,"slug":2031,"type":16},"Generative Art","generative-art",{"name":2033,"slug":2034,"type":16},"JavaScript","javascript",161831,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","2026-04-06T17:56:15.455818",{"slug":2039,"name":2039,"fn":2040,"description":2041,"org":2042,"tags":2043,"stars":2035,"repoUrl":2036,"updatedAt":2051},"brand-guidelines","apply Anthropic brand colors and typography","Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2044,2047,2048],{"name":2045,"slug":2046,"type":16},"Branding","branding",{"name":2027,"slug":2028,"type":16},{"name":2049,"slug":2050,"type":16},"Typography","typography","2026-04-06T17:56:05.042852",{"slug":2053,"name":2053,"fn":2054,"description":2055,"org":2056,"tags":2057,"stars":2035,"repoUrl":2036,"updatedAt":2063},"canvas-design","create posters and visual art as PNG or PDF","Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2058,2059,2060],{"name":2024,"slug":2025,"type":16},{"name":2027,"slug":2028,"type":16},{"name":2061,"slug":2062,"type":16},"PDF","pdf","2026-04-06T17:56:03.794732",{"slug":2065,"name":2065,"fn":2066,"description":2067,"org":2068,"tags":2069,"stars":2035,"repoUrl":2036,"updatedAt":2082},"claude-api","build apps with the Claude API","Reference for the Claude API \u002F Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration.\nTRIGGER — read BEFORE opening the target file; don't skip because it \"looks like a one-liner\" — whenever: the prompt names Claude\u002FAnthropic in any form (Claude, Anthropic, Fable, Opus, Sonnet, Haiku, `anthropic`, `@anthropic-ai`, `claude-*`, `us.anthropic.*`, `[1m]`); the user asks about an LLM (pricing\u002Fmodel choice\u002Flimits\u002Fcaching) — never answer from memory; OR the task is LLM-shaped with provider unstated (agent\u002FMCP\u002Ftool-definition\u002Fmulti-agent\u002FRAG\u002FLLM-judge\u002Fcomputer-use; generate\u002Fsummarize\u002Fextract\u002Fclassify\u002Frewrite\u002Fconverse over NL; debugging refusals\u002Fcutoffs\u002Fstreaming\u002Ftool-calls\u002Ftokens).\nSKIP only when another provider is being worked on (overrides all triggers): OpenAI\u002FGPT\u002FGemini\u002FLlama\u002FMistral\u002FCohere\u002FOllama named in the query; OR `grep -rE 'openai|langchain_openai|google.generativeai|genai|mistralai|cohere|ollama'` over the project hits (run this grep FIRST if no provider named — don't Read the file).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2070,2073,2074,2077,2079],{"name":2071,"slug":2072,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":2075,"slug":2076,"type":16},"Anthropic SDK","anthropic-sdk",{"name":2078,"slug":2065,"type":16},"Claude API",{"name":2080,"slug":2081,"type":16},"LLM","llm","2026-07-28T05:36:08.213335",{"slug":2084,"name":2084,"fn":2085,"description":2086,"org":2087,"tags":2088,"stars":2035,"repoUrl":2036,"updatedAt":2093},"doc-coauthoring","co-author documentation and technical specs","Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2089,2092],{"name":2090,"slug":2091,"type":16},"Documentation","documentation",{"name":14,"slug":15,"type":16},"2026-04-06T17:56:14.18897",{"slug":2095,"name":2095,"fn":2096,"description":2097,"org":2098,"tags":2099,"stars":2035,"repoUrl":2036,"updatedAt":2114},"docx","create and edit Word documents","Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2100,2103,2105,2108,2111],{"name":2101,"slug":2102,"type":16},"Documents","documents",{"name":2104,"slug":2095,"type":16},"DOCX",{"name":2106,"slug":2107,"type":16},"Office","office",{"name":2109,"slug":2110,"type":16},"Templates","templates",{"name":2112,"slug":2113,"type":16},"Word","word","2026-07-18T05:16:23.136271",{"slug":2116,"name":2116,"fn":2117,"description":2118,"org":2119,"tags":2120,"stars":2035,"repoUrl":2036,"updatedAt":2134},"frontend-design","design production-grade frontend interfaces","Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2121,2122,2125,2128,2131],{"name":2027,"slug":2028,"type":16},{"name":2123,"slug":2124,"type":16},"Frontend","frontend",{"name":2126,"slug":2127,"type":16},"React","react",{"name":2129,"slug":2130,"type":16},"Tailwind CSS","tailwind-css",{"name":2132,"slug":2133,"type":16},"UI Components","ui-components","2026-04-06T17:56:16.723469",{"slug":2136,"name":2136,"fn":2137,"description":2138,"org":2139,"tags":2140,"stars":2035,"repoUrl":2036,"updatedAt":2148},"internal-comms","write internal company communications","A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2141,2144,2145],{"name":2142,"slug":2143,"type":16},"Communications","communications",{"name":2109,"slug":2110,"type":16},{"name":2146,"slug":2147,"type":16},"Writing","writing","2026-04-06T17:56:20.695522",{"slug":2150,"name":2150,"fn":2151,"description":2152,"org":2153,"tags":2154,"stars":2035,"repoUrl":2036,"updatedAt":2163},"mcp-builder","build MCP servers","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node\u002FTypeScript (MCP SDK).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2155,2156,2159,2160],{"name":2071,"slug":2072,"type":16},{"name":2157,"slug":2158,"type":16},"API Development","api-development",{"name":2080,"slug":2081,"type":16},{"name":2161,"slug":2162,"type":16},"MCP","mcp","2026-04-06T17:56:10.357665",{"slug":2062,"name":2062,"fn":2165,"description":2166,"org":2167,"tags":2168,"stars":2035,"repoUrl":2036,"updatedAt":2171},"read edit and manipulate PDF files","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2169,2170],{"name":2101,"slug":2102,"type":16},{"name":2061,"slug":2062,"type":16},"2026-04-06T17:56:02.483316",{"slug":2173,"name":2173,"fn":2174,"description":2175,"org":2176,"tags":2177,"stars":2035,"repoUrl":2036,"updatedAt":2184},"pptx","create and edit PowerPoint presentations","Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2178,2181],{"name":2179,"slug":2180,"type":16},"PowerPoint","powerpoint",{"name":2182,"slug":2183,"type":16},"Presentations","presentations","2026-07-18T05:16:24.1471",{"slug":2186,"name":2186,"fn":2187,"description":2188,"org":2189,"tags":2190,"stars":2035,"repoUrl":2036,"updatedAt":2200},"skill-creator","create and optimize agent skills","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2191,2192,2193,2196,2199],{"name":2071,"slug":2072,"type":16},{"name":2090,"slug":2091,"type":16},{"name":2194,"slug":2195,"type":16},"Evals","evals",{"name":2197,"slug":2198,"type":16},"Performance","performance",{"name":14,"slug":15,"type":16},"2026-04-19T06:45:40.804",490,{"items":2203,"total":2295},[2204,2218,2235,2250,2260,2271,2282],{"slug":2205,"name":2205,"fn":2206,"description":2207,"org":2208,"tags":2209,"stars":23,"repoUrl":24,"updatedAt":2217},"ai-inventory","track AI systems for EU AI Act","EU AI Act per-system inventory — track each AI system's role (provider, deployer, importer, distributor, authorized representative, product manufacturer) and risk tier (prohibited, high-risk, limited, minimal, GPAI, GPAI+systemic). Role and tier are assessed per system, not per company. Use when the user says \"ai inventory\", \"add an ai system\", \"what systems do we have\", \"classify this ai system\", \"eu ai act register\", or \"ai system registry\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2210,2213,2216],{"name":2211,"slug":2212,"type":16},"Compliance","compliance",{"name":2214,"slug":2215,"type":16},"Governance","governance",{"name":21,"slug":22,"type":16},"2026-05-14T06:02:19.677579",{"slug":2219,"name":2219,"fn":2220,"description":2221,"org":2222,"tags":2223,"stars":23,"repoUrl":24,"updatedAt":2234},"ai-tool-handoff","manage handoff to bulk legal review tools","Detects when Luminance, Kira, or a similar bulk-review tool is in use, hands off the high-volume clause extraction to it, and QAs its output per the trust level in `~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fcorporate-legal\u002FCLAUDE.md`. Use when user says \"send to Luminance\", \"bulk review\", \"AI extraction\", or when diligence-issue-extraction hits a high-volume category.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2224,2227,2230,2231],{"name":2225,"slug":2226,"type":16},"Automation","automation",{"name":2228,"slug":2229,"type":16},"Contracts","contracts",{"name":21,"slug":22,"type":16},{"name":2232,"slug":2233,"type":16},"QA","qa","2026-05-14T06:01:31.00555",{"slug":2236,"name":2236,"fn":2237,"description":2238,"org":2239,"tags":2240,"stars":23,"repoUrl":24,"updatedAt":2249},"aia-generation","run AI impact assessments","Run an AI impact assessment — structured intake, risk analysis, regulatory classification per regime in scope, policy consistency diff, and recommendation with conditions. Uses the house-style structure learned from the seed impact assessment in `~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fai-governance-legal\u002FCLAUDE.md`. Use when user says \"impact assessment for\", \"assess this AI use case\", \"run an AIA\", \"generate an AIA\", \"we need to document this AI system\", \"AI risk assessment for X\", or follows a conditional triage result.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2241,2242,2243,2246],{"name":21,"slug":22,"type":16},{"name":18,"slug":19,"type":16},{"name":2244,"slug":2245,"type":16},"Regulatory Compliance","regulatory-compliance",{"name":2247,"slug":2248,"type":16},"Risk Assessment","risk-assessment","2026-05-13T06:03:19.61029",{"slug":2251,"name":2251,"fn":2252,"description":2253,"org":2254,"tags":2255,"stars":23,"repoUrl":24,"updatedAt":2259},"amendment-history","trace contract amendment history","Trace how a contract has changed across its base agreement and all amendments — either a summary of all changes over time, or a provision trace for a specific clause. Use when the user says \"what changed in this contract over time\", \"show me the amendment history\", \"where's the latest [clause]\", \"how has [provision] evolved\", or uploads multiple versions of an agreement.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2256,2257,2258],{"name":2228,"slug":2229,"type":16},{"name":2101,"slug":2102,"type":16},{"name":21,"slug":22,"type":16},"2026-05-13T06:03:34.070339",{"slug":2261,"name":2261,"fn":2262,"description":2263,"org":2264,"tags":2265,"stars":23,"repoUrl":24,"updatedAt":2270},"auto-updater","check for community skill updates","Check installed community skills for updates. Shows a diff and requires explicit approval before applying. Use when the user says \"check for updates\", \"update my skills\", \"anything new for my installed skills\", or when invoked from the registry-sync agent.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2266,2267],{"name":2225,"slug":2226,"type":16},{"name":2268,"slug":2269,"type":16},"Plugin Development","plugin-development","2026-05-13T06:02:55.642269",{"slug":2272,"name":2272,"fn":2273,"description":2274,"org":2275,"tags":2276,"stars":23,"repoUrl":24,"updatedAt":2281},"bar-prep-questions","provide bar exam practice questions","Bar prep questions — MBE or essay, targeted at your weak subjects and bar jurisdiction. Tracks misses and comes back to patterns. Use when the user says \"bar prep\", \"MBE questions\", \"practice essay\", or \"test me for the bar\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2277,2280],{"name":2278,"slug":2279,"type":16},"Education","education",{"name":21,"slug":22,"type":16},"2026-07-24T05:41:43.01243",{"slug":2283,"name":2283,"fn":2284,"description":2285,"org":2286,"tags":2287,"stars":23,"repoUrl":24,"updatedAt":2294},"board-minutes","draft board and committee meeting minutes","Drafts board or committee meeting minutes in your house format. Auto-detects upcoming board and committee meetings from your calendar, asks for the agenda and any slides or pre-read materials, and produces a complete draft in the format learned from your seed minutes. Also handles written consents in lieu of meetings. Trigger: \"board minutes\", \"draft minutes\", \"upcoming board meeting\", \"committee minutes\", \"written consent\", or calendar detection of an upcoming board or committee event.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2288,2289,2290,2291],{"name":2090,"slug":2091,"type":16},{"name":2214,"slug":2215,"type":16},{"name":21,"slug":22,"type":16},{"name":2292,"slug":2293,"type":16},"Meetings","meetings","2026-05-14T06:01:29.792942",118]