decocms/studio/decocms-studio
Claude Code and agent skill by decocms/studio
- community
Checking that the SKILL.md file is still in the repository.
Operate the user's deco Studio (decocms) organization from the terminal with their own login. Use when the user asks to read or change something in Studio, such as chats/threads, agents, the task board, connections, monitoring, or org files, or to send a message to a Studio agent.
Install
npx vskill@latest install decocms/studio/decocms-studioSKILL.md
Operate deco Studio
Every call goes through the decocms CLI, which holds the user's OAuth session and refreshes it. The CLI is the only thing that touches the token: call Studio with decocms api and decocms tools, and leave the session files in the data dir alone.
Run the CLI as decocms when it is on PATH, otherwise bunx decocms@latest. An Unknown command: tools error means a cached old version; rerun with bunx decocms@latest.
The CLI runs on Bun, also when started with npx. If bunx is not found, ask the user before installing Bun with curl -fsSL https://bun.com/install | bash (Windows: powershell -c "irm bun.com/install.ps1 | iex"), then call ~/.bun/bin/bunx until a new shell has it on PATH.
1. Session
When whoami or any call says Not logged in or Could not refresh session, give the user the decocms auth login command it prints to run in their own terminal (it opens a browser for them to approve), wait for them, then retry. The session refreshes itself, so this is normally needed once per machine. Do not work around a missing session with API keys, MCP tokens or presigned URLs. A self-hosted or local studio adds --target <url> to every command, e.g. --target http://localhost:3000.
Done when whoami prints the user the person expects. Its Target is the studio origin used in the links below.
2. Organization slug
Every org-scoped call needs the organization's slug, the first path segment of a studio URL (https://studio.decocms.com/<slug>/...). List the user's organizations and pick the one they mean; ask when several fit:
When the user names a project instead of an org, search across their orgs: decocms api "/api/_me/projects/search?q=<term>" returns each match's orgSlug.
3. Builtin tools first
Tools are the main surface: the web app calls the same ones. Each tool's input schema is the documentation, so look it up instead of guessing fields.
Org files are the exception: use the fs routes in section 4. They cover listing, moving and sharing, which no tool does.
call prints the tool's JSON result and exits non-zero on failure, with the error body still on stdout:
400 {"error":"Invalid input","issues":[...]}: fix the arguments againstdescribe.403 {"error", "code"?}: the user lacks the permission, or acodenames a
plan or budget refusal. Report it; a retry gets the same answer.
404 Unknown tool: the name is wrong; search withtools list.
Read annotations in describe before calling: destructiveHint: true (delete, remove, overwrite) needs the user's explicit go-ahead for that specific call.
4. REST routes
Some features have no tool: the org filesystem (the Library), sending a message to an agent and streaming its reply, object storage bytes, thread outputs, and the event stream. Reach them with decocms api, which works like gh api:
-d takes a literal, @file, or @-; with -d the method defaults to POST. Literals and stdin are sent as JSON and @file by its extension; -H overrides. Paths must start with / on the session's studio. Read rest.md for each route's contract before calling it.
5. Library files
A file is in the Library once GET fs/<vol>/stat returns its entry; check that before telling the user it is there. Then link it, with <target> from whoami and the query values URL-encoded:
- In Studio:
<target>/<slug>/library?path=<vol>/<folder>&preview=<vol>/<path> - Direct link:
<target>/api/<slug>/fs/<vol>/read?path=<path>. It opens only
for org members until the file is shared.
Share a file only when the user asks, and confirm the mode first: public lets anyone with the link read it, password asks for a password you set and hand back to the user. See POST fs/<vol>/public in rest.md.
Vocabulary
- thread: what the UI calls a chat. Tools and routes use
thread. - agent: a virtual MCP (
COLLECTION_VIRTUAL_MCP_*, ids likevir_...).
The org's default agent is Decopilot, id decopilot_<orgId>.
- connection: an MCP server registered in the org (
COLLECTION_CONNECTIONS_*). - volume: a top-level folder of the org filesystem (
home,outputs,uploads).
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingapps/api/plugin/skills/decocms-studio/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/decocms/studio/decocms-studio)