uspto-database — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited uspto-database (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Use this skill when a task needs official United States patent or trademark records from USPTO systems.
public prosecution history.
Lens.org, Semantic Scholar, or company patent pages.
Do not use this skill to give legal advice. Treat it as a data-gathering and record-verification workflow.
Prefer official USPTO or USPTO-supported surfaces first:
wrapper records.
publication datasets.
Use secondary sources only as convenience indexes. When the answer matters, cross-check the official record.
Many USPTO API flows require an API key. Store keys in environment variables or a secret manager, never in committed files or pasted transcripts.
Common environment names:
export USPTO_API_KEY="..."
export PATENTSVIEW_API_KEY="..."For PatentSearch, send the key with the X-Api-Key header. For TSDR, follow the current USPTO API Manager instructions and rate-limit guidance.
Use PatentSearch for broad patent and pre-grant publication search when the question is about trends, inventors, assignees, classifications, dates, or portfolio slices.
Workflow:
Python request skeleton:
import os
import requests
API_KEY = os.environ["PATENTSVIEW_API_KEY"]
BASE = "https://search.patentsview.org/api/v1"
payload = {
"q": {
"_and": [
{"patent_date": {"_gte": "2024-01-01"}},
{"assignees.assignee_organization": {"_text_any": ["Google", "Alphabet"]}},
]
},
"f": ["patent_id", "patent_title", "patent_date"],
"s": [{"patent_date": "desc"}],
"o": {"per_page": 100, "page": 1},
}
response = requests.post(
f"{BASE}/patent/",
headers={"X-Api-Key": API_KEY, "Content-Type": "application/json"},
json=payload,
timeout=30,
)
response.raise_for_status()
print(response.json())Before reusing a query, verify current endpoint names, field paths, request parameters, and API-key availability in the live PatentSearch docs.
Use TSDR when the task needs trademark case status, documents, images, owner history, or prosecution events.
Workflow:
For large trademark pulls, prefer documented bulk-data flows rather than screen-scraping public pages.
For application status, transaction history, and prosecution documents:
patent number, or party name.
pending application.
citing them.
For patent or trademark ownership:
assignor, assignee, or reel/frame when available.
review.
Every USPTO research pass should include a log table:
| Source | Date searched | Identifier/query | Filters | Results | Notes |
| --- | --- | --- | --- | ---: | --- |
| PatentSearch | 2026-05-11 | `assignee=Alphabet AND date>=2024` | patent endpoint | 118 | API docs checked before run |
| TSDR | 2026-05-11 | `serial=90000000` | status only | 1 | API-key flow, no document bulk pull |For final writeups, separate:
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.