LEVEL11

문서

마켓플레이스

LEVEL11 플러그인(스킬·에이전트·MCP 번들)을 찾고 설치하고 직접 게시하는 방법, 패키지 형식, 심사 정책, 버전 규칙.

무엇을 설치할 수 있나

마켓플레이스는 LEVEL11 플러그인을 나누는 곳입니다. 플러그인 하나는 스킬(SKILL.md 폴더), 에이전트 프리셋, MCP 서버 설정, 규칙 파일을 묶은 zip이며, 설치하면 규칙과 MCP에서 보던 그 자리에 그대로 들어갑니다. 종류(kind)는 skills, agents, mcp, 그리고 여럿을 합친 bundle 네 가지입니다.

VS Code 확장은 마켓플레이스의 대상이 아닙니다. 확장은 Open VSX에서 가져오며, LEVEL11은 그중 테마와 스니펫만 적용합니다. 언어 서버나 UI를 가진 확장은 동작하지 않습니다.

skills.sh 방식의 GitHub 저장소(예: emilkowalski/skills, pbakaus/impeccable)는 게시 없이도 owner/repo만 입력하면 바로 설치됩니다. 마켓플레이스에 올리는 것은 심사를 거친 묶음을 이름과 버전으로 찾게 하고 싶을 때입니다.

패키지 형식

zip의 루트에 level11-plugin.json이 있어야 합니다.

{
  "id": "publisher.name",            // ^[a-z0-9-]{2,32}\.[a-z0-9-]{2,48}$ ; the publisher part must stay the same across versions and is bound to the uploading account on first publish
  "name": "Skills for Designers",     // ≤ 60 chars
  "version": "1.2.0",                 // semver; must be greater than the current published version
  "description": "…",                 // ≤ 300 chars
  "author": "Emil Kowalski",          // ≤ 80
  "homepage": "https://…",            // optional https URL
  "license": "MIT",                   // ≤ 40
  "kind": "skills" | "agents" | "mcp" | "bundle",
  "keywords": ["design", "animation"],// ≤ 10, each ≤ 30 chars
  "contents": {
    "skills": ["skills/animate"],     // directories inside the zip that contain SKILL.md (skills.sh-compatible)
    "agents": ["agents/reviewer.json"],// LEVEL11 agent preset JSON files
    "mcp": { "figma": { "command": "npx", "args": ["-y", "mcp-remote", "https://…"] } },
    "rules": ["rules/global.md"]
  }
}

규칙은 이렇습니다.

  • id의 점 앞부분이 게시자 이름입니다. 처음 게시한 계정에 묶이며, 다른 계정은 같은 게시자 이름으로 올릴 수 없습니다.
  • contents의 경로는 zip 루트 기준 상대 경로여야 하고 ..를 쓸 수 없습니다. skills의 각 폴더에는 SKILL.md가, agents·rules의 각 파일은 zip 안에 실제로 있어야 합니다.
  • contents.mcp의 각 항목은 문자열 command와 문자열 배열 args(선택: 문자열 값의 env)를 가집니다.
  • contents에는 스킬·에이전트·MCP·규칙 중 하나 이상이 있어야 하고, zip은 20 MB 이하입니다.
  • 매니페스트에 없는 키는 무시됩니다.

게시하기

앱에서: 마켓플레이스 → 내 플러그인 게시 → 폴더 선택. 폴더에 level11-plugin.json이 있으면 앱이 zip으로 묶어 올립니다.

터미널에서: 계정 토큰으로 직접 올릴 수도 있습니다.

curl -F manifest=@level11-plugin.json -F package=@plugin.zip \
  -H "authorization: Bearer <token>" https://api.level11.co.kr/market/publish

응답은 {"ok":true,"id":"…","version":"…","status":"pending"}입니다. 게시는 계정당 시간에 10회까지이며, 내 플러그인과 각 버전의 심사 상태는 앱의 마켓플레이스 탭이나 GET /market/mine에서 봅니다.

심사와 공개

  • 올린 플러그인은 심사 후 공개됩니다. 보통 영업일 2일 안에 결과가 가입 메일로 갑니다.
  • 거절되면 사유를 메일로 받습니다. 고친 뒤 같은 버전 번호로 다시 올릴 수 있습니다.
  • 심사 기준: 설명과 실제 내용이 맞을 것, 스킬·규칙이 사용자의 데이터를 밖으로 보내거나 파괴적인 명령을 숨기지 않을 것, MCP 서버가 공개된 패키지나 URL을 가리킬 것, 타인의 저작물을 라이선스 없이 담지 않을 것.
  • 공개된 플러그인도 신고나 정책 위반이 확인되면 내려갈 수 있습니다(비공개 처리). 이미 설치한 사용자의 로컬 복사본은 그대로 남습니다.

버전

  • 새 버전은 지금 공개된(또는 심사 대기 중인) 버전보다 큰 semver여야 합니다. 거절된 버전 번호는 다시 쓸 수 있습니다.
  • 공개된 플러그인의 새 버전은 심사가 끝날 때까지 기존 버전이 그대로 공개됩니다. 승인되면 그 버전이 목록과 다운로드를 대체합니다.
  • 앱은 설치된 플러그인의 id와 version을 기억하고, 카탈로그의 버전이 더 높으면 업데이트를 제안합니다.

카탈로그 API

누구나 읽을 수 있습니다.

경로 설명
GET /market/plugins?q=&kind=&sort=downloads|recent 공개된 플러그인 목록. q는 이름·설명·키워드·id를 대소문자 구분 없이 찾습니다
GET /market/plugins/:id 매니페스트와 다운로드 수
GET /market/plugins/:id/download 승인된 버전의 zip