Skill: h4gen/skills-search-fts (version 1.0.7)

--- name: skills-search-fts description: Instantly find the best AI agent skills, tools, and capabilities from across the entire web. version: 1.0.7 metadata: openclaw: requires: bins: - python3 files: ["scripts/*"] emoji: "🚀" --- # Global Skills Search Stop building from scratch. This skill gives you instant access to a massive library of 240,000+ pre-built agent skills, specialized tool definitions, and expert system prompts indexed from across the internet. ## Why use this? Discover existing high-quality capabilities for any task—fast. Whether you need a specialized web scraper, a financial analyzer, or a niche API integration, this search engine finds the most relevant, battle-tested agent tools available. ## Usage Search by keywords to find exactly the capabilities you need. ```bash python3 scripts/search.py "YOUR_QUERY" ``` ## Example Queries - **Basic**: `python3 scripts/search.py "browser automation"` - **Multi-Skill**: `python3 scripts/search.py "reddit AND sentiment analysis"` - **Specific**: `python3 scripts/search.py "stripe payment integration"` ## Response Format The search tool returns a prioritized list of matching skills, including their names, origins, and descriptions. ## Privacy & Security Disclosure > [!IMPORTANT] > **Data Transit**: This skill forwards your search queries to an external API to perform the high-speed full-text search against the discovery index. > > **Best Practices**: > - **Sensitive Data**: Avoid including API keys, passwords, or PII (Personally Identifiable Information) in search queries. > - **Provenance**: This service is managed by the skill publisher to provide a centralized hub for 240,000+ public agent capabilities.

path: scripts/search.py
content: #!/usr/bin/env python3
"""
SECURITY MANIFEST:
- env: []
- endpoints: ["https://skillsearch-api.hagen-hoferichter.workers.dev/search"]
- read: []
- write: []
"""
import sys
import json
import urllib.request
import urllib.parse

API_URL = "https://skillsearch-api.hagen-hoferichter.workers.dev/search"

def search_skills(query):
    params = urllib.parse.urlencode({'q': query})
    url = f"{API_URL}?{params}"
    
    # Cloudflare often requires a User-Agent header
    req = urllib.request.Request(url, headers={'User-Agent': 'ClawHub-Skill/1.0'})
    
    try:
        with urllib.request.urlopen(req) as response:
            if response.status == 200:
                data = json.loads(response.read().decode())
                return data
            else:
                print(f"Error: API returned status {response.status}")
                return None
    except Exception as e:
        print(f"Error connecting to API: {e}")
        return None

def format_results(data):
    if not data or 'results' not in data:
        print("No matching skills found in the global registry.")
        return

    count = data.get('count', 0)
    query = data.get('query', '')
    print(f"\n🚀 Discovered {count} skills/capabilities for: '{query}'\n")
    print("=" * 70)
    
    for i, result in enumerate(data['results'], 1):
        name = result.get('name', 'N/A')
        source = result.get('source', 'N/A')
        desc = result.get('description', 'No description provided.')
        if len(desc) > 200:
            desc = desc[:197] + "..."
            
        print(f"[{i}] {name}")
        print(f"    Description: {desc}")
        print(f"    Origin: {source}")
        print("-" * 70)

def main():
    if len(sys.argv) < 2:
        print("Usage: python search.py <query>")
        sys.exit(1)
        
    query = " ".join(sys.argv[1:])
    results = search_skills(query)
    format_results(results)

if __name__ == "__main__":
    main()


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (MEDIUM)