Patent Workaround logo

Patent Workaround

Community
gfodor
patent-workaround

Adversarially pressure-test a draft or pending U.S. utility patent against technically credible, commercially plausible design-arounds that preserve its value proposition while avoiding the current proposed claims. Use fresh competitor subagents, then have the outer agent decide whether each workaround remains inside the invention's intended umbrella based on the design objectives, motivating problem, disclosed solution, and any deployed implementation; strengthen supported claims or disclosure only after new-matter, written-description, enablement, prior-art, eligibility, definiteness, and prosecution-risk gates. Use for design-around testing, workaround resistance, claim-scope gap analysis, competitive-evasion review, or iterative patent-scope hardening; not as an infringement opinion, freedom-to-operate opinion, patentability guarantee, or substitute for patent counsel.

Overview

Publishergfodor
Repositorylegal-skills
Skill namepatent-workaround
Stars
398
Forks
49
Bundled files
14
LicenseGPL-3.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 14 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by gfodor on GitHub. Read the source before you install it.

Installation

Install the Patent Workaround AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/gfodor/legal-skills/tree/main/patent-workaround
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/gfodor/legal-skills.git /tmp/legal-skills
mkdir -p .claude/skills
cp -r /tmp/legal-skills/patent-workaround .claude/skills/patent-workaround
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Patent Workaround in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Patent Workaround on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Patent Workaround is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Adversarial patent workaround testing

Run a version-locked competitor/drafter loop. Keep the main agent in the strategic patent-drafter role and use a fresh subagent as the competitor/product architect for each challenge cycle. The goal is not maximal claim breadth. The goal is supported, patentable coverage of commercially material alternatives that genuinely belong to the invention, with deliberate visibility into what remains outside the claims.

Never describe a result as proof of infringement, noninfringement, validity, enforceability, patentability, or freedom to operate. Recommend review by qualified patent counsel before filing or relying on any amendment.

Read before acting

Read all of these files completely:

  • references/workaround-protocol.md for the adversary's role and output contract.
  • references/integration-gates.md for umbrella classification and amendment gates.
  • references/current-sources.md for the current-law and prior-art source hierarchy.

Copy and complete assets/workaround-intake.yaml, assets/invention-thesis.md, assets/search-record.md, and assets/evidence-manifest.json. Use assets/adversary-handoff.md and a completed assets/adversary-brief.md for every fresh subagent, maintain assets/coverage-ledger.md throughout the run, and copy assets/outer-adjudication.md for every outer-agent disposition.

If the sibling ../patent-audit skill is installed, read its SKILL.md and use its parser and deterministic pre-pass to obtain the claim dependency graph, element decomposition, section inventory, and mechanical findings. If ../patent-examine is installed, use its current-law, prior-art, and prosecution-risk discipline when testing a proposed claim package. A prior audit or examination does not substitute for this workaround loop.

Non-negotiable distinctions

Maintain all of these distinctions in every report:

  1. Claim coverage asks whether every limitation of at least one relevant claim is met. It is a legal-scope hypothesis, not an umbrella judgment.
  2. Workaround credibility asks whether the alternative can plausibly deliver materially the same user or commercial value. A toy omission that destroys the value is not a meaningful workaround.
  3. Umbrella alignment asks whether the credible alternative belongs in the intended patent-family or filing thesis in view of the motivating problem, design objectives, deployed solution, commercial substitution, and user-defined scope. It is strategic: an alternative may be umbrella-aligned even when the current application does not support it. It does not expand the legal scope of the claims.
  4. Disclosure support asks what the authoritative application actually teaches or reasonably conveys. Business intent, a broad value proposition, or a newly imagined alternative is not automatically written-description support.
  5. Patentability asks whether a proposed capture strategy survives current-law and prior-art scrutiny. A workaround can expose a real commercial gap that cannot safely be claimed.

Do not say a workaround is "covered by the patent" merely because it falls under the invention's theme. Narrative language can support construction or future claims, but exclusionary scope comes from claims and applicable law.

State and evidence model

Create a dedicated run directory and preserve the user's original files. Maintain:

  1. Ground truth: the authoritative editable application, frozen during a cycle.
  2. Challenge candidate: a complete clean application with the exact proposed claims and disclosure for the next adversary.
  3. Frozen challenge packet: the candidate plus every decision-controlling input, including intake, invention-thesis map, prosecution history, deployed-product facts, search record, and an evidence manifest containing hashes for raw evidence.
  4. Challenge record: adversary reports, claim charts, support maps, prior-art search records, coverage ledger, redlines, decisions, version hashes, and unresolved risks.

Use scripts/coverage_state.py to lock challenge packets and independent decisions. A fresh decision applies only to the explicit version and packet hash it reviewed. Any material change to the application, invention thesis, prosecution record, deployed-product facts, search evidence, or other decision input requires a new packet version and resets qualifying challenge decisions.

powershell
python scripts/coverage_state.py init --run-dir workaround_run `
  --candidate application=application.docx --candidate drawings=drawings.pdf `
  --candidate intake=intake.yaml --candidate thesis=invention-thesis.md `
  --candidate search=search-record.md --candidate evidence=evidence-bundle.zip `
  --authoritative application --authoritative drawings

python scripts/coverage_state.py snapshot --run-dir workaround_run `
  --candidate application=proposal/application.docx `
  --candidate drawings=proposal/drawings.pdf --candidate intake=intake.yaml `
  --candidate thesis=invention-thesis.md --candidate search=search-record.md `
  --candidate evidence=evidence-bundle.zip

$packetHash = "<copy packet_sha256 from snapshot output>"

python scripts/coverage_state.py record --run-dir workaround_run `
  --version v002 --packet-sha256 $packetHash --adversary competitor-01 `
  --stage raw --decision gaps-found `
  --document workaround_run/competitor-01/report.md

python scripts/coverage_state.py record --run-dir workaround_run `
  --version v002 --packet-sha256 $packetHash --adversary competitor-01 `
  --stage adjudication --decision only-accepted-gaps `
  --document workaround_run/competitor-01/adjudication.md `
  --ledger workaround_run/coverage-ledger.md

# Repeat with a second fresh adversary. After two qualifying dispositions, apply the
# proposal verbatim and verify the complete challenged packet:
python scripts/coverage_state.py promote --run-dir workaround_run `
  --version v002 --candidate application=application.docx `
  --candidate drawings=drawings.pdf --candidate intake=intake.yaml `
  --candidate thesis=invention-thesis.md --candidate search=search-record.md `
  --candidate evidence=evidence-bundle.zip

python scripts/coverage_state.py status --run-dir workaround_run

Use stable labels for all packet components. application, intake, thesis, search, and evidence are required; drawings is optional at initialization but cannot later be silently added or omitted. Every label passed with --authoritative is an authoritative editable destination. Mark application and every separately supplied specification, claims, abstract, drawing, sequence, or appendix source as authoritative. Promotion succeeds only after the accepted bytes have been applied to all of those exact paths. Later status checks fail if a promoted authoritative file drifts from the promoted packet.

Run coverage_state.py commands serially from one outer agent. The state writer is not a multi-process transaction service; do not issue parallel record or snapshot commands.

Use the relevant document and PDF skills to preserve source formatting, claim numbering, dependencies, tracked changes, equations, and drawings. Never edit an extraction and present it as the authoritative source.

Phase 0 - Intake and completeness gate

Obtain or locate:

  • the complete specification, claims, abstract, drawings, appendices, and editable source;
  • application status, filing and priority facts, public-disclosure facts, and the complete prosecution history if filed;
  • the intended value proposition, target users, motivating problem, design objectives and constraints, asserted inventive mechanisms, and indispensable commercial coverage;
  • the actual deployed or prototyped solution, including actors, boundaries, data or material flow, control locus, timing, optional features, and known substitutes;
  • closest prior art, search logs, related patents/applications, cited references, known competitor approaches, and relevant technical evidence;
  • inventor-confirmed alternatives and generalizations already contemplated.

Do not infer missing inventor facts. Mark them missing and distinguish cannot assess from no gap found. If readable claims or enough disclosure to construe them is missing, return INCOMPLETE rather than inventing a workaround test.

Before sending confidential unpublished details to public search services, explain the exposure and obtain authorization. Search public abstractions or local materials when that can answer the question without disclosing confidential subject matter.

Phase 1 - Build the invention-thesis map

Build an evidence-cited map with separate rows for:

  • customer or operational outcome and value proposition;
  • motivating problem and shortcomings of prior approaches;
  • design objectives, constraints, and tradeoffs;
  • the disclosed inventive mechanism or mechanisms;
  • the deployed or prototyped implementation, if any;
  • required versus optional features and actor/system boundaries;
  • supported alternatives, substitutions, generalizations, and claim classes;
  • non-negotiable business scope and acceptable deliberate gaps;
  • disclaimers, definitions, prior-art characterizations, amendments, arguments, and other possible scope surrender.

For every row, identify the source and exact location, distinguish inventor-supplied fact from drafter inference, and assign confirmed, inferred, disputed, or missing. Do not collapse an aspirational objective into a disclosed invention.

Refresh the legal-source record and run or update a documented prior-art search. Search both the existing claims and the generalized inventive concepts likely to be used to capture alternatives. Preserve queries, databases, dates, classifications, full references, and pin cites. Use discovery sources to find art, then verify the actual primary references.

Create a deterministic evidence bundle containing the completed evidence manifest and every supplied prosecution, product, prior-art, and technical-evidence file. Sort entries, use stable internal paths and timestamps, and rebuild it whenever decision-controlling evidence changes. Use that one bundle as the required evidence packet component in every init, snapshot, and promote call. Changing its bytes creates a new version without changing the packet-label schema. Exclude the bundle and manifest from the manifest's own raw-evidence list; the state tool records the bundle's actual hash.

Phase 2 - Dispatch one fresh adversary

Create a unique context ID such as competitor-01. Spawn a fresh subagent that has not seen prior workaround reports, outer-agent proposed fixes, accepted gaps, or the desired answer. Provide only:

  • the frozen candidate and version/hash;
  • the completed handoff and adversary-safe factual/value brief;
  • viewable drawings and relevant deployed-product facts;
  • the current claim set and prosecution history needed to assess scope;
  • public prior art and technical evidence needed for credible engineering.

Use the actual canonical spawned-agent or session identifier as the adversary context ID and preserve the spawn/handoff record. The state tool verifies distinct asserted IDs and report bytes, but cannot authenticate subagent freshness without that orchestrator provenance.

Do not give the adversary the full intake, full invention-thesis map, coverage ledger, accepted deliberate gaps, acceptable or unacceptable narrowing, desired claim classes, counsel decisions, or applicant capture strategy. Build assets/adversary-brief.md only from frozen packet evidence and remove those fields before dispatch. The outer agent retains the unredacted materials for adjudication.

Tell the subagent not to inspect other adversaries' folders. Give it references/workaround-protocol.md as its controlling contract. It must preserve the value proposition, systematically mutate claim limitations and system boundaries, and return technically specific alternatives with claim-by-claim avoidance maps. Require its UTF-8 text report to carry the exact context ID, version, packet hash, and decision headers from that protocol; the state tool rejects inconsistent metadata.

Do not disclose a target outcome, target number of cycles, or amendments the outer agent hopes to make. Do not reward superficial novelty: alternatives that merely remove the value, depend on impossible engineering, or rename a claimed element are not successful workarounds.

Phase 3 - Outer-agent adjudication

Independently verify every proposed workaround using integration-gates.md and the coverage ledger. Do not accept the adversary's infringement or umbrella conclusion. For each workaround:

  1. Verify technical feasibility and whether the material value proposition remains.
  2. Chart every limitation of every relevant independent claim. Identify the exact limitation allegedly absent or materially changed, and test other claim classes, actor combinations, direct infringement theories, and applicable equivalents risk separately. Do not use the doctrine of equivalents as a substitute for clear claim drafting.
  3. Classify the workaround as not-a-workaround, outside-umbrella, umbrella-gap-supported, umbrella-gap-unsupported, or cannot-assess.
  4. Cite the objectives, problem, solution mechanism, disclosure, deployed facts, and user-defined business scope supporting that classification. A label without an evidence trail is not a disposition.
  5. For a material umbrella gap, identify the narrowest capture strategy that covers the alternative without unnecessarily claiming the result itself.
  6. Apply every support, patentability, prosecution-history, and scope-quality gate before recommending or drafting a change.

Do not classify an alternative outside-umbrella merely because it is absent from the disclosure, uses a new technical mechanism, or conflicts with present claim language. Decide strategic alignment first; use umbrella-gap-unsupported when an aligned alternative lacks filing-date support.

Challenge false positives first. A workaround that actually meets another independent claim, sacrifices indispensable value, or merely exploits an implausible construction is not evidence that the application must change.

Phase 4 - Integrate only safe, supported changes

Use this order of preference, stopping at the first defensible remedy:

  1. Correct a genuine construction or consistency defect.
  2. Revise or add a supported independent claim directed to the inventive mechanism at the appropriate level, including parallel method, system, device, composition, or computer-readable-medium classes when justified.
  3. Add supported dependent fallbacks that preserve narrower patentable positions.
  4. Improve the summary or detailed description with supported objectives, mechanisms, embodiments, alternatives, and boundary variations.
  5. Recommend a continuation, divisional, continuation-in-part, reissue, or separate filing for counsel assessment when status and law permit; do not assume priority, inventorship, or entitlement.
  6. Record a deliberate gap when capture would add unsupported matter, collide with prior art, create unacceptable rejection/validity risk, or exceed the invention.

For a pending application, map every claim or disclosure amendment to the application as filed and prohibit new matter. For a pre-filing draft, add technical content only from authentic inventor-supplied facts or evidence, label it for inventor confirmation, and never fabricate embodiments. Treat an issued patent as a different procedural posture; do not rewrite it as though it were still a draft.

For each proposed claim change, conduct a targeted search and analyze at least 35 U.S.C. 101, 102, 103, 112(a), 112(b), and 112(f) where applicable, plus restriction, double-patenting, claim-class, priority, inventorship, and prosecution- history consequences. Prefer a narrower supported claim family over an unsupported genus or result-only claim. Preserve exact support citations and explain commercial scope gained and fallback scope lost.

For a pending application, route potentially material information discovered in search or adversarial review to qualified counsel or another authorized person and track materiality/IDS/timing triage in the search record and ledger. Do not make the ultimate disclosure decision or file an IDS. Unresolved potentially material information awaiting authorized review blocks promotion.

For narrative changes, state their limited legal purpose. Avoid admissions about what the prior art lacks or teaches, unnecessary definitions, mandatory language, categorical statements, disparagement, disclaimer, and disclosure of an alternative without a considered claiming strategy. Narrative alone does not close a claim gap.

Keep ground truth unchanged while preparing a complete clean challenge candidate, redline, claim charts, support map, search update, and revised ledger. Snapshot that exact candidate and all changed decision inputs before the next challenge.

Phase 5 - Repeat on the exact candidate

Dispatch a different fresh-context adversary against the exact current challenge candidate and repeat Phases 2-4. The new adversary receives that complete candidate and raw evidence, but no prior adversary reasoning, outer-agent fix rationale, or qualifying decision count. Keep an amended candidate unpromoted while it is being challenged; an unchanged initial ground truth may already be marked promoted.

A cycle receives a qualifying outer-agent disposition only after the raw adversary report and every resulting ledger row have been independently adjudicated:

  • no-material-gap: the adversary returned NO_MATERIAL_GAP, and the outer agent verified that the required attack matrix and evidence support that result; or
  • only-accepted-gaps: the adversary returned GAPS_FOUND, but outer adjudication showed every candidate was not a workaround, outside the umbrella, or a supported deliberate gap expressly accepted by the user and counsel for a documented business reason. An umbrella-gap-unsupported candidate never qualifies under this disposition.

Record the raw decision first, then record the qualifying outer disposition against the same adversary ID with an adjudication document. Pass the explicit reviewed version and packet hash to both record commands. The state tool accepts only NO_MATERIAL_GAP → no-material-gap and GAPS_FOUND → only-accepted-gaps as qualifying raw/adjudication pairs. Require qualifying dispositions for two distinct fresh adversaries on the same packet. Only then apply an amended candidate verbatim to ground truth and run coverage_state.py promote; the tool rejects both early promotion and a packet-hash mismatch. A later material input change resets the count. This is an exhaustion rule for the workflow, not proof that no competitor can design around the claims.

Complete assets/outer-adjudication.md from the coverage ledger and save it as UTF-8 text. The state tool validates the adversary context ID, version, packet hash, and outer disposition in both decision documents against the command arguments. It also binds the adjudication to the latest raw-report hash and supplied archived coverage-ledger hash and requires every gate confirmation to be YES. Never reuse one raw report under a second adversary ID or reuse an adjudication after a new raw report.

Do not turn a productive adversary into a drafter. The outer agent owns umbrella classification, legal-risk verification, and amendments; the adversary owns the attack.

Termination conditions

Terminate successfully only when coverage_state.py status reports two qualifying fresh adversaries for the current promoted version and all material workaround rows have an evidence-cited disposition, support result, prior-art result, and capture or acceptance decision.

Terminate as blocked, without claiming robust coverage, when essential application, prosecution, product, inventor, or priority facts remain unavailable; public search would expose confidential material and authorization is withheld; the only capture strategy requires unsupported new matter; reliable prior-art or current-law research is unavailable; or a required inventor/applicant/counsel business choice is missing. Any material umbrella-gap-unsupported candidate is blocking even if the user is willing to tolerate it; record that risk, but do not issue a qualifying disposition. Exhaust reasonable narrower supported alternatives first. An arbitrary round cap, token pressure, or adversary fatigue is not success.

Final deliverables

Return:

  • the final editable ground truth plus a clean rendered review copy and redline;
  • the invention-thesis map and version history with packet hashes;
  • every adversary handoff/report and the exact two qualifying context IDs;
  • the coverage ledger with claim charts, umbrella classification, support, prior-art and risk dispositions for every workaround;
  • a claim amendment package with clean/marked claims and exact support citations;
  • a narrative amendment package distinguishing capture-support edits from context;
  • search logs, verified references, residual risks, accepted gaps, and items that remain cannot-assess;
  • a concise statement of coverage gained, scope or fallback positions lost, and business consequences;
  • a prominent statement that the work was an AI-assisted pressure test, not legal advice, an infringement or freedom-to-operate opinion, or assurance of validity, enforceability, patentability, allowance, or competitor behavior.

Do not file, submit amendments, contact the USPTO, contact competitors, or make inventor declarations without the user's separate explicit authorization.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Patent Workaround AI skill do?

Adversarially pressure-test a draft or pending U.S. utility patent against technically credible, commercially plausible design-arounds that preserve its value proposition while avoiding the current proposed claims. Use fresh competitor subagents, then have the outer agent decide whether each workaround remains inside the invention's intended umbrella based on the design objectives, motivating problem, disclosed solution, and any deployed implementation; strengthen supported claims or disclosure only after new-matter, written-description, enablement, prior-art, eligibility, definiteness, and...

Why use Patent Workaround on TypingMind?

Because you install it once and use it with any model. Patent Workaround is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Patent Workaround in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/gfodor/legal-skills/tree/main/patent-workaround. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Patent Workaround?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Patent Workaround?

As many as you like. As long as a model supports skills, you can use Patent Workaround with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Patent Workaround AI skill free?

Yes. It is published on GitHub by gfodor under the GPL-3.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇