Agent skill · software engineering · aradotso
openyak-desktop-agent
openyak-desktop-agent — an agent skill for coding agents.
Why this skill is useful
Adds multiple executable scripts for backend setup and integration with local models that extend the AI's capabilities.
What it needs
Requires npm, python installed locally. Requires anthropic, openai, openrouter account access. About 6k tokens when loaded. Last updated 2026-07-09. 70 stars on the source repository.
What this skill does
bash cd backend python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate pip install -r requirements.txt cp .env.example .env # then edit .env python main.py bash cd frontend npm install npm run dev # development mode with hot reload npm run build # production build npm run package # create distributable installer env Model provider — use OpenRouter or your own key OPENROUTERAPIKEY=$OPENROUTERAPIKEY Optional: direct provider keys OPENAIAPIKEY=$OPENAIAPIKEY ANTHROPICAPIKEY=$ANTHROPICAPIKEY Local model endpoint (e.g. Ollama) LOCALMODELBASEURL=http://localhost:11434/v1 App settings DATADIR=~/.openyak/data LOGLEVEL=INFO python import httpx response = httpx.post("http://localhost:8765/api/chat", json={ "mode": "analyze", "message": "Summarize trends in sales.csv", "attachments": ["/home/user/data/sales.csv"] }) print(response.json()["reply"]) python import httpx BASE = "http://localhost:8765" Ask the agent to use tools automatically resp = httpx.post(f"{BASE}/api/chat", json={ "mode": "explore", "message": "Find all Python files larger than 10KB in ~/projects and list their sizes", }) print(resp.json()) Call a tool directly resp = httpx.post(f"{BASE}/api/tools/globsearch", json={ "pattern": "/.py", "root": "/home/user/projects", "minsizekb": 10 }) for match in resp.json()["matches"]: print(match["path"], match["sizekb"]) python backend/mcpservers/myserver.py from openyak.mcp import MCPServer, tool server = MCPServer(name="my-tools") @tool(server, description="Fetch weather for a city") def getweather(city: str) -> dict: import httpx r = httpx.get(f"https://wttr.in/{city}?format=j1") return r.json() if name == "main": server.run() # starts stdio MCP transport json { "servers": [ { "name": "my-tools", "command": "python", "args": ["/path/to/backend/mcpservers/myserver.py"], "transport": "stdio" } ] } python ~/.openyak/skills/summarizeinbox.py """Skill: summarize emails from a local mbox file.""" from openyak.skills import skill, SkillContext from ma …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills aradotso/openyak-desktop-agent