Patent Landscape Tools
Use this skill for research-grade patent intelligence around drugs, targets, or mechanisms, not legal freedom-to-operate opinions.
Typical triggers:
- search US patents related to a drug compound, target, or mechanism of action
- classify pharmaceutical patents by claim type: NCE, formulation, method-of-use, polymorph, biologic, process
- build a landscape summary showing filing trends, top assignees, and claim-type distribution
- estimate patent expiry windows for one or more patent families
- cross-reference the FDA Orange Book for a marketed drug's listed patents and exclusivity codes
- identify IP white-space or under-patented mechanism classes before a new filing strategy
Working Rules
- Always apply a pharmaceutical CPC filter (A61K, A61P, or C07) to avoid non-drug noise.
- Distinguish granted patents from applications; PatentsView covers grants only.
- Report the data source, query date, and coverage limitation (US-only) in every output.
- Claim-type classification is heuristic from title and abstract keywords, not from reading claims.
- Expiry is estimated as filing date + 20 years; PTE, PTA, SPC, and terminal disclaimers are not computed.
- Do not present any output as freedom-to-operate analysis, legal advice, or infringement opinion.
Environment Check
which python3 || true
python3 - <<'PY'
mods = ["requests"]
for name in mods:
try:
__import__(name)
print(f"{name}: ok")
except Exception as exc:
print(f"{name}: missing ({exc})")
PY
If network access is unavailable, say so before claiming patent data was retrieved.
Bundled Assets
templates/patent_landscape.py
Patent Landscape Search
Use templates/patent_landscape.py for:
- keyword + CPC-filtered patent search on PatentsView
- automatic claim-type classification of each result
- assignee ranking, filing-trend extraction, and family grouping
- optional markdown landscape brief
Quick start:
python3 templates/patent_landscape.py \
--query "KRAS G12C inhibitor" \
--cpc-filter A61K \
--max-results 200 \
--output patents/kras_g12c_landscape.csv \
--summary patents/kras_g12c_summary.json \
--brief patents/kras_g12c_brief.md
Broad landscape with date range:
python3 templates/patent_landscape.py \
--query "PD-1 antibody" \
--cpc-filter A61K39 \
--date-from 2015-01-01 \
--max-results 500 \
--output patents/pd1_ab_landscape.csv \
--summary patents/pd1_ab_summary.json
Deliverables:
- per-patent CSV with patent number, title, filing date, grant date, assignee, country, CPC, claim-type guess, estimated expiry year, and abstract snippet
- summary JSON with total count, estimated family count, claim-type distribution, top assignees, country distribution, filing-year trend, and expiry window
- optional markdown brief with tables and caveats
Expiry Timeline
Use templates/patent_landscape.py --mode expiry-timeline for:
- patent expiry estimation sorted by earliest expiry
- identification of upcoming patent cliffs for a compound or class
python3 templates/patent_landscape.py \
--query "semaglutide" \
--mode expiry-timeline \
--output patents/semaglutide_expiry.csv \
--summary patents/semaglutide_expiry.json
Deliverables:
- patent CSV sorted by estimated expiry year
- summary JSON with total patents and timeline entry count
Orange Book Cross-Reference
Use --orange-book-query to add FDA Orange Book data for a marketed drug:
python3 templates/patent_landscape.py \
--query "semaglutide" \
--mode expiry-timeline \
--orange-book-query "semaglutide" \
--output patents/semaglutide_expiry.csv \
--summary patents/semaglutide_expiry.json
Orange Book entries include: brand name, generic name, NDA number, dosage form, route, and marketing status.
CPC Filter Reference
| CPC |
Scope |
| A61K |
Pharmaceutical compositions (broadest drug filter) |
| A61K31 |
Small-molecule active ingredients |
| A61K39 |
Antibodies, vaccines, antigens |
| A61K47 |
Excipients, carriers, formulation technology |
| A61P |
Therapeutic activity by indication |
| C07D |
Heterocyclic compounds (core scaffolds) |
| C07K |
Peptides and proteins |
Claim-Type Classification Heuristics
The template matches title + abstract keywords to assign one of:
NCE / composition-of-matter — compound, molecule, chemical entity, active ingredient
formulation — dosage form, tablet, capsule, nanoparticle, sustained release
method-of-use — method of treating, therapeutic use, for the treatment
polymorph / salt form — polymorph, crystal form, salt, co-crystal, hydrate
combination — combination, co-administration, synergistic
biologic — antibody, recombinant, fusion protein, monoclonal
diagnostic — biomarker, companion diagnostic, imaging agent
device / delivery — device, inhaler, auto-injector, applicator
process / manufacturing — synthesis, preparation, method of making
First match wins. Unmatched patents are labeled unclassified. This is not claim analysis.
Output Expectations
Good answers should mention:
- the query terms, CPC filter, and date range applied
- number of patent families and individual documents retrieved
- claim-type distribution
- top assignees with filing counts
- filing trend by year
- estimated expiry window for key families
- Orange Book listings if queried
- explicit caveat: US patents only, heuristic classification, not legal counsel
- where the CSV, JSON, and optional brief were saved
Related Skills
For compound and regulatory lookups from ChEMBL, openFDA, ClinicalTrials.gov, activate pharma-db-tools.
For target-level intelligence dossiers, activate target-intelligence-tools.
For clinical-pipeline competitive analysis, activate competitive-intelligence-tools.
For drug repurposing hypothesis generation, activate drug-repurposing-tools.
Reference
This skill queries the following public APIs:
- USPTO PatentsView API —
https://api.patentsview.org/patents/query — US granted-patent search with CPC, date, and full-text filters (patentsview.org/apis)
- FDA openFDA drugsFDA API —
https://api.fda.gov/drug/drugsfda.json — Orange Book product listings including brand/generic names, NDA numbers, dosage forms, and marketing status (open.fda.gov/apis/drug/drugsfda)
- CPC classification scheme — Cooperative Patent Classification maintained by EPO and USPTO; A61K/A61P/C07 subclasses are used as pharmaceutical relevance filters (cooperativepatentclassification.org)
- Claim-type classification heuristics are adapted from pharmaceutical IP landscape methodology described in: Dubey R, Maheshwari S. "Patent landscape analysis: A methodology for drug discovery." Drug Discovery Today, 2020.
1---2name: patent-landscape-tools3description: Drug-patent landscape workflow guide for searching US patents via the PatentsView API, classifying pharmaceutical claim types (NCE, formulation, method-of-use, polymorph, combination, biologic, process), grouping by patent family and assignee, estimating expiry timelines, and cross-referencing the FDA Orange Book for marketed-drug exclusivity windows. Use when the user asks about patent coverage, IP white-space, patent cliffs, or competitive filing activity around a drug, target, or compound class without asking for legal counsel.4---56# Patent Landscape Tools78Use this skill for research-grade patent intelligence around drugs, targets, or mechanisms, not legal freedom-to-operate opinions.910Typical triggers:11- search US patents related to a drug compound, target, or mechanism of action12- classify pharmaceutical patents by claim type: NCE, formulation, method-of-use, polymorph, biologic, process13- build a landscape summary showing filing trends, top assignees, and claim-type distribution14- estimate patent expiry windows for one or more patent families15- cross-reference the FDA Orange Book for a marketed drug's listed patents and exclusivity codes16- identify IP white-space or under-patented mechanism classes before a new filing strategy1718## Working Rules19201. Always apply a pharmaceutical CPC filter (A61K, A61P, or C07) to avoid non-drug noise.212. Distinguish granted patents from applications; PatentsView covers grants only.223. Report the data source, query date, and coverage limitation (US-only) in every output.234. Claim-type classification is heuristic from title and abstract keywords, not from reading claims.245. Expiry is estimated as filing date + 20 years; PTE, PTA, SPC, and terminal disclaimers are not computed.256. Do not present any output as freedom-to-operate analysis, legal advice, or infringement opinion.2627## Environment Check2829```bash30which python3 || true31python3 - <<'PY'32mods = ["requests"]33for name in mods:34 try:35 __import__(name)36 print(f"{name}: ok")37 except Exception as exc:38 print(f"{name}: missing ({exc})")39PY40```4142If network access is unavailable, say so before claiming patent data was retrieved.4344## Bundled Assets4546- `templates/patent_landscape.py`4748## Patent Landscape Search4950Use `templates/patent_landscape.py` for:51- keyword + CPC-filtered patent search on PatentsView52- automatic claim-type classification of each result53- assignee ranking, filing-trend extraction, and family grouping54- optional markdown landscape brief5556Quick start:5758```bash59python3 templates/patent_landscape.py \60 --query "KRAS G12C inhibitor" \61 --cpc-filter A61K \62 --max-results 200 \63 --output patents/kras_g12c_landscape.csv \64 --summary patents/kras_g12c_summary.json \65 --brief patents/kras_g12c_brief.md66```6768Broad landscape with date range:6970```bash71python3 templates/patent_landscape.py \72 --query "PD-1 antibody" \73 --cpc-filter A61K39 \74 --date-from 2015-01-01 \75 --max-results 500 \76 --output patents/pd1_ab_landscape.csv \77 --summary patents/pd1_ab_summary.json78```7980Deliverables:81- per-patent CSV with patent number, title, filing date, grant date, assignee, country, CPC, claim-type guess, estimated expiry year, and abstract snippet82- summary JSON with total count, estimated family count, claim-type distribution, top assignees, country distribution, filing-year trend, and expiry window83- optional markdown brief with tables and caveats8485## Expiry Timeline8687Use `templates/patent_landscape.py --mode expiry-timeline` for:88- patent expiry estimation sorted by earliest expiry89- identification of upcoming patent cliffs for a compound or class9091```bash92python3 templates/patent_landscape.py \93 --query "semaglutide" \94 --mode expiry-timeline \95 --output patents/semaglutide_expiry.csv \96 --summary patents/semaglutide_expiry.json97```9899Deliverables:100- patent CSV sorted by estimated expiry year101- summary JSON with total patents and timeline entry count102103## Orange Book Cross-Reference104105Use `--orange-book-query` to add FDA Orange Book data for a marketed drug:106107```bash108python3 templates/patent_landscape.py \109 --query "semaglutide" \110 --mode expiry-timeline \111 --orange-book-query "semaglutide" \112 --output patents/semaglutide_expiry.csv \113 --summary patents/semaglutide_expiry.json114```115116Orange Book entries include: brand name, generic name, NDA number, dosage form, route, and marketing status.117118## CPC Filter Reference119120| CPC | Scope |121|-----|-------|122| A61K | Pharmaceutical compositions (broadest drug filter) |123| A61K31 | Small-molecule active ingredients |124| A61K39 | Antibodies, vaccines, antigens |125| A61K47 | Excipients, carriers, formulation technology |126| A61P | Therapeutic activity by indication |127| C07D | Heterocyclic compounds (core scaffolds) |128| C07K | Peptides and proteins |129130## Claim-Type Classification Heuristics131132The template matches title + abstract keywords to assign one of:133- `NCE / composition-of-matter` — compound, molecule, chemical entity, active ingredient134- `formulation` — dosage form, tablet, capsule, nanoparticle, sustained release135- `method-of-use` — method of treating, therapeutic use, for the treatment136- `polymorph / salt form` — polymorph, crystal form, salt, co-crystal, hydrate137- `combination` — combination, co-administration, synergistic138- `biologic` — antibody, recombinant, fusion protein, monoclonal139- `diagnostic` — biomarker, companion diagnostic, imaging agent140- `device / delivery` — device, inhaler, auto-injector, applicator141- `process / manufacturing` — synthesis, preparation, method of making142143First match wins. Unmatched patents are labeled `unclassified`. This is not claim analysis.144145## Output Expectations146147Good answers should mention:148- the query terms, CPC filter, and date range applied149- number of patent families and individual documents retrieved150- claim-type distribution151- top assignees with filing counts152- filing trend by year153- estimated expiry window for key families154- Orange Book listings if queried155- explicit caveat: US patents only, heuristic classification, not legal counsel156- where the CSV, JSON, and optional brief were saved157158## Related Skills159160For compound and regulatory lookups from ChEMBL, openFDA, ClinicalTrials.gov, activate `pharma-db-tools`.161For target-level intelligence dossiers, activate `target-intelligence-tools`.162For clinical-pipeline competitive analysis, activate `competitive-intelligence-tools`.163For drug repurposing hypothesis generation, activate `drug-repurposing-tools`.164165## Reference166167This skill queries the following public APIs:168- **USPTO PatentsView API** — `https://api.patentsview.org/patents/query` — US granted-patent search with CPC, date, and full-text filters ([patentsview.org/apis](https://patentsview.org/apis))169- **FDA openFDA drugsFDA API** — `https://api.fda.gov/drug/drugsfda.json` — Orange Book product listings including brand/generic names, NDA numbers, dosage forms, and marketing status ([open.fda.gov/apis/drug/drugsfda](https://open.fda.gov/apis/drug/drugsfda/))170- **CPC classification scheme** — Cooperative Patent Classification maintained by EPO and USPTO; A61K/A61P/C07 subclasses are used as pharmaceutical relevance filters ([cooperativepatentclassification.org](https://www.cooperativepatentclassification.org/))171- Claim-type classification heuristics are adapted from pharmaceutical IP landscape methodology described in: Dubey R, Maheshwari S. "Patent landscape analysis: A methodology for drug discovery." *Drug Discovery Today*, 2020.