Agent skill

Patent Audit

by gfodor in gfodor/legal-skills

Audit a draft U.S. An agent skill from gfodor/legal-skills.

GPL-3.0Auto-check passedLegal & Compliance

Install Patent Audit

skills CLI
$ npx skills add gfodor/legal-skills --skill patent-audit -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gfodor/legal-skills patent-audit --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gfodor/legal-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/patent-audit .claude/skills/patent-audit && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
patent-audit
GitHub stars
393
Token cost
~2.9k tokens
SKILL.md length
1,382 words
Files
21 (incl. scripts, assets)
Skills in repo
3
Repo updated
First seen
Licence
GPL-3.0

At a glance

Audit a draft U.S. An agent skill from gfodor/legal-skills.

  • Works in 6 steps: Intake (blocking) → Deterministic pre-pass → Gates (sequential, fail fast) → …
  • Pre-flight a patent application
  • SKILL.md covers What ships with this skill, Core principles, Phase 0 — Intake (blocking) and Phase 1 — Deterministic pre-pass, plus 7 more sections
  • Runs Python scripts from its folder; calls python

What it does

Patent Audit is an agent skill from gfodor/legal-skills. Audit a draft U.S. utility patent application before it is filed, against a 316-item checklist grounded in 35 U.S.C., 37 CFR, the MPEP, and current USPTO practice. Runs a deterministic pre-pass over the draft, gates on patentability, inventorship and deadlines, then fans out parallel review agents over the specification, claims, drawings and filing packet, adversarially verifies every fatal finding, and reports ranked defects with honest coverage accounting. Use when asked to audit, review, check, or pre-flight a…

Its SKILL.md is about 2.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 25 other files, including scripts and assets (for example `agents/openai.yaml`, `assets/intake.yaml` and `assets/sample_draft.md`).

It sits in Legal & Compliance, covering Intellectual property and Accounting and bookkeeping. The repository describes itself as: Replacing lawyers with markdown files. The licence is GPL-3.0.

When your agent uses it

  • Pre-flight a patent application
  • Claim set before filing

Example prompts

  • “/patent-audit”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Intake (blocking)
  2. Deterministic pre-pass
  3. Gates (sequential, fail fast)
  4. Document fan-out (parallel, single message)
  5. Adversarial verification
  6. Synthesis

What it can do on your machine

Read from SKILL.md and the folder at commit 3c98f25. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Patent Audit loads about 2.9k tokens when it runs. Until then it costs about 152 tokens; SKILL.md has 1,382 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~152
When it runs · the whole SKILL.md, loaded when a task matches
~2.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from gfodor/legal-skills at commit 3c98f25, republished under its GPL-3.0 licence (© gfodor). 1,382 words, ~2,935 tokens.

Download SKILL.mdSave it as .claude/skills/patent-audit/SKILL.md (or your agent's skills folder). This skill also uses 20 other files; get the full folder from GitHub.
name
patent-audit
description
Audit a draft U.S. utility patent application before it is filed, against a 316-item checklist grounded in 35 U.S.C., 37 CFR, the MPEP, and current USPTO practice. Runs a deterministic pre-pass over the draft, gates on patentability, inventorship and deadlines, then fans out parallel review agents over the specification, claims, drawings and filing packet, adversarially verifies every fatal finding, and reports ranked defects with honest coverage accounting. Use when asked to audit, review, check, or pre-flight a patent application, provisional, specification, or claim set before filing.

Pre-filing patent application audit

Audit a draft utility patent application against 316 checklist items and return a ranked defect list with coverage accounting.

Not legal advice. The checklist is grounded in 35 U.S.C., 37 CFR, the MPEP, and current USPTO materials. Fee amounts, form names and filing mechanics must be re-verified against current PTO practice, and §101 case law moves. Say so in the report; the template already does.

What ships with this skill

PathPurpose
reference/checklist_index.jsonAll 316 items with routing: id, part, section, title, check, severity, applies_to, inputs, automation, owner, blocking
reference/parts/{A..I}_*.mdFull item text per part — these are the agent payloads
scripts/prepass.pyOne command for all of Phase 1
scripts/parse_application.pyDraft → structured parsed.json
scripts/mechanical_checks.pyDeterministic checks → findings_mechanical.json
scripts/deadlines.pyIntake → deadlines.json with weekend/holiday rollover
scripts/synthesize.pyAll findings → ranked report + coverage
assets/intake.yamlThe intake questionnaire template
assets/sample_draft.mdA draft with planted defects, for testing the harness

Routing is precomputed. Every item carries:

  • inputs — what evidence it consumes: draft_text (210 items), intake_facts (99), forms_packet (68), drawings (47), search_report (40), prior_art_refs (20), ppa_text (20), parent_app (13).
  • automation — mechanical (28), assisted (169), judgment (119).
  • owner — which agent runs it.
  • blocking — 105 items halt the audit on failure.

26 items are answerable only from intake facts. No document review reaches them: A19 A20 A22–A25 A36 C05 C08–C12 C21 D19–D26 D28 D29 I38 I42. If intake is skipped, those are cannot_assess — never pass.

Core principles

The draft fits in one context. Parallelize for attention, not capacity. Every agent gets the whole application. Never chunk the document across agents — enablement, antecedent basis and numeral consistency are whole-document properties.

Never let a model do arithmetic or exhaustive cross-referencing. Dates, claim counts, fee tiers, dependency graphs and numeral reconciliation run in code. Models find 19 of 20 numerals and report "all consistent."

Silence is not a pass. Every item ends as pass, fail, cannot_assess, not_applicable, or not_reached. An agent that omits an item has not passed it.

cannot_assess is a correct answer. Some items — the duty of candour above all — cannot be established from any document. Guessing is worse than admitting.


Phase 0 — Intake (blocking)

Run prepass.py with no --intake; it writes the questionnaire into the working directory. Have the user fill it. Parts A, C and D are unanswerable without it.

Do not proceed past the gates on assumed facts. If the user wants to start anyway, run Phases 1 and 3 only, and mark every intake-dependent item cannot_assess.

The most consequential fields are the disclosure and bar dates, and disclosure_made_by — post-AIA, only an inventor-derived disclosure gets the one-year grace period. A third party's independent disclosure before filing means the U.S. right is already gone, and no amount of drafting fixes it.

Phase 1 — Deterministic pre-pass

bash
python scripts/prepass.py --draft DRAFT --drawings DRAWINGS \
    --intake intake.yaml --workdir audit_run

Exit 1 means intake is missing; exit 2 means the draft did not parse and the run must stop. Individual steps if you need them:

bash
python scripts/parse_application.py DRAFT --drawings D -o parsed.json
python scripts/mechanical_checks.py parsed.json --intake intake.yaml -o findings/findings_mechanical.json
python scripts/deadlines.py intake.yaml -o deadlines.json [--asof YYYY-MM-DD]

parse_application.py accepts .txt, .md, .pdf, .docx. prepass.py refuses to continue when no claims parsed, fewer than four sections were recognised, or the detailed description yielded no reference numerals — all signs the draft uses headings the parser did not expect. Fix the parse before dispatching agents; otherwise they confidently audit a document that isn't there.

The mechanical checks credit the checklist items they cover, so those items are not reported as unaudited. A mechanical pass never suppresses a later agent fail on the same item — the synthesizer keeps the worst verdict.

Hand parsed.json to every agent. It carries the claim dependency graph, element decomposition, antecedent-basis candidates, reference-numeral tables and figure inventory, so no agent has to recompute them.

Phase 2 — Gates (sequential, fail fast)

Run in order. Each gets intake.yaml, parsed.json, deadlines.json, the draft, and only its own part file.

AgentPart fileAlso needs
gate_thresholdA_threshold.mdsearch report, closest prior art
gate_inventorshipC_inventorship.md—
gate_priorityD_priority_deadlines.mddeadlines.json, PPA text, parent

If any gate returns a fail on an item tagged blocking: true, stop. Report the blocker and do not spend tokens auditing the prose of an application that is statutorily barred, names the wrong inventors, or has already lost its priority date. Tell the user what would have run.

gate_priority must not compute dates. deadlines.json already has them, with rollover applied. Its job is to interpret them and catch the conflicts the script flags in warnings.

Show full SKILL.md (672 more words)Show less

Phase 3 — Document fan-out (parallel, single message)

Eight agents, all with the full draft and parsed.json. Launch together.

AgentPart fileLens to put in the prompt
doc_enablementE_disclosure.md (own items)Read as a skilled artisan trying to build it. Every point where you'd have to invent something is a gap.
doc_narrowingE_disclosure.md + F_spec_sections.md (own items)Read as opposing counsel hunting for admissions, essentiality language, and claim-construction traps.
doc_spec_sectionsF_spec_sections.mdWalk the spec section by section in PTO order.
doc_claims_lawG_claims.md (own items)§112 form, definiteness, antecedent basis, means-plus-function. Adjudicate the candidates lists from the mechanical pass — do not re-derive them.
doc_claims_archG_claims.md (own items)Set architecture: is claim 1 the broadest? Does each dependent add real scope? Are the statutory classes covered?
doc_drawingsH_drawings.md + I05, I33Multimodal — attach the sheets as images. Text-only, this agent silently passes.
doc_filingI_filing_packet.mdFormalities, ADS, declaration, fees, IDS, nonpublication request.
doc_searchB_search.mdWas the search adequate, were the references read correctly, does the draft answer what was found?

Split E/F/G between their agents using the owner field in checklist_index.json, not by file — owners deliberately cross file boundaries. An item about narrowing language belongs to doc_narrowing wherever it sits, and the claim-support items in Part G belong to doc_enablement.

Filter each agent's payload to its own IDs:

bash
python -c "import json,sys; \
 ids={i['id'] for i in json.load(open('reference/checklist_index.json',encoding='utf-8')) \
      if i['owner']==sys.argv[1]}; print(' '.join(sorted(ids)))" doc_narrowing

Workload is uneven by design: gate_priority 48, doc_filing 46, doc_claims_law 39, gate_threshold 35, doc_enablement 25, doc_drawings 24, doc_claims_arch 23, doc_search 22, gate_inventorship 21, doc_spec_sections 19, doc_narrowing 14.

Red team (launch with the same batch)

The highest-value output, and not checklist-shaped. Each returns prose, not findings.

  • redteam_examiner — You are the examiner. Given these claims and this search report, write the first Office Action you would actually issue: every §101, §102, §103 and §112 rejection, with the reference and the mapping.
  • redteam_design_around — Given claim 1, design three products that capture the commercial value and do not infringe. If this is easy, claim 1 is too narrow — no checklist item will tell you that.
  • redteam_invalidity — Assume it issued and you are the accused infringer. Attack it: priority defects, §112 gaps, prior art the applicant missed.

Phase 4 — Adversarial verification

For every fail on a blocking item, spawn a fresh verifier that receives the draft and the claim but not the finding's reasoning, and is prompted to refute it. Three verifiers; the finding survives on two. Record survivors in the finding's verified_by field and drop the rest to cannot_assess with a note.

This is where surplus budget goes. A 93-item fatal list with a 20% false-positive rate is worse than a clean 60-item list — attorneys stop reading audits that cry wolf.

Phase 5 — Synthesis

bash
python scripts/synthesize.py findings/ --deadlines deadlines.json \
    -o audit_report.md --json audit_report.json

Exits non-zero when a fatal item failed. Reports not_reached for any item no agent touched — check that number is zero before calling the audit complete. If it isn't, an agent skipped work; re-run that agent.

Append the three red-team outputs as appendices.


Finding schema

Every agent returns only a JSON array to findings/<agent>.json. No prose.

json
[{
  "item_id": "G14",
  "verdict": "fail",
  "severity": "Serious",
  "location": "claim 3",
  "evidence": "the said locking member",
  "explanation": "No earlier claim introduces a locking member.",
  "suggested_fix": "Introduce 'a locking member' in claim 1, or recite it in claim 3.",
  "confidence": "high"
}]

verdict ∈ pass | fail | cannot_assess | not_applicable. Rules to put in every agent prompt:

  1. Emit exactly one entry per item in your part file. Count them before writing.
  2. evidence must be a verbatim quote from the draft, never a paraphrase. A finding with no quote is not a finding.
  3. Use cannot_assess when the input is missing. Never infer a date, an inventor's knowledge, or a fact not in the materials.
  4. not_applicable needs a reason in explanation.
  5. Do not edit the draft. This is an audit; remediation is a separate pass.

Scaling

Typical case (20–60 pages, ~20 claims): 11 agents in Phase 3, wall clock ≈ the slowest, 5–10 minutes. Large claim sets (100+) — fan doc_claims_law out per claim, since form checks are claim-independent; keep doc_claims_arch whole-set.

Do not

  • Run one agent per checklist item. 316 agents each re-reading the draft buys nothing; items share reading effort.
  • Chunk the draft across agents.
  • Let an audit agent edit the draft — you lose the evidence trail.
  • Report a pass for anything an agent stayed silent about.
  • Recompute in a model what parsed.json already computed exactly.

© gfodor, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 20 other files (scripts, assets) in patent-audit of gfodor/legal-skills.

  • SKILL.md
  • .gitignore
  • agents/openai.yaml
  • assets/intake.yaml
  • assets/sample_draft.md
  • reference/checklist_index.json
  • reference/parts/A_threshold.md
  • reference/parts/B_search.md
  • reference/parts/C_inventorship.md
  • reference/parts/D_priority_deadlines.md
  • reference/parts/E_disclosure.md
  • reference/parts/F_spec_sections.md
  • reference/parts/G_claims.md
  • reference/parts/H_drawings.md
  • reference/parts/I_filing_packet.md
  • scripts/deadlines.py
  • … and 5 more

Open the folder on GitHubat commit 3c98f25

Compare with similar skills

Patent Audit next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Patent Audit compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Patent Audit this skillgfodor/legal-skills393—~2.9kAutomated safety check: PassGPL-3.0
Paper to Chinese Patent DrafterYuan1z0825/nature-skills47k1 repos~1.1kAutomated safety check: PassApache-2.0
Paper To Cn Patentsnipp-zha/Paper-to-patent-Skill1061 repos~959Automated safety check: PassNone
Replica BrandJakeschincariol/replica-skill1.2k—~1.1kAutomated safety check: PassMIT
Design Information PrepSeanJ1ang/design-judge-skills712—~1.8kAutomated safety check: NotesApache-2.0
Name Your Businesstamdogood/builder-essential-skills220—~4.3kAutomated safety check: PassMIT

Similar skills

  • Paper to Chinese Patent Drafter

    Yuan1z0825/nature-skills

    Drafts Chinese invention patent applications and technical disclosures from research papers or inventor materials, tying each claim feature to source evidence.

    47k GitHub starsUsed in 1 repo~1.1k tokens
    Legal & ComplianceAuto-check passed
  • Paper To Cn Patent

    snipp-zha/Paper-to-patent-Skill

    Convert scientific papers, theses, technical reports, source code, figures, or research manuscripts into evidence-grounded Chinese invention patent drafts.

    106 GitHub starsUsed in 1 repo~959 tokens
    Legal & ComplianceAuto-check passed
  • Replica Brand

    Jakeschincariol/replica-skill

    Names and rebrands an app clone so it is the user's own: name candidates with the trademark, domain, store and handle checks to run, a new palette checked for contrast, a logo brief, a voice guide…

    1.2k GitHub stars~1.1k tokensUpdated 6 days ago
    Legal & ComplianceAuto-check passed
  • Design Information Prep

    SeanJ1ang/design-judge-skills

    Extract evidence-grounded project facts from user-provided design attachments, identify missing information, and prepare the exact written fields required by supported design-award entry forms.

    712 GitHub stars~1.8k tokensUpdated 1 mo ago
    Legal & ComplianceAuto-check: notes
  • Name Your Business

    tamdogood/builder-essential-skills

    Generate, refine, compare, and when needed validate distinctive names for startups, AI products, developer tools, protocols, open-source projects, apps, product families, local businesses, services…

    220 GitHub stars~4.3k tokensUpdated 1 mo ago
    Legal & ComplianceAuto-check passed
  • Map So Search

    azalio/map-framework

    Opt-in, off-by-default read-only prior-art search against Stack Overflow for Agents (SOFA).

    156 GitHub stars~1.5k tokensUpdated 2 days ago
    Legal & ComplianceAuto-check passed

More from gfodor/legal-skills

  • Patent Examine

    gfodor/legal-skills

    Iteratively examine and revise a draft U.S. An agent skill from gfodor/legal-skills.

    393 GitHub stars~4.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Patent Workaround

    gfodor/legal-skills

    Adversarially pressure-test a draft or pending U.S. An agent skill from gfodor/legal-skills.

    393 GitHub stars~5.7k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Patent Audit

What does Patent Audit do?

Audit a draft U.S. An agent skill from gfodor/legal-skills. Patent Audit is an agent skill from gfodor/legal-skills.S.

When should I use Patent Audit?

Patent Audit fits situations like: pre-flight a patent application; claim set before filing.

How do I install Patent Audit in Claude Code?

Run `npx skills add gfodor/legal-skills --skill patent-audit -a claude-code`. Or copy the skill folder (patent-audit in gfodor/legal-skills) into .claude/skills/patent-audit in your project. Claude Code loads it when a task matches its description.

How do I install Patent Audit in Codex?

Run `npx skills add gfodor/legal-skills --skill patent-audit -a codex`. Or copy the skill folder (patent-audit in gfodor/legal-skills) into .agents/skills/patent-audit in your project. Codex loads it when a task matches its description.

Can I use Patent Audit in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gfodor/legal-skills --skill patent-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/patent-audit, .gemini/skills/patent-audit, .github/skills/patent-audit and .opencode/skills/patent-audit in your project.

What does Patent Audit need to run?

Going by SKILL.md and its folder, Patent Audit needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Patent Audit access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Patent Audit safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Patent Audit use?

Patent Audit is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Patent Audit use?

About 2.9k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Patent Audit?

Skills that share tags, products or a category with Patent Audit: Paper to Chinese Patent Drafter (Yuan1z0825/nature-skills, 47k stars), Paper To Cn Patent (snipp-zha/Paper-to-patent-Skill, 106 stars), Replica Brand (Jakeschincariol/replica-skill, 1.2k stars) and Design Information Prep (SeanJ1ang/design-judge-skills, 712 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Patent Audit?

gfodor (a GitHub user) maintains it in gfodor/legal-skills, which has 393 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 12, 2026.

Source: gfodor/legal-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.