Claude Desktop Skills are the 2026 packaging format for reusable capabilities across all desktop chats. Unlike Claude Code skills, desktop skills expose user-friendly slash commands in the UI. This tutorial packages Scavio as a Claude Desktop Skill for one-command cross-platform search.
Prerequisites
- Claude Desktop (latest)
- A Scavio API key
- Node.js 20+
Walkthrough
Step 1: Create the skill directory
Desktop skills live in ~/Library/Application Support/Claude/skills on macOS.
mkdir -p ~/Library/Application\ Support/Claude/skills/scavio-search
cd ~/Library/Application\ Support/Claude/skills/scavio-searchStep 2: Write the skill.json manifest
Declare the commands exposed in the UI.
{
"name": "scavio-search",
"version": "1.0.0",
"description": "Real-time search via Scavio",
"slashCommands": [
{ "name": "/search", "params": ["query"] },
{ "name": "/reddit", "params": ["query"] }
],
"entrypoint": "handler.js"
}Step 3: Write the handler
The handler routes slash commands to the Scavio API.
export async function handle({ command, params }) {
const platform = command === '/reddit' ? 'reddit' : undefined;
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ query: params.query, platform })
});
return r.json();
}Step 4: Set the API key
Add SCAVIO_API_KEY to the Claude Desktop environment.
# In Claude Desktop settings > skills > scavio-search > env
SCAVIO_API_KEY=sk_live_...Step 5: Use it in any chat
Type /search or /reddit followed by your query.
/search latest react server components news
/reddit best local llm 2026Python Example
# Desktop skills run JS, but for parity you can call Scavio in Python:
import os, requests
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
json={'query': 'claude desktop skills 2026'})
print(r.json().get('organic_results', [])[:5])JavaScript Example
export async function handle({ command, params }) {
const platform = command === '/reddit' ? 'reddit' : undefined;
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ query: params.query, platform })
});
return r.json();
}Expected Output
Slash commands /search and /reddit now work across every Claude Desktop chat. Results render inline with source citations.