Developer tools, documentation, and examples for building with Skales, the local-first AI desktop agent.
DevKit v0.5.0 · requires Skales Desktop v12.5.2 or later · verified against v12.8.4 · Node.js 18+ · MIT License
- Three broken CLI commands work.
skales cronread the wrong key and always reported no tasks;skales cron addsent the wrong field names and always answered 400;skales cron removenever fell back, because the path form answers 405 rather than 404. All three are fixed against the contract the app actually serves. - The setup guide no longer produces an unreadable config. It told you to put
tokenat the top level ofdevkit.json. The app readsapi.token, so every call answered 500. - The API reference describes the real payloads. v0.4.0 verified that every path and method existed. It did not verify what came back — and chat SSE, sessions, memory, cron,
devkit-statusanddevkit-docswere all documented in shapes the app has never sent. mcp-servers.jsonis documented correctly. It is an array underservers, not an object map undermcpServers. A file written to the old documentation loaded zero servers, silently.- New: Capabilities. Agents, autopilot, workflows, skills, Skales Local, IQ, Iris, Flow, Buddy, Skales Code, Codework, Obsidian, Teams, Swarm, A2A, WordPress — what they are, where their data lives, and where there is honestly no API to call.
- New:
DEVKIT.md. The app's Developer → Docs tab renders this file from your devkit folder. The repository never shipped one, so that tab read "not found" for everyone. - The content docs match 12.8.4. 26 providers instead of 11, 257 tools instead of "60+", Custom Skills instead of "Agent Skills", the retired GitHub integration no longer advertised, dead links removed.
skales mcp start <name>andskales mcp stop <name>. Both endpoints have existed in Desktop since v10.1.0; the CLI never called them and the API reference never listed them.- The API reference tells the truth about tokens. It used to send you to a "Settings, DevKit, Generate Token" button that does not exist. The token is a value you choose and write into
devkit.json, and the reference now says so, names both credentials/api/cli/*accepts, and explains why that route is outside the app's middleware gate. GET /api/cli/mcp/{name}is documented, including the warning that its response carries the server'senvblock.- The stale "MCP endpoints are forward-looking" note is gone. They ship since Desktop v10.1.0.
- Endpoint audit against Desktop v12.7.1. Every path in the reference exists in the app, with the methods documented. Nothing in the docs is aspirational any more.
- DevKit works on a normal installed app. The installer does not ship a
devkit/folder and its install directory is read-only, so the old "putdevkit.jsonin the installation folder" instruction never worked on a shipped app. Desktop v12.5.2 and this CLI both read it from~/.skales-data/devkit/instead. - The local API is actually authenticated. A gate on the internal
/api/cli/*route accepted any non-empty token. Desktop v12.5.2 closes it — update the app so the CLI authenticates for real. SKALES_DEVKIT_TOKENsupplies the token with no config file, for scripts and CI.SKALES_DEVKIT_CONFIGpoints at a specificdevkit.json.- A missing config prints where it looked and how to fix it, instead of a bare error.
- Scheduled-task control works.
PATCH /api/cli/cron/{id}(pause / resume) andPOST /api/cli/cron/{id}/run(fire now) have been in the API reference since v0.2.0 and answered 404 on every Desktop version, because neither had been built. They exist as of Desktop v12.5.7.
- API Reference — Full REST API for chat, tools, memory, sessions, and scheduling
- Agent Skills — Create and share SKILL.md files compatible with Claude Code, Codex, Copilot, and Cursor
- MCP Servers — Model Context Protocol setup and templates
- Provider Guides — Setup for all 26 AI providers (Ollama, LM Studio, Skales Local, OpenRouter, OpenAI, Anthropic, Google, and more)
- Integration Docs — Notion, Todoist, Spotify, Google Drive, Home Assistant, Telegram, Discord, Obsidian, WordPress, and more
- Migration Guide — Import from ChatGPT, Claude, GitHub Copilot Chat, Gemini, Cherry Studio, AionUi, Hermes, OpenClaw
- Capabilities — What Skales does beyond the DevKit surface, and how much of it is reachable from outside the app
- Example Skills — Ready-to-use SKILL.md templates
- Architecture Overview — How Skales works under the hood
- Download Skales. v12.5.2 or later is required; scheduled-task pause, resume and run-now need v12.5.7.
- Put a
devkit/devkit.jsonin your Skales data directory (see below) - Restart Skales. The Developer section appears in the sidebar.
See the Getting Started Guide for detailed setup.
Create a devkit/ folder in your Skales data directory and add a devkit.json. The data directory is writable, which the app's install folder is not, so this is the one location that works on a normal install.
| Platform | Path |
|---|---|
| macOS / Linux | ~/.skales-data/devkit/devkit.json |
| Windows | %USERPROFILE%\.skales-data\devkit\devkit.json |
{
"enabled": true,
"version": "0.5.0",
"api": {
"enabled": true,
"token": "your-secret-token"
},
"cli": {
"enabled": true
}
}Pick your own value for token and keep it private (it authenticates the CLI). The token must sit at api.token — a top-level token is not read, and every call then answers 500. Restart Skales; the Developer section appears in the sidebar.
The CLI reads the same file, so the token matches automatically. You can also pass it as SKALES_DEVKIT_TOKEN instead of a file.
Copy DEVKIT.md into the same folder to fill the app's Developer → Docs tab:
cp DEVKIT.md ~/.skales-data/devkit/The app binds the first free port between 3000 and 3009. If the CLI reaches nothing, set SKALES_URL to the port it actually took.
The DevKit includes a standalone CLI for interacting with Skales from your terminal. Requires Node.js 18+ and zero npm dependencies.
cd cli/
node skales.js chat # Interactive chat
node skales.js chat "Hello" # One-shot message
node skales.js tools # List available tools
node skales.js model # Show current model
node skales.js status # System status
node skales.js memory # Browse memories
node skales.js sessions # List chat sessions
node skales.js mcp # List configured MCP servers
node skales.js mcp test filesystem # Test an MCP server connection
node skales.js cron # List scheduled tasks
node skales.js cron add daily "0 9 * * *" "Summarize yesterday's activity"
node skales.js cron remove <id> # The id comes from 'cron' or 'cron add'skales migrate --from hermes|openclaw also exists. It is a local convenience that reads those two tools' files and writes memories and settings straight into the data directory — it is not a front end for the app's importer, and it does not carry over skills or API keys. To import a conversation history, use Settings → Advanced → Migrate in the app.
Skales supports the open SKILL.md format. Skills are portable text files that teach the AI agent how to perform specific tasks.
my-skill/
└── SKILL.md
---
name: My Custom Skill
description: What this skill does
version: 1.0.0
---
# Instructions
Your skill instructions here. The AI agent follows
these when the skill is active.Import in Skales on the Custom Skills page: a GitHub URL, a local folder, or pasted text. Only name and description are required in the frontmatter — see agent-skills.md for the fields Skales actually reads.
28 skills ship built in.
| Guide | Description |
|---|---|
| Getting Started | Enable DevKit and first steps |
| API Reference | REST API with curl examples |
| Agent Skills | Create, import, and share skills |
| MCP Servers | External tool integration |
| Providers | AI provider setup |
| Integrations | Third-party service setup |
| Migration | Import from other tools |
| Capabilities | What the DevKit does not cover, and why |
| Architecture | How Skales works internally |
MIT. See LICENSE for the full text.
Skales Desktop itself is BSL-1.1 (converts to Apache 2.0 in 2030). The DevKit is MIT so integrations, forks, and commercial work built on top have maximum freedom.
Built by Mario Simic, Vienna.