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.
Supplies rules for Chinese, US and PCT patent filings, including examination type, timelines, claim formats, fees and special requirements, through a small TypeScript module.
$ npx skills add illusionaireal/oh-my-patent --skill jurisdiction -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install illusionaireal/oh-my-patent jurisdiction --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/illusionaireal/oh-my-patent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/skills/jurisdiction .claude/skills/jurisdiction && rm -rf skills-srcUse ~/.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/
Install the "jurisdiction" agent skill from https://github.com/illusionaireal/oh-my-patent/tree/master/src/skills/jurisdiction into .claude/skills/jurisdiction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jurisdiction", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/illusionaireal/oh-my-patent/tree/master/src/skills/jurisdictionType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add illusionaireal/oh-my-patent --skill jurisdiction -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install illusionaireal/oh-my-patent jurisdiction --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/illusionaireal/oh-my-patent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/skills/jurisdiction .agents/skills/jurisdiction && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "jurisdiction" agent skill from https://github.com/illusionaireal/oh-my-patent/tree/master/src/skills/jurisdiction into .agents/skills/jurisdiction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jurisdiction", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add illusionaireal/oh-my-patent --skill jurisdiction -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install illusionaireal/oh-my-patent jurisdiction --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/illusionaireal/oh-my-patent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/skills/jurisdiction .cursor/skills/jurisdiction && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "jurisdiction" agent skill from https://github.com/illusionaireal/oh-my-patent/tree/master/src/skills/jurisdiction into .cursor/skills/jurisdiction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jurisdiction", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/illusionaireal/oh-my-patent.git --path src/skills/jurisdiction--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add illusionaireal/oh-my-patent --skill jurisdiction -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install illusionaireal/oh-my-patent jurisdiction --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/illusionaireal/oh-my-patent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/skills/jurisdiction .gemini/skills/jurisdiction && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "jurisdiction" agent skill from https://github.com/illusionaireal/oh-my-patent/tree/master/src/skills/jurisdiction into .gemini/skills/jurisdiction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jurisdiction", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install illusionaireal/oh-my-patent jurisdictionInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add illusionaireal/oh-my-patent --skill jurisdiction -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/illusionaireal/oh-my-patent.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/skills/jurisdiction .github/skills/jurisdiction && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "jurisdiction" agent skill from https://github.com/illusionaireal/oh-my-patent/tree/master/src/skills/jurisdiction into .github/skills/jurisdiction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jurisdiction", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add illusionaireal/oh-my-patent --skill jurisdiction -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install illusionaireal/oh-my-patent jurisdiction --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/illusionaireal/oh-my-patent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/skills/jurisdiction .opencode/skills/jurisdiction && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "jurisdiction" agent skill from https://github.com/illusionaireal/oh-my-patent/tree/master/src/skills/jurisdiction into .opencode/skills/jurisdiction/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "jurisdiction", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
jurisdictionSupplies rules for Chinese, US and PCT patent filings, including examination type, timelines, claim formats, fees and special requirements, through a small TypeScript module.
The skill documents the actual exports of src/skills/jurisdiction.ts in the oh-my-patent plugin, which covers three jurisdictions: CN, US and PCT. For each, it holds the examination type and default timeline, the typical examination range, the claim format and dependent-claim prefix, whether multiple dependent claims are allowed and the claim limit, a fee schedule and special requirements. As recorded there, CN has a 24-month default timeline and a maximum of 10 claims with no multiple dependent claims, while US has a 36-month default and allows them up to a maximum of 20.
Three functions, getJurisdictionRules, getClaimFormat and getExaminationTimeline, take a JurisdictionCode value and throw on an unsupported code, and the package entry re-exports seven symbols. The document says it must be kept in step with the implementation, because an earlier version described an API that never existed.
Read from SKILL.md and the folder at commit f44755c. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Patent Jurisdiction Rules loads about 1.9k tokens when it runs. Until then it costs about 28 tokens; SKILL.md has 626 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from illusionaireal/oh-my-patent at commit f44755c, republished under its MIT licence (© illusionaireal). 626 words, ~1,920 tokens.
.claude/skills/jurisdiction/SKILL.md (or your agent's skills folder).Provides patent jurisdiction rules for CN, US, and PCT: examination type and default timeline, fee schedule, jurisdiction-specific requirements, claim format, and the examination timeline range.
This file documents the actual exports of
src/skills/jurisdiction.ts. Every symbol, field name and number below is taken from that file. If you change the implementation, change this document in the same commit — this document used to describe an API that never existed, which is worse than having none.
The implementation is src/skills/jurisdiction.ts. From inside this skill's
directory the relative import is ../jurisdiction.js; consumers outside the
package should import from the package entry, which re-exports all seven symbols
(src/index.ts).
import { getJurisdictionRules, JurisdictionCode } from '../jurisdiction.js';
const rules = getJurisdictionRules(JurisdictionCode.CN);| Export | Kind | Notes |
|---|---|---|
JurisdictionCode | enum | CN / US / PCT — the only supported values |
JurisdictionRules | interface | see Output Types |
ClaimFormat | interface | see Output Types |
ExaminationTimeline | interface | see Output Types |
getJurisdictionRules(code) | function | throws on an unsupported code |
getClaimFormat(code) | function | throws on an unsupported code |
getExaminationTimeline(code) | function | throws on an unsupported code |
一种[产品/方法],其特征在于,包括:[技术特征]根据权利要求[N]所述的[产品/方法],其特征在于A [product/method] comprising: [technical features]The [product/method] of claim [N], whereinA [product/method] comprising: [technical features]The [product/method] of claim [N], whereinimport { getJurisdictionRules, JurisdictionCode } from '../jurisdiction.js';
const cnRules = getJurisdictionRules(JurisdictionCode.CN);
console.log(cnRules.code); // "CN"
console.log(cnRules.country); // "中国"
console.log(cnRules.examinationType); // "实质审查"
console.log(cnRules.defaultTimeline); // 24
console.log(cnRules.fees.filing); // 950
console.log(cnRules.specialRequirements);
// ["Chinese language required", "National phase entry required for PCT", "Grace period: 6 months for disclosure"]The timeline is not a field of JurisdictionRules — it has its own getter.
import { getExaminationTimeline, JurisdictionCode } from '../jurisdiction.js';
const cn = getExaminationTimeline(JurisdictionCode.CN);
console.log(cn.minMonths, cn.maxMonths, cn.typical); // 18 36 24
const us = getExaminationTimeline(JurisdictionCode.US);
console.log(us.minMonths, us.maxMonths, us.typical); // 24 48 36
const pct = getExaminationTimeline(JurisdictionCode.PCT);
console.log(pct.minMonths, pct.maxMonths, pct.typical); // 12 30 18import { getClaimFormat, JurisdictionCode } from '../jurisdiction.js';
const cn = getClaimFormat(JurisdictionCode.CN);
console.log(cn.independentClaimTemplate);
// "一种[产品/方法],其特征在于,包括:[技术特征]"
console.log(cn.dependentClaimPrefix);
// "根据权利要求[N]所述的[产品/方法],其特征在于"
console.log(cn.multipleDependentClaims, cn.maxClaims); // false 10
const us = getClaimFormat(JurisdictionCode.US);
console.log(us.multipleDependentClaims, us.maxClaims); // true 20There is no isValidJurisdiction() helper. The getters throw on an unsupported
value, so validation means checking membership before calling them:
import { JurisdictionCode, getJurisdictionRules } from '../jurisdiction.js';
const SUPPORTED = Object.values(JurisdictionCode) as string[];
function isValidJurisdiction(value: string): value is JurisdictionCode {
return SUPPORTED.includes(value);
}
isValidJurisdiction('CN'); // true
isValidJurisdiction('XX'); // false
// Unsupported codes throw rather than returning a default:
// getJurisdictionRules('XX' as JurisdictionCode) -> Error: Unsupported jurisdiction: XXNote that this skill covers CN, US and PCT only. These are the workflow's only
supported jurisdictions: the single definition is the JurisdictionCode enum in
src/skills/jurisdiction.ts (exported as SUPPORTED_JURISDICTIONS / guarded by
isValidJurisdiction), from which state.ts and plugin.jsonc derive their
lists. Since REQ-017 the intent router no longer emits unsupported codes
(EP / JP are recognized but dropped), so "routed as A, rejected as A" can no
longer happen; unsupported requests are answered with an explicit
"not supported" instead.
code: JurisdictionCodecountry: display name (中国 / United States / PCT International)examinationType: examination procedure namedefaultTimeline: number of months (not an object)fees: { filing, examination, grant, maintenance } — all four are always present, 0 where not applicablespecialRequirements?: optional list of jurisdiction-specific constraintsindependentClaimTemplate: template for an independent claimdependentClaimPrefix: prefix for a dependent claim, [N] marking the parent claim numbermultipleDependentClaims: whether multiple-dependent claims are permittedmaxClaims: claim-count ceilingminMonths: fastest realistic examinationmaxMonths: slowest realistic examinationtypical: the value to use when a single estimate is neededundefined.JurisdictionRules deliberately carries no claimFormat and no timeline: those are
separate types fetched with getClaimFormat() and getExaminationTimeline().© illusionaireal, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/skills/jurisdiction of illusionaireal/oh-my-patent.
Open the folder on GitHubat commit f44755c
Patent Jurisdiction Rules 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Patent Jurisdiction Rules this skillillusionaireal/oh-my-patent | 104 | — | ~1.9k | Automated safety check: Pass | MIT | |
| Paper to Chinese Patent DrafterYuan1z0825/nature-skills | 47k | 1 repos | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Paper To Cn Patentsnipp-zha/Paper-to-patent-Skill | 107 | 1 repos | ~959 | Automated safety check: Pass | None | |
| Patent Examinegfodor/legal-skills | 393 | — | ~4.8k | Automated safety check: Pass | GPL-3.0 | |
| Patent Auditgfodor/legal-skills | 393 | — | ~2.9k | Automated safety check: Pass | GPL-3.0 | |
| Replica BrandJakeschincariol/replica-skill | 1.4k | — | ~1.1k | Automated safety check: Pass | MIT |
Yuan1z0825/nature-skills
Drafts Chinese invention patent applications and technical disclosures from research papers or inventor materials, tying each claim feature to source evidence.
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.
gfodor/legal-skills
Iteratively examine and revise a draft U.S. An agent skill from gfodor/legal-skills.
gfodor/legal-skills
Audit a draft U.S. An agent skill from gfodor/legal-skills.
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…
gfodor/legal-skills
Adversarially pressure-test a draft or pending U.S. An agent skill from gfodor/legal-skills.
illusionaireal/oh-my-patent
Records, branches and visualizes the rounds of a patent brainstorming session, scoring each candidate and letting you restore an abandoned idea.
illusionaireal/oh-my-patent
Creates standardized evidence cards for patents, papers, standards and other prior-art references, saved as markdown files with required fields by source type.
illusionaireal/oh-my-patent
A skill your agent uses when searching patents and technical literature for prior art, novelty, or patentability assessment.
illusionaireal/oh-my-patent
Scores a patent disclosure for completeness by checking required, recommended and informational sections and deducting points, using a TypeScript QualityChecker.
illusionaireal/oh-my-patent
Turns technical ideas, documents or code into traceable patent disclosures, with search planning, patent review, figure drawing and the ability to resume a project.
illusionaireal/oh-my-patent
A skill your agent uses when creating or validating a patent disclosure document against the required section template.
Works with
Categories
Supplies rules for Chinese, US and PCT patent filings, including examination type, timelines, claim formats, fees and special requirements, through a small TypeScript module. ts in the oh-my-patent plugin, which covers three jurisdictions: CN, US and PCT. For each, it holds the examination type and default timeline, the typical examination range, the claim format and dependent-claim prefix, whether multiple dependent claims are allowed and the claim limit, a fee schedule and special requirements.
Patent Jurisdiction Rules fits situations like: drafting claims in the Chinese or US format; looking up the examination timeline for a CN, US or PCT application; comparing fees and claim limits between jurisdictions.
Run `npx skills add illusionaireal/oh-my-patent --skill jurisdiction -a claude-code`. Or copy the skill folder (src/skills/jurisdiction in illusionaireal/oh-my-patent) into .claude/skills/jurisdiction in your project. Claude Code loads it when a task matches its description.
Run `npx skills add illusionaireal/oh-my-patent --skill jurisdiction -a codex`. Or copy the skill folder (src/skills/jurisdiction in illusionaireal/oh-my-patent) into .agents/skills/jurisdiction in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add illusionaireal/oh-my-patent --skill jurisdiction -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jurisdiction, .gemini/skills/jurisdiction, .github/skills/jurisdiction and .opencode/skills/jurisdiction in your project.
SKILL.md names no scripts, command-line tools or credentials: Patent Jurisdiction Rules is instructions for the agent only. Our summary lists: The oh-my-patent package, imported as a TypeScript module.
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.
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. Review the folder before installing.
Patent Jurisdiction Rules is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Patent Jurisdiction Rules: Paper to Chinese Patent Drafter (Yuan1z0825/nature-skills, 47k stars), Paper To Cn Patent (snipp-zha/Paper-to-patent-Skill, 107 stars), Patent Examine (gfodor/legal-skills, 393 stars) and Patent Audit (gfodor/legal-skills, 393 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
illusionaireal (a GitHub user) maintains it in illusionaireal/oh-my-patent, which has 104 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 9, 2026.
Source: illusionaireal/oh-my-patent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.