Install
openclaw skills install epo-patent-intelligenceEPO Patent Intelligence monitors EPO patents, analyzes competitor threats, identifies tech trends, and generates strategic HTML reports for informed business...
openclaw skills install epo-patent-intelligenceIntelligent patent monitoring and competitive analysis using the European Patent Office (EPO) Open Patent Services (OPS) API.
Ensure EPO credentials are configured in .env file:
EPO_CONSUMER_KEY - Your EPO API consumer keyEPO_SECRET_KEY - Your EPO API secret keyRun patent intelligence collection for a company:
cd /path/to/skill
source .env
python3 scripts/epo_data_mapper.py "pa=IBM" 1 10
Generate strategic analysis using OpenClaw LLM:
This skill uses a hybrid approach:
scripts/epo_data_mapper.py - EPO API authentication and data fetchingscripts/weekly_report.sh - Automated weekly executionscripts/database_manager.py - Database operationsStep 1: Configure EPO API credentials
# Ensure .env file exists with EPO credentials
cat .env
EPO_CONSUMER_KEY=your_key_here
EPO_SECRET_KEY=your_secret_here
Step 2: Fetch patents from EPO API
source .env
python3 scripts/epo_data_mapper.py "pa=IBM" 1 5
This script:
Step 3: Analyze collected patents with LLM
Load patents from database and use OpenClaw's reasoning capabilities to:
Example analysis prompt:
Analyze these patents collected from EPO API for DMG Mori:
- Patent: "Spindle Lubricator System" by Mazak
- Abstract: [patent abstract text]
- Technology: CNC Machining
Questions:
1. Why does this patent matter to DMG Mori specifically?
2. What is the competitive threat level? (None/Low/Medium/High/Critical)
3. What strategic action should DMG Mori take?
4. Which DMG business area is affected? (CNC/Additive/Automation/Digital)
Step 4: Generate professional HTML report
Use LLM to create structured HTML with modern enterprise dashboard design:
Modern Framework Stack (CDN-based, no build step):
Report structure:
<!-- Modern enterprise dashboard template -->
<nav class="gradient-bg text-white sticky top-0">
<h1>Patent Intelligence - Week 14, 2026</h1>
<span class="bg-white/20 px-4 py-2 rounded-full">
<i class="fas fa-sync-alt mr-2"></i>Live Updates
</span>
</nav>
<!-- Executive Summary Cards -->
<div class="grid grid-cols-1 md:grid-cols-4 gap-6">
<div class="bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl p-6 text-white">
<p class="text-blue-100">Total Patents</p>
<p class="text-3xl font-bold">47</p>
</div>
<!-- More KPI cards... -->
</div>
<!-- Charts Section -->
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
<canvas id="competitorChart"></canvas>
<canvas id="techChart"></canvas>
</div>
<!-- Patent Cards with Priority Styling -->
<div class="card-hover priority-high threat-critical rounded-xl p-6">
<span class="bg-red-500 text-white px-3 py-1 rounded-full">CRITICAL</span>
<span class="bg-gray-800 text-white px-3 py-1 rounded-full">CNC Machining</span>
<h4>Intelligent Spindle Control System</h4>
<p><strong>⚠️ Competitive Threat:</strong> [Analysis text]</p>
<div class="text-3xl font-bold text-red-600">85</div>
</div>
Weekly Report Deployment:
https://hermes.sqncr.ai/Patent_report_kw14https://hermes.sqncr.ai/Patent_report_kw15Purpose: EPO API authentication and data fetching Deterministic - Same input always produces same output Parameters:
Usage:
python3 scripts/epo_data_mapper.py "pa=Trumpf" 1 5
Output: Saves patents to SQLite database
Purpose: Automated weekly patent intelligence generation Deterministic - Runs on schedule (Monday 9:00 AM via cron) Workflow:
Usage:
# Manual run
./scripts/weekly_report.sh
# Cron setup (every Monday 9:00 AM)
crontab -e
0 9 * * 1 /path/to/skill/scripts/weekly_report.sh
Purpose: Database operations for patent storage Deterministic - Reliable data persistence Functions:
save_patent() - Store patent with deduplicationget_patents_by_company() - Retrieve patents by competitorget_patents_by_date() - Time-based queriesget_recent_patents() - Last N daysUsage:
from scripts.database_manager import DatabaseManager
db = DatabaseManager()
patents = db.get_recent_patents(days=7)
Use Scripts (Deterministic):
Use LLM (Intelligent):
For each patent, analyze:
Competitive Threat
Technology Alignment
Strategic Action
Business Impact
Patent: "Spindle Lubricator System"
Company: YAMAZAKI MAZAK CORP
⚠️ COMPETITIVE THREAT: Mazak is patenting spindle lubrication technology that
directly competes with DMG Mori's CNC machining center offerings. This indicates
Mazak is investing in core CNC technology improvements that could erode DMG's
competitive advantage in high-precision machining.
📊 TECHNOLOGY ALIGNMENT: CNC_Machining - This is DMG Mori's core business. The
patent covers spindle lubrication systems which are critical for maintaining
precision in high-speed machining operations.
⚡ ACTION: Weekly R&D review recommended. DMG Mori should evaluate if this
technology represents a threat requiring defensive patenting, or if it's
an opportunity for licensing or collaboration.
🎯 IMPACT: HIGH - Core technology area, direct competitor, potential to
affect DMG's market position in CNC machining centers.
Table: patents
id (INTEGER PRIMARY KEY)patent_id (TEXT) - EPO patent IDtitle (TEXT) - Patent titleinventor (TEXT) - Inventor namescompany (TEXT) - Patent assigneefiling_date (DATE) - Filing datepublication_date (DATE) - Publication dateabstract (TEXT) - Patent abstractcategory (TEXT) - Technology category (assigned by LLM)technology_area (TEXT) - Specific technology areasecondary_effects (TEXT) - Side effects/benefitsimage_url (TEXT) - Link to patent document imagescreated_at (TIMESTAMP) - When storedFor a manufacturing client like DMG Mori:
Match to client's business:
Edit scripts/weekly_report.sh:
COMPETITORS="Trumpf Mazak Okuma Haas"
TECH_CATEGORIES="CNC Additive Automation Digital"
crontab -e
# Add: 0 9 * * 1 /path/to/skill/scripts/weekly_report.sh
EPO API Credentials:
.env file (not in version control)EPO_CONSUMER_KEY=xxx, EPO_SECRET_KEY=xxxsource .env before executionData Security:
data/patents.dbreports/*.htmllogs/*.logCheck: .env file exists and contains valid credentials
Action: Verify keys at https://developers.epo.org/
Check: Query syntax (e.g., pa=IBM works, pn=EP* may not)
Action: Test with simple query first: pa=IBM
Check: Database has patents, LLM analysis completed Action: Run weekly_report.sh with debug logging
Check: Script permissions, cron syntax, paths Action: Test script manually before adding to cron
For detailed information, see:
references/EPO_API.md - EPO OPS API documentationreferences/ANALYSIS_PATTERNS.md - LLM analysis templatesreferences/REPORT_TEMPLATES.md - HTML report structure examplesreferences/COMPETITOR_SETUP.md - Setting up competitor monitoring