smcronin/uspto-cli/uspto
Claude Code and agent skill by smcronin/uspto-cli
- community
Checking that the SKILL.md file is still in the repository.
Search and retrieve USPTO patent and trademark data: patent applications, PTAB, file wrappers, families, official Trademark Search, and TSDR cases/documents/images using the uspto CLI.
Install
npx vskill@latest install smcronin/uspto-cli/usptoSKILL.md
USPTO CLI
When to Use
Use this skill when the user asks to:
- Search trademarks by wordmark, owner, goods/services, class, design code, attorney, date, or live/dead status
- Retrieve trademark status, owners, prosecution events, assignments, maintenance data, documents, or mark images through TSDR
- Search for patents by keyword, inventor, assignee, CPC class, examiner, or date range
- Look up a specific patent application's metadata, prosecution history, continuity, or assignments
- Download patent documents (PDFs, DOCX, XML) from the file wrapper
- Download a full patent artifact bundle in one command (JSON + XML + PDFs + README)
- Extract structured patent text (claims, citations, abstract, description) from patent XML (grant/pgpub)
- Search or retrieve PTAB trial proceedings, decisions, appeals, or interferences
- Search petition decisions
- Browse or download bulk data products from USPTO
- Look up patent application status codes
- Build a patent family tree or get a one-shot application summary
- Export patent data to CSV, JSON, or NDJSON for analysis
Prerequisites
The uspto binary must be installed and on PATH. Patent ODP and trademark TSDR are separate systems with separate credentials. Anonymous Trademark Search needs no key.
Install:
API Key Setup:
If the user doesn't have a key: create account at https://data.uspto.gov/apis/getting-started, verify via ID.me, copy key from https://data.uspto.gov/myodp.
For trademark case/status/document retrieval, obtain a separate TSDR key from https://account.uspto.gov/api-manager/ and configure it with:
The ODP key does not work at TSDR. Read references/trademarks.md before trademark work; it contains the service decision table, identifier rules, full command map, agent workflows, rate limits, and recovery guidance.
Output Formats
Always use -f json -q when calling the CLI programmatically:
-f jsongives a structured envelope:{ ok, command, commandPath, provider, pagination, results, facets, version, error }-q(quiet) suppresses stderr progress messages- Add
--minifyfor compact JSON - On
uspto searchonly, add--fieldsto select specific response fields and save tokens
Other formats: -f table (default, wide), -f csv (flat), -f ndjson (streaming).
Exit codes: 0=OK, 1=general, 2=usage/validation, 3=auth-failure, 4=not-found, 5=rate-limited, 6=server-error.
Application Number Format
Critical: All app subcommands require bare digits -- strip all slashes, commas, country codes.
| User says | You pass to CLI | |
|---|---|---|
16/123,456 | 16123456 | |
| Patent 10,902,286 | Use search --patent 10902286 first to get the app number | |
US20250087686A1 | Use search --pub-number US20250087686A1 first to get the app number |
Commands Reference
Trademarks
For any trademark request, read references/trademarks.md. The shortest safe pattern is discovery through keyless search followed by authoritative TSDR hydration:
Case and document verbs are nested: use trademark case status and trademark docs list, not trademark status or trademark list. The CLI rejects omitted nesting with exit 2 and an actionable hint.
Patent Bundle
Use this first when the user asks to "download a patent" and expects more than metadata. Resolves ANY identifier (app number, publication number, patent number).
Output: 00_resolution.json, 01_associated-docs.json, 03_docs.json, 04_download-all.json, xml/, pdf/, README.md.
02_fulltext.json is created only when grant full text is available. For pending applications or other publication-only cases, the bundle skips that file and records a warning instead.
ID auto-detection order: app number, publication number, patent number. Use --id-type to override.
Patent Search
All search flags: --title, --inventor, --assignee, --examiner, --applicant, --assignor, --cpc, --cpc-group, --patent, --pub-number, --publication-number, --docket, --art-unit, --reel-frame, --status, --type, --granted, --pending, --filed-after, --filed-before, --filed-within, --granted-after, --granted-before, --sort, --limit, --offset, --page, --all, --count-only, --filter, --facets, --fields, --download
Application Data
--codes aliases: rejection=CTNF,CTFR | allowance=NOA | claims=CLM | spec=SPEC | abstract=ABST | drawings=DRWR | ids=IDS
Grant XML Extraction (Structured Patent Text)
Parse official patent XML for structured text. Uses grant XML first, falls back to pgpub XML for pending apps.
Compound Commands
PTAB
Petition Decisions
Bulk Data
Status Codes
Common: 150=Patented, 161=Abandoned (failure to respond), 250=Expired (maintenance fees), 30=Docketed, 41=Non-Final Action Mailed.
Workflow Patterns
Find and examine a patent
Landscape / portfolio analysis
Prosecution history review
Extracting text from office action PDFs: USPTO file-wrapper PDFs are image-based scans with NO embedded text layer (pdftotext returns empty). Use --as docx to download the Word version with full structured text:
Valid --as values: pdf (default), docx, xml (returns tar archive). Not all documents have all formats -- the error message lists available formats if your choice isn't available.
OCR fallback (if DOCX is unavailable for a document):
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/uspto/SKILL.md
Popularity
- Repository stars
- 39
- Repository forks
- 5
- 7-day trend score
- 18
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 22 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/smcronin/uspto-cli/uspto)