Structure a raw invention idea into a formal invention disclosure. Use when user says "构建发明", "structure invention", "发明构建", "invention disclosure", or wants to formalize a rough idea into a patent-ready structure.
Structure the invention into a formal disclosure based on: $ARGUMENTS
Adapted from the refinement pattern in /research-refine for patent invention decomposition.
REVIEWER_MODEL = gpt-5.4 — External reviewer for invention decomposition validationMAX_REFINEMENT_ROUNDS = 3 — Maximum structuring iterations$ARGUMENTSpatent/INVENTION_BRIEF.md if existspatent/PRIOR_ART_REPORT.md — prior art landscapepatent/NOVELTY_ASSESSMENT.md — novelty analysisLoad ../shared-references/patent-writing-principles.md for the Problem-Solution-Advantage framework and claimable subject matter guidelines.
Structure the invention using the universal patent framework:
Technical Problem (要解决的技术问题):
Technical Solution (技术方案):
Advantages (有益效果):
Break the invention into three layers:
Core Inventive Concept (核心发明构思):
Supporting Features (支撑性特征):
Optional Features (可选特征):
For the core inventive concept, determine what categories of claims to draft:
| Category | Applicability | Content |
|---|---|---|
| Method/process | If invention involves steps | Process flow, algorithm, workflow |
| System/apparatus | If invention involves components | Hardware structure, modules, connections |
| Product | If invention is a physical device | Shape, structure, composition |
| Computer-readable medium | If software invention (US) | Stored instructions, non-transitory medium |
| Product-by-process | If structure is hard to define | Product defined by how it is made |
Plan what figures are needed to support the claims and specification:
| Figure | Type | Shows | Supports Claim Elements |
|---|---|---|---|
| FIG. 1 | Block diagram | System architecture | System claim components |
| FIG. 2 | Flowchart | Method steps | Method claim steps |
| FIG. 3 | Sequence diagram | Interaction between components | Specific implementation details |
If user has provided figures, reference them here. If figures are missing, note what is needed.
Map feature dependencies to plan the claim hierarchy:
Independent Claim 1 (method, broadest scope)
├── Core inventive feature A
├── Core inventive feature B
└── Known feature C (for context)
Dependent Claim 2 → narrows feature A with specific implementation
Dependent Claim 3 → narrows feature B with specific parameters
Dependent Claim 4 → depends on 2, adds optional feature D
Dependent Claim 5 → alternative implementation of feature A
Call REVIEWER_MODEL via mcp__codex__codex with xhigh reasoning:
mcp__codex__codex:
config: {"model_reasoning_effort": "xhigh"}
prompt: |
You are a patent attorney reviewing an invention disclosure.
Evaluate the structuring choices:
INVENTION: [Problem-Solution-Advantage summary]
DECOMPOSITION: [Core/Supporting/Optional features]
CLAIM PLAN: [intended claim categories and hierarchy]
Please assess:
1. Is the Problem-Solution-Advantage framework correctly applied?
2. Is the core inventive concept correctly identified? Are there features that should be core but are listed as supporting (or vice versa)?
3. Are the planned claim categories sufficient to protect the invention?
4. Is the drawing plan adequate for enablement?
5. Are there any claimable aspects being missed?
Write patent/INVENTION_DISCLOSURE.md:
## Invention Disclosure
### Title
[invention title]
### Technical Problem
[formal problem statement]
### Technical Solution
[formal solution description]
### Advantages
[measurable advantages]
### Feature Decomposition
#### Core Inventive Concept
[features that define independent claim scope]
#### Supporting Features
[features for dependent claims]
#### Optional Features
[features for embodiments]
### Claimable Subject Matter
[method, system, product, medium claims planned]
### Drawing Plan
[figures needed, what each shows]
### Dependency Map
[claim hierarchy plan]
### Inventor Information
[names, contributions]
### Target Jurisdiction
[CN/US/EP/ALL]
mcp__codex__codex is not available, skip cross-model validation and note it in the output.