From evvl
Compare AI models side-by-side and get a shareable Evvl URL. Use when the user wants to compare model outputs or test a prompt across multiple LLMs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/evvl:evvlThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Compare AI model outputs and get a shareable URL with results.
Compare AI model outputs and get a shareable URL with results.
API URL: https://app.evvl.ai
Before anything else, find the Evvl token:
.evvl/config in the current project directory~/.evvl/config in the user's home directoryEVVL_TOKEN environment variableThe config file is JSON: { "token": "..." }
If a token is found, skip to Workflow below.
If no token is found, run the Device Code Auth flow.
open "https://app.evvl.ai/auth" 2>/dev/null || xdg-open "https://app.evvl.ai/auth" 2>/dev/null
If that fails, tell them: "Open this URL in your browser: https://app.evvl.ai/auth"EVVL-XXXXXX).curl -s -X POST "https://app.evvl.ai/api/auth/device/exchange" \
-H "Content-Type: application/json" \
-d '{"code": "<THE_CODE>"}'
Response: { "token": "...", "userId": "..." }~/.evvl/config:
{ "token": "<token>" }
Create the ~/.evvl/ directory if it doesn't exist.Then continue to Workflow.
Extract from the user's message:
If the message is ambiguous, ask for clarification before proceeding.
Fetch the full model list from GET https://app.evvl.ai/api/models. Use your own intelligence to match the user's request to model IDs (e.g., "latest ChatGPT" → openai/gpt-4o).
Confirm your picks with the user — wrong model = wasted money:
Models I'll compare:
- openai/gpt-4o (GPT-4o)
- anthropic/claude-sonnet-4 (Claude Sonnet 4)
Ok to proceed?
Read the token from the config file found in the Auth Check step. Auto-generate a title from the context — no need to ask the user.
curl -s -X POST "https://app.evvl.ai/api/compare" \
-H "Authorization: Bearer <TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"prompt": { "name": "<auto-generated title>", "content": "<the prompt>" },
"models": [
{ "provider": "openrouter", "model": "<model-id>", "displayName": "<name>" }
],
"baseline": "none",
"title": "<auto-generated title>"
}'
Show:
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub expeditedprojects/evvl-plugin --plugin evvl