Fresh start - excluded large ROM JSON files
This commit is contained in:
7
skills/skills-search/.clawdhub/origin.json
Normal file
7
skills/skills-search/.clawdhub/origin.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 1,
|
||||
"registry": "https://clawdhub.com",
|
||||
"slug": "skills-search",
|
||||
"installedVersion": "1.0.4",
|
||||
"installedAt": 1769729605632
|
||||
}
|
||||
128
skills/skills-search/SKILL.md
Normal file
128
skills/skills-search/SKILL.md
Normal file
@@ -0,0 +1,128 @@
|
||||
---
|
||||
name: skills-search
|
||||
description: Search skills.sh registry from CLI. Find and discover agent skills from the skills.sh ecosystem.
|
||||
metadata:
|
||||
version: 1.0.4
|
||||
tags: ["search", "skills.sh", "cli"]
|
||||
clawdbot:
|
||||
requires:
|
||||
bins: ["node"]
|
||||
install:
|
||||
- id: "skill-install"
|
||||
kind: "skill"
|
||||
source: "clawdhub"
|
||||
slug: "skills-search"
|
||||
label: "Install skills-search skill"
|
||||
---
|
||||
|
||||
# Skills.sh Search CLI
|
||||
|
||||
Search skills from skills.sh registry directly from your terminal.
|
||||
|
||||
## Install (Clawdbot)
|
||||
|
||||
```bash
|
||||
clawdhub install skills-search
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
# Search for skills by name
|
||||
skills-search "postgres"
|
||||
skills-search "web design"
|
||||
skills-search "twitter"
|
||||
|
||||
# Show most popular skills
|
||||
skills-search --popular
|
||||
skills-search --popular --limit 10
|
||||
|
||||
# Search with install command
|
||||
skills-search "web design" --show-install
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
❯ skills-search "web design"
|
||||
🔍 Searching skills.sh for "web design"...
|
||||
|
||||
✅ web-design-guidelines (16,922 installs)
|
||||
Source: vercel-labs/agent-skills
|
||||
Install: npx skills add vercel-labs/agent-skills
|
||||
|
||||
✅ frontend-design (566 installs)
|
||||
Source: anthropics/skills
|
||||
Install: npx skills add anthropics/skills
|
||||
```
|
||||
|
||||
### Popular Skills
|
||||
|
||||
```
|
||||
❯ skills-search --popular --limit 5
|
||||
📈 Top 5 most popular skills:
|
||||
|
||||
✅ vercel-react-best-practices (22,475 installs)
|
||||
Source: vercel-labs/agent-skills
|
||||
|
||||
✅ web-design-guidelines (17,135 installs)
|
||||
Source: vercel-labs/agent-skills
|
||||
|
||||
✅ upgrading-expo (1,192 installs)
|
||||
Source: expo/skills
|
||||
...
|
||||
```
|
||||
|
||||
## Automation (Clawdbot)
|
||||
|
||||
### Step 1: Search for a skill
|
||||
|
||||
```bash
|
||||
npx @thesethrose/skills-search "react"
|
||||
```
|
||||
|
||||
### Step 2: Install found skill via skills CLI
|
||||
|
||||
After finding a skill, install it using the `skills` CLI:
|
||||
|
||||
```bash
|
||||
npx skills add vercel-labs/agent-skills
|
||||
```
|
||||
|
||||
**TUI Navigation Guidance:**
|
||||
|
||||
The `skills` CLI uses an interactive menu. Watch for prompts and navigate accordingly:
|
||||
|
||||
1. **Select skills** → Toggle skills you want with `space`, confirm with `enter`
|
||||
2. **Select agents** → Navigate with `up`/`down`, select `Clawdbot` with `space`, confirm with `enter`
|
||||
3. **Installation scope** → Choose Project (recommended) with `enter`
|
||||
4. **Confirm** → Press `enter` to proceed
|
||||
|
||||
**Important:** The TUI may change. Pay attention to the menu options and select `Clawdbot` when prompted for agents. If unsure about any selection, ask the user for guidance.
|
||||
|
||||
### Step 3: Verify installation
|
||||
|
||||
```bash
|
||||
ls ~/.clawdbot/workspace/.agents/skills/
|
||||
```
|
||||
|
||||
## Adding Your Own Skill
|
||||
|
||||
Skills.sh automatically indexes GitHub repos containing `SKILL.md` files. To add your skill:
|
||||
|
||||
1. **Create a skill folder** with `SKILL.md` in your GitHub repo
|
||||
2. **Publish to ClawdHub** for Clawdbot-specific discovery:
|
||||
```bash
|
||||
clawdhub publish ./your-skill/ --slug your-skill --name "Your Skill" --version 1.0.0
|
||||
```
|
||||
3. **Install in Clawdbot:**
|
||||
```bash
|
||||
clawdhub install your-skill
|
||||
```
|
||||
|
||||
## Notes
|
||||
|
||||
- Queries https://skills.sh/api/skills (official skills.sh API)
|
||||
- Results sorted by install count (most popular first)
|
||||
- **Clawdbot-only**: Install via `clawdhub install skills-search`
|
||||
- Skills.sh leaderboard requires GitHub repo (not needed for ClawdHub-only skills)
|
||||
99
skills/skills-search/cli.js
Normal file
99
skills/skills-search/cli.js
Normal file
@@ -0,0 +1,99 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const https = require('https');
|
||||
|
||||
const API_URL = 'https://skills.sh/api/skills';
|
||||
|
||||
async function fetchSkills() {
|
||||
return new Promise((resolve, reject) => {
|
||||
https.get(API_URL, (res) => {
|
||||
let data = '';
|
||||
res.on('data', chunk => data += chunk);
|
||||
res.on('end', () => {
|
||||
try {
|
||||
resolve(JSON.parse(data));
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
}).on('error', reject);
|
||||
});
|
||||
}
|
||||
|
||||
function formatNumber(num) {
|
||||
return new Intl.NumberFormat().format(num);
|
||||
}
|
||||
|
||||
async function main() {
|
||||
const args = process.argv.slice(2);
|
||||
const query = args[0];
|
||||
const popular = args.includes('--popular');
|
||||
const limitFlag = args.find(a => a.startsWith('--limit='));
|
||||
const limit = limitFlag ? parseInt(limitFlag.split('=')[1]) : 20;
|
||||
const showInstall = args.includes('--show-install');
|
||||
|
||||
if (!query && !popular || query === '--help' || query === '-h') {
|
||||
console.log(`
|
||||
Usage: skills-search <query> [options]
|
||||
skills-search --popular [options]
|
||||
|
||||
Options:
|
||||
--popular Show most popular skills (sorted by installs)
|
||||
--limit=<n> Limit results (default: 20)
|
||||
--show-install Show npx skills add command
|
||||
--help, -h Show this help
|
||||
|
||||
Examples:
|
||||
skills-search "web design"
|
||||
skills-search "postgres" --limit 5 --show-install
|
||||
skills-search --popular --limit 10
|
||||
|
||||
Learn more: https://skills.sh
|
||||
`);
|
||||
process.exit(query || popular ? 0 : 1);
|
||||
}
|
||||
|
||||
const mode = popular ? 'popular' : 'search';
|
||||
console.log(`🔍 Showing ${mode} skills...\n`);
|
||||
|
||||
try {
|
||||
const { skills } = await fetchSkills();
|
||||
let results = [];
|
||||
|
||||
if (popular) {
|
||||
// Sort by installs (already sorted, but explicit)
|
||||
results = skills.slice(0, limit);
|
||||
console.log(`📈 Top ${limit} most popular skills:\n`);
|
||||
} else {
|
||||
results = skills
|
||||
.filter(s =>
|
||||
s.name.toLowerCase().includes(query.toLowerCase()) ||
|
||||
s.topSource.toLowerCase().includes(query.toLowerCase())
|
||||
)
|
||||
.slice(0, limit);
|
||||
console.log(`🔍 Searching skills.sh for "${query}"...\n`);
|
||||
}
|
||||
|
||||
if (results.length === 0) {
|
||||
console.log(`❌ No skills found`);
|
||||
return;
|
||||
}
|
||||
|
||||
results.forEach(skill => {
|
||||
console.log(`✅ ${skill.name} (${formatNumber(skill.installs)} installs)`);
|
||||
console.log(` Source: ${skill.topSource}`);
|
||||
if (showInstall) {
|
||||
console.log(` Install: npx skills add ${skill.topSource}`);
|
||||
}
|
||||
console.log('');
|
||||
});
|
||||
|
||||
console.log(`📦 To publish your own skill:`);
|
||||
console.log(` clawdhub publish ./your-skill/ --slug your-skill --name "Your Skill"`);
|
||||
} catch (e) {
|
||||
console.error(`❌ Error fetching skills: ${e.message}`);
|
||||
process.exit(1);
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
16
skills/skills-search/package.json
Normal file
16
skills/skills-search/package.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "@thesethrose/skills-search",
|
||||
"version": "1.0.0",
|
||||
"description": "Search skills.sh registry from CLI",
|
||||
"main": "cli.js",
|
||||
"bin": {
|
||||
"skills-search": "./cli.js"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "node cli.js --help"
|
||||
},
|
||||
"keywords": ["skills", "skills.sh", "agent-skills", "search", "cli"],
|
||||
"author": "Seth Rose",
|
||||
"license": "MIT",
|
||||
"repository": "https://github.com/TheSethRose/skills-search"
|
||||
}
|
||||
Reference in New Issue
Block a user