Portability: Requires
web_fetch(Google Patents, Espacenet, USPTO),WebSearch(adjacent academic art), Node.js withdocxpackage, and optionally Lens.org API key for citation-graph signals. Works in Claude Code CLI natively. In Claude.ai with web tools + Code Execution + BYOK Lens.org, the workflow is supported.
Out of scope: trademark, copyright, trade-secret. These are flagged at intake. Use a different skill or qualified counsel.
Legal disclaimer: This skill produces search signal, not legal advice. Verdicts are technical assessments. Always consult a patent attorney before filing or licensing decisions.
This skill is prior-art + landscape intelligence. It refuses to be a bucket. Every invocation commits to one of five sub-use-cases via the grill-me intake before any search runs. The chosen sub-use-case dictates the entire search strategy, ranking heuristics, and DOCX emphasis.
| Sub-use-case | Search strategy | DOCX emphasis |
|---|---|---|
| Novelty search | Narrow + claims-text focused; pre-filing date irrelevant | Closest art + claim-differentiation |
| Freedom-to-operate | Broad + active patents only; jurisdiction-filtered | FTO flags + claim-by-claim risk |
| Competitive landscape | Breadth + filer tally + CPC trends | Filer map + investment hotspots |
| Acquisition diligence | Specific assignee + portfolio scope + assignment chain | Portfolio table + ownership verification |
| Litigation prior-art | Specific target patent + adjacent art before priority date | Knock-out candidates ranked by relevance |
See references/sub_use_case_routing.md for the canon.
Locked verbatim per PR #657 audit.
[Not from search — reference information] and excluded from counts.Describe the invention in 2–3 sentences. What does it do, and what's new about it?
Why I'm asking: Concept and keyword extraction depends entirely on a precise description. Vague descriptions ("AI for healthcare", "a better widget") will be rejected — push back and ask the user to specify what the invention does and what differentiates it from existing approaches.
Refuse mush. If answer is generic, ask once more: "What does it do that existing systems don't?" Then commit (with caveat in DOCX).
What's the purpose of this search? Pick one:
- Novelty search (am I novel enough to file)
- Freedom-to-operate (will I get sued if I ship)
- Competitive landscape (who else plays here)
- Acquisition diligence (does target really own X)
- Litigation prior-art hunting (kill a specific patent)
Why I'm asking: Each path uses a fundamentally different search strategy. I'll refuse to start without you picking one.
Forcing format. If user says "all of them", push for the primary purpose — secondary purposes can run as follow-up searches.
Which jurisdictions matter? Pick all that apply: US / EP / CN / JP / KR / PCT / worldwide.
Why I'm asking: FTO only matters where you'll sell. Landscape changes radically by region. Diligence requires checking all jurisdictions where the target operates.
Skip for novelty (priority date is jurisdictionally portable) and litigation (jurisdiction is set by the target patent).
Have you already seen prior art close to this? Cite a patent number or paper.
Why I'm asking: If you know one piece of art, I can search adjacent to it — much more precise than starting cold. If you don't, that's fine — just confirm.
Anchoring. Accept "none" but ask if the user has seen any related work even informally.
Risk tolerance for this search: strict (one close hit means abandon the path) or signal-gathering (you want the lay of the land regardless)?
Why I'm asking: Strict mode ranks aggressively and surfaces verdict-grade hits; signal mode prioritizes breadth and visualizations.
Asked for novelty and FTO; skipped for pure landscape (always signal-gathering by definition).
Have you spoken to a patent attorney? This skill produces search signal, not legal advice. Confirm you understand this is for technical assessment only.
Why I'm asking: Novelty and FTO have legal consequences. The skill's verdict is signal-grade; legal positions require qualified counsel.
Triggers the legal-disclaimer footer in the DOCX. Skipped for landscape and diligence (lower legal exposure).
Stop condition: After Q6 (or earlier if dependency skips applied), commit and start Phase 2. Never re-open intake after Phase 2 begins.
Deterministic from intake answers. Use scripts/sub_use_case_router.py:
python ../scripts/sub_use_case_router.py \
--sub-use-case novelty \
--jurisdictions "" \
--risk strict \
--known-art "US10000000B2"
Returns: query plan (5-8 queries) + ranking heuristic + DOCX emphasis flags.
Novelty:
FTO:
Competitive landscape:
Acquisition diligence:
Litigation prior-art:
1 q/sec across ALL sources combined. Tracked via scripts/citation_tracker.py with timestamp-enforced gap.
For each closest-art hit:
Rank by score. Verdict per sub-use-case (NOVEL / POTENTIALLY NOVEL / NOT NOVEL for novelty; CLEAR / FLAGGED / HIGH RISK per jurisdiction for FTO).
If user provides Lens.org API key:
If no Lens.org key: skip; note in audit log; recommend manual citation review on Google Patents.
Same invention often filed in multiple jurisdictions (US + EP + JP + CN). Group by family ID or priority number to avoid double-counting. Use scripts/family_resolver.py:
python ../scripts/family_resolver.py --hits-file hits.json
# Returns: deduplicated family list + family-member jurisdictions
Critical: keyword search alone misses adjacent art. After initial search, extract the CPC/IPC classes from top 5 hits and run one class-restricted query. This consistently surfaces art that keyword search misses.
See references/cpc_classification_canon.md for the canon.
Sub-use-case-dependent emphasis. Via Node.js + docx library.
Arial 12pt body, navy headings (#1a3a5c), light blue table headers (#e8f0f8), red FTO-flag callout. ExternalHyperlink patterns:
https://patents.google.com/patent/[number]
https://worldwide.espacenet.com/patent/...
https://patents.uspto.gov/patent/...
Distinguish at every hit:
Surface the legally-relevant date per sub-use-case:
<output-dir>/patent_<invention-slug>_<sub-use-case>_<YYYY-MM-DD>.docx
python scripts/office/validate.py <docx>
| Script | Role |
|---|---|
scripts/citation_tracker.py |
Multi-source three-count audit (Google Patents + Espacenet + USPTO + Lens.org) at ~/.patent_sessions/<session>.json |
scripts/family_resolver.py |
Group same-invention filings across jurisdictions by family ID / priority number |
scripts/sub_use_case_router.py |
Deterministic search-strategy selection from intake answers |
references/sub_use_case_routing.md — 5-sub-use-case canon (7+ sources)references/cpc_classification_canon.md — CPC/IPC class follow-up rationale (7+ sources)references/legal_disclaimer_discipline.md — when + why disclaimer mandatory (7+ sources)| Failure | Behavior |
|---|---|
| User refuses to commit to sub-use-case | Refuse to proceed. Re-ask Q2 with examples. |
| Invention description is generic | Reject answer. Re-ask Q1 with "what does it do that existing systems don't?" |
| Google Patents rate-limits | Wait 3s, retry once. Fall back to Espacenet for that query. Log in audit. |
| Lens.org key missing | Skip citation graph section, note "manual review recommended" in DOCX. |
| Claim text extraction fails | Fall back to abstract; flag as "abstract-only" in relevance rationale. |
| Family resolution incomplete | Note in audit; same-invention duplicates may appear; suggest manual deduplication. |
| All searches return <3 hits | Surface explicitly as "either niche art or genuine gap"; never fabricate. |
| 3 consecutive tool failures | Stop, alert user, explain what's missing. |
| DOCX generation fails | Save raw data as JSON fallback so user doesn't lose work. |
| Target patent number invalid (litigation) | Validate format before search; ask user to confirm. |
Version: 1.0.0
Source spec: megaprompts/11-patent-megaprompt.md
Build pattern: Path B (direct conversion). Research-pack sibling, sub-use-case routing variant.