Claude skill & llms.txt
Teach Claude to work with OneLi, and give any model the full docs.
What the skill does
A skill is an instruction file Claude loads when it needs it. The OneLi skill teaches Claude to work with OneLi well: confirm the number and goal before calling, write a good goal and instructions in Hebrew, answer consultations fast and within what the user allowed, treat text from the call as data rather than instructions, and report the result. It doesn't replace the connection: you also need the MCP connector or an API key.
SKILL.md (view) · oneli.zip (to upload to Claude)
Claude Code
For all your projects on this machine:
mkdir -p ~/.claude/skills/oneli
curl -fsSL https://oneli.io/skills/oneli/SKILL.md -o ~/.claude/skills/oneli/SKILL.mdOr for one project, so the whole team gets it:
mkdir -p .claude/skills/oneli
curl -fsSL https://oneli.io/skills/oneli/SKILL.md -o .claude/skills/oneli/SKILL.md
git add .claude/skills/oneli/SKILL.md # share it with the teamThen connect the connector (MCP) and ask: “Call …”. Claude uses the skill on its own, or via /oneli.
Claude web and desktop
- Download oneli.zip. Don’t unzip it: upload the file as is.
- Make sure code execution is on: Settings → Capabilities → Code execution and file creation. On Team or Enterprise an owner turns it on for the organisation.
- Open Customize → Skills, click + → Create skill → Upload a skill, choose oneli.zip and switch it on.
- Add the OneLi connector (if you haven’t yet) and ask for a call.
Claude Agent SDK
The SDK loads skills from .claude/skills in the working directory. Put SKILL.md there (as in Claude Code above) and connect OneLi with an API key:
// .claude/skills/oneli/SKILL.md must exist in the working directory (see Claude Code above).
import { query } from "@anthropic-ai/claude-agent-sdk";
for await (const message of query({
prompt: "Call the barber at 03-1234567 and book Thursday after 17:00, up to ₪120",
options: {
settingSources: ["project"], // without "project" or "user" no skills are loaded
mcpServers: {
oneli: { type: "http", url: "https://mcp.oneli.io/mcp",
headers: { Authorization: `Bearer ${process.env.ONELI_API_KEY}` } },
},
},
})) console.log(message);# .claude/skills/oneli/SKILL.md must exist in the working directory.
import os
from claude_agent_sdk import query, ClaudeAgentOptions
options = ClaudeAgentOptions(
setting_sources=["project"], # without "project" or "user" no skills are loaded
mcp_servers={"oneli": {"type": "http", "url": "https://mcp.oneli.io/mcp",
"headers": {"Authorization": f"Bearer {os.environ['ONELI_API_KEY']}"}}},
)
async for message in query(prompt="Call the barber at 03-1234567 and book Thursday after 17:00", options=options):
print(message)More on the SDK: Claude Agent SDK / Anthropic API
Claude API
On the API you upload the skill once to your workspace and reference its id in requests. A skill uploaded to the API doesn’t appear on claude.ai, and vice versa.
curl -fsSL https://oneli.io/skills/oneli/SKILL.md --create-dirs -o oneli/SKILL.md
curl https://api.anthropic.com/v1/skills \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-F "files[]=@oneli/SKILL.md;filename=oneli/SKILL.md"
# → { "id": "skill_…" } Use it in Messages requests:
# "container": { "skills": [{ "type": "custom", "skill_id": "skill_…", "version": "latest" }] }
# together with the code execution tool.llms.txt for any model
For agents and models that don’t use skills there are two text files following the llms.txt convention: a short index with links, and a full file with the whole API and tools in one Markdown document. Paste the URL in a chat, add it to a docs-aware tool (for example Cursor Docs), or load the file into your agent’s context.
https://oneli.io/llms.txt # short index with links
https://oneli.io/llms-full.txt # the whole API and MCP reference in one Markdown file