-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclawdhub_scores.py
More file actions
313 lines (296 loc) · 25.2 KB
/
clawdhub_scores.py
File metadata and controls
313 lines (296 loc) · 25.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
#!/usr/bin/env python3
"""Update clawdhub quality scores."""
import sqlite3
from pathlib import Path
DB_PATH = Path(__file__).parent / "skills.db"
CLAWDHUB_SCORES = [
# Batch 1-30
{"name": "self-improving-agent", "score": 92, "rationale": "Excellent workflow clarity with quick reference table, detailed logging formats"},
{"name": "coding-agent", "score": 88, "rationale": "Strong workflow for background process control, PR reviews, parallel issue fixing"},
{"name": "clawddocs", "score": 85, "rationale": "Good decision tree navigation, search scripts"},
{"name": "gog", "score": 72, "rationale": "Concise CLI reference for Google Workspace"},
{"name": "caldav-calendar", "score": 78, "rationale": "Clear sync/query workflow, good command examples"},
{"name": "byterover", "score": 75, "rationale": "Clear query/curate workflow with best practices"},
{"name": "proactive-agent", "score": 91, "rationale": "Comprehensive architecture with five pillars, heartbeat system"},
{"name": "agent-browser", "score": 89, "rationale": "Extensive CLI reference with all browser automation commands"},
{"name": "auto-updater", "score": 70, "rationale": "Simple cron-based update automation"},
{"name": "wacli", "score": 68, "rationale": "Concise WhatsApp CLI reference with safety rules"},
{"name": "humanizer", "score": 94, "rationale": "Exceptional detail with 24 AI writing patterns, before/after examples"},
{"name": "summarize", "score": 65, "rationale": "Minimal CLI reference for summarize tool"},
{"name": "homeassistant", "score": 71, "rationale": "Good curl-based API examples for Home Assistant control"},
{"name": "youtube-watcher", "score": 62, "rationale": "Simple transcript fetching with Python script"},
{"name": "bird", "score": 58, "rationale": "Very brief X/Twitter CLI reference"},
{"name": "capability-evolver", "score": 76, "rationale": "Self-evolution engine with risk assessment table"},
{"name": "clawdhub", "score": 64, "rationale": "CLI reference for skill management"},
{"name": "google-workspace-mcp", "score": 82, "rationale": "Comprehensive 49-tool reference for Google Workspace via MCP"},
{"name": "deep-research", "score": 73, "rationale": "Multi-step research planning concept with MCP configuration"},
{"name": "marketing-mode", "score": 87, "rationale": "Massive marketing knowledge base covering 23 disciplines"},
{"name": "research", "score": 74, "rationale": "Gemini CLI research workflow with clarifying questions step"},
{"name": "nano-banana-pro", "score": 83, "rationale": "Clear image generation workflow with draft→iterate→final pattern"},
{"name": "remind-me", "score": 80, "rationale": "Natural language reminder parsing with recurring support"},
{"name": "prompt-guard", "score": 95, "rationale": "Extensive security patterns with HiveFence integration, 349 attack patterns"},
{"name": "ai-compound", "score": 79, "rationale": "Compound learning workflow with loop diagram, memory file structures"},
{"name": "github", "score": 55, "rationale": "Brief gh CLI reference"},
{"name": "wed", "score": 35, "rationale": "Security research demo only, no actual functionality"},
{"name": "verify-on-browser", "score": 77, "rationale": "Full CDP access documentation"},
{"name": "find-skills", "score": 72, "rationale": "Skill discovery workflow with category table"},
{"name": "memory-setup", "score": 76, "rationale": "Memory configuration guide with config options table"},
{"name": "weather", "score": 60, "rationale": "Two weather services with format codes"},
# Batch 31-60
{"name": "trello", "score": 72, "rationale": "Good curl examples for all CRUD ops"},
{"name": "claude-connect", "score": 88, "rationale": "Excellent workflow with install.sh, launchd auto-refresh"},
{"name": "answeroverflow", "score": 58, "rationale": "Minimal skill - just URL patterns and MCP reference"},
{"name": "stock-analysis", "score": 91, "rationale": "Comprehensive with 8-dimension scoring, Hot Scanner, multiple Python scripts"},
{"name": "yahoo-finance", "score": 78, "rationale": "Complete CLI with many commands"},
{"name": "clawdbot-security-check", "score": 94, "rationale": "Exceptional depth - 13 security domains, detection scripts"},
{"name": "obsidian", "score": 52, "rationale": "Brief vault structure and obsidian-cli reference"},
{"name": "exa-web-search-free", "score": 65, "rationale": "Clean MCP tool docs with mcporter examples"},
{"name": "polymarket", "score": 62, "rationale": "Simple Python script wrapper for Polymarket API"},
{"name": "prompt-engineering-expert", "score": 45, "rationale": "Pure knowledge skill with no code"},
{"name": "skill-creator", "score": 89, "rationale": "Meta-skill with excellent structure: init_skill.py, package_skill.py"},
{"name": "brave-search", "score": 68, "rationale": "Simple Node.js scripts for search and content extraction"},
{"name": "gemini", "score": 42, "rationale": "Minimal - just 4-5 command examples"},
{"name": "openai-whisper", "score": 44, "rationale": "Brief transcription examples"},
{"name": "notion", "score": 76, "rationale": "Comprehensive API examples for pages, databases, blocks"},
{"name": "frontend-design", "score": 70, "rationale": "Design philosophy skill with aesthetic guidelines"},
{"name": "docstrange", "score": 79, "rationale": "Complete API docs for document extraction"},
{"name": "api-gateway", "score": 86, "rationale": "Extensive API gateway docs with 20+ providers"},
{"name": "humanize-ai-text", "score": 82, "rationale": "16 detection categories, multiple Python scripts"},
{"name": "clawdbot-release-check", "score": 74, "rationale": "Bash scripts for version checking with cron setup"},
{"name": "browser-use", "score": 77, "rationale": "Cloud browser API docs with session management"},
{"name": "slack", "score": 73, "rationale": "Action-based tool docs with JSON examples"},
{"name": "1password", "score": 80, "rationale": "Detailed tmux session requirement for op CLI"},
{"name": "heurist-mesh", "score": 81, "rationale": "Web3 intelligence MCP with 15+ tools"},
{"name": "fast-browser-use", "score": 85, "rationale": "Rust-based automation with 6+ recipes"},
{"name": "n8n-workflow-automation", "score": 75, "rationale": "Design skill for n8n JSON with idempotency"},
{"name": "excel", "score": 84, "rationale": "Comprehensive Python CLI for Excel: read/write/format/export"},
{"name": "email", "score": 35, "rationale": "Stub skill - just feature list"},
{"name": "clean-code", "score": 71, "rationale": "Coding standards skill with clear rules, anti-patterns"},
{"name": "thinking-partner", "score": 48, "rationale": "Conceptual skill for exploration"},
{"name": "todoist", "score": 76, "rationale": "Full CLI reference with task/project/label commands"},
{"name": "qmd", "score": 50, "rationale": "Brief indexing/search CLI reference"},
{"name": "discord", "score": 83, "rationale": "Extensive action documentation: reactions, stickers, polls"},
{"name": "imsg", "score": 55, "rationale": "Brief iMessage CLI reference"},
{"name": "clawdbot-security-suite", "score": 78, "rationale": "Security validation with pattern detection"},
{"name": "healthkit-sync", "score": 67, "rationale": "CLI reference for healthsync with pairing flow"},
# Batch 61-100
{"name": "apple-calendar", "score": 68, "rationale": "Basic AppleScript wrapper"},
{"name": "calendar", "score": 35, "rationale": "Stub skill"},
{"name": "morning-email-rollup", "score": 88, "rationale": "Excellent workflow with AI summarization"},
{"name": "superdesign", "score": 82, "rationale": "Comprehensive frontend design guide"},
{"name": "plan-my-day", "score": 72, "rationale": "Clear time-blocking workflow"},
{"name": "search-x", "score": 78, "rationale": "Solid X/Twitter search via Grok API"},
{"name": "ui-ux-pro-max", "score": 76, "rationale": "Good triage workflow with bundled assets"},
{"name": "linkedin", "score": 58, "rationale": "Basic browser automation instructions"},
{"name": "ralph-loop", "score": 92, "rationale": "Excellent agentic loop pattern with complete bash scripts"},
{"name": "ticktick", "score": 90, "rationale": "Comprehensive CLI with OAuth flow, CRUD operations"},
{"name": "model-usage", "score": 74, "rationale": "Focused utility with bundled Python script"},
{"name": "mcporter", "score": 70, "rationale": "Good quick reference for MCP server CLI"},
{"name": "tmux", "score": 85, "rationale": "Thorough tmux guide with socket conventions"},
{"name": "second-brain", "score": 86, "rationale": "Well-structured knowledge base with namespace design"},
{"name": "moltbot-best-practices", "score": 80, "rationale": "Valuable behavioral guidelines"},
{"name": "claude-team", "score": 94, "rationale": "Exceptional orchestration skill with mcporter integration"},
{"name": "outlook", "score": 87, "rationale": "Complete email/calendar skill with automated setup"},
{"name": "claude-code-usage", "score": 84, "rationale": "Solid usage monitoring with session reminders"},
{"name": "cloudflare", "score": 75, "rationale": "Good CLI wrapper with verify, zones, DNS"},
{"name": "imap-smtp-email", "score": 83, "rationale": "Comprehensive IMAP/SMTP with Node.js scripts"},
{"name": "save-money", "score": 65, "rationale": "Behavioral routing skill with multilingual triggers"},
{"name": "dont-hack-me", "score": 79, "rationale": "Solid security audit with 7-point checklist"},
{"name": "news-aggregator-skill", "score": 77, "rationale": "Multi-source news fetcher with deep mode"},
{"name": "tweet-writer", "score": 73, "rationale": "Comprehensive copywriting guide with hook formulas"},
{"name": "personas", "score": 81, "rationale": "Creative persona system with 31 personas"},
{"name": "upload-post", "score": 82, "rationale": "Complete social media API wrapper"},
{"name": "vap-media", "score": 71, "rationale": "Clean API integration for image/video/music generation"},
{"name": "perplexity", "score": 68, "rationale": "Simple but effective search wrapper"},
{"name": "peekaboo", "score": 91, "rationale": "Excellent macOS UI automation"},
{"name": "planning-with-files", "score": 89, "rationale": "Robust planning system with hooks"},
{"name": "x-trends", "score": 62, "rationale": "Basic scraper with country support"},
{"name": "x-algorithm", "score": 74, "rationale": "Thorough X algorithm reference"},
{"name": "ontology", "score": 78, "rationale": "Well-designed knowledge graph with schema"},
{"name": "hippocampus-memory", "score": 88, "rationale": "Sophisticated memory system with decay formulas"},
{"name": "polymarket-odds", "score": 76, "rationale": "Solid prediction market CLI"},
{"name": "proxmox-full", "score": 85, "rationale": "Comprehensive Proxmox API reference"},
{"name": "hn", "score": 72, "rationale": "Clean Hacker News CLI"},
{"name": "n8n", "score": 79, "rationale": "Good n8n workflow management"},
{"name": "news-summary", "score": 64, "rationale": "Basic RSS aggregation with TTS option"},
{"name": "linkedin-cli", "score": 66, "rationale": "Python CLI for LinkedIn with session cookies"},
{"name": "agent-browser-3", "score": 93, "rationale": "Exceptional browser automation with refs system"},
{"name": "ibkr-trader", "score": 80, "rationale": "Good IBKR trading setup with IBeam auth"},
{"name": "agentmail", "score": 84, "rationale": "Solid email platform integration"},
{"name": "alexa-cli", "score": 77, "rationale": "Clean Alexa CLI with device control"},
{"name": "stock-market-pro", "score": 70, "rationale": "Yahoo Finance wrapper with uv scripts"},
# Batch 101-150
{"name": "topic-monitor", "score": 92, "rationale": "Exceptional workflow clarity with setup wizard, 7 bundled scripts"},
{"name": "claude-code-wingman", "score": 88, "rationale": "Strong workflow for multi-session orchestration"},
{"name": "decision-trees", "score": 78, "rationale": "Clear methodology with EV formulas"},
{"name": "linkedin-automation", "score": 62, "rationale": "Basic workflow outline, sparse scripts"},
{"name": "antigravity-quota", "score": 70, "rationale": "Single focused script, multiple output formats"},
{"name": "notebook", "score": 72, "rationale": "Onboarding protocol, YAML-based"},
{"name": "nano-pdf", "score": 45, "rationale": "Minimal skill - single CLI command wrapper"},
{"name": "spotify-player", "score": 52, "rationale": "Basic CLI reference"},
{"name": "sonoscli", "score": 50, "rationale": "CLI command reference only"},
{"name": "markdown-converter", "score": 58, "rationale": "Good format support docs"},
{"name": "phone-calls-bland", "score": 75, "rationale": "Clear API integration, voice options"},
{"name": "reddit-readonly", "score": 82, "rationale": "Strong Node.js script, multiple commands"},
{"name": "council-of-the-wise", "score": 76, "rationale": "Multi-perspective analysis"},
{"name": "agent-browser-clawdbot", "score": 85, "rationale": "Comprehensive command reference"},
{"name": "bybit-agent", "score": 35, "rationale": "MALWARE/SCAM - contains obfuscated payload"},
{"name": "ez-cronjob", "score": 84, "rationale": "Excellent troubleshooting guide, golden rule pattern"},
{"name": "clawdefender", "score": 86, "rationale": "Security scanner with 90+ patterns"},
{"name": "human-optimized-frontend", "score": 68, "rationale": "Detailed design specs, quantitative scoring"},
{"name": "pdf", "score": 80, "rationale": "Comprehensive Python/CLI examples"},
{"name": "first-principles-decomposer", "score": 65, "rationale": "Clear methodology"},
{"name": "swiftui-ui-patterns", "score": 72, "rationale": "Good SwiftUI patterns"},
{"name": "playwright-cli", "score": 78, "rationale": "Full command reference"},
{"name": "ui-audit", "score": 83, "rationale": "Comprehensive audit framework"},
{"name": "google-calendar-api", "score": 80, "rationale": "Full API reference"},
{"name": "clawdbot-logs", "score": 68, "rationale": "Useful log source reference"},
{"name": "icloud-findmy", "score": 70, "rationale": "AppleScript examples, session management"},
{"name": "self-reflection", "score": 74, "rationale": "Clear command reference"},
{"name": "apple-contacts", "score": 55, "rationale": "AppleScript snippets, narrow scope"},
{"name": "apple-photos", "score": 72, "rationale": "Multiple scripts referenced, SQLite query approach"},
{"name": "windows-control", "score": 88, "rationale": "Comprehensive desktop automation, 15+ Python scripts"},
{"name": "todo", "score": 38, "rationale": "Stub skill"},
{"name": "instagram", "score": 38, "rationale": "Stub skill"},
{"name": "git-notes-memory", "score": 90, "rationale": "Comprehensive memory system, silent operation rules"},
{"name": "stealth-browser", "score": 87, "rationale": "Multi-layer anti-detection, session persistence"},
{"name": "job-auto-apply", "score": 82, "rationale": "Complete workflow, profile template"},
{"name": "system-monitor", "score": 32, "rationale": "Minimal stub"},
{"name": "search", "score": 28, "rationale": "Broken/minimal"},
{"name": "project-management-skills", "score": 79, "rationale": "Comprehensive governance system"},
{"name": "agent-zero-bridge", "score": 81, "rationale": "Bidirectional communication"},
{"name": "trade-signal-ttx", "score": 85, "rationale": "Detailed API response format"},
{"name": "jira", "score": 75, "rationale": "Full CLI command reference"},
{"name": "memory-system-v2", "score": 89, "rationale": "Fast search <20ms, 5 memory types"},
{"name": "todoist-cli", "score": 76, "rationale": "Complete command reference"},
{"name": "agent-development", "score": 84, "rationale": "Strong agent design patterns"},
{"name": "safe-exec", "score": 83, "rationale": "Risk-based interception, approval workflow"},
{"name": "youtube", "score": 77, "rationale": "MCP server setup, fallback to yt-dlp"},
{"name": "geo-optimization", "score": 88, "rationale": "Comprehensive GEO guide"},
{"name": "elevenlabs-voices", "score": 86, "rationale": "Setup wizard, 18 voice personas"},
# Batch 151-200
{"name": "elevenlabs-voices", "score": 92, "rationale": "Exceptional workflow clarity with setup wizard"},
{"name": "docker-essentials", "score": 75, "rationale": "Comprehensive command reference"},
{"name": "vap-multimedia-generation", "score": 78, "rationale": "Clear free vs paid mode workflow"},
{"name": "computer-use", "score": 88, "rationale": "Excellent desktop automation skill with 17 actions"},
{"name": "last30days", "score": 85, "rationale": "Sophisticated multi-source research workflow"},
{"name": "brave-images", "score": 58, "rationale": "Minimal skill"},
{"name": "opencode-acp-control", "score": 82, "rationale": "Detailed JSON-RPC protocol"},
{"name": "prd", "score": 72, "rationale": "Clean PRD format specification"},
{"name": "feishu-doc", "score": 45, "rationale": "Very minimal"},
{"name": "cron-mastery", "score": 76, "rationale": "Good conceptual guide"},
{"name": "therapy-mode", "score": 94, "rationale": "Comprehensive therapeutic framework"},
{"name": "blogwatcher", "score": 55, "rationale": "Simple CLI reference"},
{"name": "video-frames", "score": 52, "rationale": "Minimal ffmpeg frame extraction"},
{"name": "openai-whisper-api", "score": 60, "rationale": "Basic curl transcription skill"},
{"name": "local-places", "score": 74, "rationale": "Good two-step location/search workflow"},
{"name": "clawdbot-filesystem", "score": 80, "rationale": "Comprehensive file operations skill"},
{"name": "clippy", "score": 86, "rationale": "Excellent M365/Outlook CLI"},
{"name": "apple-media", "score": 79, "rationale": "Comprehensive pyatv control"},
{"name": "whisper-mlx-local", "score": 77, "rationale": "Good local whisper setup"},
{"name": "security-audit", "score": 68, "rationale": "Security scanning skill"},
{"name": "everclaw", "score": 81, "rationale": "Encrypted vault backup"},
{"name": "cost-report", "score": 71, "rationale": "Cost tracking from JSONL files"},
{"name": "hackernews", "score": 73, "rationale": "HN CLI for stories, comments"},
{"name": "simple-backup", "score": 70, "rationale": "Backup script with auto-detection"},
{"name": "x-api", "score": 65, "rationale": "X/Twitter posting via official API"},
{"name": "skillcraft", "score": 91, "rationale": "Meta-skill for building skills with 5-stage design"},
{"name": "youtube-full", "score": 84, "rationale": "Complete YouTube toolkit"},
{"name": "web-search", "score": 83, "rationale": "DuckDuckGo search skill"},
{"name": "app-store-changelog", "score": 67, "rationale": "Changelog generation workflow"},
{"name": "jobforbots", "score": 87, "rationale": "Elaborate bot marketplace API"},
{"name": "gmail", "score": 75, "rationale": "Gmail API via Maton gateway"},
{"name": "himalaya", "score": 78, "rationale": "CLI email client with IMAP/SMTP setup"},
{"name": "atxp", "score": 54, "rationale": "Minimal ATXP CLI wrapper"},
{"name": "apple-mail", "score": 85, "rationale": "Excellent Mail.app integration"},
{"name": "proxmox", "score": 76, "rationale": "Proxmox VE REST API skill"},
{"name": "mission-control", "score": 82, "rationale": "Kanban task management with webhook transform"},
{"name": "plan2meal", "score": 69, "rationale": "Recipe app integration"},
{"name": "youtube-summarizer", "score": 72, "rationale": "Transcript fetch and summarization"},
{"name": "youtube-transcript", "score": 64, "rationale": "Simple transcript fetching"},
{"name": "supabase", "score": 81, "rationale": "Comprehensive Supabase CLI"},
{"name": "moltbook-interact", "score": 56, "rationale": "Basic Moltbook social network skill"},
{"name": "clawdbot-backup", "score": 88, "rationale": "Extensive backup/restore skill"},
{"name": "firecrawl-search", "score": 51, "rationale": "Minimal Firecrawl wrapper"},
{"name": "polymarket-agent", "score": 89, "rationale": "Sophisticated trading agent with 6 strategies"},
# Batch 201-250
{"name": "plaid", "score": 52, "rationale": "Basic CLI commands"},
{"name": "reddit", "score": 68, "rationale": "Good code examples for all operations"},
{"name": "gemini-deep-research", "score": 55, "rationale": "Clear prerequisites and usage"},
{"name": "tavily-search", "score": 58, "rationale": "Simple CLI with options documented"},
{"name": "weekly-synthesis", "score": 45, "rationale": "Good output template but purely conceptual"},
{"name": "agent-browser-tekken", "score": 88, "rationale": "Excellent workflow clarity"},
{"name": "base-trader", "score": 78, "rationale": "Strong risk management rules"},
{"name": "idea", "score": 62, "rationale": "Good workflow diagram, complex setup"},
{"name": "yc-cold-outreach", "score": 48, "rationale": "Pure knowledge skill"},
{"name": "clawd-docs-v2", "score": 72, "rationale": "Smart 3-layer architecture"},
{"name": "xlsx", "score": 82, "rationale": "Comprehensive workflow with pandas/openpyxl"},
{"name": "docx", "score": 80, "rationale": "Detailed redlining workflow"},
{"name": "a-stock-analysis", "score": 75, "rationale": "Good code examples with uv run"},
{"name": "ai-persona-os", "score": 85, "rationale": "Comprehensive framework with 8 rules"},
{"name": "humanize-ai", "score": 70, "rationale": "Bundled analyze.py and humanize.py scripts"},
{"name": "deepread-ocr", "score": 76, "rationale": "Well-documented API"},
{"name": "qmd-external", "score": 65, "rationale": "Good command reference"},
{"name": "excalidraw-flowchart", "score": 73, "rationale": "Clear DSL syntax table"},
{"name": "cursor-agent", "score": 71, "rationale": "Comprehensive CLI reference"},
{"name": "spotify", "score": 45, "rationale": "Very minimal"},
{"name": "self-improving-agent-1-0-2", "score": 84, "rationale": "Excellent logging format specs"},
{"name": "strava", "score": 63, "rationale": "Complete API examples with curl"},
{"name": "clawdbot-workspace-template-review", "score": 42, "rationale": "Simple comparison workflow"},
{"name": "fizzy", "score": 79, "rationale": "Comprehensive CLI reference"},
{"name": "evolver", "score": 55, "rationale": "Interesting self-improvement concept"},
{"name": "openclaw-mem", "score": 58, "rationale": "Clear journaling structure"},
{"name": "elite-longterm-memory", "score": 77, "rationale": "5-layer architecture diagram"},
{"name": "wechat", "score": 60, "rationale": "Clear command reference"},
{"name": "research-paper-writer", "score": 67, "rationale": "Detailed academic writing guidelines"},
{"name": "test-master", "score": 72, "rationale": "Good reference guide table"},
{"name": "seo-optimizer", "score": 81, "rationale": "Bundled seo_analyzer.py and generate_sitemap.py"},
{"name": "supermemory", "score": 54, "rationale": "Simple add/search/chat commands"},
{"name": "gitclaw", "score": 74, "rationale": "Detailed step-by-step workflow"},
{"name": "stock-info-explorer", "score": 69, "rationale": "Good command examples"},
{"name": "finance", "score": 64, "rationale": "Provider strategy documented"},
{"name": "gogcli", "score": 58, "rationale": "Good command reference for Google services"},
{"name": "github-kb", "score": 66, "rationale": "Clear workflow for KB management"},
{"name": "agent-browser-2", "score": 88, "rationale": "Excellent workflow, comprehensive commands"},
{"name": "crypto-price", "score": 61, "rationale": "Bundled Python script"},
{"name": "ddg-search", "score": 35, "rationale": "Extremely minimal"},
{"name": "chromadb-memory", "score": 73, "rationale": "Architecture diagram, config options"},
{"name": "skill-audit", "score": 56, "rationale": "Good workflow steps"},
{"name": "prompt-optimizer", "score": 74, "rationale": "Clear evaluation workflow"},
{"name": "taskmaster", "score": 68, "rationale": "Model selection rules, budget controls"},
{"name": "etrade-pelosi-bot", "score": 75, "rationale": "Complete architecture with scripts"},
{"name": "vercel", "score": 65, "rationale": "Comprehensive CLI reference"},
]
def update_clawdhub():
conn = sqlite3.connect(DB_PATH)
cur = conn.cursor()
updated = 0
for skill in CLAWDHUB_SCORES:
name = skill["name"]
score = skill["score"]
rationale = f"[manual] {skill.get('rationale', '')}"
cur.execute("""
UPDATE skills
SET quality_score = ?, quality_rationale = ?
WHERE registry = 'clawdhub' AND name = ?
""", (score, rationale, name))
if cur.rowcount > 0:
updated += cur.rowcount
conn.commit()
# Print summary
cur.execute("""
SELECT registry,
COUNT(*) as count,
ROUND(AVG(quality_score), 1) as avg_score,
SUM(CASE WHEN quality_rationale LIKE '[manual]%' THEN 1 ELSE 0 END) as manual_count
FROM skills
GROUP BY registry
""")
print("Quality Score Summary by Registry:")
print("-" * 70)
for row in cur.fetchall():
print(f"{row[0]:20} | count: {row[1]:4} | avg: {row[2]:5.1f} | manual: {row[3]}")
print(f"\nUpdated {updated} clawdhub skills with manual scores")
conn.close()
if __name__ == "__main__":
update_clawdhub()