AI Agent Skills

Ready-to-use skills for OpenClaw agents. Each skill extends your agent's capabilities with specialized tools.

const skills = [ { name: 'Web Search', desc: 'Search the web using Brave API', category: 'web', installs: 1200, rating: 4.9, author: 'OMA-AI', price: 0 }, { name: 'Weather', desc: 'Get weather forecasts for any location', category: 'data', installs: 890, rating: 4.7, author: 'OMA-AI', price: 0 }, { name: 'Crypto Prices', desc: 'Real-time crypto prices from CoinGecko', category: 'crypto', installs: 2100, rating: 4.8, author: 'OMA-AI', price: 0 }, { name: 'Gmail', desc: 'Send and receive emails', category: 'productivity', installs: 650, rating: 4.5, author: 'Smithery', price: 0 }, { name: 'GitHub', desc: 'Manage repositories and PRs', category: 'dev', installs: 980, rating: 4.6, author: 'Smithery', price: 0 }, { name: 'Slack', desc: 'Post messages to Slack channels', category: 'productivity', installs: 420, rating: 4.4, author: 'Smithery', price: 0 }, { name: 'Database Query', desc: 'Query PostgreSQL and MySQL', category: 'dev', installs: 380, rating: 4.3, author: 'OMA-AI', price: 0.001 }, { name: 'LLM Gateway', desc: 'Access GPT-4, Claude, Gemini', category: 'ai', installs: 3500, rating: 4.9, author: 'OMA-AI', price: 0.01 }, { name: 'Text Embeddings', desc: 'Generate vector embeddings', category: 'ai', installs: 780, rating: 4.6, author: 'OMA-AI', price: 0.005 }, { name: 'Image Generation', desc: 'Generate images with AI', category: 'ai', installs: 1100, rating: 4.8, author: 'OMA-AI', price: 0.02 }, { name: 'Akash Deploy', desc: 'Deploy compute on Akash', category: 'dev', installs: 320, rating: 4.5, author: 'OMA-AI', price: 0 }, { name: 'x402 Payments', desc: 'Accept micropayments via x402', category: 'crypto', installs: 560, rating: 4.7, author: 'OMA-AI', price: 0 } ]; function renderSkills(filter = '') { const grid = document.getElementById('skillsGrid'); const filtered = filter ? skills.filter(s => s.category === filter) : skills; grid.innerHTML = filtered.map(s => `
🧩
${s.category}

${s.name}

${s.desc}

${s.installs.toLocaleString()} installs ⭐ ${s.rating}
by ${s.author} ${s.price === 0 ? 'Free' : '$' + s.price + '/call'}
`).join(''); document.getElementById('categoryFilter').addEventListener('change', (e) => renderSkills(e.target.value)); document.getElementById('searchInput').addEventListener('input', (e) => { const q = e.target.value.toLowerCase(); const filtered = skills.filter(s => s.name.toLowerCase().includes(q) || s.desc.toLowerCase().includes(q)); document.getElementById('skillsGrid').innerHTML = filtered.map(s => `
🧩
${s.category}

${s.name}

${s.desc}

${s.installs.toLocaleString()} installs ⭐ ${s.rating}
`).join(''); }); renderSkills();