[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-anthropic-portfolio":3,"mdc--qyp1j1-key":34,"related-repo-anthropic-portfolio":3068,"related-org-anthropic-portfolio":3166},{"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},"portfolio","track and audit IP portfolios","Track the IP portfolio — registrations, renewals, maintenance fees, and use declarations. Use when checking what's renewing, adding or updating an asset, recording a maintenance filing, or auditing the register for gaps, lapses, and use-in-commerce questions. Receives handoffs from prosecution and clearance work.\n",{"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},"Audit","audit","tag",{"name":18,"slug":19,"type":16},"Documents","documents",{"name":21,"slug":22,"type":16},"Legal","legal",8721,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-for-legal","2026-05-14T06:00:44.332588",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\u002Fip-legal\u002Fskills\u002Fportfolio","---\nname: portfolio\ndescription: >\n  Track the IP portfolio — registrations, renewals, maintenance fees, and use\n  declarations. Use when checking what's renewing, adding or updating an\n  asset, recording a maintenance filing, or auditing the register for gaps,\n  lapses, and use-in-commerce questions. Receives handoffs from prosecution\n  and clearance work.\nargument-hint: \"[--report [--days N] | --add | --update | --audit]\"\n---\n\n# \u002Fportfolio\n\nSurfaces what's renewing, adds assets, records filings, and audits the register.\n\n## Instructions\n\n1. **Follow the workflow below** and read\n   `~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fip-legal\u002Fportfolio.yaml`.\n\n2. **Default (no args):** equivalent to `--report` — show deadlines in the\n   next 90 days grouped by urgency (🔴 lapsed\u002Fgrace, ⏰ due within window,\n   🟡 upcoming, 🌐 agent-managed, ❓ unknown).\n\n3. **`--report [--days N]`:** Mode 2. Change the window with `--days`\n   (30 \u002F 60 \u002F 90 \u002F 180 typical). Always prepend the work-product header\n   per CLAUDE.md → Outputs. Always close with the verification caveat.\n\n4. **`--add`:** Mode 3. Walk through a new asset interactively — type,\n   jurisdiction, number, dates, owner, business owner. Capture a custom\n   rule if the jurisdiction isn't built in.\n\n5. **`--update`:** Mode 4. Record that a maintenance filing or fee payment\n   was made, sync with the IP management system, or change an asset's\n   status. Enforce the consequential-action gate before setting any\n   deadline to `filed`.\n\n6. **`--audit`:** Mode 5. Broader health check — deadline hygiene,\n   registration gaps, use-in-commerce questions on §8-approaching marks,\n   owner inconsistencies, expiration horizon, unwatched marks.\n\n7. **If the register is empty and an IP management system is connected:**\n   Offer Mode 1 — pull the portfolio from the system of record and\n   initialise the register.\n\n8. **Guardrail reminder:** Computed deadlines are reference only. Every\n   output closes with a line directing verification against the USPTO\n   TSDR, WIPO, or relevant registry before filing or paying. A\n   docketed-but-wrong deadline creates false confidence; do not let the\n   user treat this as the system of record unless the IP management\n   system is sync-integrated.\n\n## Examples\n\n```\n\u002Fip-legal:portfolio\n```\n\n```\n\u002Fip-legal:portfolio --report --days 180\n```\n\n```\n\u002Fip-legal:portfolio --add\n```\n\n```\n\u002Fip-legal:portfolio --update\n```\n\n```\n\u002Fip-legal:portfolio --audit\n```\n\n---\n\n## Works better connected\n\nThis skill tracks deadlines from what you tell it. It works much better\nconnected to:\n\n- **An IP management system (IPMS) via MCP** — Anaqua, Clarivate IPfolio,\n  AppColl, Patrix, Alt Legal, FoundationIP. A connected IPMS gives you the\n  full docket, maintenance fee schedules, and incoming correspondence in one\n  place, instead of the register being whatever the lawyer remembers to\n  paste. Ask your IPMS vendor if they have an MCP connector, or see\n  `CONNECTORS.md` at the repo root for how to get one added.\n- **USPTO directly via customer number** — pulls status, deadlines, and\n  correspondence for your whole portfolio rather than one application at a\n  time. Not currently available as an MCP; on the wish list in\n  `CONNECTORS.md`.\n\nWithout either, paste your docket or upload a spreadsheet and I'll track from\nthere.\n\n## Purpose\n\nA trademark registration that isn't renewed on time can be cancelled. A patent\nwithout its maintenance fee paid lapses. A domain that expires can be sniped\nwithin the hour. All of this is avoidable, and all of it depends on one thing:\nthe right deadline is on someone's calendar, tied to the right registration\nnumber, in the right jurisdiction.\n\nThis skill maintains that calendar.\n\n## Important: deadline reference caveat\n\n> The deadline rules this skill applies reflect publicly available requirements\n> as of the skill's build date. IP office requirements, grace periods, fee\n> structures, and maintenance schedules change. **Always confirm computed\n> deadlines against the USPTO TSDR \u002F Patent Center, WIPO Madrid Monitor \u002F\n> Patentscope, EUIPO eSearch, UKIPO online records, or the relevant national\n> registry before acting.** If you use Anaqua, CPA Global, Clarivate, Alt Legal,\n> or another IP management system, their docket is authoritative for your\n> assets — use this tracker to organize and surface their data, not to replace\n> it.\n>\n> A docketed-but-wrong deadline is worse than an undocketed one: it creates\n> false confidence. \"No deadline soon\" outputs especially deserve a second\n> look before you rely on them.\n\n## Jurisdiction and type assumptions\n\nMaintenance mechanics vary by jurisdiction and asset type:\n\n- **US trademarks:** §8 Declaration of Use between 5th and 6th anniversary of\n  registration (or §71 for Madrid designations), then combined §8\u002F§9 renewal\n  at 10 years and every 10 years thereafter. §15 Incontestability available\n  after 5 years of continuous use. 6-month grace period with surcharge for §8\n  and §9; no grace for the underlying use itself.\n- **Madrid International trademarks:** 10-year registration term renewable at\n  WIPO; individual designated countries may have local use or declaration\n  requirements (e.g., US §71).\n- **EUIPO trademarks:** 10-year renewal; 6-month grace with surcharge.\n- **US utility patents:** Maintenance fees due at 3.5, 7.5, and 11.5 years\n  from grant. 6-month grace window with surcharge; after that, potential\n  revival by petition if lapse was unintentional.\n- **US design patents:** No maintenance fees — 15-year term from grant for\n  applications filed on or after May 13, 2015 (14 years if earlier). No action\n  required mid-term.\n- **EPO \u002F national patents:** Annuities typically due annually from filing or\n  from national phase entry. National rules vary — confirm per jurisdiction.\n- **US copyright:** No maintenance for works created 1978 or later.\n  Pre-1978 works may have had renewal obligations; flag for attorney review\n  if the asset pre-dates 1964 (rarely in scope for modern portfolios).\n- **Domains:** Annual or multi-year renewal per registrar; typical 30-day\n  grace then redemption period (~30 days at high fee) then drop.\n\nIf the portfolio includes assets in jurisdictions not listed above, capture\nthe maintenance mechanic in the register's `custom_rules` block and the\nreport will surface them as `agent_managed` — confirm status with the\nforeign associate rather than computing a date this skill doesn't understand.\n\n---\n\n## The register\n\nLives at `~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fip-legal\u002Fportfolio.yaml`.\nStructure:\n\n```yaml\n# IP Portfolio Register\n# Generated: [date]\n# Last updated: [date]\n# Disclaimer: computed deadlines are reference only — confirm with USPTO\u002FWIPO\u002F\n# relevant registry or the IP management system of record before acting.\n\nmetadata:\n  company: \"[Company Name]\"\n  generated: \"[date]\"\n  last_updated: \"[date]\"\n  last_audit: \"[date or null]\"\n  source_system: \"[Anaqua \u002F CPA Global \u002F manual \u002F none]\"\n\ncustom_rules:   # non-built-in jurisdictions captured manually\n  []\n\nassets:\n  - id: \"TM-US-001\"\n    type: \"trademark\"                          # trademark \u002F patent \u002F copyright \u002F design \u002F domain\n    jurisdiction: \"US\"\n    mark_or_title: \"[Mark or title]\"\n    owner: \"[Record owner — registered entity name]\"\n    status: \"registered\"                       # pending \u002F registered \u002F lapsed \u002F abandoned \u002F cancelled\n    application_number: \"[number or null]\"\n    registration_number: \"[number or null]\"\n    classes: [\"9\", \"42\"]                       # Nice classes for TM; CPC\u002FIPC for patents; null otherwise\n    filing_date: \"[YYYY-MM-DD or null]\"\n    registration_date: \"[YYYY-MM-DD or null]\"\n    priority_date: \"[YYYY-MM-DD or null]\"\n    grant_date: \"[YYYY-MM-DD or null]\"         # patents\n    next_deadlines:                            # computed; refreshed on --report and --audit\n      - type: \"§8 Declaration of Use\"\n        due_date: \"[YYYY-MM-DD]\"\n        grace_end: \"[YYYY-MM-DD or null]\"\n        basis: \"5th-6th anniversary of registration\"\n        action: \"File §8 Declaration of Use (or excusable nonuse)\"\n        status: \"upcoming\"                     # upcoming \u002F due_soon \u002F overdue \u002F grace \u002F filed\n    use_in_commerce: true                      # TM only — drives §8 analysis\n    agent_managed: false                       # true for foreign associate \u002F outside counsel managed\n    local_agent: null\n    docket_id: \"[IP-mgmt-system ID or null]\"\n    outside_counsel: \"[firm or null]\"\n    business_owner: \"[email or team]\"\n    notes: \"\"\n\n  - id: \"PAT-US-001\"\n    type: \"patent\"\n    jurisdiction: \"US\"\n    mark_or_title: \"[Invention title]\"\n    owner: \"[Owner]\"\n    status: \"granted\"\n    application_number: \"[number]\"\n    registration_number: \"[patent number]\"\n    filing_date: \"[YYYY-MM-DD]\"\n    grant_date: \"[YYYY-MM-DD]\"\n    priority_date: \"[YYYY-MM-DD or null]\"\n    expiration_date: \"[YYYY-MM-DD]\"            # 20 years from earliest non-provisional filing\n    next_deadlines:\n      - type: \"3.5-year maintenance fee\"\n        due_date: \"[YYYY-MM-DD]\"\n        grace_end: \"[YYYY-MM-DD]\"\n        basis: \"3.5 years from grant\"\n        action: \"Pay maintenance fee (small\u002Fmicro entity if applicable)\"\n        status: \"upcoming\"\n    claims_count: 20\n    entity_size: \"large\"                       # large \u002F small \u002F micro (drives USPTO fees)\n    docket_id: null\n    outside_counsel: null\n    business_owner: null\n    notes: \"\"\n```\n\nStatus values for `next_deadlines`:\n- `upcoming` — more than 90 days out\n- `due_soon` — due within 90 days, not yet filed\n- `overdue` — past the primary due date, within grace window (if any)\n- `grace` — in the grace period (explicit flag — carries surcharge)\n- `lapsed` — past grace with no action; asset effectively lost unless revivable\n- `filed` — action completed this cycle\n\n---\n\n## Mode 1: Initialise\n\nRun when no register exists, or with `--rebuild`.\n\n### Step 1: Determine the source\n\nRead `~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fip-legal\u002FCLAUDE.md`:\n- **IP management system connected** (Anaqua, CPA Global, etc.): pull the portfolio via its integration. The IP system is the authoritative source; this register mirrors it and adds no deadlines the system doesn't already have.\n- **No IP management system, but spreadsheet \u002F export available:** ask the user to share the export. Import what's present; flag any asset missing a registration or grant date as `unknown` for deadline computation.\n- **Nothing at hand:** walk through assets interactively — type, jurisdiction, number, key dates, owner.\n\n### Step 2: For each asset, compute deadlines\n\nApply the rules at the top of this file. Populate `next_deadlines` with the\ntwo or three closest upcoming items — further-out deadlines (10-year renewals\ndecades away) are computed on demand during reports rather than stored\nspeculatively.\n\n**For assets the skill cannot confidently schedule:**\n- Unknown jurisdiction rules → add a stub under `custom_rules` and flag the\n  asset `agent_managed: true` with a TODO to confirm with the foreign associate.\n- Missing dates needed for computation (no grant date for a patent, no\n  registration date for a TM) → set `next_deadlines` empty with a note in\n  `notes`, and list the asset as `unknown` in the initialisation summary.\n\n### Step 3: Write the register\n\nGenerate `portfolio.yaml` at the config path. Show a summary:\n\n```\nPortfolio register initialised.\n\nAssets: [N]\n  Trademarks: [N]   ([N registered] \u002F [N pending])\n  Patents:    [N]   ([N granted] \u002F [N pending])\n  Copyrights: [N]\n  Designs:    [N]\n  Domains:    [N]\n\nDeadlines computed: [N]\nAgent-managed \u002F jurisdiction TBC: [N] — confirm with foreign associates\nUnknown (missing key dates): [N] — fill in before relying on reports\n\nRun \u002Fip-legal:portfolio --report to see what's due.\n```\n\n---\n\n## Mode 2: Report\n\n```\n\u002Fip-legal:portfolio --report [--days 30|60|90|180]\n```\n\nDefault window: 90 days. Refresh computed deadlines for every asset before\nproducing the report — don't rely on stored dates alone.\n\nOutput (prepend work-product header per `~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fip-legal\u002FCLAUDE.md` → Outputs):\n\n```\nIP PORTFOLIO DEADLINE REPORT — [date]\n[Company Name] — window: next [N] days\n\n🔴 LAPSED \u002F IN GRACE ([N])\n  [Asset ID] \u002F [Jurisdiction] \u002F [Type] \u002F [Mark or title]\n    [Action] — original due [date], grace ends [date]\n    Status: [grace \u002F lapsed]\n\n⏰ DUE WITHIN [N] DAYS ([N])\n  [Asset ID] \u002F [Jurisdiction] \u002F [Type] \u002F [Mark or title]\n    [Action] — due [date]\n    Basis: [e.g., \"5th-6th anniversary of registration\"]\n    [Agent: firm \u002F docket: id — if present]\n\n🟡 UPCOMING (next window beyond 30 days, within [N] days)\n  [list]\n\n🌐 AGENT-MANAGED ([N])\n  [Asset ID] \u002F [Jurisdiction] — managed by [local agent]; confirm directly\n  [Asset ID] \u002F [Jurisdiction] — no local agent recorded; add with --update\n\n❓ UNKNOWN ([N])\n  [Asset ID] — missing [field]; cannot compute deadline\n  Confirm with [IP management system \u002F USPTO TSDR \u002F relevant registry] before relying on this report.\n\nSUMMARY\n  Total assets tracked: [N]\n  Deadlines in window: [N]\n  Last audit: [date]\n```\n\nClose the report with the caveat line: *\"Computed from portfolio register. Verify each deadline against the USPTO\u002FWIPO\u002Fregistry of record before filing or paying.\"*\n\nIf the report lists more than ~10 assets, or any time the user asks: offer the dashboard (see CLAUDE.md `## Outputs → Dashboard offer for data-heavy outputs`). Shape the offer for this output — counts by registration status (live \u002F in grace \u002F lapsed \u002F pending), a deadline timeline, and a sortable portfolio table with jurisdiction, type, and next-action date.\n\n---\n\n## Mode 3: Add\n\n```\n\u002Fip-legal:portfolio --add\n```\n\nInteractive add of a single asset. Ask for:\n1. Type (trademark \u002F patent \u002F copyright \u002F design \u002F domain)\n2. Jurisdiction\n3. Mark or title \u002F invention name\n4. Owner (record owner — matters for §8 filings and assignments)\n5. Key dates (per type: filing, registration, grant, priority, expiration)\n6. Number(s)\n7. Classes \u002F claims count\n8. Source — is this being tracked in the IP management system under a docket ID?\n9. Outside counsel \u002F foreign associate, if any\n10. Business owner (who does this matter to — product line, brand manager)\n\nAfter capture:\n- Compute next deadlines per the rules at the top of this file.\n- If jurisdiction rules aren't built in, walk through the `custom_rules` capture flow (see below).\n- Append to `assets:` in `portfolio.yaml`.\n\n### Custom rules capture\n\nWhen a jurisdiction isn't in the built-in list:\n\n> I don't have maintenance rules for [Jurisdiction] \u002F [Asset type] built in.\n> Let me capture them so we can track this going forward.\n>\n> 1. What maintenance events apply? (Renewal every N years? Annuities annually?\n>    Declarations of use? Something else?)\n> 2. What triggers the due date — filing date, registration date, grant date,\n>    national phase entry, anniversary of something else?\n> 3. Is there a grace period? At what cost?\n> 4. Is there a foreign associate or local agent managing this?\n\nStore under `custom_rules:` and apply to future assets in that jurisdiction.\n\n---\n\n## Mode 4: Update\n\n```\n\u002Fip-legal:portfolio --update\n```\n\n### Consequential-action gate\n\n**Before recording that a maintenance filing or fee payment was made:** Read\n`## Who's using this` in `~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fip-legal\u002FCLAUDE.md`. If the Role is **Non-lawyer**:\n\n> Recording a §8 declaration, a §9 renewal, a patent maintenance fee payment,\n> or an international annuity as \"filed\" has consequences. If the record is\n> wrong — missed due date, wrong entity size, wrong specimen of use — the\n> deadline doesn't move, and the asset can still lapse. Have you confirmed\n> this with the attorney or foreign associate who actually made the filing\n> (or with the USPTO TSDR \u002F WIPO Madrid Monitor \u002F relevant registry)? If yes,\n> proceed. If no:\n>\n> - Do not record as filed yet.\n> - Here is what to bring to the attorney: asset ID, jurisdiction, deadline\n>   type, what the IP management system shows, what you believe was filed and\n>   when, and the source of that belief.\n>\n> If you need to find a licensed attorney, solicitor, barrister, or other authorised legal professional in your jurisdiction: your professional regulator's referral service\n> is the fastest starting point (state bar in the US, SRA\u002FBar Standards Board in England & Wales, Law Society in Scotland\u002FNI\u002FIreland\u002FCanada\u002FAustralia, or your jurisdiction's equivalent).\n\nDo not set a deadline's `status` to `filed` past this gate without an\nexplicit yes. Status refresh, report generation, and upcoming-deadline\nsurfacing do not require the gate.\n\n### Sub-modes\n\n**Manual update:** \"We filed the §8 for TM-US-001 on March 4, specimen\nattached.\" Update the matching deadline: `status: filed`, `filed_date`,\nand compute the next deadline in its lifecycle (for §8 that's the §9\nrenewal 10 years out).\n\n**From IP management system sync:** If Anaqua \u002F CPA Global \u002F similar is\nconnected, pull the latest docket and reconcile. Flag mismatches between\nthe register and the system of record — the system of record wins; update\nthe register to match and surface anything the register had that the\nsystem doesn't.\n\n**Status change:** \"Mark TM-US-004 as abandoned.\" Update `status`, clear\n`next_deadlines`, note the date abandoned.\n\n---\n\n## Mode 5: Audit\n\n```\n\u002Fip-legal:portfolio --audit\n```\n\nBroader health check beyond this month's deadlines:\n\n**Deadline hygiene**\n- Any deadlines in `grace` status right now? (In progress but surcharge-costing.)\n- Any `lapsed` assets that aren't marked `abandoned` or `cancelled`? Either\n  revive or update status.\n- Any assets with no `next_deadlines` computed? Either missing data or a\n  jurisdiction the skill doesn't know.\n\n**Registration gaps**\n- Trademark applications filed more than 18 months ago still `pending`?\n  Flag for status check at the office — may need response to an action.\n- Patents filed more than 4 years ago still `pending`? Flag for prosecution\n  check.\n\n**Use-in-commerce (TM only)**\n- §8 approaching on a mark flagged `use_in_commerce: false` or uncertain?\n  The §8 requires use; mark needs a use audit before filing or an excusable\n  nonuse declaration.\n\n**Ownership hygiene**\n- Any assets where the `owner` is not a currently active entity per the\n  entity register (if available)? Flag — may need recordal of assignment.\n- Owner name inconsistencies across assets (same entity, different name\n  strings)? Surface for cleanup.\n\n**Expiration horizon**\n- Any patents expiring in the next 24 months? Even without a maintenance\n  deadline, the business may want to know — product planning, continuation\n  strategy, licensing window.\n\n**Unwatched assets**\n- Any registered marks not on the watch list in CLAUDE.md → Brand protection?\n  Flag as a gap for the attorney to decide whether to add.\n\nOutput format:\n\n```\nIP PORTFOLIO AUDIT — [date]\n\nDEADLINE HYGIENE\n  In grace: [N] — acting now avoids lapse\n  Lapsed (not marked abandoned): [N] — confirm status\n  Missing next-deadline computation: [N] — fill data or mark agent-managed\n\nREGISTRATION GAPS\n  TM applications pending >18 months: [list]\n  Patent applications pending >4 years: [list]\n\nUSE IN COMMERCE (TM)\n  §8 approaching on uncertain-use marks: [list]\n\nOWNERSHIP\n  Assets with unrecognised owner strings: [N]\n  Owner name inconsistencies: [list]\n\nEXPIRATION HORIZON (24 months)\n  Patents expiring: [list]\n\nBRAND WATCH\n  Registered marks not on watch list: [list]\n\nRECOMMENDED ACTIONS\n  1. [highest priority]\n  2. [etc.]\n```\n\n---\n\n## Integration: ip-renewal-watcher agent\n\nThe `ip-renewal-watcher` agent in this plugin runs this skill on a schedule\n(weekly by default) and posts the Mode 2 report to the channel named in\nCLAUDE.md → Renewal alerts. If 🔴 items appear (grace \u002F lapsed), the agent\nposts them immediately regardless of schedule.\n\n## Handoffs\n\n- Receives: new asset records from prosecution skills (when an application\n  is filed or a mark clears), from clearance skills (when a mark is adopted\n  and a filing is queued), and from assignment recordals.\n- Sends: \"file §8 now\" triggers to the attorney — this skill doesn't file\n  anything; it tells the attorney the deadline and what to bring.\n\n## What this skill does not do\n\n- It does not file anything. Every action it surfaces is for the attorney\n  or foreign associate to execute.\n- It does not verify deadlines against the USPTO TSDR, WIPO, or any other\n  registry. It computes them from the dates you give it. The register is\n  a working copy; the registry is the source of truth.\n- It does not decide whether to renew. Renewal is a business call — is the\n  mark still in use, is the patent still valuable, does the domain still\n  matter. This skill surfaces the deadline and the cost; the business and\n  the attorney decide.\n- It does not replace an IP management system for multi-hundred-asset\n  portfolios. Anaqua, CPA Global, Clarivate, Alt Legal, and similar systems\n  have direct registry feeds, deadline automation, and annuity payment\n  services. This skill is best suited for smaller portfolios, or as a\n  lightweight layer that surfaces what the system of record shows.\n- It does not read office records to verify status. A §8 shown as \"filed\"\n  here means someone told it so — not that the USPTO accepted it. Confirm\n  acceptance through TSDR or the IP management system.\n",{"data":35,"body":37},{"name":4,"description":6,"argument-hint":36},"[--report [--days N] | --add | --update | --audit]",{"type":38,"children":39},"root",[40,48,54,61,200,206,218,227,236,245,254,258,264,269,307,312,318,323,328,334,355,361,366,449,470,473,479,491,2083,2095,2162,2165,2171,2183,2190,2202,2243,2249,2261,2269,2319,2325,2338,2347,2350,2356,2365,2370,2382,2391,2402,2415,2418,2424,2432,2437,2490,2495,2534,2540,2545,2589,2602,2605,2611,2619,2625,2655,2681,2701,2707,2733,2743,2767,2770,2776,2784,2789,2797,2852,2860,2888,2896,2912,2920,2941,2949,2957,2965,2973,2978,2987,2990,2996,3009,3015,3028,3034,3062],{"type":41,"tag":42,"props":43,"children":44},"element","h1",{"id":4},[45],{"type":46,"value":47},"text","\u002Fportfolio",{"type":41,"tag":49,"props":50,"children":51},"p",{},[52],{"type":46,"value":53},"Surfaces what's renewing, adds assets, records filings, and audits the register.",{"type":41,"tag":55,"props":56,"children":58},"h2",{"id":57},"instructions",[59],{"type":46,"value":60},"Instructions",{"type":41,"tag":62,"props":63,"children":64},"ol",{},[65,86,104,128,143,165,180,190],{"type":41,"tag":66,"props":67,"children":68},"li",{},[69,75,77,84],{"type":41,"tag":70,"props":71,"children":72},"strong",{},[73],{"type":46,"value":74},"Follow the workflow below",{"type":46,"value":76}," and read\n",{"type":41,"tag":78,"props":79,"children":81},"code",{"className":80},[],[82],{"type":46,"value":83},"~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fip-legal\u002Fportfolio.yaml",{"type":46,"value":85},".",{"type":41,"tag":66,"props":87,"children":88},{},[89,94,96,102],{"type":41,"tag":70,"props":90,"children":91},{},[92],{"type":46,"value":93},"Default (no args):",{"type":46,"value":95}," equivalent to ",{"type":41,"tag":78,"props":97,"children":99},{"className":98},[],[100],{"type":46,"value":101},"--report",{"type":46,"value":103}," — show deadlines in the\nnext 90 days grouped by urgency (🔴 lapsed\u002Fgrace, ⏰ due within window,\n🟡 upcoming, 🌐 agent-managed, ❓ unknown).",{"type":41,"tag":66,"props":105,"children":106},{},[107,118,120,126],{"type":41,"tag":70,"props":108,"children":109},{},[110,116],{"type":41,"tag":78,"props":111,"children":113},{"className":112},[],[114],{"type":46,"value":115},"--report [--days N]",{"type":46,"value":117},":",{"type":46,"value":119}," Mode 2. Change the window with ",{"type":41,"tag":78,"props":121,"children":123},{"className":122},[],[124],{"type":46,"value":125},"--days",{"type":46,"value":127},"\n(30 \u002F 60 \u002F 90 \u002F 180 typical). Always prepend the work-product header\nper CLAUDE.md → Outputs. Always close with the verification caveat.",{"type":41,"tag":66,"props":129,"children":130},{},[131,141],{"type":41,"tag":70,"props":132,"children":133},{},[134,140],{"type":41,"tag":78,"props":135,"children":137},{"className":136},[],[138],{"type":46,"value":139},"--add",{"type":46,"value":117},{"type":46,"value":142}," Mode 3. Walk through a new asset interactively — type,\njurisdiction, number, dates, owner, business owner. Capture a custom\nrule if the jurisdiction isn't built in.",{"type":41,"tag":66,"props":144,"children":145},{},[146,156,158,164],{"type":41,"tag":70,"props":147,"children":148},{},[149,155],{"type":41,"tag":78,"props":150,"children":152},{"className":151},[],[153],{"type":46,"value":154},"--update",{"type":46,"value":117},{"type":46,"value":157}," Mode 4. Record that a maintenance filing or fee payment\nwas made, sync with the IP management system, or change an asset's\nstatus. Enforce the consequential-action gate before setting any\ndeadline to ",{"type":41,"tag":78,"props":159,"children":161},{"className":160},[],[162],{"type":46,"value":163},"filed",{"type":46,"value":85},{"type":41,"tag":66,"props":166,"children":167},{},[168,178],{"type":41,"tag":70,"props":169,"children":170},{},[171,177],{"type":41,"tag":78,"props":172,"children":174},{"className":173},[],[175],{"type":46,"value":176},"--audit",{"type":46,"value":117},{"type":46,"value":179}," Mode 5. Broader health check — deadline hygiene,\nregistration gaps, use-in-commerce questions on §8-approaching marks,\nowner inconsistencies, expiration horizon, unwatched marks.",{"type":41,"tag":66,"props":181,"children":182},{},[183,188],{"type":41,"tag":70,"props":184,"children":185},{},[186],{"type":46,"value":187},"If the register is empty and an IP management system is connected:",{"type":46,"value":189},"\nOffer Mode 1 — pull the portfolio from the system of record and\ninitialise the register.",{"type":41,"tag":66,"props":191,"children":192},{},[193,198],{"type":41,"tag":70,"props":194,"children":195},{},[196],{"type":46,"value":197},"Guardrail reminder:",{"type":46,"value":199}," Computed deadlines are reference only. Every\noutput closes with a line directing verification against the USPTO\nTSDR, WIPO, or relevant registry before filing or paying. A\ndocketed-but-wrong deadline creates false confidence; do not let the\nuser treat this as the system of record unless the IP management\nsystem is sync-integrated.",{"type":41,"tag":55,"props":201,"children":203},{"id":202},"examples",[204],{"type":46,"value":205},"Examples",{"type":41,"tag":207,"props":208,"children":212},"pre",{"className":209,"code":211,"language":46},[210],"language-text","\u002Fip-legal:portfolio\n",[213],{"type":41,"tag":78,"props":214,"children":216},{"__ignoreMap":215},"",[217],{"type":46,"value":211},{"type":41,"tag":207,"props":219,"children":222},{"className":220,"code":221,"language":46},[210],"\u002Fip-legal:portfolio --report --days 180\n",[223],{"type":41,"tag":78,"props":224,"children":225},{"__ignoreMap":215},[226],{"type":46,"value":221},{"type":41,"tag":207,"props":228,"children":231},{"className":229,"code":230,"language":46},[210],"\u002Fip-legal:portfolio --add\n",[232],{"type":41,"tag":78,"props":233,"children":234},{"__ignoreMap":215},[235],{"type":46,"value":230},{"type":41,"tag":207,"props":237,"children":240},{"className":238,"code":239,"language":46},[210],"\u002Fip-legal:portfolio --update\n",[241],{"type":41,"tag":78,"props":242,"children":243},{"__ignoreMap":215},[244],{"type":46,"value":239},{"type":41,"tag":207,"props":246,"children":249},{"className":247,"code":248,"language":46},[210],"\u002Fip-legal:portfolio --audit\n",[250],{"type":41,"tag":78,"props":251,"children":252},{"__ignoreMap":215},[253],{"type":46,"value":248},{"type":41,"tag":255,"props":256,"children":257},"hr",{},[],{"type":41,"tag":55,"props":259,"children":261},{"id":260},"works-better-connected",[262],{"type":46,"value":263},"Works better connected",{"type":41,"tag":49,"props":265,"children":266},{},[267],{"type":46,"value":268},"This skill tracks deadlines from what you tell it. It works much better\nconnected to:",{"type":41,"tag":270,"props":271,"children":272},"ul",{},[273,291],{"type":41,"tag":66,"props":274,"children":275},{},[276,281,283,289],{"type":41,"tag":70,"props":277,"children":278},{},[279],{"type":46,"value":280},"An IP management system (IPMS) via MCP",{"type":46,"value":282}," — Anaqua, Clarivate IPfolio,\nAppColl, Patrix, Alt Legal, FoundationIP. A connected IPMS gives you the\nfull docket, maintenance fee schedules, and incoming correspondence in one\nplace, instead of the register being whatever the lawyer remembers to\npaste. Ask your IPMS vendor if they have an MCP connector, or see\n",{"type":41,"tag":78,"props":284,"children":286},{"className":285},[],[287],{"type":46,"value":288},"CONNECTORS.md",{"type":46,"value":290}," at the repo root for how to get one added.",{"type":41,"tag":66,"props":292,"children":293},{},[294,299,301,306],{"type":41,"tag":70,"props":295,"children":296},{},[297],{"type":46,"value":298},"USPTO directly via customer number",{"type":46,"value":300}," — pulls status, deadlines, and\ncorrespondence for your whole portfolio rather than one application at a\ntime. Not currently available as an MCP; on the wish list in\n",{"type":41,"tag":78,"props":302,"children":304},{"className":303},[],[305],{"type":46,"value":288},{"type":46,"value":85},{"type":41,"tag":49,"props":308,"children":309},{},[310],{"type":46,"value":311},"Without either, paste your docket or upload a spreadsheet and I'll track from\nthere.",{"type":41,"tag":55,"props":313,"children":315},{"id":314},"purpose",[316],{"type":46,"value":317},"Purpose",{"type":41,"tag":49,"props":319,"children":320},{},[321],{"type":46,"value":322},"A trademark registration that isn't renewed on time can be cancelled. A patent\nwithout its maintenance fee paid lapses. A domain that expires can be sniped\nwithin the hour. All of this is avoidable, and all of it depends on one thing:\nthe right deadline is on someone's calendar, tied to the right registration\nnumber, in the right jurisdiction.",{"type":41,"tag":49,"props":324,"children":325},{},[326],{"type":46,"value":327},"This skill maintains that calendar.",{"type":41,"tag":55,"props":329,"children":331},{"id":330},"important-deadline-reference-caveat",[332],{"type":46,"value":333},"Important: deadline reference caveat",{"type":41,"tag":335,"props":336,"children":337},"blockquote",{},[338,350],{"type":41,"tag":49,"props":339,"children":340},{},[341,343,348],{"type":46,"value":342},"The deadline rules this skill applies reflect publicly available requirements\nas of the skill's build date. IP office requirements, grace periods, fee\nstructures, and maintenance schedules change. ",{"type":41,"tag":70,"props":344,"children":345},{},[346],{"type":46,"value":347},"Always confirm computed\ndeadlines against the USPTO TSDR \u002F Patent Center, WIPO Madrid Monitor \u002F\nPatentscope, EUIPO eSearch, UKIPO online records, or the relevant national\nregistry before acting.",{"type":46,"value":349}," If you use Anaqua, CPA Global, Clarivate, Alt Legal,\nor another IP management system, their docket is authoritative for your\nassets — use this tracker to organize and surface their data, not to replace\nit.",{"type":41,"tag":49,"props":351,"children":352},{},[353],{"type":46,"value":354},"A docketed-but-wrong deadline is worse than an undocketed one: it creates\nfalse confidence. \"No deadline soon\" outputs especially deserve a second\nlook before you rely on them.",{"type":41,"tag":55,"props":356,"children":358},{"id":357},"jurisdiction-and-type-assumptions",[359],{"type":46,"value":360},"Jurisdiction and type assumptions",{"type":41,"tag":49,"props":362,"children":363},{},[364],{"type":46,"value":365},"Maintenance mechanics vary by jurisdiction and asset type:",{"type":41,"tag":270,"props":367,"children":368},{},[369,379,389,399,409,419,429,439],{"type":41,"tag":66,"props":370,"children":371},{},[372,377],{"type":41,"tag":70,"props":373,"children":374},{},[375],{"type":46,"value":376},"US trademarks:",{"type":46,"value":378}," §8 Declaration of Use between 5th and 6th anniversary of\nregistration (or §71 for Madrid designations), then combined §8\u002F§9 renewal\nat 10 years and every 10 years thereafter. §15 Incontestability available\nafter 5 years of continuous use. 6-month grace period with surcharge for §8\nand §9; no grace for the underlying use itself.",{"type":41,"tag":66,"props":380,"children":381},{},[382,387],{"type":41,"tag":70,"props":383,"children":384},{},[385],{"type":46,"value":386},"Madrid International trademarks:",{"type":46,"value":388}," 10-year registration term renewable at\nWIPO; individual designated countries may have local use or declaration\nrequirements (e.g., US §71).",{"type":41,"tag":66,"props":390,"children":391},{},[392,397],{"type":41,"tag":70,"props":393,"children":394},{},[395],{"type":46,"value":396},"EUIPO trademarks:",{"type":46,"value":398}," 10-year renewal; 6-month grace with surcharge.",{"type":41,"tag":66,"props":400,"children":401},{},[402,407],{"type":41,"tag":70,"props":403,"children":404},{},[405],{"type":46,"value":406},"US utility patents:",{"type":46,"value":408}," Maintenance fees due at 3.5, 7.5, and 11.5 years\nfrom grant. 6-month grace window with surcharge; after that, potential\nrevival by petition if lapse was unintentional.",{"type":41,"tag":66,"props":410,"children":411},{},[412,417],{"type":41,"tag":70,"props":413,"children":414},{},[415],{"type":46,"value":416},"US design patents:",{"type":46,"value":418}," No maintenance fees — 15-year term from grant for\napplications filed on or after May 13, 2015 (14 years if earlier). No action\nrequired mid-term.",{"type":41,"tag":66,"props":420,"children":421},{},[422,427],{"type":41,"tag":70,"props":423,"children":424},{},[425],{"type":46,"value":426},"EPO \u002F national patents:",{"type":46,"value":428}," Annuities typically due annually from filing or\nfrom national phase entry. National rules vary — confirm per jurisdiction.",{"type":41,"tag":66,"props":430,"children":431},{},[432,437],{"type":41,"tag":70,"props":433,"children":434},{},[435],{"type":46,"value":436},"US copyright:",{"type":46,"value":438}," No maintenance for works created 1978 or later.\nPre-1978 works may have had renewal obligations; flag for attorney review\nif the asset pre-dates 1964 (rarely in scope for modern portfolios).",{"type":41,"tag":66,"props":440,"children":441},{},[442,447],{"type":41,"tag":70,"props":443,"children":444},{},[445],{"type":46,"value":446},"Domains:",{"type":46,"value":448}," Annual or multi-year renewal per registrar; typical 30-day\ngrace then redemption period (~30 days at high fee) then drop.",{"type":41,"tag":49,"props":450,"children":451},{},[452,454,460,462,468],{"type":46,"value":453},"If the portfolio includes assets in jurisdictions not listed above, capture\nthe maintenance mechanic in the register's ",{"type":41,"tag":78,"props":455,"children":457},{"className":456},[],[458],{"type":46,"value":459},"custom_rules",{"type":46,"value":461}," block and the\nreport will surface them as ",{"type":41,"tag":78,"props":463,"children":465},{"className":464},[],[466],{"type":46,"value":467},"agent_managed",{"type":46,"value":469}," — confirm status with the\nforeign associate rather than computing a date this skill doesn't understand.",{"type":41,"tag":255,"props":471,"children":472},{},[],{"type":41,"tag":55,"props":474,"children":476},{"id":475},"the-register",[477],{"type":46,"value":478},"The register",{"type":41,"tag":49,"props":480,"children":481},{},[482,484,489],{"type":46,"value":483},"Lives at ",{"type":41,"tag":78,"props":485,"children":487},{"className":486},[],[488],{"type":46,"value":83},{"type":46,"value":490},".\nStructure:",{"type":41,"tag":207,"props":492,"children":496},{"className":493,"code":494,"language":495,"meta":215,"style":215},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# IP Portfolio Register\n# Generated: [date]\n# Last updated: [date]\n# Disclaimer: computed deadlines are reference only — confirm with USPTO\u002FWIPO\u002F\n# relevant registry or the IP management system of record before acting.\n\nmetadata:\n  company: \"[Company Name]\"\n  generated: \"[date]\"\n  last_updated: \"[date]\"\n  last_audit: \"[date or null]\"\n  source_system: \"[Anaqua \u002F CPA Global \u002F manual \u002F none]\"\n\ncustom_rules:   # non-built-in jurisdictions captured manually\n  []\n\nassets:\n  - id: \"TM-US-001\"\n    type: \"trademark\"                          # trademark \u002F patent \u002F copyright \u002F design \u002F domain\n    jurisdiction: \"US\"\n    mark_or_title: \"[Mark or title]\"\n    owner: \"[Record owner — registered entity name]\"\n    status: \"registered\"                       # pending \u002F registered \u002F lapsed \u002F abandoned \u002F cancelled\n    application_number: \"[number or null]\"\n    registration_number: \"[number or null]\"\n    classes: [\"9\", \"42\"]                       # Nice classes for TM; CPC\u002FIPC for patents; null otherwise\n    filing_date: \"[YYYY-MM-DD or null]\"\n    registration_date: \"[YYYY-MM-DD or null]\"\n    priority_date: \"[YYYY-MM-DD or null]\"\n    grant_date: \"[YYYY-MM-DD or null]\"         # patents\n    next_deadlines:                            # computed; refreshed on --report and --audit\n      - type: \"§8 Declaration of Use\"\n        due_date: \"[YYYY-MM-DD]\"\n        grace_end: \"[YYYY-MM-DD or null]\"\n        basis: \"5th-6th anniversary of registration\"\n        action: \"File §8 Declaration of Use (or excusable nonuse)\"\n        status: \"upcoming\"                     # upcoming \u002F due_soon \u002F overdue \u002F grace \u002F filed\n    use_in_commerce: true                      # TM only — drives §8 analysis\n    agent_managed: false                       # true for foreign associate \u002F outside counsel managed\n    local_agent: null\n    docket_id: \"[IP-mgmt-system ID or null]\"\n    outside_counsel: \"[firm or null]\"\n    business_owner: \"[email or team]\"\n    notes: \"\"\n\n  - id: \"PAT-US-001\"\n    type: \"patent\"\n    jurisdiction: \"US\"\n    mark_or_title: \"[Invention title]\"\n    owner: \"[Owner]\"\n    status: \"granted\"\n    application_number: \"[number]\"\n    registration_number: \"[patent number]\"\n    filing_date: \"[YYYY-MM-DD]\"\n    grant_date: \"[YYYY-MM-DD]\"\n    priority_date: \"[YYYY-MM-DD or null]\"\n    expiration_date: \"[YYYY-MM-DD]\"            # 20 years from earliest non-provisional filing\n    next_deadlines:\n      - type: \"3.5-year maintenance fee\"\n        due_date: \"[YYYY-MM-DD]\"\n        grace_end: \"[YYYY-MM-DD]\"\n        basis: \"3.5 years from grant\"\n        action: \"Pay maintenance fee (small\u002Fmicro entity if applicable)\"\n        status: \"upcoming\"\n    claims_count: 20\n    entity_size: \"large\"                       # large \u002F small \u002F micro (drives USPTO fees)\n    docket_id: null\n    outside_counsel: null\n    business_owner: null\n    notes: \"\"\n","yaml",[497],{"type":41,"tag":78,"props":498,"children":499},{"__ignoreMap":215},[500,512,521,530,539,548,558,574,603,629,654,680,706,714,731,740,748,761,792,824,850,876,902,933,959,984,1043,1069,1094,1119,1149,1167,1198,1224,1249,1275,1301,1332,1356,1379,1397,1423,1449,1475,1493,1501,1530,1555,1579,1604,1629,1654,1679,1704,1728,1752,1776,1806,1818,1847,1871,1895,1920,1945,1969,1988,2019,2035,2051,2067],{"type":41,"tag":501,"props":502,"children":505},"span",{"class":503,"line":504},"line",1,[506],{"type":41,"tag":501,"props":507,"children":509},{"style":508},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[510],{"type":46,"value":511},"# IP Portfolio Register\n",{"type":41,"tag":501,"props":513,"children":515},{"class":503,"line":514},2,[516],{"type":41,"tag":501,"props":517,"children":518},{"style":508},[519],{"type":46,"value":520},"# Generated: [date]\n",{"type":41,"tag":501,"props":522,"children":524},{"class":503,"line":523},3,[525],{"type":41,"tag":501,"props":526,"children":527},{"style":508},[528],{"type":46,"value":529},"# Last updated: [date]\n",{"type":41,"tag":501,"props":531,"children":533},{"class":503,"line":532},4,[534],{"type":41,"tag":501,"props":535,"children":536},{"style":508},[537],{"type":46,"value":538},"# Disclaimer: computed deadlines are reference only — confirm with USPTO\u002FWIPO\u002F\n",{"type":41,"tag":501,"props":540,"children":542},{"class":503,"line":541},5,[543],{"type":41,"tag":501,"props":544,"children":545},{"style":508},[546],{"type":46,"value":547},"# relevant registry or the IP management system of record before acting.\n",{"type":41,"tag":501,"props":549,"children":551},{"class":503,"line":550},6,[552],{"type":41,"tag":501,"props":553,"children":555},{"emptyLinePlaceholder":554},true,[556],{"type":46,"value":557},"\n",{"type":41,"tag":501,"props":559,"children":561},{"class":503,"line":560},7,[562,568],{"type":41,"tag":501,"props":563,"children":565},{"style":564},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[566],{"type":46,"value":567},"metadata",{"type":41,"tag":501,"props":569,"children":571},{"style":570},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[572],{"type":46,"value":573},":\n",{"type":41,"tag":501,"props":575,"children":577},{"class":503,"line":576},8,[578,583,587,592,598],{"type":41,"tag":501,"props":579,"children":580},{"style":564},[581],{"type":46,"value":582},"  company",{"type":41,"tag":501,"props":584,"children":585},{"style":570},[586],{"type":46,"value":117},{"type":41,"tag":501,"props":588,"children":589},{"style":570},[590],{"type":46,"value":591}," \"",{"type":41,"tag":501,"props":593,"children":595},{"style":594},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[596],{"type":46,"value":597},"[Company Name]",{"type":41,"tag":501,"props":599,"children":600},{"style":570},[601],{"type":46,"value":602},"\"\n",{"type":41,"tag":501,"props":604,"children":606},{"class":503,"line":605},9,[607,612,616,620,625],{"type":41,"tag":501,"props":608,"children":609},{"style":564},[610],{"type":46,"value":611},"  generated",{"type":41,"tag":501,"props":613,"children":614},{"style":570},[615],{"type":46,"value":117},{"type":41,"tag":501,"props":617,"children":618},{"style":570},[619],{"type":46,"value":591},{"type":41,"tag":501,"props":621,"children":622},{"style":594},[623],{"type":46,"value":624},"[date]",{"type":41,"tag":501,"props":626,"children":627},{"style":570},[628],{"type":46,"value":602},{"type":41,"tag":501,"props":630,"children":632},{"class":503,"line":631},10,[633,638,642,646,650],{"type":41,"tag":501,"props":634,"children":635},{"style":564},[636],{"type":46,"value":637},"  last_updated",{"type":41,"tag":501,"props":639,"children":640},{"style":570},[641],{"type":46,"value":117},{"type":41,"tag":501,"props":643,"children":644},{"style":570},[645],{"type":46,"value":591},{"type":41,"tag":501,"props":647,"children":648},{"style":594},[649],{"type":46,"value":624},{"type":41,"tag":501,"props":651,"children":652},{"style":570},[653],{"type":46,"value":602},{"type":41,"tag":501,"props":655,"children":657},{"class":503,"line":656},11,[658,663,667,671,676],{"type":41,"tag":501,"props":659,"children":660},{"style":564},[661],{"type":46,"value":662},"  last_audit",{"type":41,"tag":501,"props":664,"children":665},{"style":570},[666],{"type":46,"value":117},{"type":41,"tag":501,"props":668,"children":669},{"style":570},[670],{"type":46,"value":591},{"type":41,"tag":501,"props":672,"children":673},{"style":594},[674],{"type":46,"value":675},"[date or null]",{"type":41,"tag":501,"props":677,"children":678},{"style":570},[679],{"type":46,"value":602},{"type":41,"tag":501,"props":681,"children":683},{"class":503,"line":682},12,[684,689,693,697,702],{"type":41,"tag":501,"props":685,"children":686},{"style":564},[687],{"type":46,"value":688},"  source_system",{"type":41,"tag":501,"props":690,"children":691},{"style":570},[692],{"type":46,"value":117},{"type":41,"tag":501,"props":694,"children":695},{"style":570},[696],{"type":46,"value":591},{"type":41,"tag":501,"props":698,"children":699},{"style":594},[700],{"type":46,"value":701},"[Anaqua \u002F CPA Global \u002F manual \u002F none]",{"type":41,"tag":501,"props":703,"children":704},{"style":570},[705],{"type":46,"value":602},{"type":41,"tag":501,"props":707,"children":709},{"class":503,"line":708},13,[710],{"type":41,"tag":501,"props":711,"children":712},{"emptyLinePlaceholder":554},[713],{"type":46,"value":557},{"type":41,"tag":501,"props":715,"children":717},{"class":503,"line":716},14,[718,722,726],{"type":41,"tag":501,"props":719,"children":720},{"style":564},[721],{"type":46,"value":459},{"type":41,"tag":501,"props":723,"children":724},{"style":570},[725],{"type":46,"value":117},{"type":41,"tag":501,"props":727,"children":728},{"style":508},[729],{"type":46,"value":730},"   # non-built-in jurisdictions captured manually\n",{"type":41,"tag":501,"props":732,"children":734},{"class":503,"line":733},15,[735],{"type":41,"tag":501,"props":736,"children":737},{"style":570},[738],{"type":46,"value":739},"  []\n",{"type":41,"tag":501,"props":741,"children":743},{"class":503,"line":742},16,[744],{"type":41,"tag":501,"props":745,"children":746},{"emptyLinePlaceholder":554},[747],{"type":46,"value":557},{"type":41,"tag":501,"props":749,"children":751},{"class":503,"line":750},17,[752,757],{"type":41,"tag":501,"props":753,"children":754},{"style":564},[755],{"type":46,"value":756},"assets",{"type":41,"tag":501,"props":758,"children":759},{"style":570},[760],{"type":46,"value":573},{"type":41,"tag":501,"props":762,"children":764},{"class":503,"line":763},18,[765,770,775,779,783,788],{"type":41,"tag":501,"props":766,"children":767},{"style":570},[768],{"type":46,"value":769},"  -",{"type":41,"tag":501,"props":771,"children":772},{"style":564},[773],{"type":46,"value":774}," id",{"type":41,"tag":501,"props":776,"children":777},{"style":570},[778],{"type":46,"value":117},{"type":41,"tag":501,"props":780,"children":781},{"style":570},[782],{"type":46,"value":591},{"type":41,"tag":501,"props":784,"children":785},{"style":594},[786],{"type":46,"value":787},"TM-US-001",{"type":41,"tag":501,"props":789,"children":790},{"style":570},[791],{"type":46,"value":602},{"type":41,"tag":501,"props":793,"children":795},{"class":503,"line":794},19,[796,801,805,809,814,819],{"type":41,"tag":501,"props":797,"children":798},{"style":564},[799],{"type":46,"value":800},"    type",{"type":41,"tag":501,"props":802,"children":803},{"style":570},[804],{"type":46,"value":117},{"type":41,"tag":501,"props":806,"children":807},{"style":570},[808],{"type":46,"value":591},{"type":41,"tag":501,"props":810,"children":811},{"style":594},[812],{"type":46,"value":813},"trademark",{"type":41,"tag":501,"props":815,"children":816},{"style":570},[817],{"type":46,"value":818},"\"",{"type":41,"tag":501,"props":820,"children":821},{"style":508},[822],{"type":46,"value":823},"                          # trademark \u002F patent \u002F copyright \u002F design \u002F domain\n",{"type":41,"tag":501,"props":825,"children":827},{"class":503,"line":826},20,[828,833,837,841,846],{"type":41,"tag":501,"props":829,"children":830},{"style":564},[831],{"type":46,"value":832},"    jurisdiction",{"type":41,"tag":501,"props":834,"children":835},{"style":570},[836],{"type":46,"value":117},{"type":41,"tag":501,"props":838,"children":839},{"style":570},[840],{"type":46,"value":591},{"type":41,"tag":501,"props":842,"children":843},{"style":594},[844],{"type":46,"value":845},"US",{"type":41,"tag":501,"props":847,"children":848},{"style":570},[849],{"type":46,"value":602},{"type":41,"tag":501,"props":851,"children":853},{"class":503,"line":852},21,[854,859,863,867,872],{"type":41,"tag":501,"props":855,"children":856},{"style":564},[857],{"type":46,"value":858},"    mark_or_title",{"type":41,"tag":501,"props":860,"children":861},{"style":570},[862],{"type":46,"value":117},{"type":41,"tag":501,"props":864,"children":865},{"style":570},[866],{"type":46,"value":591},{"type":41,"tag":501,"props":868,"children":869},{"style":594},[870],{"type":46,"value":871},"[Mark or title]",{"type":41,"tag":501,"props":873,"children":874},{"style":570},[875],{"type":46,"value":602},{"type":41,"tag":501,"props":877,"children":879},{"class":503,"line":878},22,[880,885,889,893,898],{"type":41,"tag":501,"props":881,"children":882},{"style":564},[883],{"type":46,"value":884},"    owner",{"type":41,"tag":501,"props":886,"children":887},{"style":570},[888],{"type":46,"value":117},{"type":41,"tag":501,"props":890,"children":891},{"style":570},[892],{"type":46,"value":591},{"type":41,"tag":501,"props":894,"children":895},{"style":594},[896],{"type":46,"value":897},"[Record owner — registered entity name]",{"type":41,"tag":501,"props":899,"children":900},{"style":570},[901],{"type":46,"value":602},{"type":41,"tag":501,"props":903,"children":905},{"class":503,"line":904},23,[906,911,915,919,924,928],{"type":41,"tag":501,"props":907,"children":908},{"style":564},[909],{"type":46,"value":910},"    status",{"type":41,"tag":501,"props":912,"children":913},{"style":570},[914],{"type":46,"value":117},{"type":41,"tag":501,"props":916,"children":917},{"style":570},[918],{"type":46,"value":591},{"type":41,"tag":501,"props":920,"children":921},{"style":594},[922],{"type":46,"value":923},"registered",{"type":41,"tag":501,"props":925,"children":926},{"style":570},[927],{"type":46,"value":818},{"type":41,"tag":501,"props":929,"children":930},{"style":508},[931],{"type":46,"value":932},"                       # pending \u002F registered \u002F lapsed \u002F abandoned \u002F cancelled\n",{"type":41,"tag":501,"props":934,"children":936},{"class":503,"line":935},24,[937,942,946,950,955],{"type":41,"tag":501,"props":938,"children":939},{"style":564},[940],{"type":46,"value":941},"    application_number",{"type":41,"tag":501,"props":943,"children":944},{"style":570},[945],{"type":46,"value":117},{"type":41,"tag":501,"props":947,"children":948},{"style":570},[949],{"type":46,"value":591},{"type":41,"tag":501,"props":951,"children":952},{"style":594},[953],{"type":46,"value":954},"[number or null]",{"type":41,"tag":501,"props":956,"children":957},{"style":570},[958],{"type":46,"value":602},{"type":41,"tag":501,"props":960,"children":962},{"class":503,"line":961},25,[963,968,972,976,980],{"type":41,"tag":501,"props":964,"children":965},{"style":564},[966],{"type":46,"value":967},"    registration_number",{"type":41,"tag":501,"props":969,"children":970},{"style":570},[971],{"type":46,"value":117},{"type":41,"tag":501,"props":973,"children":974},{"style":570},[975],{"type":46,"value":591},{"type":41,"tag":501,"props":977,"children":978},{"style":594},[979],{"type":46,"value":954},{"type":41,"tag":501,"props":981,"children":982},{"style":570},[983],{"type":46,"value":602},{"type":41,"tag":501,"props":985,"children":987},{"class":503,"line":986},26,[988,993,997,1002,1006,1011,1015,1020,1024,1029,1033,1038],{"type":41,"tag":501,"props":989,"children":990},{"style":564},[991],{"type":46,"value":992},"    classes",{"type":41,"tag":501,"props":994,"children":995},{"style":570},[996],{"type":46,"value":117},{"type":41,"tag":501,"props":998,"children":999},{"style":570},[1000],{"type":46,"value":1001}," [",{"type":41,"tag":501,"props":1003,"children":1004},{"style":570},[1005],{"type":46,"value":818},{"type":41,"tag":501,"props":1007,"children":1008},{"style":594},[1009],{"type":46,"value":1010},"9",{"type":41,"tag":501,"props":1012,"children":1013},{"style":570},[1014],{"type":46,"value":818},{"type":41,"tag":501,"props":1016,"children":1017},{"style":570},[1018],{"type":46,"value":1019},",",{"type":41,"tag":501,"props":1021,"children":1022},{"style":570},[1023],{"type":46,"value":591},{"type":41,"tag":501,"props":1025,"children":1026},{"style":594},[1027],{"type":46,"value":1028},"42",{"type":41,"tag":501,"props":1030,"children":1031},{"style":570},[1032],{"type":46,"value":818},{"type":41,"tag":501,"props":1034,"children":1035},{"style":570},[1036],{"type":46,"value":1037},"]",{"type":41,"tag":501,"props":1039,"children":1040},{"style":508},[1041],{"type":46,"value":1042},"                       # Nice classes for TM; CPC\u002FIPC for patents; null otherwise\n",{"type":41,"tag":501,"props":1044,"children":1046},{"class":503,"line":1045},27,[1047,1052,1056,1060,1065],{"type":41,"tag":501,"props":1048,"children":1049},{"style":564},[1050],{"type":46,"value":1051},"    filing_date",{"type":41,"tag":501,"props":1053,"children":1054},{"style":570},[1055],{"type":46,"value":117},{"type":41,"tag":501,"props":1057,"children":1058},{"style":570},[1059],{"type":46,"value":591},{"type":41,"tag":501,"props":1061,"children":1062},{"style":594},[1063],{"type":46,"value":1064},"[YYYY-MM-DD or null]",{"type":41,"tag":501,"props":1066,"children":1067},{"style":570},[1068],{"type":46,"value":602},{"type":41,"tag":501,"props":1070,"children":1072},{"class":503,"line":1071},28,[1073,1078,1082,1086,1090],{"type":41,"tag":501,"props":1074,"children":1075},{"style":564},[1076],{"type":46,"value":1077},"    registration_date",{"type":41,"tag":501,"props":1079,"children":1080},{"style":570},[1081],{"type":46,"value":117},{"type":41,"tag":501,"props":1083,"children":1084},{"style":570},[1085],{"type":46,"value":591},{"type":41,"tag":501,"props":1087,"children":1088},{"style":594},[1089],{"type":46,"value":1064},{"type":41,"tag":501,"props":1091,"children":1092},{"style":570},[1093],{"type":46,"value":602},{"type":41,"tag":501,"props":1095,"children":1097},{"class":503,"line":1096},29,[1098,1103,1107,1111,1115],{"type":41,"tag":501,"props":1099,"children":1100},{"style":564},[1101],{"type":46,"value":1102},"    priority_date",{"type":41,"tag":501,"props":1104,"children":1105},{"style":570},[1106],{"type":46,"value":117},{"type":41,"tag":501,"props":1108,"children":1109},{"style":570},[1110],{"type":46,"value":591},{"type":41,"tag":501,"props":1112,"children":1113},{"style":594},[1114],{"type":46,"value":1064},{"type":41,"tag":501,"props":1116,"children":1117},{"style":570},[1118],{"type":46,"value":602},{"type":41,"tag":501,"props":1120,"children":1122},{"class":503,"line":1121},30,[1123,1128,1132,1136,1140,1144],{"type":41,"tag":501,"props":1124,"children":1125},{"style":564},[1126],{"type":46,"value":1127},"    grant_date",{"type":41,"tag":501,"props":1129,"children":1130},{"style":570},[1131],{"type":46,"value":117},{"type":41,"tag":501,"props":1133,"children":1134},{"style":570},[1135],{"type":46,"value":591},{"type":41,"tag":501,"props":1137,"children":1138},{"style":594},[1139],{"type":46,"value":1064},{"type":41,"tag":501,"props":1141,"children":1142},{"style":570},[1143],{"type":46,"value":818},{"type":41,"tag":501,"props":1145,"children":1146},{"style":508},[1147],{"type":46,"value":1148},"         # patents\n",{"type":41,"tag":501,"props":1150,"children":1152},{"class":503,"line":1151},31,[1153,1158,1162],{"type":41,"tag":501,"props":1154,"children":1155},{"style":564},[1156],{"type":46,"value":1157},"    next_deadlines",{"type":41,"tag":501,"props":1159,"children":1160},{"style":570},[1161],{"type":46,"value":117},{"type":41,"tag":501,"props":1163,"children":1164},{"style":508},[1165],{"type":46,"value":1166},"                            # computed; refreshed on --report and --audit\n",{"type":41,"tag":501,"props":1168,"children":1170},{"class":503,"line":1169},32,[1171,1176,1181,1185,1189,1194],{"type":41,"tag":501,"props":1172,"children":1173},{"style":570},[1174],{"type":46,"value":1175},"      -",{"type":41,"tag":501,"props":1177,"children":1178},{"style":564},[1179],{"type":46,"value":1180}," type",{"type":41,"tag":501,"props":1182,"children":1183},{"style":570},[1184],{"type":46,"value":117},{"type":41,"tag":501,"props":1186,"children":1187},{"style":570},[1188],{"type":46,"value":591},{"type":41,"tag":501,"props":1190,"children":1191},{"style":594},[1192],{"type":46,"value":1193},"§8 Declaration of Use",{"type":41,"tag":501,"props":1195,"children":1196},{"style":570},[1197],{"type":46,"value":602},{"type":41,"tag":501,"props":1199,"children":1201},{"class":503,"line":1200},33,[1202,1207,1211,1215,1220],{"type":41,"tag":501,"props":1203,"children":1204},{"style":564},[1205],{"type":46,"value":1206},"        due_date",{"type":41,"tag":501,"props":1208,"children":1209},{"style":570},[1210],{"type":46,"value":117},{"type":41,"tag":501,"props":1212,"children":1213},{"style":570},[1214],{"type":46,"value":591},{"type":41,"tag":501,"props":1216,"children":1217},{"style":594},[1218],{"type":46,"value":1219},"[YYYY-MM-DD]",{"type":41,"tag":501,"props":1221,"children":1222},{"style":570},[1223],{"type":46,"value":602},{"type":41,"tag":501,"props":1225,"children":1227},{"class":503,"line":1226},34,[1228,1233,1237,1241,1245],{"type":41,"tag":501,"props":1229,"children":1230},{"style":564},[1231],{"type":46,"value":1232},"        grace_end",{"type":41,"tag":501,"props":1234,"children":1235},{"style":570},[1236],{"type":46,"value":117},{"type":41,"tag":501,"props":1238,"children":1239},{"style":570},[1240],{"type":46,"value":591},{"type":41,"tag":501,"props":1242,"children":1243},{"style":594},[1244],{"type":46,"value":1064},{"type":41,"tag":501,"props":1246,"children":1247},{"style":570},[1248],{"type":46,"value":602},{"type":41,"tag":501,"props":1250,"children":1252},{"class":503,"line":1251},35,[1253,1258,1262,1266,1271],{"type":41,"tag":501,"props":1254,"children":1255},{"style":564},[1256],{"type":46,"value":1257},"        basis",{"type":41,"tag":501,"props":1259,"children":1260},{"style":570},[1261],{"type":46,"value":117},{"type":41,"tag":501,"props":1263,"children":1264},{"style":570},[1265],{"type":46,"value":591},{"type":41,"tag":501,"props":1267,"children":1268},{"style":594},[1269],{"type":46,"value":1270},"5th-6th anniversary of registration",{"type":41,"tag":501,"props":1272,"children":1273},{"style":570},[1274],{"type":46,"value":602},{"type":41,"tag":501,"props":1276,"children":1278},{"class":503,"line":1277},36,[1279,1284,1288,1292,1297],{"type":41,"tag":501,"props":1280,"children":1281},{"style":564},[1282],{"type":46,"value":1283},"        action",{"type":41,"tag":501,"props":1285,"children":1286},{"style":570},[1287],{"type":46,"value":117},{"type":41,"tag":501,"props":1289,"children":1290},{"style":570},[1291],{"type":46,"value":591},{"type":41,"tag":501,"props":1293,"children":1294},{"style":594},[1295],{"type":46,"value":1296},"File §8 Declaration of Use (or excusable nonuse)",{"type":41,"tag":501,"props":1298,"children":1299},{"style":570},[1300],{"type":46,"value":602},{"type":41,"tag":501,"props":1302,"children":1304},{"class":503,"line":1303},37,[1305,1310,1314,1318,1323,1327],{"type":41,"tag":501,"props":1306,"children":1307},{"style":564},[1308],{"type":46,"value":1309},"        status",{"type":41,"tag":501,"props":1311,"children":1312},{"style":570},[1313],{"type":46,"value":117},{"type":41,"tag":501,"props":1315,"children":1316},{"style":570},[1317],{"type":46,"value":591},{"type":41,"tag":501,"props":1319,"children":1320},{"style":594},[1321],{"type":46,"value":1322},"upcoming",{"type":41,"tag":501,"props":1324,"children":1325},{"style":570},[1326],{"type":46,"value":818},{"type":41,"tag":501,"props":1328,"children":1329},{"style":508},[1330],{"type":46,"value":1331},"                     # upcoming \u002F due_soon \u002F overdue \u002F grace \u002F filed\n",{"type":41,"tag":501,"props":1333,"children":1335},{"class":503,"line":1334},38,[1336,1341,1345,1351],{"type":41,"tag":501,"props":1337,"children":1338},{"style":564},[1339],{"type":46,"value":1340},"    use_in_commerce",{"type":41,"tag":501,"props":1342,"children":1343},{"style":570},[1344],{"type":46,"value":117},{"type":41,"tag":501,"props":1346,"children":1348},{"style":1347},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[1349],{"type":46,"value":1350}," true",{"type":41,"tag":501,"props":1352,"children":1353},{"style":508},[1354],{"type":46,"value":1355},"                      # TM only — drives §8 analysis\n",{"type":41,"tag":501,"props":1357,"children":1359},{"class":503,"line":1358},39,[1360,1365,1369,1374],{"type":41,"tag":501,"props":1361,"children":1362},{"style":564},[1363],{"type":46,"value":1364},"    agent_managed",{"type":41,"tag":501,"props":1366,"children":1367},{"style":570},[1368],{"type":46,"value":117},{"type":41,"tag":501,"props":1370,"children":1371},{"style":1347},[1372],{"type":46,"value":1373}," false",{"type":41,"tag":501,"props":1375,"children":1376},{"style":508},[1377],{"type":46,"value":1378},"                       # true for foreign associate \u002F outside counsel managed\n",{"type":41,"tag":501,"props":1380,"children":1382},{"class":503,"line":1381},40,[1383,1388,1392],{"type":41,"tag":501,"props":1384,"children":1385},{"style":564},[1386],{"type":46,"value":1387},"    local_agent",{"type":41,"tag":501,"props":1389,"children":1390},{"style":570},[1391],{"type":46,"value":117},{"type":41,"tag":501,"props":1393,"children":1394},{"style":570},[1395],{"type":46,"value":1396}," null\n",{"type":41,"tag":501,"props":1398,"children":1400},{"class":503,"line":1399},41,[1401,1406,1410,1414,1419],{"type":41,"tag":501,"props":1402,"children":1403},{"style":564},[1404],{"type":46,"value":1405},"    docket_id",{"type":41,"tag":501,"props":1407,"children":1408},{"style":570},[1409],{"type":46,"value":117},{"type":41,"tag":501,"props":1411,"children":1412},{"style":570},[1413],{"type":46,"value":591},{"type":41,"tag":501,"props":1415,"children":1416},{"style":594},[1417],{"type":46,"value":1418},"[IP-mgmt-system ID or null]",{"type":41,"tag":501,"props":1420,"children":1421},{"style":570},[1422],{"type":46,"value":602},{"type":41,"tag":501,"props":1424,"children":1426},{"class":503,"line":1425},42,[1427,1432,1436,1440,1445],{"type":41,"tag":501,"props":1428,"children":1429},{"style":564},[1430],{"type":46,"value":1431},"    outside_counsel",{"type":41,"tag":501,"props":1433,"children":1434},{"style":570},[1435],{"type":46,"value":117},{"type":41,"tag":501,"props":1437,"children":1438},{"style":570},[1439],{"type":46,"value":591},{"type":41,"tag":501,"props":1441,"children":1442},{"style":594},[1443],{"type":46,"value":1444},"[firm or null]",{"type":41,"tag":501,"props":1446,"children":1447},{"style":570},[1448],{"type":46,"value":602},{"type":41,"tag":501,"props":1450,"children":1452},{"class":503,"line":1451},43,[1453,1458,1462,1466,1471],{"type":41,"tag":501,"props":1454,"children":1455},{"style":564},[1456],{"type":46,"value":1457},"    business_owner",{"type":41,"tag":501,"props":1459,"children":1460},{"style":570},[1461],{"type":46,"value":117},{"type":41,"tag":501,"props":1463,"children":1464},{"style":570},[1465],{"type":46,"value":591},{"type":41,"tag":501,"props":1467,"children":1468},{"style":594},[1469],{"type":46,"value":1470},"[email or team]",{"type":41,"tag":501,"props":1472,"children":1473},{"style":570},[1474],{"type":46,"value":602},{"type":41,"tag":501,"props":1476,"children":1478},{"class":503,"line":1477},44,[1479,1484,1488],{"type":41,"tag":501,"props":1480,"children":1481},{"style":564},[1482],{"type":46,"value":1483},"    notes",{"type":41,"tag":501,"props":1485,"children":1486},{"style":570},[1487],{"type":46,"value":117},{"type":41,"tag":501,"props":1489,"children":1490},{"style":570},[1491],{"type":46,"value":1492}," \"\"\n",{"type":41,"tag":501,"props":1494,"children":1496},{"class":503,"line":1495},45,[1497],{"type":41,"tag":501,"props":1498,"children":1499},{"emptyLinePlaceholder":554},[1500],{"type":46,"value":557},{"type":41,"tag":501,"props":1502,"children":1504},{"class":503,"line":1503},46,[1505,1509,1513,1517,1521,1526],{"type":41,"tag":501,"props":1506,"children":1507},{"style":570},[1508],{"type":46,"value":769},{"type":41,"tag":501,"props":1510,"children":1511},{"style":564},[1512],{"type":46,"value":774},{"type":41,"tag":501,"props":1514,"children":1515},{"style":570},[1516],{"type":46,"value":117},{"type":41,"tag":501,"props":1518,"children":1519},{"style":570},[1520],{"type":46,"value":591},{"type":41,"tag":501,"props":1522,"children":1523},{"style":594},[1524],{"type":46,"value":1525},"PAT-US-001",{"type":41,"tag":501,"props":1527,"children":1528},{"style":570},[1529],{"type":46,"value":602},{"type":41,"tag":501,"props":1531,"children":1533},{"class":503,"line":1532},47,[1534,1538,1542,1546,1551],{"type":41,"tag":501,"props":1535,"children":1536},{"style":564},[1537],{"type":46,"value":800},{"type":41,"tag":501,"props":1539,"children":1540},{"style":570},[1541],{"type":46,"value":117},{"type":41,"tag":501,"props":1543,"children":1544},{"style":570},[1545],{"type":46,"value":591},{"type":41,"tag":501,"props":1547,"children":1548},{"style":594},[1549],{"type":46,"value":1550},"patent",{"type":41,"tag":501,"props":1552,"children":1553},{"style":570},[1554],{"type":46,"value":602},{"type":41,"tag":501,"props":1556,"children":1558},{"class":503,"line":1557},48,[1559,1563,1567,1571,1575],{"type":41,"tag":501,"props":1560,"children":1561},{"style":564},[1562],{"type":46,"value":832},{"type":41,"tag":501,"props":1564,"children":1565},{"style":570},[1566],{"type":46,"value":117},{"type":41,"tag":501,"props":1568,"children":1569},{"style":570},[1570],{"type":46,"value":591},{"type":41,"tag":501,"props":1572,"children":1573},{"style":594},[1574],{"type":46,"value":845},{"type":41,"tag":501,"props":1576,"children":1577},{"style":570},[1578],{"type":46,"value":602},{"type":41,"tag":501,"props":1580,"children":1582},{"class":503,"line":1581},49,[1583,1587,1591,1595,1600],{"type":41,"tag":501,"props":1584,"children":1585},{"style":564},[1586],{"type":46,"value":858},{"type":41,"tag":501,"props":1588,"children":1589},{"style":570},[1590],{"type":46,"value":117},{"type":41,"tag":501,"props":1592,"children":1593},{"style":570},[1594],{"type":46,"value":591},{"type":41,"tag":501,"props":1596,"children":1597},{"style":594},[1598],{"type":46,"value":1599},"[Invention title]",{"type":41,"tag":501,"props":1601,"children":1602},{"style":570},[1603],{"type":46,"value":602},{"type":41,"tag":501,"props":1605,"children":1607},{"class":503,"line":1606},50,[1608,1612,1616,1620,1625],{"type":41,"tag":501,"props":1609,"children":1610},{"style":564},[1611],{"type":46,"value":884},{"type":41,"tag":501,"props":1613,"children":1614},{"style":570},[1615],{"type":46,"value":117},{"type":41,"tag":501,"props":1617,"children":1618},{"style":570},[1619],{"type":46,"value":591},{"type":41,"tag":501,"props":1621,"children":1622},{"style":594},[1623],{"type":46,"value":1624},"[Owner]",{"type":41,"tag":501,"props":1626,"children":1627},{"style":570},[1628],{"type":46,"value":602},{"type":41,"tag":501,"props":1630,"children":1632},{"class":503,"line":1631},51,[1633,1637,1641,1645,1650],{"type":41,"tag":501,"props":1634,"children":1635},{"style":564},[1636],{"type":46,"value":910},{"type":41,"tag":501,"props":1638,"children":1639},{"style":570},[1640],{"type":46,"value":117},{"type":41,"tag":501,"props":1642,"children":1643},{"style":570},[1644],{"type":46,"value":591},{"type":41,"tag":501,"props":1646,"children":1647},{"style":594},[1648],{"type":46,"value":1649},"granted",{"type":41,"tag":501,"props":1651,"children":1652},{"style":570},[1653],{"type":46,"value":602},{"type":41,"tag":501,"props":1655,"children":1657},{"class":503,"line":1656},52,[1658,1662,1666,1670,1675],{"type":41,"tag":501,"props":1659,"children":1660},{"style":564},[1661],{"type":46,"value":941},{"type":41,"tag":501,"props":1663,"children":1664},{"style":570},[1665],{"type":46,"value":117},{"type":41,"tag":501,"props":1667,"children":1668},{"style":570},[1669],{"type":46,"value":591},{"type":41,"tag":501,"props":1671,"children":1672},{"style":594},[1673],{"type":46,"value":1674},"[number]",{"type":41,"tag":501,"props":1676,"children":1677},{"style":570},[1678],{"type":46,"value":602},{"type":41,"tag":501,"props":1680,"children":1682},{"class":503,"line":1681},53,[1683,1687,1691,1695,1700],{"type":41,"tag":501,"props":1684,"children":1685},{"style":564},[1686],{"type":46,"value":967},{"type":41,"tag":501,"props":1688,"children":1689},{"style":570},[1690],{"type":46,"value":117},{"type":41,"tag":501,"props":1692,"children":1693},{"style":570},[1694],{"type":46,"value":591},{"type":41,"tag":501,"props":1696,"children":1697},{"style":594},[1698],{"type":46,"value":1699},"[patent number]",{"type":41,"tag":501,"props":1701,"children":1702},{"style":570},[1703],{"type":46,"value":602},{"type":41,"tag":501,"props":1705,"children":1707},{"class":503,"line":1706},54,[1708,1712,1716,1720,1724],{"type":41,"tag":501,"props":1709,"children":1710},{"style":564},[1711],{"type":46,"value":1051},{"type":41,"tag":501,"props":1713,"children":1714},{"style":570},[1715],{"type":46,"value":117},{"type":41,"tag":501,"props":1717,"children":1718},{"style":570},[1719],{"type":46,"value":591},{"type":41,"tag":501,"props":1721,"children":1722},{"style":594},[1723],{"type":46,"value":1219},{"type":41,"tag":501,"props":1725,"children":1726},{"style":570},[1727],{"type":46,"value":602},{"type":41,"tag":501,"props":1729,"children":1731},{"class":503,"line":1730},55,[1732,1736,1740,1744,1748],{"type":41,"tag":501,"props":1733,"children":1734},{"style":564},[1735],{"type":46,"value":1127},{"type":41,"tag":501,"props":1737,"children":1738},{"style":570},[1739],{"type":46,"value":117},{"type":41,"tag":501,"props":1741,"children":1742},{"style":570},[1743],{"type":46,"value":591},{"type":41,"tag":501,"props":1745,"children":1746},{"style":594},[1747],{"type":46,"value":1219},{"type":41,"tag":501,"props":1749,"children":1750},{"style":570},[1751],{"type":46,"value":602},{"type":41,"tag":501,"props":1753,"children":1755},{"class":503,"line":1754},56,[1756,1760,1764,1768,1772],{"type":41,"tag":501,"props":1757,"children":1758},{"style":564},[1759],{"type":46,"value":1102},{"type":41,"tag":501,"props":1761,"children":1762},{"style":570},[1763],{"type":46,"value":117},{"type":41,"tag":501,"props":1765,"children":1766},{"style":570},[1767],{"type":46,"value":591},{"type":41,"tag":501,"props":1769,"children":1770},{"style":594},[1771],{"type":46,"value":1064},{"type":41,"tag":501,"props":1773,"children":1774},{"style":570},[1775],{"type":46,"value":602},{"type":41,"tag":501,"props":1777,"children":1779},{"class":503,"line":1778},57,[1780,1785,1789,1793,1797,1801],{"type":41,"tag":501,"props":1781,"children":1782},{"style":564},[1783],{"type":46,"value":1784},"    expiration_date",{"type":41,"tag":501,"props":1786,"children":1787},{"style":570},[1788],{"type":46,"value":117},{"type":41,"tag":501,"props":1790,"children":1791},{"style":570},[1792],{"type":46,"value":591},{"type":41,"tag":501,"props":1794,"children":1795},{"style":594},[1796],{"type":46,"value":1219},{"type":41,"tag":501,"props":1798,"children":1799},{"style":570},[1800],{"type":46,"value":818},{"type":41,"tag":501,"props":1802,"children":1803},{"style":508},[1804],{"type":46,"value":1805},"            # 20 years from earliest non-provisional filing\n",{"type":41,"tag":501,"props":1807,"children":1809},{"class":503,"line":1808},58,[1810,1814],{"type":41,"tag":501,"props":1811,"children":1812},{"style":564},[1813],{"type":46,"value":1157},{"type":41,"tag":501,"props":1815,"children":1816},{"style":570},[1817],{"type":46,"value":573},{"type":41,"tag":501,"props":1819,"children":1821},{"class":503,"line":1820},59,[1822,1826,1830,1834,1838,1843],{"type":41,"tag":501,"props":1823,"children":1824},{"style":570},[1825],{"type":46,"value":1175},{"type":41,"tag":501,"props":1827,"children":1828},{"style":564},[1829],{"type":46,"value":1180},{"type":41,"tag":501,"props":1831,"children":1832},{"style":570},[1833],{"type":46,"value":117},{"type":41,"tag":501,"props":1835,"children":1836},{"style":570},[1837],{"type":46,"value":591},{"type":41,"tag":501,"props":1839,"children":1840},{"style":594},[1841],{"type":46,"value":1842},"3.5-year maintenance fee",{"type":41,"tag":501,"props":1844,"children":1845},{"style":570},[1846],{"type":46,"value":602},{"type":41,"tag":501,"props":1848,"children":1850},{"class":503,"line":1849},60,[1851,1855,1859,1863,1867],{"type":41,"tag":501,"props":1852,"children":1853},{"style":564},[1854],{"type":46,"value":1206},{"type":41,"tag":501,"props":1856,"children":1857},{"style":570},[1858],{"type":46,"value":117},{"type":41,"tag":501,"props":1860,"children":1861},{"style":570},[1862],{"type":46,"value":591},{"type":41,"tag":501,"props":1864,"children":1865},{"style":594},[1866],{"type":46,"value":1219},{"type":41,"tag":501,"props":1868,"children":1869},{"style":570},[1870],{"type":46,"value":602},{"type":41,"tag":501,"props":1872,"children":1874},{"class":503,"line":1873},61,[1875,1879,1883,1887,1891],{"type":41,"tag":501,"props":1876,"children":1877},{"style":564},[1878],{"type":46,"value":1232},{"type":41,"tag":501,"props":1880,"children":1881},{"style":570},[1882],{"type":46,"value":117},{"type":41,"tag":501,"props":1884,"children":1885},{"style":570},[1886],{"type":46,"value":591},{"type":41,"tag":501,"props":1888,"children":1889},{"style":594},[1890],{"type":46,"value":1219},{"type":41,"tag":501,"props":1892,"children":1893},{"style":570},[1894],{"type":46,"value":602},{"type":41,"tag":501,"props":1896,"children":1898},{"class":503,"line":1897},62,[1899,1903,1907,1911,1916],{"type":41,"tag":501,"props":1900,"children":1901},{"style":564},[1902],{"type":46,"value":1257},{"type":41,"tag":501,"props":1904,"children":1905},{"style":570},[1906],{"type":46,"value":117},{"type":41,"tag":501,"props":1908,"children":1909},{"style":570},[1910],{"type":46,"value":591},{"type":41,"tag":501,"props":1912,"children":1913},{"style":594},[1914],{"type":46,"value":1915},"3.5 years from grant",{"type":41,"tag":501,"props":1917,"children":1918},{"style":570},[1919],{"type":46,"value":602},{"type":41,"tag":501,"props":1921,"children":1923},{"class":503,"line":1922},63,[1924,1928,1932,1936,1941],{"type":41,"tag":501,"props":1925,"children":1926},{"style":564},[1927],{"type":46,"value":1283},{"type":41,"tag":501,"props":1929,"children":1930},{"style":570},[1931],{"type":46,"value":117},{"type":41,"tag":501,"props":1933,"children":1934},{"style":570},[1935],{"type":46,"value":591},{"type":41,"tag":501,"props":1937,"children":1938},{"style":594},[1939],{"type":46,"value":1940},"Pay maintenance fee (small\u002Fmicro entity if applicable)",{"type":41,"tag":501,"props":1942,"children":1943},{"style":570},[1944],{"type":46,"value":602},{"type":41,"tag":501,"props":1946,"children":1948},{"class":503,"line":1947},64,[1949,1953,1957,1961,1965],{"type":41,"tag":501,"props":1950,"children":1951},{"style":564},[1952],{"type":46,"value":1309},{"type":41,"tag":501,"props":1954,"children":1955},{"style":570},[1956],{"type":46,"value":117},{"type":41,"tag":501,"props":1958,"children":1959},{"style":570},[1960],{"type":46,"value":591},{"type":41,"tag":501,"props":1962,"children":1963},{"style":594},[1964],{"type":46,"value":1322},{"type":41,"tag":501,"props":1966,"children":1967},{"style":570},[1968],{"type":46,"value":602},{"type":41,"tag":501,"props":1970,"children":1972},{"class":503,"line":1971},65,[1973,1978,1982],{"type":41,"tag":501,"props":1974,"children":1975},{"style":564},[1976],{"type":46,"value":1977},"    claims_count",{"type":41,"tag":501,"props":1979,"children":1980},{"style":570},[1981],{"type":46,"value":117},{"type":41,"tag":501,"props":1983,"children":1985},{"style":1984},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1986],{"type":46,"value":1987}," 20\n",{"type":41,"tag":501,"props":1989,"children":1991},{"class":503,"line":1990},66,[1992,1997,2001,2005,2010,2014],{"type":41,"tag":501,"props":1993,"children":1994},{"style":564},[1995],{"type":46,"value":1996},"    entity_size",{"type":41,"tag":501,"props":1998,"children":1999},{"style":570},[2000],{"type":46,"value":117},{"type":41,"tag":501,"props":2002,"children":2003},{"style":570},[2004],{"type":46,"value":591},{"type":41,"tag":501,"props":2006,"children":2007},{"style":594},[2008],{"type":46,"value":2009},"large",{"type":41,"tag":501,"props":2011,"children":2012},{"style":570},[2013],{"type":46,"value":818},{"type":41,"tag":501,"props":2015,"children":2016},{"style":508},[2017],{"type":46,"value":2018},"                       # large \u002F small \u002F micro (drives USPTO fees)\n",{"type":41,"tag":501,"props":2020,"children":2022},{"class":503,"line":2021},67,[2023,2027,2031],{"type":41,"tag":501,"props":2024,"children":2025},{"style":564},[2026],{"type":46,"value":1405},{"type":41,"tag":501,"props":2028,"children":2029},{"style":570},[2030],{"type":46,"value":117},{"type":41,"tag":501,"props":2032,"children":2033},{"style":570},[2034],{"type":46,"value":1396},{"type":41,"tag":501,"props":2036,"children":2038},{"class":503,"line":2037},68,[2039,2043,2047],{"type":41,"tag":501,"props":2040,"children":2041},{"style":564},[2042],{"type":46,"value":1431},{"type":41,"tag":501,"props":2044,"children":2045},{"style":570},[2046],{"type":46,"value":117},{"type":41,"tag":501,"props":2048,"children":2049},{"style":570},[2050],{"type":46,"value":1396},{"type":41,"tag":501,"props":2052,"children":2054},{"class":503,"line":2053},69,[2055,2059,2063],{"type":41,"tag":501,"props":2056,"children":2057},{"style":564},[2058],{"type":46,"value":1457},{"type":41,"tag":501,"props":2060,"children":2061},{"style":570},[2062],{"type":46,"value":117},{"type":41,"tag":501,"props":2064,"children":2065},{"style":570},[2066],{"type":46,"value":1396},{"type":41,"tag":501,"props":2068,"children":2070},{"class":503,"line":2069},70,[2071,2075,2079],{"type":41,"tag":501,"props":2072,"children":2073},{"style":564},[2074],{"type":46,"value":1483},{"type":41,"tag":501,"props":2076,"children":2077},{"style":570},[2078],{"type":46,"value":117},{"type":41,"tag":501,"props":2080,"children":2081},{"style":570},[2082],{"type":46,"value":1492},{"type":41,"tag":49,"props":2084,"children":2085},{},[2086,2088,2094],{"type":46,"value":2087},"Status values for ",{"type":41,"tag":78,"props":2089,"children":2091},{"className":2090},[],[2092],{"type":46,"value":2093},"next_deadlines",{"type":46,"value":117},{"type":41,"tag":270,"props":2096,"children":2097},{},[2098,2108,2119,2130,2141,2152],{"type":41,"tag":66,"props":2099,"children":2100},{},[2101,2106],{"type":41,"tag":78,"props":2102,"children":2104},{"className":2103},[],[2105],{"type":46,"value":1322},{"type":46,"value":2107}," — more than 90 days out",{"type":41,"tag":66,"props":2109,"children":2110},{},[2111,2117],{"type":41,"tag":78,"props":2112,"children":2114},{"className":2113},[],[2115],{"type":46,"value":2116},"due_soon",{"type":46,"value":2118}," — due within 90 days, not yet filed",{"type":41,"tag":66,"props":2120,"children":2121},{},[2122,2128],{"type":41,"tag":78,"props":2123,"children":2125},{"className":2124},[],[2126],{"type":46,"value":2127},"overdue",{"type":46,"value":2129}," — past the primary due date, within grace window (if any)",{"type":41,"tag":66,"props":2131,"children":2132},{},[2133,2139],{"type":41,"tag":78,"props":2134,"children":2136},{"className":2135},[],[2137],{"type":46,"value":2138},"grace",{"type":46,"value":2140}," — in the grace period (explicit flag — carries surcharge)",{"type":41,"tag":66,"props":2142,"children":2143},{},[2144,2150],{"type":41,"tag":78,"props":2145,"children":2147},{"className":2146},[],[2148],{"type":46,"value":2149},"lapsed",{"type":46,"value":2151}," — past grace with no action; asset effectively lost unless revivable",{"type":41,"tag":66,"props":2153,"children":2154},{},[2155,2160],{"type":41,"tag":78,"props":2156,"children":2158},{"className":2157},[],[2159],{"type":46,"value":163},{"type":46,"value":2161}," — action completed this cycle",{"type":41,"tag":255,"props":2163,"children":2164},{},[],{"type":41,"tag":55,"props":2166,"children":2168},{"id":2167},"mode-1-initialise",[2169],{"type":46,"value":2170},"Mode 1: Initialise",{"type":41,"tag":49,"props":2172,"children":2173},{},[2174,2176,2182],{"type":46,"value":2175},"Run when no register exists, or with ",{"type":41,"tag":78,"props":2177,"children":2179},{"className":2178},[],[2180],{"type":46,"value":2181},"--rebuild",{"type":46,"value":85},{"type":41,"tag":2184,"props":2185,"children":2187},"h3",{"id":2186},"step-1-determine-the-source",[2188],{"type":46,"value":2189},"Step 1: Determine the source",{"type":41,"tag":49,"props":2191,"children":2192},{},[2193,2195,2201],{"type":46,"value":2194},"Read ",{"type":41,"tag":78,"props":2196,"children":2198},{"className":2197},[],[2199],{"type":46,"value":2200},"~\u002F.claude\u002Fplugins\u002Fconfig\u002Fclaude-for-legal\u002Fip-legal\u002FCLAUDE.md",{"type":46,"value":117},{"type":41,"tag":270,"props":2203,"children":2204},{},[2205,2215,2233],{"type":41,"tag":66,"props":2206,"children":2207},{},[2208,2213],{"type":41,"tag":70,"props":2209,"children":2210},{},[2211],{"type":46,"value":2212},"IP management system connected",{"type":46,"value":2214}," (Anaqua, CPA Global, etc.): pull the portfolio via its integration. The IP system is the authoritative source; this register mirrors it and adds no deadlines the system doesn't already have.",{"type":41,"tag":66,"props":2216,"children":2217},{},[2218,2223,2225,2231],{"type":41,"tag":70,"props":2219,"children":2220},{},[2221],{"type":46,"value":2222},"No IP management system, but spreadsheet \u002F export available:",{"type":46,"value":2224}," ask the user to share the export. Import what's present; flag any asset missing a registration or grant date as ",{"type":41,"tag":78,"props":2226,"children":2228},{"className":2227},[],[2229],{"type":46,"value":2230},"unknown",{"type":46,"value":2232}," for deadline computation.",{"type":41,"tag":66,"props":2234,"children":2235},{},[2236,2241],{"type":41,"tag":70,"props":2237,"children":2238},{},[2239],{"type":46,"value":2240},"Nothing at hand:",{"type":46,"value":2242}," walk through assets interactively — type, jurisdiction, number, key dates, owner.",{"type":41,"tag":2184,"props":2244,"children":2246},{"id":2245},"step-2-for-each-asset-compute-deadlines",[2247],{"type":46,"value":2248},"Step 2: For each asset, compute deadlines",{"type":41,"tag":49,"props":2250,"children":2251},{},[2252,2254,2259],{"type":46,"value":2253},"Apply the rules at the top of this file. Populate ",{"type":41,"tag":78,"props":2255,"children":2257},{"className":2256},[],[2258],{"type":46,"value":2093},{"type":46,"value":2260}," with the\ntwo or three closest upcoming items — further-out deadlines (10-year renewals\ndecades away) are computed on demand during reports rather than stored\nspeculatively.",{"type":41,"tag":49,"props":2262,"children":2263},{},[2264],{"type":41,"tag":70,"props":2265,"children":2266},{},[2267],{"type":46,"value":2268},"For assets the skill cannot confidently schedule:",{"type":41,"tag":270,"props":2270,"children":2271},{},[2272,2292],{"type":41,"tag":66,"props":2273,"children":2274},{},[2275,2277,2282,2284,2290],{"type":46,"value":2276},"Unknown jurisdiction rules → add a stub under ",{"type":41,"tag":78,"props":2278,"children":2280},{"className":2279},[],[2281],{"type":46,"value":459},{"type":46,"value":2283}," and flag the\nasset ",{"type":41,"tag":78,"props":2285,"children":2287},{"className":2286},[],[2288],{"type":46,"value":2289},"agent_managed: true",{"type":46,"value":2291}," with a TODO to confirm with the foreign associate.",{"type":41,"tag":66,"props":2293,"children":2294},{},[2295,2297,2302,2304,2310,2312,2317],{"type":46,"value":2296},"Missing dates needed for computation (no grant date for a patent, no\nregistration date for a TM) → set ",{"type":41,"tag":78,"props":2298,"children":2300},{"className":2299},[],[2301],{"type":46,"value":2093},{"type":46,"value":2303}," empty with a note in\n",{"type":41,"tag":78,"props":2305,"children":2307},{"className":2306},[],[2308],{"type":46,"value":2309},"notes",{"type":46,"value":2311},", and list the asset as ",{"type":41,"tag":78,"props":2313,"children":2315},{"className":2314},[],[2316],{"type":46,"value":2230},{"type":46,"value":2318}," in the initialisation summary.",{"type":41,"tag":2184,"props":2320,"children":2322},{"id":2321},"step-3-write-the-register",[2323],{"type":46,"value":2324},"Step 3: Write the register",{"type":41,"tag":49,"props":2326,"children":2327},{},[2328,2330,2336],{"type":46,"value":2329},"Generate ",{"type":41,"tag":78,"props":2331,"children":2333},{"className":2332},[],[2334],{"type":46,"value":2335},"portfolio.yaml",{"type":46,"value":2337}," at the config path. Show a summary:",{"type":41,"tag":207,"props":2339,"children":2342},{"className":2340,"code":2341,"language":46},[210],"Portfolio register initialised.\n\nAssets: [N]\n  Trademarks: [N]   ([N registered] \u002F [N pending])\n  Patents:    [N]   ([N granted] \u002F [N pending])\n  Copyrights: [N]\n  Designs:    [N]\n  Domains:    [N]\n\nDeadlines computed: [N]\nAgent-managed \u002F jurisdiction TBC: [N] — confirm with foreign associates\nUnknown (missing key dates): [N] — fill in before relying on reports\n\nRun \u002Fip-legal:portfolio --report to see what's due.\n",[2343],{"type":41,"tag":78,"props":2344,"children":2345},{"__ignoreMap":215},[2346],{"type":46,"value":2341},{"type":41,"tag":255,"props":2348,"children":2349},{},[],{"type":41,"tag":55,"props":2351,"children":2353},{"id":2352},"mode-2-report",[2354],{"type":46,"value":2355},"Mode 2: Report",{"type":41,"tag":207,"props":2357,"children":2360},{"className":2358,"code":2359,"language":46},[210],"\u002Fip-legal:portfolio --report [--days 30|60|90|180]\n",[2361],{"type":41,"tag":78,"props":2362,"children":2363},{"__ignoreMap":215},[2364],{"type":46,"value":2359},{"type":41,"tag":49,"props":2366,"children":2367},{},[2368],{"type":46,"value":2369},"Default window: 90 days. Refresh computed deadlines for every asset before\nproducing the report — don't rely on stored dates alone.",{"type":41,"tag":49,"props":2371,"children":2372},{},[2373,2375,2380],{"type":46,"value":2374},"Output (prepend work-product header per ",{"type":41,"tag":78,"props":2376,"children":2378},{"className":2377},[],[2379],{"type":46,"value":2200},{"type":46,"value":2381}," → Outputs):",{"type":41,"tag":207,"props":2383,"children":2386},{"className":2384,"code":2385,"language":46},[210],"IP PORTFOLIO DEADLINE REPORT — [date]\n[Company Name] — window: next [N] days\n\n🔴 LAPSED \u002F IN GRACE ([N])\n  [Asset ID] \u002F [Jurisdiction] \u002F [Type] \u002F [Mark or title]\n    [Action] — original due [date], grace ends [date]\n    Status: [grace \u002F lapsed]\n\n⏰ DUE WITHIN [N] DAYS ([N])\n  [Asset ID] \u002F [Jurisdiction] \u002F [Type] \u002F [Mark or title]\n    [Action] — due [date]\n    Basis: [e.g., \"5th-6th anniversary of registration\"]\n    [Agent: firm \u002F docket: id — if present]\n\n🟡 UPCOMING (next window beyond 30 days, within [N] days)\n  [list]\n\n🌐 AGENT-MANAGED ([N])\n  [Asset ID] \u002F [Jurisdiction] — managed by [local agent]; confirm directly\n  [Asset ID] \u002F [Jurisdiction] — no local agent recorded; add with --update\n\n❓ UNKNOWN ([N])\n  [Asset ID] — missing [field]; cannot compute deadline\n  Confirm with [IP management system \u002F USPTO TSDR \u002F relevant registry] before relying on this report.\n\nSUMMARY\n  Total assets tracked: [N]\n  Deadlines in window: [N]\n  Last audit: [date]\n",[2387],{"type":41,"tag":78,"props":2388,"children":2389},{"__ignoreMap":215},[2390],{"type":46,"value":2385},{"type":41,"tag":49,"props":2392,"children":2393},{},[2394,2396],{"type":46,"value":2395},"Close the report with the caveat line: ",{"type":41,"tag":2397,"props":2398,"children":2399},"em",{},[2400],{"type":46,"value":2401},"\"Computed from portfolio register. Verify each deadline against the USPTO\u002FWIPO\u002Fregistry of record before filing or paying.\"",{"type":41,"tag":49,"props":2403,"children":2404},{},[2405,2407,2413],{"type":46,"value":2406},"If the report lists more than ~10 assets, or any time the user asks: offer the dashboard (see CLAUDE.md ",{"type":41,"tag":78,"props":2408,"children":2410},{"className":2409},[],[2411],{"type":46,"value":2412},"## Outputs → Dashboard offer for data-heavy outputs",{"type":46,"value":2414},"). Shape the offer for this output — counts by registration status (live \u002F in grace \u002F lapsed \u002F pending), a deadline timeline, and a sortable portfolio table with jurisdiction, type, and next-action date.",{"type":41,"tag":255,"props":2416,"children":2417},{},[],{"type":41,"tag":55,"props":2419,"children":2421},{"id":2420},"mode-3-add",[2422],{"type":46,"value":2423},"Mode 3: Add",{"type":41,"tag":207,"props":2425,"children":2427},{"className":2426,"code":230,"language":46},[210],[2428],{"type":41,"tag":78,"props":2429,"children":2430},{"__ignoreMap":215},[2431],{"type":46,"value":230},{"type":41,"tag":49,"props":2433,"children":2434},{},[2435],{"type":46,"value":2436},"Interactive add of a single asset. Ask for:",{"type":41,"tag":62,"props":2438,"children":2439},{},[2440,2445,2450,2455,2460,2465,2470,2475,2480,2485],{"type":41,"tag":66,"props":2441,"children":2442},{},[2443],{"type":46,"value":2444},"Type (trademark \u002F patent \u002F copyright \u002F design \u002F domain)",{"type":41,"tag":66,"props":2446,"children":2447},{},[2448],{"type":46,"value":2449},"Jurisdiction",{"type":41,"tag":66,"props":2451,"children":2452},{},[2453],{"type":46,"value":2454},"Mark or title \u002F invention name",{"type":41,"tag":66,"props":2456,"children":2457},{},[2458],{"type":46,"value":2459},"Owner (record owner — matters for §8 filings and assignments)",{"type":41,"tag":66,"props":2461,"children":2462},{},[2463],{"type":46,"value":2464},"Key dates (per type: filing, registration, grant, priority, expiration)",{"type":41,"tag":66,"props":2466,"children":2467},{},[2468],{"type":46,"value":2469},"Number(s)",{"type":41,"tag":66,"props":2471,"children":2472},{},[2473],{"type":46,"value":2474},"Classes \u002F claims count",{"type":41,"tag":66,"props":2476,"children":2477},{},[2478],{"type":46,"value":2479},"Source — is this being tracked in the IP management system under a docket ID?",{"type":41,"tag":66,"props":2481,"children":2482},{},[2483],{"type":46,"value":2484},"Outside counsel \u002F foreign associate, if any",{"type":41,"tag":66,"props":2486,"children":2487},{},[2488],{"type":46,"value":2489},"Business owner (who does this matter to — product line, brand manager)",{"type":41,"tag":49,"props":2491,"children":2492},{},[2493],{"type":46,"value":2494},"After capture:",{"type":41,"tag":270,"props":2496,"children":2497},{},[2498,2503,2515],{"type":41,"tag":66,"props":2499,"children":2500},{},[2501],{"type":46,"value":2502},"Compute next deadlines per the rules at the top of this file.",{"type":41,"tag":66,"props":2504,"children":2505},{},[2506,2508,2513],{"type":46,"value":2507},"If jurisdiction rules aren't built in, walk through the ",{"type":41,"tag":78,"props":2509,"children":2511},{"className":2510},[],[2512],{"type":46,"value":459},{"type":46,"value":2514}," capture flow (see below).",{"type":41,"tag":66,"props":2516,"children":2517},{},[2518,2520,2526,2528,2533],{"type":46,"value":2519},"Append to ",{"type":41,"tag":78,"props":2521,"children":2523},{"className":2522},[],[2524],{"type":46,"value":2525},"assets:",{"type":46,"value":2527}," in ",{"type":41,"tag":78,"props":2529,"children":2531},{"className":2530},[],[2532],{"type":46,"value":2335},{"type":46,"value":85},{"type":41,"tag":2184,"props":2535,"children":2537},{"id":2536},"custom-rules-capture",[2538],{"type":46,"value":2539},"Custom rules capture",{"type":41,"tag":49,"props":2541,"children":2542},{},[2543],{"type":46,"value":2544},"When a jurisdiction isn't in the built-in list:",{"type":41,"tag":335,"props":2546,"children":2547},{},[2548,2566],{"type":41,"tag":49,"props":2549,"children":2550},{},[2551,2553,2557,2559,2564],{"type":46,"value":2552},"I don't have maintenance rules for ",{"type":41,"tag":501,"props":2554,"children":2555},{},[2556],{"type":46,"value":2449},{"type":46,"value":2558}," \u002F ",{"type":41,"tag":501,"props":2560,"children":2561},{},[2562],{"type":46,"value":2563},"Asset type",{"type":46,"value":2565}," built in.\nLet me capture them so we can track this going forward.",{"type":41,"tag":62,"props":2567,"children":2568},{},[2569,2574,2579,2584],{"type":41,"tag":66,"props":2570,"children":2571},{},[2572],{"type":46,"value":2573},"What maintenance events apply? (Renewal every N years? Annuities annually?\nDeclarations of use? Something else?)",{"type":41,"tag":66,"props":2575,"children":2576},{},[2577],{"type":46,"value":2578},"What triggers the due date — filing date, registration date, grant date,\nnational phase entry, anniversary of something else?",{"type":41,"tag":66,"props":2580,"children":2581},{},[2582],{"type":46,"value":2583},"Is there a grace period? At what cost?",{"type":41,"tag":66,"props":2585,"children":2586},{},[2587],{"type":46,"value":2588},"Is there a foreign associate or local agent managing this?",{"type":41,"tag":49,"props":2590,"children":2591},{},[2592,2594,2600],{"type":46,"value":2593},"Store under ",{"type":41,"tag":78,"props":2595,"children":2597},{"className":2596},[],[2598],{"type":46,"value":2599},"custom_rules:",{"type":46,"value":2601}," and apply to future assets in that jurisdiction.",{"type":41,"tag":255,"props":2603,"children":2604},{},[],{"type":41,"tag":55,"props":2606,"children":2608},{"id":2607},"mode-4-update",[2609],{"type":46,"value":2610},"Mode 4: Update",{"type":41,"tag":207,"props":2612,"children":2614},{"className":2613,"code":239,"language":46},[210],[2615],{"type":41,"tag":78,"props":2616,"children":2617},{"__ignoreMap":215},[2618],{"type":46,"value":239},{"type":41,"tag":2184,"props":2620,"children":2622},{"id":2621},"consequential-action-gate",[2623],{"type":46,"value":2624},"Consequential-action gate",{"type":41,"tag":49,"props":2626,"children":2627},{},[2628,2633,2635,2641,2642,2647,2649,2654],{"type":41,"tag":70,"props":2629,"children":2630},{},[2631],{"type":46,"value":2632},"Before recording that a maintenance filing or fee payment was made:",{"type":46,"value":2634}," Read\n",{"type":41,"tag":78,"props":2636,"children":2638},{"className":2637},[],[2639],{"type":46,"value":2640},"## Who's using this",{"type":46,"value":2527},{"type":41,"tag":78,"props":2643,"children":2645},{"className":2644},[],[2646],{"type":46,"value":2200},{"type":46,"value":2648},". If the Role is ",{"type":41,"tag":70,"props":2650,"children":2651},{},[2652],{"type":46,"value":2653},"Non-lawyer",{"type":46,"value":117},{"type":41,"tag":335,"props":2656,"children":2657},{},[2658,2663,2676],{"type":41,"tag":49,"props":2659,"children":2660},{},[2661],{"type":46,"value":2662},"Recording a §8 declaration, a §9 renewal, a patent maintenance fee payment,\nor an international annuity as \"filed\" has consequences. If the record is\nwrong — missed due date, wrong entity size, wrong specimen of use — the\ndeadline doesn't move, and the asset can still lapse. Have you confirmed\nthis with the attorney or foreign associate who actually made the filing\n(or with the USPTO TSDR \u002F WIPO Madrid Monitor \u002F relevant registry)? If yes,\nproceed. If no:",{"type":41,"tag":270,"props":2664,"children":2665},{},[2666,2671],{"type":41,"tag":66,"props":2667,"children":2668},{},[2669],{"type":46,"value":2670},"Do not record as filed yet.",{"type":41,"tag":66,"props":2672,"children":2673},{},[2674],{"type":46,"value":2675},"Here is what to bring to the attorney: asset ID, jurisdiction, deadline\ntype, what the IP management system shows, what you believe was filed and\nwhen, and the source of that belief.",{"type":41,"tag":49,"props":2677,"children":2678},{},[2679],{"type":46,"value":2680},"If you need to find a licensed attorney, solicitor, barrister, or other authorised legal professional in your jurisdiction: your professional regulator's referral service\nis the fastest starting point (state bar in the US, SRA\u002FBar Standards Board in England & Wales, Law Society in Scotland\u002FNI\u002FIreland\u002FCanada\u002FAustralia, or your jurisdiction's equivalent).",{"type":41,"tag":49,"props":2682,"children":2683},{},[2684,2686,2692,2694,2699],{"type":46,"value":2685},"Do not set a deadline's ",{"type":41,"tag":78,"props":2687,"children":2689},{"className":2688},[],[2690],{"type":46,"value":2691},"status",{"type":46,"value":2693}," to ",{"type":41,"tag":78,"props":2695,"children":2697},{"className":2696},[],[2698],{"type":46,"value":163},{"type":46,"value":2700}," past this gate without an\nexplicit yes. Status refresh, report generation, and upcoming-deadline\nsurfacing do not require the gate.",{"type":41,"tag":2184,"props":2702,"children":2704},{"id":2703},"sub-modes",[2705],{"type":46,"value":2706},"Sub-modes",{"type":41,"tag":49,"props":2708,"children":2709},{},[2710,2715,2717,2723,2725,2731],{"type":41,"tag":70,"props":2711,"children":2712},{},[2713],{"type":46,"value":2714},"Manual update:",{"type":46,"value":2716}," \"We filed the §8 for TM-US-001 on March 4, specimen\nattached.\" Update the matching deadline: ",{"type":41,"tag":78,"props":2718,"children":2720},{"className":2719},[],[2721],{"type":46,"value":2722},"status: filed",{"type":46,"value":2724},", ",{"type":41,"tag":78,"props":2726,"children":2728},{"className":2727},[],[2729],{"type":46,"value":2730},"filed_date",{"type":46,"value":2732},",\nand compute the next deadline in its lifecycle (for §8 that's the §9\nrenewal 10 years out).",{"type":41,"tag":49,"props":2734,"children":2735},{},[2736,2741],{"type":41,"tag":70,"props":2737,"children":2738},{},[2739],{"type":46,"value":2740},"From IP management system sync:",{"type":46,"value":2742}," If Anaqua \u002F CPA Global \u002F similar is\nconnected, pull the latest docket and reconcile. Flag mismatches between\nthe register and the system of record — the system of record wins; update\nthe register to match and surface anything the register had that the\nsystem doesn't.",{"type":41,"tag":49,"props":2744,"children":2745},{},[2746,2751,2753,2758,2760,2765],{"type":41,"tag":70,"props":2747,"children":2748},{},[2749],{"type":46,"value":2750},"Status change:",{"type":46,"value":2752}," \"Mark TM-US-004 as abandoned.\" Update ",{"type":41,"tag":78,"props":2754,"children":2756},{"className":2755},[],[2757],{"type":46,"value":2691},{"type":46,"value":2759},", clear\n",{"type":41,"tag":78,"props":2761,"children":2763},{"className":2762},[],[2764],{"type":46,"value":2093},{"type":46,"value":2766},", note the date abandoned.",{"type":41,"tag":255,"props":2768,"children":2769},{},[],{"type":41,"tag":55,"props":2771,"children":2773},{"id":2772},"mode-5-audit",[2774],{"type":46,"value":2775},"Mode 5: Audit",{"type":41,"tag":207,"props":2777,"children":2779},{"className":2778,"code":248,"language":46},[210],[2780],{"type":41,"tag":78,"props":2781,"children":2782},{"__ignoreMap":215},[2783],{"type":46,"value":248},{"type":41,"tag":49,"props":2785,"children":2786},{},[2787],{"type":46,"value":2788},"Broader health check beyond this month's deadlines:",{"type":41,"tag":49,"props":2790,"children":2791},{},[2792],{"type":41,"tag":70,"props":2793,"children":2794},{},[2795],{"type":46,"value":2796},"Deadline hygiene",{"type":41,"tag":270,"props":2798,"children":2799},{},[2800,2812,2840],{"type":41,"tag":66,"props":2801,"children":2802},{},[2803,2805,2810],{"type":46,"value":2804},"Any deadlines in ",{"type":41,"tag":78,"props":2806,"children":2808},{"className":2807},[],[2809],{"type":46,"value":2138},{"type":46,"value":2811}," status right now? (In progress but surcharge-costing.)",{"type":41,"tag":66,"props":2813,"children":2814},{},[2815,2817,2822,2824,2830,2832,2838],{"type":46,"value":2816},"Any ",{"type":41,"tag":78,"props":2818,"children":2820},{"className":2819},[],[2821],{"type":46,"value":2149},{"type":46,"value":2823}," assets that aren't marked ",{"type":41,"tag":78,"props":2825,"children":2827},{"className":2826},[],[2828],{"type":46,"value":2829},"abandoned",{"type":46,"value":2831}," or ",{"type":41,"tag":78,"props":2833,"children":2835},{"className":2834},[],[2836],{"type":46,"value":2837},"cancelled",{"type":46,"value":2839},"? Either\nrevive or update status.",{"type":41,"tag":66,"props":2841,"children":2842},{},[2843,2845,2850],{"type":46,"value":2844},"Any assets with no ",{"type":41,"tag":78,"props":2846,"children":2848},{"className":2847},[],[2849],{"type":46,"value":2093},{"type":46,"value":2851}," computed? Either missing data or a\njurisdiction the skill doesn't know.",{"type":41,"tag":49,"props":2853,"children":2854},{},[2855],{"type":41,"tag":70,"props":2856,"children":2857},{},[2858],{"type":46,"value":2859},"Registration gaps",{"type":41,"tag":270,"props":2861,"children":2862},{},[2863,2876],{"type":41,"tag":66,"props":2864,"children":2865},{},[2866,2868,2874],{"type":46,"value":2867},"Trademark applications filed more than 18 months ago still ",{"type":41,"tag":78,"props":2869,"children":2871},{"className":2870},[],[2872],{"type":46,"value":2873},"pending",{"type":46,"value":2875},"?\nFlag for status check at the office — may need response to an action.",{"type":41,"tag":66,"props":2877,"children":2878},{},[2879,2881,2886],{"type":46,"value":2880},"Patents filed more than 4 years ago still ",{"type":41,"tag":78,"props":2882,"children":2884},{"className":2883},[],[2885],{"type":46,"value":2873},{"type":46,"value":2887},"? Flag for prosecution\ncheck.",{"type":41,"tag":49,"props":2889,"children":2890},{},[2891],{"type":41,"tag":70,"props":2892,"children":2893},{},[2894],{"type":46,"value":2895},"Use-in-commerce (TM only)",{"type":41,"tag":270,"props":2897,"children":2898},{},[2899],{"type":41,"tag":66,"props":2900,"children":2901},{},[2902,2904,2910],{"type":46,"value":2903},"§8 approaching on a mark flagged ",{"type":41,"tag":78,"props":2905,"children":2907},{"className":2906},[],[2908],{"type":46,"value":2909},"use_in_commerce: false",{"type":46,"value":2911}," or uncertain?\nThe §8 requires use; mark needs a use audit before filing or an excusable\nnonuse declaration.",{"type":41,"tag":49,"props":2913,"children":2914},{},[2915],{"type":41,"tag":70,"props":2916,"children":2917},{},[2918],{"type":46,"value":2919},"Ownership hygiene",{"type":41,"tag":270,"props":2921,"children":2922},{},[2923,2936],{"type":41,"tag":66,"props":2924,"children":2925},{},[2926,2928,2934],{"type":46,"value":2927},"Any assets where the ",{"type":41,"tag":78,"props":2929,"children":2931},{"className":2930},[],[2932],{"type":46,"value":2933},"owner",{"type":46,"value":2935}," is not a currently active entity per the\nentity register (if available)? Flag — may need recordal of assignment.",{"type":41,"tag":66,"props":2937,"children":2938},{},[2939],{"type":46,"value":2940},"Owner name inconsistencies across assets (same entity, different name\nstrings)? Surface for cleanup.",{"type":41,"tag":49,"props":2942,"children":2943},{},[2944],{"type":41,"tag":70,"props":2945,"children":2946},{},[2947],{"type":46,"value":2948},"Expiration horizon",{"type":41,"tag":270,"props":2950,"children":2951},{},[2952],{"type":41,"tag":66,"props":2953,"children":2954},{},[2955],{"type":46,"value":2956},"Any patents expiring in the next 24 months? Even without a maintenance\ndeadline, the business may want to know — product planning, continuation\nstrategy, licensing window.",{"type":41,"tag":49,"props":2958,"children":2959},{},[2960],{"type":41,"tag":70,"props":2961,"children":2962},{},[2963],{"type":46,"value":2964},"Unwatched assets",{"type":41,"tag":270,"props":2966,"children":2967},{},[2968],{"type":41,"tag":66,"props":2969,"children":2970},{},[2971],{"type":46,"value":2972},"Any registered marks not on the watch list in CLAUDE.md → Brand protection?\nFlag as a gap for the attorney to decide whether to add.",{"type":41,"tag":49,"props":2974,"children":2975},{},[2976],{"type":46,"value":2977},"Output format:",{"type":41,"tag":207,"props":2979,"children":2982},{"className":2980,"code":2981,"language":46},[210],"IP PORTFOLIO AUDIT — [date]\n\nDEADLINE HYGIENE\n  In grace: [N] — acting now avoids lapse\n  Lapsed (not marked abandoned): [N] — confirm status\n  Missing next-deadline computation: [N] — fill data or mark agent-managed\n\nREGISTRATION GAPS\n  TM applications pending >18 months: [list]\n  Patent applications pending >4 years: [list]\n\nUSE IN COMMERCE (TM)\n  §8 approaching on uncertain-use marks: [list]\n\nOWNERSHIP\n  Assets with unrecognised owner strings: [N]\n  Owner name inconsistencies: [list]\n\nEXPIRATION HORIZON (24 months)\n  Patents expiring: [list]\n\nBRAND WATCH\n  Registered marks not on watch list: [list]\n\nRECOMMENDED ACTIONS\n  1. [highest priority]\n  2. [etc.]\n",[2983],{"type":41,"tag":78,"props":2984,"children":2985},{"__ignoreMap":215},[2986],{"type":46,"value":2981},{"type":41,"tag":255,"props":2988,"children":2989},{},[],{"type":41,"tag":55,"props":2991,"children":2993},{"id":2992},"integration-ip-renewal-watcher-agent",[2994],{"type":46,"value":2995},"Integration: ip-renewal-watcher agent",{"type":41,"tag":49,"props":2997,"children":2998},{},[2999,3001,3007],{"type":46,"value":3000},"The ",{"type":41,"tag":78,"props":3002,"children":3004},{"className":3003},[],[3005],{"type":46,"value":3006},"ip-renewal-watcher",{"type":46,"value":3008}," agent in this plugin runs this skill on a schedule\n(weekly by default) and posts the Mode 2 report to the channel named in\nCLAUDE.md → Renewal alerts. If 🔴 items appear (grace \u002F lapsed), the agent\nposts them immediately regardless of schedule.",{"type":41,"tag":55,"props":3010,"children":3012},{"id":3011},"handoffs",[3013],{"type":46,"value":3014},"Handoffs",{"type":41,"tag":270,"props":3016,"children":3017},{},[3018,3023],{"type":41,"tag":66,"props":3019,"children":3020},{},[3021],{"type":46,"value":3022},"Receives: new asset records from prosecution skills (when an application\nis filed or a mark clears), from clearance skills (when a mark is adopted\nand a filing is queued), and from assignment recordals.",{"type":41,"tag":66,"props":3024,"children":3025},{},[3026],{"type":46,"value":3027},"Sends: \"file §8 now\" triggers to the attorney — this skill doesn't file\nanything; it tells the attorney the deadline and what to bring.",{"type":41,"tag":55,"props":3029,"children":3031},{"id":3030},"what-this-skill-does-not-do",[3032],{"type":46,"value":3033},"What this skill does not do",{"type":41,"tag":270,"props":3035,"children":3036},{},[3037,3042,3047,3052,3057],{"type":41,"tag":66,"props":3038,"children":3039},{},[3040],{"type":46,"value":3041},"It does not file anything. Every action it surfaces is for the attorney\nor foreign associate to execute.",{"type":41,"tag":66,"props":3043,"children":3044},{},[3045],{"type":46,"value":3046},"It does not verify deadlines against the USPTO TSDR, WIPO, or any other\nregistry. It computes them from the dates you give it. The register is\na working copy; the registry is the source of truth.",{"type":41,"tag":66,"props":3048,"children":3049},{},[3050],{"type":46,"value":3051},"It does not decide whether to renew. Renewal is a business call — is the\nmark still in use, is the patent still valuable, does the domain still\nmatter. This skill surfaces the deadline and the cost; the business and\nthe attorney decide.",{"type":41,"tag":66,"props":3053,"children":3054},{},[3055],{"type":46,"value":3056},"It does not replace an IP management system for multi-hundred-asset\nportfolios. Anaqua, CPA Global, Clarivate, Alt Legal, and similar systems\nhave direct registry feeds, deadline automation, and annuity payment\nservices. This skill is best suited for smaller portfolios, or as a\nlightweight layer that surfaces what the system of record shows.",{"type":41,"tag":66,"props":3058,"children":3059},{},[3060],{"type":46,"value":3061},"It does not read office records to verify status. A §8 shown as \"filed\"\nhere means someone told it so — not that the USPTO accepted it. Confirm\nacceptance through TSDR or the IP management system.",{"type":41,"tag":3063,"props":3064,"children":3065},"style",{},[3066],{"type":46,"value":3067},"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":3069,"total":3165},[3070,3084,3101,3118,3128,3139,3150],{"slug":3071,"name":3071,"fn":3072,"description":3073,"org":3074,"tags":3075,"stars":23,"repoUrl":24,"updatedAt":3083},"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},[3076,3079,3082],{"name":3077,"slug":3078,"type":16},"Compliance","compliance",{"name":3080,"slug":3081,"type":16},"Governance","governance",{"name":21,"slug":22,"type":16},"2026-05-14T06:02:19.677579",{"slug":3085,"name":3085,"fn":3086,"description":3087,"org":3088,"tags":3089,"stars":23,"repoUrl":24,"updatedAt":3100},"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},[3090,3093,3096,3097],{"name":3091,"slug":3092,"type":16},"Automation","automation",{"name":3094,"slug":3095,"type":16},"Contracts","contracts",{"name":21,"slug":22,"type":16},{"name":3098,"slug":3099,"type":16},"QA","qa","2026-05-14T06:01:31.00555",{"slug":3102,"name":3102,"fn":3103,"description":3104,"org":3105,"tags":3106,"stars":23,"repoUrl":24,"updatedAt":3117},"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},[3107,3108,3111,3114],{"name":21,"slug":22,"type":16},{"name":3109,"slug":3110,"type":16},"Policy","policy",{"name":3112,"slug":3113,"type":16},"Regulatory Compliance","regulatory-compliance",{"name":3115,"slug":3116,"type":16},"Risk Assessment","risk-assessment","2026-05-13T06:03:19.61029",{"slug":3119,"name":3119,"fn":3120,"description":3121,"org":3122,"tags":3123,"stars":23,"repoUrl":24,"updatedAt":3127},"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},[3124,3125,3126],{"name":3094,"slug":3095,"type":16},{"name":18,"slug":19,"type":16},{"name":21,"slug":22,"type":16},"2026-05-13T06:03:34.070339",{"slug":3129,"name":3129,"fn":3130,"description":3131,"org":3132,"tags":3133,"stars":23,"repoUrl":24,"updatedAt":3138},"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},[3134,3135],{"name":3091,"slug":3092,"type":16},{"name":3136,"slug":3137,"type":16},"Plugin Development","plugin-development","2026-05-13T06:02:55.642269",{"slug":3140,"name":3140,"fn":3141,"description":3142,"org":3143,"tags":3144,"stars":23,"repoUrl":24,"updatedAt":3149},"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},[3145,3148],{"name":3146,"slug":3147,"type":16},"Education","education",{"name":21,"slug":22,"type":16},"2026-07-24T05:41:43.01243",{"slug":3151,"name":3151,"fn":3152,"description":3153,"org":3154,"tags":3155,"stars":23,"repoUrl":24,"updatedAt":3164},"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},[3156,3159,3160,3161],{"name":3157,"slug":3158,"type":16},"Documentation","documentation",{"name":3080,"slug":3081,"type":16},{"name":21,"slug":22,"type":16},{"name":3162,"slug":3163,"type":16},"Meetings","meetings","2026-05-14T06:01:29.792942",118,{"items":3167,"total":3350},[3168,3189,3203,3215,3234,3245,3264,3284,3298,3313,3321,3334],{"slug":3169,"name":3169,"fn":3170,"description":3171,"org":3172,"tags":3173,"stars":3186,"repoUrl":3187,"updatedAt":3188},"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},[3174,3177,3180,3183],{"name":3175,"slug":3176,"type":16},"Creative","creative",{"name":3178,"slug":3179,"type":16},"Design","design",{"name":3181,"slug":3182,"type":16},"Generative Art","generative-art",{"name":3184,"slug":3185,"type":16},"JavaScript","javascript",161831,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","2026-04-06T17:56:15.455818",{"slug":3190,"name":3190,"fn":3191,"description":3192,"org":3193,"tags":3194,"stars":3186,"repoUrl":3187,"updatedAt":3202},"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},[3195,3198,3199],{"name":3196,"slug":3197,"type":16},"Branding","branding",{"name":3178,"slug":3179,"type":16},{"name":3200,"slug":3201,"type":16},"Typography","typography","2026-04-06T17:56:05.042852",{"slug":3204,"name":3204,"fn":3205,"description":3206,"org":3207,"tags":3208,"stars":3186,"repoUrl":3187,"updatedAt":3214},"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},[3209,3210,3211],{"name":3175,"slug":3176,"type":16},{"name":3178,"slug":3179,"type":16},{"name":3212,"slug":3213,"type":16},"PDF","pdf","2026-04-06T17:56:03.794732",{"slug":3216,"name":3216,"fn":3217,"description":3218,"org":3219,"tags":3220,"stars":3186,"repoUrl":3187,"updatedAt":3233},"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},[3221,3224,3225,3228,3230],{"name":3222,"slug":3223,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":3226,"slug":3227,"type":16},"Anthropic SDK","anthropic-sdk",{"name":3229,"slug":3216,"type":16},"Claude API",{"name":3231,"slug":3232,"type":16},"LLM","llm","2026-07-28T05:36:08.213335",{"slug":3235,"name":3235,"fn":3236,"description":3237,"org":3238,"tags":3239,"stars":3186,"repoUrl":3187,"updatedAt":3244},"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},[3240,3241],{"name":3157,"slug":3158,"type":16},{"name":3242,"slug":3243,"type":16},"Technical Writing","technical-writing","2026-04-06T17:56:14.18897",{"slug":3246,"name":3246,"fn":3247,"description":3248,"org":3249,"tags":3250,"stars":3186,"repoUrl":3187,"updatedAt":3263},"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},[3251,3252,3254,3257,3260],{"name":18,"slug":19,"type":16},{"name":3253,"slug":3246,"type":16},"DOCX",{"name":3255,"slug":3256,"type":16},"Office","office",{"name":3258,"slug":3259,"type":16},"Templates","templates",{"name":3261,"slug":3262,"type":16},"Word","word","2026-07-18T05:16:23.136271",{"slug":3265,"name":3265,"fn":3266,"description":3267,"org":3268,"tags":3269,"stars":3186,"repoUrl":3187,"updatedAt":3283},"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},[3270,3271,3274,3277,3280],{"name":3178,"slug":3179,"type":16},{"name":3272,"slug":3273,"type":16},"Frontend","frontend",{"name":3275,"slug":3276,"type":16},"React","react",{"name":3278,"slug":3279,"type":16},"Tailwind CSS","tailwind-css",{"name":3281,"slug":3282,"type":16},"UI Components","ui-components","2026-04-06T17:56:16.723469",{"slug":3285,"name":3285,"fn":3286,"description":3287,"org":3288,"tags":3289,"stars":3186,"repoUrl":3187,"updatedAt":3297},"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},[3290,3293,3294],{"name":3291,"slug":3292,"type":16},"Communications","communications",{"name":3258,"slug":3259,"type":16},{"name":3295,"slug":3296,"type":16},"Writing","writing","2026-04-06T17:56:20.695522",{"slug":3299,"name":3299,"fn":3300,"description":3301,"org":3302,"tags":3303,"stars":3186,"repoUrl":3187,"updatedAt":3312},"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},[3304,3305,3308,3309],{"name":3222,"slug":3223,"type":16},{"name":3306,"slug":3307,"type":16},"API Development","api-development",{"name":3231,"slug":3232,"type":16},{"name":3310,"slug":3311,"type":16},"MCP","mcp","2026-04-06T17:56:10.357665",{"slug":3213,"name":3213,"fn":3314,"description":3315,"org":3316,"tags":3317,"stars":3186,"repoUrl":3187,"updatedAt":3320},"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},[3318,3319],{"name":18,"slug":19,"type":16},{"name":3212,"slug":3213,"type":16},"2026-04-06T17:56:02.483316",{"slug":3322,"name":3322,"fn":3323,"description":3324,"org":3325,"tags":3326,"stars":3186,"repoUrl":3187,"updatedAt":3333},"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},[3327,3330],{"name":3328,"slug":3329,"type":16},"PowerPoint","powerpoint",{"name":3331,"slug":3332,"type":16},"Presentations","presentations","2026-07-18T05:16:24.1471",{"slug":3335,"name":3335,"fn":3336,"description":3337,"org":3338,"tags":3339,"stars":3186,"repoUrl":3187,"updatedAt":3349},"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},[3340,3341,3342,3345,3348],{"name":3222,"slug":3223,"type":16},{"name":3157,"slug":3158,"type":16},{"name":3343,"slug":3344,"type":16},"Evals","evals",{"name":3346,"slug":3347,"type":16},"Performance","performance",{"name":3242,"slug":3243,"type":16},"2026-04-19T06:45:40.804",490]