Skill Recommender Pro

v1.0.2

Intelligent skill recommendations for OpenClaw. Analyzes installed skills using rule-based filtering and pattern matching. Suggests complementary skills, alt...

0· 149· 3 versions· 0 current· 0 all-time· Updated 9h ago· MIT-0

Install

openclaw skills install skill-recommender-pro

Skill Recommender Pro

Intelligent skill recommendation engine for OpenClaw. Goes beyond simple search to provide personalized, context-aware recommendations.

What Makes This Better

FeatureOther Recommendersskill-recommender-pro
Basic search
Installed skills analysis
Complementary recommendations
Alternative suggestions
Personalized by role
Semantic analysis✅ (agent-assisted)
Multi-language

Trigger Conditions

  • "Recommend skills for me" / "推荐skills给我"
  • "What skills should I install?" / "我应该安装什么skills?"
  • "Find alternatives to X" / "找X的替代品"
  • "Compare X and Y skills" / "对比X和Y这两个skill"
  • "What's missing in my setup?" / "我的配置缺少什么?"
  • "Best skills for developers" / "开发者最佳skills"
  • "skill-recommender-pro"

Step 1: Analyze User's Current Setup

First, understand what the user already has:

# Get installed skills
clawhub list 2>/dev/null || echo "No skills installed"

Analysis Script

python3 << 'PYEOF'
import json
import subprocess
import os

def get_installed_skills():
    """Get list of installed skills"""
    try:
        result = subprocess.run(
            ["clawhub", "list"],
            capture_output=True,
            text=True,
            timeout=10
        )
        if result.returncode == 0:
            return result.stdout.strip().split('\n')
    except:
        pass
    return []

def categorize_skills(skills):
    """Categorize installed skills by function"""
    categories = {
        "development": ["github", "git", "code", "debug", "test"],
        "research": ["search", "research", "analyze", "summarize"],
        "productivity": ["calendar", "email", "task", "note", "todo"],
        "media": ["image", "video", "audio", "tts", "ocr"],
        "data": ["csv", "json", "database", "sql", "api"],
        "ai": ["llm", "model", "train", "embedding"],
        "devops": ["docker", "deploy", "ci", "cd", "cloud"]
    }
    
    user_categories = {}
    for skill in skills:
        skill_lower = skill.lower()
        for category, keywords in categories.items():
            if any(kw in skill_lower for kw in keywords):
                user_categories.setdefault(category, []).append(skill)
    
    return user_categories

def identify_gaps(installed, categories):
    """Identify missing categories that could be useful"""
    all_categories = set(categories.keys())
    user_categories = set(installed.keys())
    gaps = all_categories - user_categories
    return list(gaps)

installed = get_installed_skills()
categories = categorize_skills(installed)
gaps = identify_gaps(categories, {})

print(f"Installed skills: {len(installed)}")
print(f"Categories covered: {list(categories.keys())}")
print(f"Potential gaps: {gaps}")
PYEOF

Step 2: Generate Recommendations

Based on analysis, generate personalized recommendations:

Recommendation Types

1. Complementary Skills
   - Skills that work well with what you have
   - Example: If you have china-doc-ocr, recommend china-summarizer

2. Alternative Skills
   - Better options for same functionality
   - Based on downloads, ratings, freshness

3. Gap Filling
   - Skills for missing categories
   - Based on your apparent role/needs

4. Trending Skills
   - Popular skills in the community
   - Recent high-growth skills

Search & Recommend

# For each gap, search for top skills
for category in research productivity devops; do
  echo "🔍 Searching for $category skills..."
  clawhub search "$category" 2>&1 | head -5
done

Generate Report

python3 << 'PYEOF'
import json

def generate_recommendations(installed, gaps, lang="en"):
    """Generate personalized recommendations"""
    
    recommendations = {
        "complementary": [],
        "alternatives": [],
        "gap_fillers": [],
        "trending": []
    }
    
    # Complementary pairs
    COMPLEMENTARY_MAP = {
        "china-doc-ocr": ["china-summarizer", "china-tts"],
        "china-tts": ["china-video-gen", "china-image-gen"],
        "research-orchestrator": ["skill-advisor", "web-search"],
        "skill-studio": ["skill-advisor", "research-orchestrator"]
    }
    
    for skill in installed:
        if skill in COMPLEMENTARY_MAP:
            for rec in COMPLEMENTARY_MAP[skill]:
                if rec not in installed:
                    recommendations["complementary"].append({
                        "skill": rec,
                        "reason": f"Works well with {skill}"
                    })
    
    return recommendations

# Example
installed = ["china-doc-ocr", "china-tts", "skill-studio"]
gaps = ["research", "devops"]
recs = generate_recommendations(installed, gaps, "zh")

print(json.dumps(recs, indent=2, ensure_ascii=False))
PYEOF

Step 3: Output Recommendation Report

Chinese Report Format

┌─────────────────────────────────────────────────────────┐
│  🎯 个性化Skill推荐                                      │
│  基于你已安装的 5 个skills                                │
└─────────────────────────────────────────────────────────┘

━━━ 📋 推荐报告 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📊 你的Skills概况
├─ 已安装: china-doc-ocr, china-tts, skill-studio...
├─ 覆盖领域: 文档处理, 语音, 开发工具
└─ 潜在缺口: 研究分析, DevOps

🔥 互补推荐(与你现有skills配合使用)
├─ china-summarizer - 与china-doc-ocr配合,OCR后自动总结
├─ research-orchestrator - 与skill-studio配合,创建研究类skills
└─ skill-advisor - 安装前评估skills安全性

⭐ 热门推荐(社区最受欢迎)
├─ capability-evolver (35K+ downloads) - Agent自我进化
├─ gog (14K+ downloads) - Google Workspace集成
└─ agent-browser (11K+ downloads) - 浏览器自动化

🎯 填补缺口(你可能需要的领域)
├─ 研究分析: research-orchestrator, summarize
├─ DevOps: docker-manager, deploy-helper
└─ 生产力: calendar, email-integration

💡 安装建议
clawhub install china-summarizer research-orchestrator skill-advisor

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

English Report Format

┌─────────────────────────────────────────────────────────┐
│  🎯 Personalized Skill Recommendations                  │
│  Based on your 5 installed skills                       │
└─────────────────────────────────────────────────────────┘

━━━ 📋 Recommendation Report ━━━━━━━━━━━━━━━━━━━━━━━━━━━

📊 Your Skills Overview
├─ Installed: china-doc-ocr, china-tts, skill-studio...
├─ Categories: Document Processing, Voice, Dev Tools
└─ Potential Gaps: Research, DevOps

🔥 Complementary (Works with your existing skills)
├─ china-summarizer - Pair with china-doc-ocr for OCR+summary
├─ research-orchestrator - Pair with skill-studio for research
└─ skill-advisor - Pre-install security assessment

⭐ Popular (Community Favorites)
├─ capability-evolver (35K+ downloads) - Agent self-improvement
├─ gog (14K+ downloads) - Google Workspace integration
└─ agent-browser (11K+ downloads) - Browser automation

🎯 Gap Fillers (Areas you might need)
├─ Research: research-orchestrator, summarize
├─ DevOps: docker-manager, deploy-helper
└─ Productivity: calendar, email-integration

💡 Install Suggestion
clawhub install china-summarizer research-orchestrator skill-advisor

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Step 4: Compare Skills (When User Asks)

When user wants to compare skills:

# Get details for each skill
clawhub inspect skill-a
clawhub inspect skill-b

# Compare and recommend

Comparison Report

━━━ 📊 Skill对比: skill-a vs skill-b ━━━━━━━━━━━━━━━━━

| 维度 | skill-a | skill-b |
|------|---------|---------|
| 下载量 | 1,000 | 5,000 |
| 更新时间 | 3天前 | 30天前 |
| 功能 | 基础搜索 | 高级分析 |
| 复杂度 | 简单 | 中等 |

🎯 推荐: skill-b(更活跃,功能更全)

Key Differentiators

1. Context-Aware

  • Analyzes what user already has
  • Doesn't recommend duplicates
  • Suggests complementary skills

2. Personalized

  • Adapts to user's apparent role
  • Developer vs Researcher vs Content Creator
  • Different recommendations for each

3. Multi-Source Data

  • Downloads & popularity
  • Freshness & maintenance
  • Community sentiment
  • Dependency complexity

4. Actionable Output

  • Ready-to-install commands
  • Clear reasoning for each recommendation
  • Prioritized list

Smart Inference Engine

Hybrid Approach: Rules + LLM Analysis

Layer 1: Rule-Based (Fast)

# Quick filtering using keyword matching
PAIR_RULES = [
    {"source": ["ocr", "document", "pdf"], "target": ["summarize", "translate"]},
    {"source": ["tts", "voice", "speech"], "target": ["video", "image"]},
    {"source": ["search", "research"], "target": ["summarize", "report"]},
]

Layer 2: Semantic Analysis (Agent-Assisted)

The agent can enhance recommendations using its own reasoning:

Agent analyzes:
1. Skill descriptions for semantic relationships
2. Functional dependencies between skills
3. User's apparent use case
4. Complementary workflow patterns

How It Works

User: "推荐skills给我"
        ↓
Step 1: Get installed skills (clawhub list)
        ↓
Step 2: Fetch candidate skills from ClawHub API
        ↓
Step 3: Rule-based filtering (fast, removes obvious non-matches)
        ↓
Step 4: Agent semantic analysis (understands context)
        ↓
Step 5: Generate personalized recommendations

Semantic Understanding

ScenarioRule-BasedAgent-Assisted
china-doc-ocr + china-summarizer✅ Detected✅ Detected
skill-studio + research-orchestrator❌ Missed✅ Detected (both help create)
china-tts + china-video-gen✅ Detected✅ Detected
skill-advisor + any skill❌ Missed✅ Detected (advises before install)

The agent provides semantic understanding beyond keyword matching.


Multi-Language Support

Output language automatically matches user's conversation language:

  • User writes in Chinese → Output Chinese report
  • User writes in English → Output English report
  • User specifies "用英文输出" / "Output in Japanese" → Output in specified language

Supported: Chinese, English, Japanese, Korean, and 50+ languages


Error Handling

No skills installed     → "Let's start with basics: install X, Y, Z"
ClawHub API error       → "Using cached recommendations..."
Parse error             → "Showing best-effort results"

Notes

  • Recommendations update based on real-time ClawHub data
  • Complementary relationships inferred dynamically from skill descriptions
  • Multi-dimensional classification for accurate categorization
  • Privacy: Only reads installed skill names and public metadata
  • No access to config files, tokens, or sensitive data
  • Supports 50+ languages for output

Limitations (Honest)

  • Inference accuracy: Depends on quality of skill descriptions on ClawHub
  • New skills: May not have enough metadata for accurate classification
  • Edge cases: Some skills don't fit neatly into categories
  • API dependency: Requires ClawHub API for real-time data

Version tags

latestvk97cmyk8zbxfwwpz6w6w3a62w183hbkr

Runtime requirements

🎯 Clawdis
Binspython3