From ip-legal-uk
Track the UK IP portfolio — registrations, renewals, maintenance fees (UK IPO annual fees, EUIPO renewals, EPO annuities, Madrid Monitor). Use when checking what's renewing, adding or updating an asset, recording a filing, or auditing the register for gaps, lapses, and post-Brexit coverage issues. Receives handoffs from prosecution and clearance work.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ip-legal-uk:portfolio [--report [--days N] | --add | --update | --audit][--report [--days N] | --add | --update | --audit]The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Surfaces what's renewing, adds assets, records filings, and audits the register.
Surfaces what's renewing, adds assets, records filings, and audits the register.
Follow the workflow below and read
~/.claude/plugins/config/uk-legal-plugins/ip-legal-uk/portfolio.yaml.
Default (no args): equivalent to --report — show deadlines in the
next 90 days grouped by urgency (🔴 lapsed/grace, ⏰ due within window,
🟡 upcoming, 🌐 agent-managed, ❓ unknown).
--report [--days N]: Mode 2. Change the window with --days
(30 / 60 / 90 / 180 typical). Always prepend the work-product header
per CLAUDE.md → Outputs. Always close with the verification caveat.
--add: Mode 3. Walk through a new asset interactively — type,
jurisdiction, number, dates, owner, business owner. Capture a custom
rule if the jurisdiction isn't built in.
--update: Mode 4. Record that a maintenance filing or fee payment
was made, sync with the IP management system, or change an asset's
status. Enforce the consequential-action gate before setting any
deadline to filed.
--audit: Mode 5. Broader health check — deadline hygiene,
registration gaps, post-Brexit coverage gaps (UK/EU marks and designs),
owner inconsistencies, expiration horizon, unwatched marks.
If the register is empty and an IP management system is connected: Offer Mode 1 — pull the portfolio from the system of record and initialise the register.
Guardrail reminder: Computed deadlines are reference only. Every output closes with a line directing verification against the UK IPO online records, EUIPO eSearch, WIPO Madrid Monitor, EPO Register, or the relevant national registry before filing or paying.
/ip-legal-uk:portfolio
/ip-legal-uk:portfolio --report --days 180
/ip-legal-uk:portfolio --add
/ip-legal-uk:portfolio --update
/ip-legal-uk:portfolio --audit
This skill tracks deadlines from what you tell it. It works much better connected to:
Without any of these, paste your docket or upload a spreadsheet.
A trade mark registration that isn't renewed on time can be cancelled. A patent without its annual renewal fee paid lapses. A domain that expires can be sniped within hours. This skill maintains the calendar.
The deadline rules this skill applies reflect publicly available requirements as of the skill's build date. UK IPO, EUIPO, EPO, WIPO Madrid Monitor requirements, grace periods, fee structures, and maintenance schedules change. Always confirm computed deadlines against the UK IPO online records, EUIPO eSearch, EPO Register, WIPO Madrid Monitor, or the relevant national registry before acting. If you use Anaqua, CPA Global, Clarivate, Alt Legal, or another IP management system, their docket is authoritative for your assets — use this tracker to organise and surface their data, not to replace it.
A docketed-but-wrong deadline is worse than an undocketed one: it creates false confidence.
Maintenance mechanics vary by jurisdiction and asset type:
UK trade marks (UK IPO)
EUIPO trade marks
Madrid international trade marks (WIPO)
UK patents (UK IPO national)
European patents (EP designating UK)
EPO annuities (pre-grant)
PCT applications
UK registered designs (UK IPO)
UK unregistered design right (CDPA 1988)
UK supplementary unregistered design right (UK SUDR)
Domains
EU trade marks (EUIPO) — post-Brexit note for existing comparable UK marks
If the portfolio includes assets in jurisdictions not listed above, capture
the maintenance mechanic in the register's custom_rules block and the
report will surface them as agent_managed.
Lives at ~/.claude/plugins/config/uk-legal-plugins/ip-legal-uk/portfolio.yaml.
Structure:
# IP Portfolio Register
# Generated: [date]
# Last updated: [date]
# Disclaimer: computed deadlines are reference only — confirm with UK IPO /
# EUIPO / EPO / WIPO Madrid Monitor / relevant registry before acting.
metadata:
company: "[Company Name]"
generated: "[date]"
last_updated: "[date]"
last_audit: "[date or null]"
source_system: "[Anaqua / CPA Global / manual / none]"
custom_rules: # non-built-in jurisdictions captured manually
[]
assets:
- id: "TM-UK-001"
type: "trademark"
jurisdiction: "UK" # UK / EUIPO / Madrid-UK / Madrid-EU / other
mark_or_title: "[Mark]"
owner: "[Record owner — registered entity name]"
status: "registered" # pending / registered / lapsed / abandoned / cancelled
application_number: "[number or null]"
registration_number: "[number or null]"
classes: ["9", "42"] # Nice classes
filing_date: "[YYYY-MM-DD or null]"
registration_date: "[YYYY-MM-DD or null]"
comparable_uk_mark: false # true if created from EUTM at Brexit transition 31 Dec 2020
source_eutm: "[EUTM reg number or null]" # if comparable_uk_mark is true
next_deadlines:
- type: "UK trade mark renewal"
due_date: "[YYYY-MM-DD]"
grace_end: "[YYYY-MM-DD or null]"
basis: "10th anniversary of filing date"
action: "File Form TM11 and pay renewal fee at UK IPO"
status: "upcoming" # upcoming / due_soon / overdue / grace / filed
agent_managed: false
local_agent: null
docket_id: null
outside_counsel: "[firm or null]"
business_owner: "[email or team]"
notes: ""
- id: "PAT-UK-001"
type: "patent"
jurisdiction: "UK" # UK national / EP(UK) / EP-GB / PCT-UK
mark_or_title: "[Invention title]"
owner: "[Owner]"
status: "granted"
application_number: "[number]"
registration_number: "[patent number]"
filing_date: "[YYYY-MM-DD]"
grant_date: "[YYYY-MM-DD]"
priority_date: "[YYYY-MM-DD or null]"
expiration_date: "[YYYY-MM-DD]" # 20 years from earliest priority; SPC may extend
spc: false # true if Supplementary Protection Certificate granted
spc_expiry: "[YYYY-MM-DD or null]"
next_deadlines:
- type: "UK annual renewal fee"
due_date: "[YYYY-MM-DD]"
grace_end: "[YYYY-MM-DD]"
basis: "4th anniversary of filing date"
action: "Pay UK IPO annual renewal fee (Form RF1)"
status: "upcoming"
claims_count: 20
docket_id: null
outside_counsel: null
business_owner: null
notes: ""
Status values for next_deadlines:
upcoming — more than 90 days outdue_soon — due within 90 days, not yet filedoverdue — past the primary due date, within grace window (if any)grace — in the grace period (explicit flag — carries surcharge)lapsed — past grace with no action; asset effectively lost unless revivablefiled — action completed this cycleRun when no register exists, or with --rebuild.
Read ~/.claude/plugins/config/uk-legal-plugins/ip-legal-uk/CLAUDE.md:
Apply the rules above. For comparable UK marks created from EUTMs at Brexit transition: check that the UK mark's renewal date is independently captured and not confused with the EUIPO renewal for the parent EUTM.
For assets this skill cannot confidently schedule:
custom_rules, flag agent_managed: true.next_deadlines empty with a note, list as unknown.Portfolio register initialised.
Assets: [N]
Trade marks (UK IPO): [N]
Trade marks (EUIPO): [N]
International marks (Madrid): [N]
Patents (UK national / EP(UK)): [N]
Registered designs (UK): [N]
Domains: [N]
Post-Brexit flags: [N] — assets where UK/EU split may need review
Agent-managed / jurisdiction TBC: [N]
Unknown (missing key dates): [N]
Run /ip-legal-uk:portfolio --report to see what's due.
/ip-legal-uk:portfolio --report [--days 30|60|90|180]
Default window: 90 days. Refresh computed deadlines for every asset before producing the report.
Output (prepend work-product header):
IP PORTFOLIO DEADLINE REPORT — [date]
[Company Name] — window: next [N] days
🔴 LAPSED / IN GRACE ([N])
[Asset ID] / [Jurisdiction] / [Type] / [Mark or title]
[Action] — original due [date], grace ends [date]
Status: [grace / lapsed]
⏰ DUE WITHIN [N] DAYS ([N])
[Asset ID] / [Jurisdiction] / [Type] / [Mark or title]
[Action] — due [date]
Basis: [e.g., "10-year anniversary of UK registration date"]
[Agent: firm / docket: id — if present]
🟡 UPCOMING (next window beyond 30 days, within [N] days)
[list]
🌐 AGENT-MANAGED ([N])
[Asset ID] / [Jurisdiction] — managed by [local agent]; confirm directly
❓ UNKNOWN ([N])
[Asset ID] — missing [field]; cannot compute deadline
POST-BREXIT FLAGS
[Any assets where UK/EU coverage gap may need review]
SUMMARY
Total assets tracked: [N]
Deadlines in window: [N]
Last audit: [date]
Close with: "Computed from portfolio register. Verify each deadline against the UK IPO online records / EUIPO eSearch / WIPO Madrid Monitor / EPO Register / relevant national registry before filing or paying."
If the report lists more than ~10 assets, offer the dashboard.
/ip-legal-uk:portfolio --add
Interactive add of a single asset. Ask for:
comparable_uk_mark: true and source_eutm.After capture:
custom_rules capture flow.assets: in portfolio.yaml./ip-legal-uk:portfolio --update
Before recording that a maintenance filing or fee payment was made: Read
## Who's using this in CLAUDE.md. If the Role is Non-lawyer:
Recording a UK trade mark renewal, a UK patent annual fee, an EUIPO renewal, or an EPO annuity payment as "filed" has consequences. If the record is wrong — missed deadline, wrong form, wrong entity — the deadline doesn't move and the asset can still lapse. Have you confirmed this with the solicitor, trade mark attorney, or Chartered Patent Attorney who actually made the filing, or with the UK IPO / EUIPO / EPO / Madrid Monitor directly? If yes, proceed. If no:
- Do not record as filed yet.
- Bring to the relevant professional: asset ID, jurisdiction, deadline type, what you believe was filed and when.
To find a Chartered Patent Attorney: CIPA (cipa.org.uk). To find a Registered Trade Mark Attorney: CITMA (citma.org.uk). For general legal advice: SRA register for solicitors (sra.org.uk).
Do not set a deadline's status to filed past this gate without an
explicit yes.
Manual update: "We filed the UK renewal for TM-UK-001 on [date]." Update the matching deadline: status: filed, filed_date, and compute the next deadline (next 10-year renewal).
From IP management system sync: Pull latest docket and reconcile. Flag mismatches; system of record wins; surface anything the register had that the system doesn't.
Status change: "Mark TM-UK-004 as abandoned." Update status, clear next_deadlines, note the date.
/ip-legal-uk:portfolio --audit
Broader health check:
Deadline hygiene
grace status right now?lapsed assets not marked abandoned or cancelled?next_deadlines computed?Registration gaps
pending? Flag for status check at the UK IPO / EUIPO.pending? Flag for prosecution check.Post-Brexit coverage gaps
Ownership hygiene
owner is not a currently active entity?Expiration horizon
Unwatched assets
Output format:
IP PORTFOLIO AUDIT — [date]
DEADLINE HYGIENE
In grace: [N]
Lapsed (not marked abandoned): [N]
Missing next-deadline computation: [N]
REGISTRATION GAPS
TM applications pending >18 months: [list]
Patent applications pending >4 years: [list]
POST-BREXIT COVERAGE GAPS
Assets with EUIPO but no UK IPO equivalent (or vice versa): [list]
Comparable UK marks without separate UK renewal tracking: [list]
Madrid designations where UK and/or EU not separately tracked: [list]
Design portfolio EU-only gaps: [list]
OWNERSHIP
Assets with unrecognised owner strings: [N]
Owner name inconsistencies: [list]
EXPIRATION HORIZON (24 months)
Patents expiring: [list]
SPCs expiring: [list]
BRAND WATCH
Registered marks not on watch list: [list]
RECOMMENDED ACTIONS
1. [highest priority — usually any lapsed or grace items]
2. [etc.]
The ip-renewal-watcher agent in this plugin runs this skill on a schedule
(weekly by default) and posts the Mode 2 report to the channel named in
CLAUDE.md → Renewal alerts. If 🔴 items appear (grace / lapsed), the agent
posts them immediately regardless of schedule.
npx claudepluginhub uk-agents/uk-legal-plugins --plugin ip-legal-ukProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.