Documentation

Skills API

MethodPathDescription
GET/api/skillsList skills (is_active / library_folder_id / pagination)
POST/api/skillsCreate a skill (optional package_* / source_*)
GET/api/skills/:idSkill detail
PATCH/api/skills/:idUpdate skill
DELETE/api/skills/:idDelete skill
GET/api/skills/searchSearch skills
GET/POST/api/skills/syncIncremental pull / batch push
POST/api/skills/upload-zipMultipart ZIP → OSS; returns package metadata
POST/api/skills/remote/previewPreview skills in a remote repo
POST/api/skills/remote/installInstall from a remote repo into your library
GET/api/skills/:id/installStable Install URL (zip|md, for CLI / Agents)
POST/api/skills/:id/install-tokenMint a private install link
GET/api/gallery/items/:id/installDiscover public skill install (zip|md)
GET/api/doubao-skillPromptMan manager package for Doubao Desktop

Create skill (POST /api/skills)

FieldRequiredDescription
nameSkill name
description / version / accent / skill_mdMeta, color, SKILL.md body
is_public / is_active / platforms / tagsVisibility and tags
packageUrl / packageKey / fileTree / fileContentsFields returned from ZIP upload
source_type / source_ref / source_skill / source_commitRemote-install provenance

ZIP upload

bash
curl -X POST https://prompt.solokit.run/api/skills/upload-zip \
  -H "Authorization: Bearer ph_your_token" \
  -F "file=@./my-skill.zip" \
  -F "skillId=sk_optional_id"

Remote install

bash
curl -X POST https://prompt.solokit.run/api/skills/remote/preview \
  -H "Authorization: Bearer ph_your_token" \
  -H "Content-Type: application/json" \
  -d '{"source":"owner/repo"}'

curl -X POST https://prompt.solokit.run/api/skills/remote/install \
  -H "Authorization: Bearer ph_your_token" \
  -H "Content-Type: application/json" \
  -d '{"source":"owner/repo","duplicateStrategy":"skip"}'

Install URL

bash
npx skills add https://prompt.solokit.run/api/skills/sk_xxx/install
npx skills add https://prompt.solokit.run/api/gallery/items/<id>/install

CAUTION

Private Install URLs need a signed ?t= or owner Bearer. Never pass Dashboard page URLs to the CLI.

Continue Reading