| name | patent_reviewer |
| description | Simulated USPTO examiner panel for quantum-computing patents. Ingests a Google Patents URL / publication number / saved file, examines every claim individually under 35 U.S.C. §§ 101/102/103/112 + a quantum-operability check, runs claim-compliance and full-application review under USPTO/EPO/PCT standards, and emits an Office Action plus a deterministic machine-actionable `_office_action.json` (disposition, rejected/allowed claims, rejections-by-statute). The patent analogue of quantum_reviewer. |
patent_reviewer — USPTO examiner panel
The quantum-patent analogue of quantum_reviewer. Where the paper reviewer
runs a journal referee panel, this runs a USPTO examining unit and
produces an Office Action keyed to the patent statutes.
It also carries the patent-attorney workflow:
- Check claims for compliance. Run draft or published claims through
USPTO 35 U.S.C. § 112(b) definiteness / antecedent-basis / structure
review, EPO Art. 84 EPC clarity / support / two-part-form review, or
PCT clarity/support review via
--filing-standard.
- Review the full application. Specification adequacy, enablement, written
description/support, formalities, abstract/title/drawings, and required
sections are checked under USPTO, EPO, PCT, or
multi standards.
Why patents need their own reviewer
Patent review is not peer review. The object is the claim set, examined
claim-by-claim under 35 U.S.C.:
- § 101 — patent-eligible subject matter (Alice/Mayo; quantum algorithm
claims draw abstract-idea scrutiny)
- § 102 — anticipation / novelty (a single prior-art reference)
- § 103 — obviousness (KSR combinations of references)
- § 112 — enablement, written description, definiteness (broad
functional / fidelity language is the usual quantum failure mode)
A journal reviewer asks "is this good science?"; an examiner asks "are these
claims patentable?". Different question, different machinery.
The panel (6 voices)
| Voice | Role |
|---|
| 1 | Primary Examiner — § 101 eligibility + overall disposition |
| 2 | § 102 Examiner — anticipation; names a single anticipatory reference |
| 3 | § 103 Examiner — obviousness; builds primary+secondary combinations |
| 4 | § 112 Examiner — enablement / written description / definiteness |
| 5 | Quantum Technical Specialist — operability; no-cloning / Holevo / fault-tolerance overreach |
| 6 | Supervisory Patent Examiner — synthesis + the disposition |
Modes
| Mode | Output | Use |
|---|
full (default) | office_action.md + _office_action.json | the full 6-voice Office Action |
quick | quick_examination.md | fast single-voice patentability triage |
Filing standards
Pass --filing-standard to select the application-review lens:
| Standard | What gets checked |
|---|
uspto | 35 U.S.C. § 112(a)/(b), MPEP 608 formalities, title, abstract, drawings, required sections, antecedent basis, definiteness, dependency clarity, and § 112(f) risk |
epo | EPC Art. 84 clarity/support, essential features, two-part form where appropriate, claim category consistency, reference signs, description support, drawings, abstract, and EPO formalities |
pct | PCT request/specification/claims/abstract/drawings completeness, clarity/support, dependency form, unity-relevant structure, sequence listings where applicable, and international-search readability |
multi | Runs USPTO, EPO, and PCT review together, separating each issue by standard |
Deterministic artifact — _office_action.json
Zero extra LLM cost. Parses the panel into a USPTO Office Action shape
(the patent analogue of ARC's quality_gate.json):
{
"disposition": "non-final-rejection",
"passes": false,
"n_claims_examined": 20,
"n_claims_rejected": 17,
"rejected_claims": [1, 2, 3, ...],
"allowed_claims": [14, 19],
"rejections_by_statute": {"102": [1, 8], "103": [2, 3, 4, ...], "112": [11]},
"votes": { "Primary Examiner": {"disposition": "...", "confidence": 8.0}, ... }
}
Claim numbers are parsed mechanically from each examiner's per-claim
rejection table; the disposition comes from the SPE synthesis. An
allowance disposition with any rejected claim is auto-downgraded — the
gate cannot certify a patent that still has open rejections. passes is
true only for allowance.
Usage
bash skills/patent_reviewer/run.sh --mode full \
--patent "https://patents.google.com/patent/US10614371B2/en" \
--outdir runs/patent_demo --llm claude
bash skills/patent_reviewer/run.sh --mode full --patent US10614371B2 --outdir out
bash skills/patent_reviewer/run.sh --mode full \
--patent application.html \
--filing-standard multi \
--outdir out
bash skills/patent_reviewer/run.sh --mode quick --patent US10614371B2 --outdir out
Granted patents (B1/B2 kind codes) are handled too — the panel reframes
itself as a post-grant validity / IPR-style review rather than an
examining-office Office Action (see patent_io.Patent.status_line).
Files
skill.py — driver: ingest patent → render examiner prompt → call LLM →
panel-coverage header + _office_action.json
prompts/full.md — the 6-voice Office Action panel prompt
prompts/quick.md — single-voice triage prompt
../common/patent_io.py — SSOT patent ingestion (URL / number / file → text)
In the chain
Wired as the patent-audit pipeline in chain/pipelines.py
(bash chain/run.sh --pipeline patent-audit --patent URL): prior-art
research → this examiner panel → logical-fallacy scan → CQE summary.
For named §102/§103 grounding, run skills/patent_prior_art/run.sh first and
pass its prior_art_refs.json to this skill with --prior-art. Without an
explicit prior-art set the prompt forbids the panel from inventing named
references from memory.