Patent Search skill for Codex
Prior art your patent attorney can use. Codex breaks an invention into claim-like elements, builds keyword and CPC classification queries across Google Patents, Espacenet, USPTO, PATENTSCOPE and Lens, adds non-patent literature, and reads claims, kind codes, priority dates and families correctly. It delivers a claim chart with pinpoint citations and a rerunnable search log, and leaves every legal conclusion to a patent attorney.
curl -fsSL codexskills.dev/install.sh \ | sh -s -- patent-search Installs to ~/.agents/skills/patent-search/ for every project on this machine.
curl -fsSL codexskills.dev/cli.mjs -o codex-skills.mjsnode codex-skills.mjs install patent-search The CLI also searches, updates and removes skills. Run it with no arguments to pick from a list. Needs Node 20.12+.
curl -fsSL codexskills.dev/install.sh \ | sh -s -- --project patent-search Installs to .agents/skills/patent-search/ in the current repository. Commit it and everyone who runs Codex there gets it.
curl -fsSLO codexskills.dev/downloads/patent-search.zipunzip -o patent-search.zip -d ~/.agents/skills/ The archive holds the skill folder with its generated agents/openai.yaml. Unzip into .agents/skills/ to scope it to a repo.
& ([scriptblock]::Create((irm codexskills.dev/install.ps1))) patent-search PowerShell 5.1 or 7. Installs to %USERPROFILE%\.agents\skills\. Add -Project for the current repo.
104-line POSIX script. No sudo, no telemetry. Read install.sh
Use it in Codex
Start a prompt with $patent-search, or pick it from /skills.
You can also just describe the task: Codex reads the description below and loads the playbook when your request matches.
What Codex reads before loading it
Runs structured prior-art and patent searches - breaks an invention into claim-like elements, builds keyword and CPC classification queries for Google Patents, Espacenet, USPTO Patent Public Search, PATENTSCOPE and Lens, searches non-patent literature, reads claims and kind codes, checks legal status and families, and delivers a claim chart and search log for a patent attorney. Use when asked to find prior art, check whether an idea looks novel, map patents in a technology area, or prepare a search before talking to counsel.
Use it when
- You want to know what prior art exists before filing or publishing
- Counsel asked for a search and claim chart on a specific patent
- You need a landscape of who patents what in a technology area
Use something else when
- You need a legal opinion on patentability, infringement or freedom to operate: consult a patent attorney
- You are surveying academic research rather than patents: use literature-review
- You are tracking competitors' product and pricing moves: use competitive-intelligence
How to check the result
Every logged query reruns with a similar hit count, charted references predate the cut-off, and pinpoint citations open to the stated passage.
The mistake it prevents
Reading abstracts instead of independent claims, or disclosing an unfiled invention in public tools and losing novelty outside the US.
A useful search is reproducible and honest about its limits: the invention is broken into elements, every query and database is logged, the closest references are mapped element by element in a claim chart, and the output is handed to a patent attorney or agent, who makes any legal call.
This is research support, not legal advice. Patentability, validity, infringement and freedom-to-operate opinions require a registered patent attorney or agent. Many companies also ask engineers not to search or read third-party patents without counsel’s direction, because knowledge of a patent can affect damages in an infringement case. Ask the user whether their counsel has approved the search before starting an infringement-related one.
Pick the search type
| Goal | Search type | Date cut-off | Focus |
|---|---|---|---|
| Can we patent this? | Novelty / patentability | Before the planned filing date | Any public disclosure worldwide, any language |
| Is that patent valid? | Invalidity / prior art | Before the target patent’s priority date | Claims of the target patent |
| Can we ship this? | Freedom to operate (FTO) | In-force patents only | Claims of live patents in the markets you sell in; counsel-led |
| What exists in this field? | Landscape | Usually last 10-20 years | Assignees, trends, white space |
Workflow
- [ ] 1. Confirm purpose, counsel involvement and confidentiality
- [ ] 2. Write the invention as numbered elements
- [ ] 3. Build vocabulary: synonyms, jargon, older terms, CPC codes
- [ ] 4. Search patent databases; log each query
- [ ] 5. Search non-patent literature
- [ ] 6. Screen, then read claims of the closest hits
- [ ] 7. Build the claim chart; check status and families
- [ ] 8. Deliver the search report with limits
1. Confidentiality
Do not paste an unfiled invention’s details into public tools, forums or AI services outside the user’s control; public disclosure can destroy novelty in most countries. Use generic queries, and keep detailed notes in the user’s private workspace. Searching needs network access.
2. Elements
Invention: on-device detection of keyboard typing cadence to unlock a laptop
E1 capturing inter-key timing intervals during password entry
E2 building a per-user timing model on the device
E3 comparing a new entry's timing against the model
E4 granting access only when both password and timing match
E5 updating the model after each successful login
3. Vocabulary and classification
- Synonyms and older terms: “keystroke dynamics”, “typing rhythm”, “keystroke biometrics”, “dwell time”, “flight time”. Patents use deliberately broad language (“input device”, “temporal characteristics”).
- Find CPC codes by looking at the classifications on the 3-5 most relevant patents you find with keywords, then browse the CPC scheme around them. Searching by CPC catches documents that use unexpected wording.
4. Databases
| Database | Strength |
|---|---|
| Google Patents | Fast full-text, many offices, machine translations, “similar documents”, includes some non-patent literature |
| Espacenet (EPO) | ~150M documents, strong classification search, INPADOC family and legal status |
| USPTO Patent Public Search | Official US full text (replaced PatFT/AppFT), advanced field searching |
| WIPO PATENTSCOPE | PCT applications, cross-lingual search |
| The Lens | Free, links patents to scholarly works, exportable result sets |
Search pattern: start with element-combination keyword queries, then CPC + a few keywords, then citation chasing (backward citations of the best hits, and documents that cite them). Log every query:
| # | Database | Query / filters | Date run | Hits | Reviewed | Relevant |
|---|---|---|---|---|---|---|
| 1 | Google Patents | ("keystroke dynamics" OR "typing rhythm") AND (unlock OR login) AND "on device"; priority before 2026-01-01 | 2026-10-28 | 412 | 60 | 5 |
| 2 | Espacenet | CPC G06F21/32 AND typing | 2026-10-28 | 230 | 40 | 3 |
Exact operator syntax varies by database and changes; use each database’s own advanced search form and help page rather than assuming one syntax works everywhere.
5. Non-patent literature
Prior art includes anything publicly available before the relevant date: papers (Google Scholar, IEEE Xplore, ACM DL, arXiv), product manuals, standards, open-source repositories (commit dates), conference talks, archived web pages (Wayback Machine captures give dates). For software, NPL is often where the closest art is.
6. Reading patents
- The claims define legal scope; the description and abstract do not. Read independent claims (those not referring to another claim) first.
- Kind codes: US A1 is a published application (not granted); US B1/B2 are granted patents; EP A1/A2 are applications, EP B1 is granted. Applications may never grant or may grant with narrower claims.
- Dates: priority date (earliest claimed), filing date, publication date, grant date. Applications publish about 18 months after priority, so the most recent ~18 months of filings are invisible to any search.
- Families: the same invention filed in several countries; review one member and note the others (Espacenet “also published as”, INPADOC family).
7. Claim chart and status
| Element | Ref A: US 1,234,567 B2 (prio 2014-03-02) | Ref B: Smith et al., 2012 paper | Ref C: open-source repo X (commit 2016-05) |
|---|---|---|---|
| E1 timing during password entry | Yes - col. 4, l. 10-25 | Yes - sec. 3.1 | Yes - capture.py |
| E2 on-device model | Partly - server-side model, fig. 2 | No | Yes |
| E3 compare | Yes - claim 1 | Yes | Yes |
| E4 password AND timing | Yes - claim 3 | No | No |
| E5 update after login | No | Yes - sec. 4.2 | No |
Report what each reference discloses with pinpoint citations (column/line, paragraph, figure, section). Leave conclusions about anticipation or obviousness to counsel; you can note that no single reference covers all elements, or that a combination appears to.
For in-force questions, check legal status (Espacenet INPADOC legal status, USPTO Patent Center): granted, pending, lapsed for unpaid fees, expired, or withdrawn. Term is generally 20 years from the earliest non-provisional filing date, with adjustments that only counsel should rely on.
Gotchas
- US law has a one-year grace period for an inventor’s own disclosure; most other jurisdictions require absolute novelty. “We’ll blog first and file later” can forfeit rights outside the US.
- Machine translations of foreign patents are good enough to screen, not to rely on; flag key foreign references for professional translation.
- A long list of loosely related hits is less useful than three references charted well.
- Patent titles and abstracts are often vague by design; screen on claims and figures.
- Assignee names vary (subsidiaries, acquisitions, misspellings); search variants for landscapes.
- Never state that something “is patentable”, “is not infringing” or “is invalid”.
Verification
- Every query in the log can be rerun and gives a similar hit count.
- Each charted reference has publication or priority dates before the relevant cut-off.
- Pinpoint citations open to the stated passage.
- The report lists databases not searched, languages not covered and the 18-month gap.
Report template
# Prior-art search: <invention short name> (<date>) - for counsel review
**Purpose:** novelty search before filing | **Cut-off date:** <date>
**Elements searched:** E1-E5 (see appendix)
## Closest references
1. <Ref A> - discloses E1, E3, E4; differs on E2 (server-side), E5 absent
2. ...
## Claim chart
## Search log (databases, queries, dates, hits)
## Limits
Not searched: <databases, languages>; filings from the last ~18 months unpublished;
NPL coverage limited to <sources>.
## Questions for the attorney What the zip contains
SKILL.md plus the interface file below. Nothing runs on install.
agents/openai.yaml
Gives the Codex app a display name, a one-line description and a starter prompt for this skill.
interface:
display_name: "Patent Search"
short_description: "Prior art your patent attorney can use"
default_prompt: "$patent-search Search for prior art on our keystroke-timing unlock idea before we talk to the patent attorney" About this skill
Written and maintained by the Codex Skills editors to the same editorial standard as every skill here: a selective description, a real workflow, known pitfalls and a way to verify the work. First published , last updated . MIT licensed. Something wrong or out of date? Tell us.