IP data research tools for patents, trademarks, and applications. Use when: - Looking up patents by number (US, EP, WO, JP, etc.) - Searching patent databases by keyword, assignee, inventor, or classification - Getting patent family, citation, or legal status information - Checking USPTO application status, file wrapper, or PTAB proceedings - Downloading bulk USPTO data products - Finding patent assignments or ownership history
Research patents and trademarks using Google Patents, USPTO, EPO, and JPO databases. Use when looking up patents by number, searching by keywords/assignee, checking application status, or finding PTAB proceedings.
/plugin marketplace add parkerhancock/ip_tools/plugin install parkerhancock-ip-tools@parkerhancock/ip_toolsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
references/cache.mdreferences/epo_ops.mdreferences/google_patents.mdreferences/jpo.mdreferences/uspto_assignments.mdreferences/uspto_odp.mdAsync Python clients for patent data. All clients use async with context managers.
| Task | Client | Reference |
|---|---|---|
| Patent lookup/search | GooglePatentsClient | google_patents.md |
| USPTO application status | ApplicationsClient | uspto_odp.md |
| USPTO PTAB (IPR/PGR) | PtabTrialsClient | uspto_odp.md |
| USPTO bulk data | BulkDataClient | uspto_odp.md |
| USPTO assignments | UsptoAssignmentsClient | uspto_assignments.md |
| EPO bibliographic/family | EpoOpsClient | epo_ops.md |
| JPO application status | JpoClient | jpo.md |
from ip_tools.google_patents import GooglePatentsClient
async with GooglePatentsClient() as client:
patent = await client.get_patent_data("US10123456B2")
from ip_tools.google_patents import GooglePatentsClient
async with GooglePatentsClient() as client:
results = await client.search_patents(
keywords="machine learning",
assignee="Google",
limit=25
)
from ip_tools.uspto_odp import ApplicationsClient
async with ApplicationsClient() as client: # Requires USPTO_ODP_API_KEY
app = await client.get("16123456")
docs = await client.get_documents("16123456")
from ip_tools.uspto_odp import PtabTrialsClient
async with PtabTrialsClient() as client:
results = await client.search_proceedings(query="patent:US10123456")
| Variable | Required For |
|---|---|
USPTO_ODP_API_KEY | All ODP clients (Applications, PTAB, BulkData, Petitions) |
EPO_OPS_API_KEY | EPO OPS client |
EPO_OPS_API_SECRET | EPO OPS client |
JPO_API_USERNAME | JPO client |
JPO_API_PASSWORD | JPO client |
All clients cache to ~/.cache/ip_tools/. See cache.md for TTL, invalidation, and statistics APIs.
Source: parkerhancock/ip_tools
Report bugs with: version, minimal reproduction code, and API response if applicable.
Use when working with Payload CMS projects (payload.config.ts, collections, fields, hooks, access control, Payload API). Use when debugging validation errors, security issues, relationship queries, transactions, or hook behavior.
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.
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.