Install
openclaw skills install @yuanzhian-patsnap/monitor-patent-litigation-risk-ipMonitor patent-litigation exposure for a primary company and up to four named comparison parties. Use when users need target-centric identification of potentially litigated patents, patent-family and claim analysis, verified proceeding timelines, case deep dives, inventor activity, geographic exposure, litigation alerts, technology trends, and an evidence-backed HTML report with structured JSON or CSV attachments.
openclaw skills install @yuanzhian-patsnap/monitor-patent-litigation-risk-ipCreate an evidence-backed monitoring report for one primary target and, optionally, up to four comparison parties. Preserve the source workflow's patent discovery, public-record verification, family expansion, claim comparison, legal-history review, litigation timeline, case analysis, inventor activity, three-dimensional conclusions, and target-centric HTML output.
Act as an intelligence analyst, not as counsel, a court, a tribunal, or a prediction service. Do not provide legal advice or state that a party will win, lose, infringe, obtain an injunction, invalidate a patent, or settle. Separate:
Treat PatSnap legal-event data as a patent-data and discovery source. Verify material case facts using primary tribunal, court, agency, or official-register records current to the report cutoff.
Use this skill for requests such as:
Do not use this skill as the primary workflow for a standalone novelty opinion, inventive-step opinion, invalidity search, infringement opinion, FTO legal opinion, or open-ended technology landscape without named parties.
| Field | Required | Meaning |
|---|---|---|
parties | Yes | One to five named organizations; the first is the monitored target |
target_aliases | No | Verified former names, subsidiaries, abbreviations, and spelling variants |
jurisdictions | No | Courts, tribunals, and patent authorities material to the business question |
cutoff_date | Yes for final | Date through which case and patent facts were verified |
inventor_lookback_years | No | Recent filing lookback; source default is 3 years |
family_scope | No | Source default is INPADOC; state any alternative |
max_litigated_per_party | No | Review cap; source default is 30 and must be disclosed |
business_context | No | Product, market, transaction, launch, or monitoring objective |
known_cases_or_patents | No | User-supplied leads requiring independent verification |
output_path | No | Destination for HTML, JSON, and CSV artifacts |
Do not stop for routine confirmations once inputs are sufficient. Record reasonable assumptions and continue. Ask only when party identity is genuinely ambiguous or a missing choice materially changes the requested scope.
Use the first party as the grammatical and analytical subject of the report. Classify the target's role for every proceeding and asserted patent as one of:
plaintiff;defendant;counterclaimant;co_party; orother.Do not organize chapters around a comparison party as though it were the monitored target. Do not infer a role from patent ownership alone. Verify roles from the actual proceeding record.
Assign stable identifiers:
CASE-001, CASE-002, and so on;S001, S002, and so on;Q001, Q002, and so on;F001, F002, and so on.For each material fact, preserve:
| Field | Required content |
|---|---|
| Fact | Exact proposition supported |
| Source type | Primary docket/order, official register, patent record, news, or other |
| Source locator | URL, docket entry, page, paragraph, patent number, event, or claim |
| Source date | Filing, publication, order, event, or status date |
| Accessed | Retrieval date |
| Evidence state | verified, partially_verified, unverified, or conflicting |
| Coverage | What the source establishes and does not establish |
| Notes | Translation, party-name, date, family, or status limitation |
Use reporting, press releases, law-firm notes, and database signals as secondary leads. Never cite a search-results page as proof of a court fact when a primary source is available.
Confirm each connector's live tool schema at runtime. Do not invent source tool names or parameters.
Use for patent search, detailed legal events, simple status, full text, images, and reexamination or invalidation data.
global_core_patent_databasehttps://open.patsnap.com/marketplace/mcp-servers/core-patentsUse for bibliography, legal status, family relationships, technical summaries, intelligent attached images, claims, descriptions, and translations.
patent_briefinghttps://open.patsnap.com/marketplace/mcp-servers/patent-briefingUse for broader assignee, inventor, classification, keyword, and technology retrieval when its search routes improve coverage.
advanced_patent_searchhttps://open.patsnap.com/marketplace/mcp-servers/patent-searchNever expose or reproduce a real API key. Obtain the current connection URL through the official marketplace Connect action.
PatSnap MCPs do not replace jurisdiction-specific court and tribunal sources. Use available public-source research for discovery and primary-source verification, and log every query, filter, date, and limitation.
| Entity ID | Canonical name | Alias | Relationship | Effective dates | Source | Include/exclude |
|---|
Run patent-data discovery and public-record discovery independently.
Search normalized assignee and applicant variants using Global Core Patent Database and, when useful, Advanced Patent Search. Review legal-event fields for litigation, infringement, complaints, injunctions, invalidity, opposition, administrative review, licensing disputes, or comparable jurisdiction-specific events.
Do not equate a keyword or event label with a verified asserted patent. Store candidates separately from verified asserted patents.
Search party aliases with jurisdiction-appropriate terms for complaints, cases, dockets, decisions, appeals, investigations, oppositions, reviews, and patent numbers. Prefer:
Extract patent and application identifiers using jurisdiction-aware patterns. Preserve the displayed identifier and record normalization separately. Support, as evidence requires, publication, grant, application, PCT, design, utility-model, and local registration formats.
Do not assume a ZL or CN format, strip digits indiscriminately, or infer a publication number from an application number. Verify every normalized identifier through patent data.
De-duplicate by verified publication/application identity and family relationship. For each candidate, assign:
patent_data_signal;public_record_signal;both_signals; oruser_supplied_lead.Then classify as:
verified asserted patent;case-related but assertion unclear;legal-event lead only;false positive; orunresolved.Record why the item changed state.
For each candidate proceeding, verify:
Do not describe a dismissal without prejudice, settlement, preliminary ruling, institution decision, or appeal as a final merits victory. If the public record is incomplete, state exactly what remains unverified.
Build a case record compatible with scripts/orchestrator.py.
For each verified or materially unresolved asserted patent:
For representative claims, compare:
Do not perform a dispositive claim-construction or infringement analysis unless separately requested and appropriately sourced.
Use Patent Briefing's intelligent attached-image capability or another verified patent-record image source. Prefer a stable local copy or validated base64 payload for a portable report.
javascript: URLs, non-HTTP(S) remote URLs, and malformed base64.Image not available state.Create a single chronological timeline with:
| Date | Case ID | Event | Patents/claims | Target role | Source | Evidence state |
|---|
Include a patent number at each node when the event actually concerns a patent. Do not attach every case patent to every procedural event. Distinguish filing, service, answer, counterclaim, claim-construction, stay, institution, trial, order, settlement, judgment, and appeal.
Normalize dates to ISO format while preserving uncertain or partial source dates.
For each verified case, cover:
Attach [S###] citations to every material fact. Quote sparingly and within applicable copyright limits. Prefer paraphrase plus a precise locator.
Aggregate inventors from the reviewed patent families, rank by transparent criteria, and select up to the source default of ten. Search the configured recent period, default three years, using verified inventor identity and assignee context.
For each inventor, report:
Inventor activity is descriptive. Do not treat it as proof of future litigation, employee movement, strategic intent, or product launch.
For each material jurisdiction, consider verified proceedings, asserted patents, current family members, business activity supplied by the user, and procedural posture. Use states:
Elevated;Moderate;Lower on reviewed evidence; orNot assessable.Family count or active-patent count alone cannot determine exposure.
Summarize disputed issues, target role, procedural posture, defenses, counterparties, asserted claims, material deadlines only when verified, and monitoring actions. Do not impose a word quota; write enough to make evidence, uncertainty, and action clear.
Describe recent filing directions from the inventor and family evidence. Separate observed filing activity from inferred strategy and forecast scenarios. Provide near-, medium-, and long-term monitoring hypotheses only when evidence supports them, with explicit uncertainty.
Create:
scripts/orchestrator.py when requested or useful; andDo not add these generated outputs to the skill package itself.
Use the following continuous report order:
Use seven concise navigation tabs by grouping adjacent chapters:
Never mix these counts:
State the family definition, jurisdiction coverage, date range, de-duplication rule, pagination limit, and unresolved records next to every material count.
Use one portable, static, English HTML file with a restrained Western scientific/legal design:
Do not require Chart.js, a CDN, remote JavaScript, analytics, trackers, or external fonts. Use simple HTML/CSS tables or accessible static SVG only when a chart materially improves comprehension.
Escape all external text. Reject unsafe URLs. Do not embed API keys, local paths, session IDs, hidden prompts, source credentials, or expiring signed links. Confirm every required chapter, case, patent, and citation appears in the final output.
Direct evidence-backed HTML authoring is the default. The source-retained scripts/render_report.py is an optional safe deterministic export and test surface; it is not an excuse to populate placeholders or synthetic facts. SKILL.md.bak_v9_css is a localized historical specification and is not authoritative.
scripts/config.pyRead when defaults, report section names, target roles, evidence states, risk states, or field semantics are needed.
scripts/orchestrator.pyUse to create an empty JSON skeleton and validate cross-field references. It never retrieves data. Populate its records only from evidence gathered by the agent.
Example:
$env:PYTHONDONTWRITEBYTECODE='1'
python scripts/orchestrator.py --parties "Target Corp,Comparison Corp" --cutoff-date 2026-08-07 --out report_data.json
scripts/render_report.pyUse only after the record is populated and validated. The renderer escapes text, rejects unsafe URLs, and creates an offline HTML file.
$env:PYTHONDONTWRITEBYTECODE='1'
python scripts/render_report.py --data report_data.json --out litigation_report.html --lang en
scripts/tests/smoke.pyRun offline to test schema validation, safe rendering, required content, and removal of active-content payloads.
scripts/main.pyRetain as the source package's minimal entry point. It reports helper availability and does not claim to execute the evidence workflow.
partially_verified or unverified; do not elevate reporting to a holding.conflicting.Use this reference to reconcile direct HTML, JSON, and CSV outputs. Do not populate absent facts with empty-looking prose; preserve an empty value plus an explicit limitation.
| Field | Type | Requirement |
|---|---|---|
schema_version | string | Use the version implemented by the orchestrator |
generated_at | ISO timestamp | Record generation time in UTC |
cutoff_date | ISO date | Last date through which material facts were checked |
report_language | string | Default en; preserve source-language evidence separately |
target | object | Primary monitored organization and aliases |
comparison_parties | array | Other named organizations, excluding the target |
scope | object | Jurisdictions, family rule, search runs, caps, and limitations |
overview | object | Reconciled descriptive counts |
family_analysis | object | Geography, classifications, status, claims, and counting rule |
litigated_patents | array | Verified or explicitly qualified patent records |
litigation_timeline | array | Chronological, source-linked events |
cases | array | Verified or explicitly qualified proceeding records |
inventors | array | Disambiguated descriptive activity records |
conclusions | object | Three dimensions and action register |
sources | array | Evidence and query register |
assumptions | array | Necessary assumptions stated as assumptions |
limitations | array | Material coverage and evidentiary limits |
| Field | Meaning |
|---|---|
name | Canonical monitored entity name |
aliases | Verified names and variants used in searches |
role_basis | Why this party is the report's target |
Keep subsidiaries and affiliates in the alias register only when the relationship and relevant dates are sourced. Otherwise represent them as separate parties.
| Field | Meaning |
|---|---|
jurisdictions | Included courts, tribunals, and patent authorities |
family_scope | Family definition used for expansion and counts |
inventor_lookback_years | Descriptive recent-activity period |
max_litigated_per_party | Review cap, not a total-count claim |
top_inventors | Maximum inventor records presented |
searches | Reproducible query and connector log |
limitations | Scope-specific omissions and access restrictions |
Each search entry should contain:
Use only reconciled values:
| Field | Counting basis |
|---|---|
party_count | Target plus comparison parties |
candidate_patent_count | De-duplicated discovery leads before verification |
verified_asserted_patent_count | Patents linked to proceedings by sufficient evidence |
family_member_count | Publications under the stated family rule |
verified_case_count | Proceedings verified to the report's evidence standard |
party_patent_map | Explicit party, role, patent, case, and source edges |
For each element of litigated_patents, preserve:
| Field | Requirement |
|---|---|
publication_number | Verified canonical publication or grant number |
application_number | Verified application number when available |
patent_url | Stable HTTP(S) locator |
title | Source title and translation provenance if translated |
filing_date | Verified filing date |
publication_date | Verified publication date |
priority_date | Earliest relevant priority, qualified when entitlement is not reviewed |
legal_status | Status label from named source |
legal_status_as_of | Date of status verification |
target_role | Verified role in linked proceeding |
risk_state | Evidence-qualified state, not an outcome prediction |
evidence_state | Verification completeness |
case_ids | Existing stable case IDs only |
asserted_claims | Publicly verified asserted claims only |
abstract_image_b64 | Validated bounded PNG payload without prefix |
abstract_image_url | Safe HTTP(S) fallback only |
technology_problem | Evidence-backed technical problem summary |
technology_means | Evidence-backed solution mechanism |
technology_effect | Evidence-backed technical benefit or result |
open_questions | Unresolved claim, status, family, or case questions |
claims | Exact or clearly translated claim text |
claim_source_language | Language of the authoritative claim text |
family_members | Related publications under the stated rule |
sources | Patent and proceeding evidence locators |
Do not use a patent card to imply that every listed family member was asserted. Mark the asserted member and the relationship explicitly.
Preserve, when available:
For each compared representative claim, record:
For each element of cases, preserve:
| Field | Requirement |
|---|---|
case_id | Stable internal report identifier |
case_name | Official or source-verified caption |
case_number | Official docket, proceeding, or investigation number |
tribunal | Court, tribunal, board, or agency |
jurisdiction | Country and relevant territorial level |
filed_date | Filing or institution date, labeled accurately |
verified_as_of | Date current posture was checked |
plaintiffs | Verified named plaintiffs or complainants |
defendants | Verified named defendants or respondents |
target_role | Target's role in this proceeding |
asserted_patents | Verified patent identifiers |
asserted_claims | Verified claim numbers when public |
allegations | Party allegations, labeled as allegations |
defenses | Pleaded or reported defenses, labeled accurately |
procedural_posture | Current stage as of verification date |
disposition | Accurate outcome or explicit absence of final disposition |
appeal | Verified appeal status and identifier |
timeline | Case-specific event records |
sources | Primary locators first, secondary context second |
evidence_state | Verification completeness |
Each event should include:
Each inventor entry should include:
Each geographic item should contain jurisdiction, evidence-qualified state, verified proceedings, asserted patents, family context, business-context input, reasoning, uncertainty, trigger, and action.
The litigation alert should contain current posture, disputed issues, verified deadlines or events, target role, counterparties, defenses, open evidence questions, monitoring cadence, and responsible owner.
The technology trend should contain observed period, counting basis, themes, representative evidence, alternative explanations, near-term hypothesis, medium-term hypothesis, long-term hypothesis, and confidence.
Each action should contain:
For each element of sources, preserve:
When CSV is requested, create separate files for:
cases.csv;asserted_patents.csv;family_members.csv;timeline.csv;inventors.csv;search_log.csv; andsources.csv.Use UTF-8, stable headers, ISO dates, explicit empty values, and semicolon-separated stable IDs for many-to-many fields. Do not flatten allegations or holdings into an unlabeled free-text cell.
Before delivery, verify: