{"components":{"schemas":{"Problem":{"additionalProperties":false,"properties":{"code":{"enum":["INVALID_REQUEST","AUTH_REQUIRED","FORBIDDEN","NOT_FOUND","CONFLICT","RATE_LIMITED","INTERNAL_ERROR","SERVICE_UNAVAILABLE"],"type":"string"},"detail":{"maxLength":1000,"type":"string"},"instance":{"type":"string"},"status":{"maximum":599,"minimum":400,"type":"integer"},"title":{"minLength":1,"type":"string"},"type":{"minLength":1,"type":"string"}},"required":["type","title","status","code"],"type":"object"},"account.get.response":{"additionalProperties":false,"properties":{"avatarUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"digest":{"type":"boolean"},"email":{"type":["string","null"]},"likesPublic":{"type":"boolean"},"login":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"name":{"type":["string","null"]},"pageUrl":{"format":"uri","type":"string"},"repositoryIndexing":{"type":"boolean"},"starsImportedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"weekly":{"type":"boolean"}},"required":["login","name","avatarUrl","pageUrl","email","digest","weekly","likesPublic","repositoryIndexing","starsImportedAt"],"type":"object"},"account.repositories.scan.response":{"additionalProperties":false,"properties":{"outcome":{"enum":["complete","partial","github-auth-failure","github-rate-limited","github-failure"],"type":"string"},"repositoriesFailed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"repositoriesFound":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"repositoriesIndexed":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["outcome","repositoriesFound","repositoriesIndexed","repositoriesFailed"],"type":"object"},"account.update.request":{"additionalProperties":false,"properties":{"digest":{"type":"boolean"},"email":{"format":"email","maxLength":254,"pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string"},"likesPublic":{"type":"boolean"},"repositoryIndexing":{"type":"boolean"},"weekly":{"type":"boolean"}},"type":"object"},"account.update.response":{"additionalProperties":false,"properties":{"avatarUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"digest":{"type":"boolean"},"email":{"type":["string","null"]},"likesPublic":{"type":"boolean"},"login":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"name":{"type":["string","null"]},"pageUrl":{"format":"uri","type":"string"},"repositoryIndexing":{"type":"boolean"},"starsImportedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"weekly":{"type":"boolean"}},"required":["login","name","avatarUrl","pageUrl","email","digest","weekly","likesPublic","repositoryIndexing","starsImportedAt"],"type":"object"},"changes.list.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"changeCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"changeUrl":{"format":"uri","type":"string"},"changedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"commitMessages":{"items":{"type":"string"},"type":"array"},"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand","changedAt","changeCount","commitMessages","changeUrl"],"type":"object"},"type":"array"},"since":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"until":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["since","until","items"],"type":"object"},"collections.create.request":{"additionalProperties":false,"properties":{"description":{"anyOf":[{"maxLength":4000,"minLength":1,"type":"string"},{"type":"null"}]},"skills":{"default":[],"items":{"additionalProperties":false,"properties":{"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"reason":{"anyOf":[{"maxLength":2000,"minLength":1,"type":"string"},{"type":"null"}]},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}},"required":["owner","repository","name"],"type":"object"},"maxItems":100,"type":"array"},"slug":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"},"title":{"maxLength":120,"minLength":1,"type":"string"}},"required":["slug","title"],"type":"object"},"collections.create.response":{"additionalProperties":false,"properties":{"curator":{"additionalProperties":false,"properties":{"avatarUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"login":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"name":{"type":["string","null"]}},"required":["login","name","avatarUrl"],"type":"object"},"description":{"type":["string","null"]},"installCommand":{"type":"string"},"pageUrl":{"format":"uri","type":"string"},"skills":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"reason":{"type":["string","null"]},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand","reason"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"},"slug":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"},"title":{"type":"string"}},"required":["slug","title","description","pageUrl","installCommand","curator","skills"],"type":"object"},"collections.get.response":{"additionalProperties":false,"properties":{"curator":{"additionalProperties":false,"properties":{"avatarUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"login":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"name":{"type":["string","null"]}},"required":["login","name","avatarUrl"],"type":"object"},"description":{"type":["string","null"]},"installCommand":{"type":"string"},"pageUrl":{"format":"uri","type":"string"},"skills":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"reason":{"type":["string","null"]},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand","reason"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"},"slug":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"},"title":{"type":"string"}},"required":["slug","title","description","pageUrl","installCommand","curator","skills"],"type":"object"},"collections.skills.add.request":{"additionalProperties":false,"default":{},"properties":{"reason":{"anyOf":[{"maxLength":2000,"minLength":1,"type":"string"},{"type":"null"}]}},"type":"object"},"collections.skills.add.response":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"reason":{"type":["string","null"]},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand","reason"],"type":"object"},"collections.watch.response":{"additionalProperties":false,"properties":{"watched":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["watched"],"type":"object"},"curators.get.response":{"additionalProperties":false,"properties":{"avatarUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"collections":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"installCommand":{"type":"string"},"pageUrl":{"format":"uri","type":"string"},"skillCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"slug":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"},"title":{"type":"string"}},"required":["slug","title","description","pageUrl","installCommand","skillCount"],"type":"object"},"type":"array"},"installCommand":{"type":"string"},"login":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"name":{"type":["string","null"]},"pageUrl":{"format":"uri","type":"string"}},"required":["login","name","avatarUrl","pageUrl","installCommand","collections"],"type":"object"},"curators.likes.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"},"curators.list.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"avatarUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"collectionCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"login":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"name":{"type":["string","null"]},"pageUrl":{"format":"uri","type":"string"}},"required":["login","name","avatarUrl","pageUrl","collectionCount"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"},"index_requests.create.request":{"additionalProperties":false,"properties":{"repository":{"maxLength":2048,"minLength":3,"pattern":"^(?:[\\w.-]+\\/[\\w.-]+|https?:\\/\\/\\S+)$","type":"string"}},"required":["repository"],"type":"object"},"index_requests.create.response":{"oneOf":[{"additionalProperties":false,"properties":{"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"skills":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand"],"type":"object"},"type":"array"},"status":{"const":"indexed","type":"string"}},"required":["status","owner","repository","skills"],"type":"object"},{"additionalProperties":false,"properties":{"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"progress":{"oneOf":[{"additionalProperties":false,"properties":{"stage":{"const":"queued","type":"string"}},"required":["stage"],"type":"object"},{"additionalProperties":false,"properties":{"stage":{"const":"checking","type":"string"}},"required":["stage"],"type":"object"},{"additionalProperties":false,"properties":{"indexed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stage":{"const":"indexing","type":"string"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["stage","indexed","total"],"type":"object"}]},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"status":{"const":"queued","type":"string"}},"required":["status","id","owner","repository","progress"],"type":"object"}]},"index_requests.get.response":{"oneOf":[{"additionalProperties":false,"properties":{"id":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"progress":{"oneOf":[{"additionalProperties":false,"properties":{"stage":{"const":"queued","type":"string"}},"required":["stage"],"type":"object"},{"additionalProperties":false,"properties":{"stage":{"const":"checking","type":"string"}},"required":["stage"],"type":"object"},{"additionalProperties":false,"properties":{"indexed":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stage":{"const":"indexing","type":"string"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["stage","indexed","total"],"type":"object"}]},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"status":{"const":"queued","type":"string"}},"required":["status","id","owner","repository","progress"],"type":"object"},{"additionalProperties":false,"properties":{"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"skills":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand"],"type":"object"},"type":"array"},"status":{"const":"indexed","type":"string"}},"required":["status","owner","repository","skills"],"type":"object"},{"additionalProperties":false,"properties":{"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"reason":{"type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"status":{"const":"failed","type":"string"}},"required":["status","owner","repository","reason"],"type":"object"}]},"likes.list.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand","likedAt"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"},"owners.get.response":{"additionalProperties":false,"properties":{"avatarUrl":{"format":"uri","type":"string"},"kind":{"enum":["user","organization"],"type":"string"},"login":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"name":{"type":["string","null"]},"pageUrl":{"format":"uri","type":"string"},"repositories":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"pageUrl":{"format":"uri","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"skillCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["repository","description","stars","skillCount","pageUrl"],"type":"object"},"type":"array"}},"required":["login","name","avatarUrl","kind","pageUrl","repositories"],"type":"object"},"repositories.get.response":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"installCommand":{"type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"pushedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"repositoryUrl":{"format":"uri","type":"string"},"skills":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand"],"type":"object"},"type":"array"},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["owner","repository","description","stars","pushedAt","repositoryUrl","pageUrl","installCommand","skills"],"type":"object"},"skills.browse.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"},"skills.get.response":{"additionalProperties":false,"properties":{"allowedTools":{"items":{"type":"string"},"type":"array"},"authorName":{"type":["string","null"]},"behaviors":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"label":{"type":"string"},"locations":{"items":{"additionalProperties":false,"properties":{"line":{"anyOf":[{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},{"type":"null"}]},"path":{"type":"string"}},"required":["path","line"],"type":"object"},"maxItems":5,"type":"array"},"tier":{"enum":["ask","show"],"type":"string"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["id","tier","label","locations","total"],"type":"object"},"type":"array"},"description":{"type":["string","null"]},"displayName":{"type":"string"},"files":{"items":{"additionalProperties":false,"properties":{"path":{"type":"string"},"size":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["path","size"],"type":"object"},"type":"array"},"generatedSummary":{"type":["string","null"]},"installCommand":{"type":"string"},"license":{"type":["string","null"]},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"markdown":{"type":["string","null"]},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"pushedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"repositoryUrl":{"format":"uri","type":"string"},"runCommand":{"type":"string"},"skillPath":{"type":["string","null"]},"sourceCommit":{"type":["string","null"]},"sourceGone":{"type":"boolean"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"tags":{"items":{"type":"string"},"type":"array"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand","authorName","license","repositoryUrl","skillPath","sourceCommit","sourceGone","pushedAt","tags","allowedTools","files","generatedSummary","markdown","behaviors"],"type":"object"},"skills.search.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"description":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}]},"name":{"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9]|-(?!-)){0,62}[a-z0-9]$|^[a-z0-9]$","type":"string"},"source":{"additionalProperties":false,"properties":{"owner":{"maxLength":39,"minLength":1,"type":"string"},"provider":{"const":"github","type":"string"},"repository":{"maxLength":100,"minLength":1,"type":"string"},"selector":{"additionalProperties":false,"properties":{"name":{"maxLength":64,"pattern":"^[a-z0-9](?:[a-z0-9]|-(?!-)){0,62}[a-z0-9]$|^[a-z0-9]$","type":"string"},"type":{"const":"named-skill","type":"string"}},"required":["type","name"],"type":"object"}},"required":["provider","owner","repository","selector"],"type":"object"},"stargazerCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["name","description","source","stargazerCount"],"type":"object"},"maxItems":50,"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"},"stars.import.request":{"additionalProperties":false,"properties":{"page":{"default":1,"maximum":10,"minimum":1,"type":"integer"}},"type":"object"},"stars.import.response":{"additionalProperties":false,"properties":{"imported":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"importedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"nextPage":{"anyOf":[{"maximum":10,"minimum":2,"type":"integer"},{"type":"null"}]},"page":{"maximum":10,"minimum":1,"type":"integer"},"withSkills":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["page","nextPage","imported","withSkills","importedAt"],"type":"object"},"stars.list.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"skillCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"starredAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"watching":{"type":"boolean"}},"required":["owner","repository","pageUrl","starredAt","watching","skillCount"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"},"tokens.create.request":{"additionalProperties":false,"properties":{"label":{"maxLength":80,"minLength":1,"type":"string"},"ttlDays":{"maximum":3650,"minimum":1,"type":"integer"}},"required":["label"],"type":"object"},"tokens.create.response":{"additionalProperties":false,"properties":{"expiresAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"id":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"label":{"type":"string"},"token":{"minLength":1,"type":"string"}},"required":["id","label","expiresAt","token"],"type":"object"},"tokens.list.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"createdAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"current":{"type":"boolean"},"expiresAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]},"id":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"},"kind":{"enum":["oauth","pat","oidc"],"type":"string"},"label":{"type":["string","null"]},"lastUsedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["id","label","kind","createdAt","lastUsedAt","expiresAt","current"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"},"tracks.get.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand"],"type":"object"},"type":"array"},"label":{"type":"string"},"line":{"type":"string"},"pageUrl":{"format":"uri","type":"string"},"slug":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["slug","label","line","pageUrl","items","total"],"type":"object"},"tracks.list.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"label":{"type":"string"},"line":{"type":"string"},"pageUrl":{"format":"uri","type":"string"},"skillCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"slug":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"}},"required":["slug","label","line","pageUrl","skillCount"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"},"trending.list.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"description":{"type":["string","null"]},"displayName":{"type":"string"},"installCommand":{"type":"string"},"likes":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"name":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"runCommand":{"type":"string"},"signal":{"oneOf":[{"additionalProperties":false,"properties":{"authorCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"social","type":"string"},"mentionCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"post":{"additionalProperties":false,"properties":{"authorHandle":{"type":"string"},"authorName":{"type":["string","null"]},"platform":{"enum":["x","bsky"],"type":"string"},"postedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"text":{"type":"string"},"url":{"format":"uri","type":"string"}},"required":["url","platform","authorHandle","authorName","text","postedAt"],"type":"object"}},"required":["kind","authorCount","mentionCount","post"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"star-surge","type":"string"},"starGain":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"surgedOn":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["kind","starGain","surgedOn"],"type":"object"},{"additionalProperties":false,"properties":{"authorCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"kind":{"const":"social-and-star-surge","type":"string"},"mentionCount":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"post":{"additionalProperties":false,"properties":{"authorHandle":{"type":"string"},"authorName":{"type":["string","null"]},"platform":{"enum":["x","bsky"],"type":"string"},"postedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},"text":{"type":"string"},"url":{"format":"uri","type":"string"}},"required":["url","platform","authorHandle","authorName","text","postedAt"],"type":"object"},"starGain":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"surgedOn":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["kind","authorCount","mentionCount","post","starGain","surgedOn"],"type":"object"},{"additionalProperties":false,"properties":{"kind":{"const":"star-count","type":"string"}},"required":["kind"],"type":"object"}]},"sourceUrl":{"anyOf":[{"format":"uri","type":"string"},{"type":"null"}]},"stars":{"maximum":9007199254740991,"minimum":0,"type":"integer"},"updatedAt":{"anyOf":[{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"},{"type":"null"}]}},"required":["owner","repository","name","displayName","description","stars","likes","updatedAt","pageUrl","sourceUrl","runCommand","installCommand","signal"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"},"watches.list.response":{"additionalProperties":false,"properties":{"items":{"items":{"additionalProperties":false,"properties":{"owner":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"},"pageUrl":{"format":"uri","type":"string"},"reason":{"enum":["direct","like","star-import","collection"],"type":"string"},"repository":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"},"watchedAt":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}},"required":["owner","repository","pageUrl","reason","watchedAt"],"type":"object"},"type":"array"},"total":{"maximum":9007199254740991,"minimum":0,"type":"integer"}},"required":["items","total"],"type":"object"}},"securitySchemes":{"bearerAuth":{"description":"A skilld token. `skilld auth login` stores one, and skilld.dev/me/cli-tokens/new creates one.","scheme":"bearer","type":"http"},"sessionAuth":{"in":"cookie","name":"nuxt-session","type":"apiKey"}}},"info":{"description":"Read the skilld registry, and manage your account: likes, watches, collections, and the digest. Every answer is plain JSON. Every failure is application/problem+json.","license":{"identifier":"MIT","name":"MIT"},"title":"skilld API","version":"1"},"jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","openapi":"3.1.0","paths":{"/api/v1/account":{"get":{"description":"Your login, your Author page, the address skilld emails, and your email and privacy settings.","operationId":"account.get","responses":{"200":{"content":{"application/json":{"example":{"avatarUrl":"https://avatars.githubusercontent.com/u/5326365?v=4","digest":true,"email":"harlan@example.com","likesPublic":true,"login":"harlan-zw","name":"Harlan Wilton","pageUrl":"https://skilld.dev/@harlan-zw","repositoryIndexing":true,"starsImportedAt":"2026-09-21T08:14:02.000Z","weekly":true},"schema":{"$ref":"#/components/schemas/account.get.response"}}},"description":"Get your account","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"account.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"account.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"account.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"account.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"account.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Get your account","tags":["Account"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}},"patch":{"description":"Send only the settings to change. A setting you leave out keeps its value. The new address takes effect at once, without a confirmation email. To turn on `digest` or `weekly`, the account needs an address: send `email`, or keep the saved address or your GitHub address. You cannot remove an address; turn both emails off instead. The answer is the account after the change.","operationId":"account.update","requestBody":{"content":{"application/json":{"example":{"digest":true,"email":"harlan@example.com"},"schema":{"$ref":"#/components/schemas/account.update.request"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"avatarUrl":"https://avatars.githubusercontent.com/u/5326365?v=4","digest":true,"email":"harlan@example.com","likesPublic":true,"login":"harlan-zw","name":"Harlan Wilton","pageUrl":"https://skilld.dev/@harlan-zw","repositoryIndexing":true,"starsImportedAt":"2026-09-21T08:14:02.000Z","weekly":true},"schema":{"$ref":"#/components/schemas/account.update.response"}}},"description":"Change your settings","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"account.update","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"account.update","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"account.update","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"account.update","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"account.update","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"account.update","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Change your settings","tags":["Account"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"never"}}},"/api/v1/account/changes":{"get":{"description":"The Skills that changed in your watched Repositories between `since` and now, the same selection as your digest. A watch that a like added reports only the Skills you liked. Without `since`, the window is the last 30 days. The answer covers at most the 30 Repositories with the most changes.","operationId":"changes.list","parameters":[{"example":"2026-09-01T00:00:00.000Z","in":"query","name":"since","required":false,"schema":{"format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"items":[{"changeCount":2,"changeUrl":"https://github.com/vercel-labs/agent-skills/commit/4f1c2a9e0b7d3c5a8e6f1b2d4c7a9e0f3b5d8c1a","changedAt":"2026-09-28T14:02:11.000Z","commitMessages":["docs: add focus ring rules","docs: clarify form labels"],"description":"Review UI code for compliance with web interface guidelines.","displayName":"Web Design Guidelines","installCommand":"npx skilld install vercel-labs/agent-skills/web-design-guidelines","likes":41,"name":"web-design-guidelines","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills/web-design-guidelines","repository":"agent-skills","runCommand":"npx skilld run vercel-labs/agent-skills/web-design-guidelines","sourceUrl":"https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md","stars":18204,"updatedAt":"2026-09-28T14:02:11.000Z"}],"since":"2026-09-01T00:00:00.000Z","until":"2026-10-01T09:00:00.000Z"},"schema":{"$ref":"#/components/schemas/changes.list.response"}}},"description":"List changes to your watched Skills","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"changes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"changes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"changes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"changes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"changes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"changes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List changes to your watched Skills","tags":["Changes"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/account/likes":{"get":{"description":"Your liked Skills, newest like first.","operationId":"likes.list","parameters":[{"example":1,"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":50,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"maximum":10000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"items":[{"description":"Review UI code for compliance with web interface guidelines.","displayName":"Web Design Guidelines","installCommand":"npx skilld install vercel-labs/agent-skills/web-design-guidelines","likedAt":"2026-09-12T10:31:44.000Z","likes":41,"name":"web-design-guidelines","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills/web-design-guidelines","repository":"agent-skills","runCommand":"npx skilld run vercel-labs/agent-skills/web-design-guidelines","sourceUrl":"https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md","stars":18204,"updatedAt":"2026-09-28T14:02:11.000Z"}],"total":14},"schema":{"$ref":"#/components/schemas/likes.list.response"}}},"description":"List your liked Skills","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"likes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"likes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"likes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"likes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"likes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"likes.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List your liked Skills","tags":["Likes"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/account/likes/{owner}/{repository}/{name}":{"delete":{"description":"Removes your like. If it was your last like in the Repository, the watch that a like added goes too. A watch you added another way stays.","operationId":"likes.delete","parameters":[{"example":"vercel-labs","in":"path","name":"owner","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"agent-skills","in":"path","name":"repository","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}},{"example":"web-design-guidelines","in":"path","name":"name","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}}],"responses":{"204":{"description":"Done. No content.","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"likes.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"likes.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"likes.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"likes.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"likes.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"likes.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Remove a like","tags":["Likes"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"idempotent"}},"put":{"description":"Likes the Skill and watches its Repository, so the digest reports changes to the Skill. If you already watch the Repository, that watch stays as it is. An account can add 200 likes a day.","operationId":"likes.create","parameters":[{"example":"vercel-labs","in":"path","name":"owner","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"agent-skills","in":"path","name":"repository","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}},{"example":"web-design-guidelines","in":"path","name":"name","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}}],"responses":{"204":{"description":"Done. No content.","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"likes.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"likes.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"likes.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"likes.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"likes.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"likes.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"likes.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Like a Skill","tags":["Likes"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"idempotent"}}},"/api/v1/account/repositories/scan":{"post":{"description":"Searches the public Repositories of your GitHub account and its organizations for Skills, and indexes them. Sign-in runs the same scan. If `repositoryIndexing` is off, the answer is FORBIDDEN. If skilld holds no GitHub access for the account, the answer is AUTH_REQUIRED: sign in on skilld.dev again.","operationId":"account.repositories.scan","responses":{"200":{"content":{"application/json":{"example":{"outcome":"complete","repositoriesFailed":0,"repositoriesFound":3,"repositoriesIndexed":2},"schema":{"$ref":"#/components/schemas/account.repositories.scan.response"}}},"description":"Scan your Repositories for Skills","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"account.repositories.scan","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"account.repositories.scan","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: FORBIDDEN.","headers":{"Skilld-Operation":{"schema":{"const":"account.repositories.scan","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["FORBIDDEN"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"account.repositories.scan","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"account.repositories.scan","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"account.repositories.scan","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Scan your Repositories for Skills","tags":["Account"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"never"}}},"/api/v1/account/repositories/{owner}/{repository}":{"delete":{"description":"Removes every Skill of the Repository from the registry. The Owner must be your own login; any other Owner is FORBIDDEN.","operationId":"account.repositories.unpublish","parameters":[{"example":"harlan-zw","in":"path","name":"owner","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"skills","in":"path","name":"repository","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}}],"responses":{"204":{"description":"Done. No content.","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"account.repositories.unpublish","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"account.repositories.unpublish","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"account.repositories.unpublish","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: FORBIDDEN.","headers":{"Skilld-Operation":{"schema":{"const":"account.repositories.unpublish","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["FORBIDDEN"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"account.repositories.unpublish","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"account.repositories.unpublish","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"account.repositories.unpublish","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Unpublish one of your Repositories","tags":["Account"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"idempotent"}}},"/api/v1/account/stars":{"get":{"description":"Reads your last import, newest star first. Run `stars.import` to read GitHub again.","operationId":"stars.list","parameters":[{"example":1,"in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"maximum":10000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"items":[{"owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills","repository":"agent-skills","skillCount":6,"starredAt":"2026-08-30T21:05:10.000Z","watching":false}],"total":3},"schema":{"$ref":"#/components/schemas/stars.list.response"}}},"description":"List your starred Repositories that hold Skills","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"stars.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"stars.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"stars.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"stars.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"stars.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"stars.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List your starred Repositories that hold Skills","tags":["Stars"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/account/stars/import":{"post":{"description":"Imports one page of 100 GitHub stars and keeps the Repositories whose name mentions a Skill. Page 1 replaces the last import. Send each `nextPage` until it is `null`; the import stops after page 10. If skilld holds no GitHub access for the account, the answer is AUTH_REQUIRED: sign in on skilld.dev again.","operationId":"stars.import","requestBody":{"content":{"application/json":{"example":{},"schema":{"$ref":"#/components/schemas/stars.import.request"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"imported":4,"importedAt":null,"nextPage":2,"page":1,"withSkills":2},"schema":{"$ref":"#/components/schemas/stars.import.response"}}},"description":"Import your GitHub stars","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"stars.import","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"stars.import","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"stars.import","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"stars.import","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"stars.import","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"stars.import","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Import your GitHub stars","tags":["Stars"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"never"}}},"/api/v1/account/tokens":{"get":{"description":"Your tokens that still work, most recently used first. A revoked or expired token is not listed. The answer never holds a secret.","operationId":"tokens.list","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"maximum":10000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"items":[{"createdAt":"2026-09-02T11:20:00.000Z","current":true,"expiresAt":"2026-12-01T11:20:00.000Z","id":412,"kind":"pat","label":"CI deploy","lastUsedAt":"2026-10-01T06:58:31.000Z"}],"total":1},"schema":{"$ref":"#/components/schemas/tokens.list.response"}}},"description":"List your tokens","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"tokens.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List your tokens","tags":["Tokens"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}},"post":{"description":"Creates a skilld token that acts for your account. Send it as a Bearer credential. Store `token` now: no later answer shows it. A one-hour GitHub Actions token cannot create a token, so that request is FORBIDDEN.","operationId":"tokens.create","requestBody":{"content":{"application/json":{"example":{"label":"CI deploy","ttlDays":90},"schema":{"$ref":"#/components/schemas/tokens.create.request"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"expiresAt":"2026-12-31T09:00:00.000Z","id":412,"label":"CI deploy","token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsInRpZCI6NDEyfQ.c2lnbmF0dXJl"},"schema":{"$ref":"#/components/schemas/tokens.create.response"}}},"description":"Create a token","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"tokens.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: FORBIDDEN.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["FORBIDDEN"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create a token","tags":["Tokens"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"never"}}},"/api/v1/account/tokens/{id}":{"delete":{"description":"Revokes one of your tokens. It stops working at once, even if it sent this request. A token of another account is NOT_FOUND.","operationId":"tokens.revoke","parameters":[{"example":412,"in":"path","name":"id","required":true,"schema":{"exclusiveMinimum":0,"maximum":9007199254740991,"type":"integer"}}],"responses":{"204":{"description":"Done. No content.","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"tokens.revoke","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.revoke","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.revoke","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.revoke","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.revoke","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.revoke","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"tokens.revoke","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Revoke a token","tags":["Tokens"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"idempotent"}}},"/api/v1/account/watches":{"get":{"description":"The Repositories your digest reports on, newest watch first, with the reason each watch exists.","operationId":"watches.list","parameters":[{"example":1,"in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"maximum":10000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"items":[{"owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills","reason":"like","repository":"agent-skills","watchedAt":"2026-09-12T10:31:44.000Z"}],"total":6},"schema":{"$ref":"#/components/schemas/watches.list.response"}}},"description":"List your watched Repositories","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"watches.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"watches.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"watches.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"watches.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"watches.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"watches.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"List your watched Repositories","tags":["Watches"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/account/watches/{owner}/{repository}":{"delete":{"description":"Removes the watch, whatever its reason. Your likes stay.","operationId":"watches.delete","parameters":[{"example":"vercel-labs","in":"path","name":"owner","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"agent-skills","in":"path","name":"repository","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}}],"responses":{"204":{"description":"Done. No content.","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"watches.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"watches.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"watches.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"watches.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"watches.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"watches.delete","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Stop watching a Repository","tags":["Watches"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"idempotent"}},"put":{"description":"Watches a Repository the registry holds. A watch that a like added becomes a `direct` watch, so removing the like no longer removes it.","operationId":"watches.create","parameters":[{"example":"vercel-labs","in":"path","name":"owner","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"agent-skills","in":"path","name":"repository","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}}],"responses":{"204":{"description":"Done. No content.","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"watches.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"watches.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"watches.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"watches.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"watches.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"watches.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"watches.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Watch a Repository","tags":["Watches"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"idempotent"}}},"/api/v1/browse":{"get":{"description":"The listing behind skilld.dev/skills, filtered by `owner` and `tag`. `sort` orders it by stars, likes, or the last SKILL.md change. With `q`, Skills rank by relevance to the query and `sort` does not apply. Use `tracks.get` for the Skills of one track.","operationId":"skills.browse","parameters":[{"in":"query","name":"q","required":false,"schema":{"maxLength":200,"minLength":1,"type":"string"}},{"example":"vercel-labs","in":"query","name":"owner","required":false,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"in":"query","name":"tag","required":false,"schema":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"}},{"example":"stars","in":"query","name":"sort","required":false,"schema":{"default":"stars","enum":["stars","likes","updated"],"type":"string"}},{"example":1,"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"maximum":10000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"items":[{"description":"Review UI code for compliance with web interface guidelines.","displayName":"Web Design Guidelines","installCommand":"npx skilld install vercel-labs/agent-skills/web-design-guidelines","likes":41,"name":"web-design-guidelines","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills/web-design-guidelines","repository":"agent-skills","runCommand":"npx skilld run vercel-labs/agent-skills/web-design-guidelines","sourceUrl":"https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md","stars":18204,"updatedAt":"2026-09-28T14:02:11.000Z"}],"total":6},"schema":{"$ref":"#/components/schemas/skills.browse.response"}}},"description":"Browse Skills","headers":{"Cache-Control":{"schema":{"const":"public, max-age=60, stale-while-revalidate=300","type":"string"}},"Skilld-Operation":{"schema":{"const":"skills.browse","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"skills.browse","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"skills.browse","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"skills.browse","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"skills.browse","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"Browse Skills","tags":["Skills"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/collections":{"post":{"description":"Creates a collection at skilld.dev/@your-login/slug, with up to 100 Skills in the order you send them. Every Skill must be in the registry, or the answer is INVALID_REQUEST. If you already have a collection with the slug, the answer is CONFLICT.","operationId":"collections.create","requestBody":{"content":{"application/json":{"example":{"description":"The Skills I give an agent before it touches interface code.","skills":[{"name":"web-design-guidelines","owner":"vercel-labs","reason":"Checks interface code against a published list of rules before review.","repository":"agent-skills"}],"slug":"design-engineering-essentials","title":"Design Engineering Essentials"},"schema":{"$ref":"#/components/schemas/collections.create.request"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"curator":{"avatarUrl":"https://avatars.githubusercontent.com/u/5326365?v=4","login":"harlan-zw","name":"Harlan Wilton"},"description":"The Skills I give an agent before it touches interface code.","installCommand":"npx skilld add @harlan-zw/design-engineering-essentials","pageUrl":"https://skilld.dev/@harlan-zw/design-engineering-essentials","skills":{"items":[{"description":"Review UI code for compliance with web interface guidelines.","displayName":"Web Design Guidelines","installCommand":"npx skilld install vercel-labs/agent-skills/web-design-guidelines","likes":41,"name":"web-design-guidelines","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills/web-design-guidelines","reason":"Checks interface code against a published list of rules before review.","repository":"agent-skills","runCommand":"npx skilld run vercel-labs/agent-skills/web-design-guidelines","sourceUrl":"https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md","stars":18204,"updatedAt":"2026-09-28T14:02:11.000Z"}],"total":1},"slug":"design-engineering-essentials","title":"Design Engineering Essentials"},"schema":{"$ref":"#/components/schemas/collections.create.response"}}},"description":"Create a collection","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"collections.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"collections.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"collections.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"409":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: CONFLICT.","headers":{"Skilld-Operation":{"schema":{"const":"collections.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["CONFLICT"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"collections.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"collections.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"collections.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Create a collection","tags":["Collections"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"never"}}},"/api/v1/collections/{login}/{slug}":{"get":{"description":"One collection at skilld.dev/@login/slug, with its Skills in the curator's order and the reason for each. A collection can name a whole Repository: that entry shows the Repository's most recently changed Skill. A Skill the registry cannot show now, for example because its Repository is broken, is left out of `skills`.","operationId":"collections.get","parameters":[{"example":"harlan-zw","in":"path","name":"login","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"design-engineering-essentials","in":"path","name":"slug","required":true,"schema":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"default":100,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"maximum":10000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"curator":{"avatarUrl":"https://avatars.githubusercontent.com/u/5326365?v=4","login":"harlan-zw","name":"Harlan Wilton"},"description":"The Skills I give an agent before it touches interface code.","installCommand":"npx skilld add @harlan-zw/design-engineering-essentials","pageUrl":"https://skilld.dev/@harlan-zw/design-engineering-essentials","skills":{"items":[{"description":"Review UI code for compliance with web interface guidelines.","displayName":"Web Design Guidelines","installCommand":"npx skilld install vercel-labs/agent-skills/web-design-guidelines","likes":41,"name":"web-design-guidelines","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills/web-design-guidelines","reason":"Checks interface code against a published list of rules before review.","repository":"agent-skills","runCommand":"npx skilld run vercel-labs/agent-skills/web-design-guidelines","sourceUrl":"https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md","stars":18204,"updatedAt":"2026-09-28T14:02:11.000Z"}],"total":1},"slug":"design-engineering-essentials","title":"Design Engineering Essentials"},"schema":{"$ref":"#/components/schemas/collections.get.response"}}},"description":"Get a collection","headers":{"Cache-Control":{"schema":{"const":"public, max-age=60, stale-while-revalidate=300","type":"string"}},"Skilld-Operation":{"schema":{"const":"collections.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"collections.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"collections.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"collections.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"collections.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"collections.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"Get a collection","tags":["Collections"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/collections/{login}/{slug}/skills/{owner}/{repository}/{name}":{"delete":{"description":"Removes the Skill from one of your collections. If the Skill shows for a whole-Repository entry, that entry goes. If the collection does not have the Skill, nothing changes. Only the curator can change a collection: for another login the answer is FORBIDDEN.","operationId":"collections.skills.remove","parameters":[{"example":"harlan-zw","in":"path","name":"login","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"design-engineering-essentials","in":"path","name":"slug","required":true,"schema":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"}},{"example":"vercel-labs","in":"path","name":"owner","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"agent-skills","in":"path","name":"repository","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}},{"example":"web-design-guidelines","in":"path","name":"name","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}}],"responses":{"204":{"description":"Done. No content.","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"collections.skills.remove","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.remove","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.remove","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: FORBIDDEN.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.remove","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["FORBIDDEN"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.remove","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.remove","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.remove","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.remove","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Remove a Skill from a collection","tags":["Collections"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"idempotent"}},"put":{"description":"Adds the Skill to the end of one of your collections, and answers the collection entry. If the collection already has the Skill, its place stays the same. Send `reason` to set the reason, or `null` to clear it. If you leave out `reason`, the stored reason stays. Only the curator can change a collection: for another login the answer is FORBIDDEN.","operationId":"collections.skills.add","parameters":[{"example":"harlan-zw","in":"path","name":"login","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"design-engineering-essentials","in":"path","name":"slug","required":true,"schema":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"}},{"example":"vercel-labs","in":"path","name":"owner","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"agent-skills","in":"path","name":"repository","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}},{"example":"web-design-guidelines","in":"path","name":"name","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}}],"requestBody":{"content":{"application/json":{"example":{"reason":"Checks interface code against a published list of rules before review."},"schema":{"$ref":"#/components/schemas/collections.skills.add.request"}}},"required":true},"responses":{"200":{"content":{"application/json":{"example":{"description":"Review UI code for compliance with web interface guidelines.","displayName":"Web Design Guidelines","installCommand":"npx skilld install vercel-labs/agent-skills/web-design-guidelines","likes":41,"name":"web-design-guidelines","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills/web-design-guidelines","reason":"Checks interface code against a published list of rules before review.","repository":"agent-skills","runCommand":"npx skilld run vercel-labs/agent-skills/web-design-guidelines","sourceUrl":"https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md","stars":18204,"updatedAt":"2026-09-28T14:02:11.000Z"},"schema":{"$ref":"#/components/schemas/collections.skills.add.response"}}},"description":"Add a Skill to a collection","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"collections.skills.add","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.add","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.add","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"403":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: FORBIDDEN.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.add","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["FORBIDDEN"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.add","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.add","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.add","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"collections.skills.add","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Add a Skill to a collection","tags":["Collections"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"idempotent"}}},"/api/v1/collections/{login}/{slug}/watch":{"put":{"description":"Watches every Repository the collection names, so your digest reports their changes. A Repository you already watch stays watched. A Repository added to the collection later is not watched until you send this again.","operationId":"collections.watch","parameters":[{"example":"harlan-zw","in":"path","name":"login","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"design-engineering-essentials","in":"path","name":"slug","required":true,"schema":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"watched":8},"schema":{"$ref":"#/components/schemas/collections.watch.response"}}},"description":"Watch a collection","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"collections.watch","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"collections.watch","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"401":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: AUTH_REQUIRED.","headers":{"Skilld-Operation":{"schema":{"const":"collections.watch","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["AUTH_REQUIRED"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"collections.watch","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"collections.watch","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"collections.watch","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"collections.watch","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[{"bearerAuth":[]},{"sessionAuth":[]}],"summary":"Watch a collection","tags":["Collections"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"idempotent"}}},"/api/v1/curators":{"get":{"description":"The skilld.dev/community directory. It holds the first 60 curators: curators with a featured collection come first, then the rest by GitHub stars. A curator who publishes Skills but no collection yet has a `collectionCount` of 0.","operationId":"curators.list","parameters":[{"example":1,"in":"query","name":"limit","required":false,"schema":{"default":30,"maximum":60,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"maximum":10000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"items":[{"avatarUrl":"https://avatars.githubusercontent.com/u/5326365?v=4","collectionCount":2,"login":"harlan-zw","name":"Harlan Wilton","pageUrl":"https://skilld.dev/@harlan-zw"}],"total":41},"schema":{"$ref":"#/components/schemas/curators.list.response"}}},"description":"List curators","headers":{"Cache-Control":{"schema":{"const":"public, max-age=300, stale-while-revalidate=3600","type":"string"}},"Skilld-Operation":{"schema":{"const":"curators.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"curators.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"curators.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"curators.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"curators.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"List curators","tags":["Curators"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/curators/{login}":{"get":{"description":"One curator and their collections, newest first. `installCommand` installs every Skill that the collections name. If no skilld.dev account has the login, the answer is NOT_FOUND.","operationId":"curators.get","parameters":[{"example":"harlan-zw","in":"path","name":"login","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"avatarUrl":"https://avatars.githubusercontent.com/u/5326365?v=4","collections":[{"description":"The Skills I give an agent before it touches interface code.","installCommand":"npx skilld add @harlan-zw/design-engineering-essentials","pageUrl":"https://skilld.dev/@harlan-zw/design-engineering-essentials","skillCount":8,"slug":"design-engineering-essentials","title":"Design Engineering Essentials"}],"installCommand":"npx skilld add @harlan-zw","login":"harlan-zw","name":"Harlan Wilton","pageUrl":"https://skilld.dev/@harlan-zw"},"schema":{"$ref":"#/components/schemas/curators.get.response"}}},"description":"Get a curator","headers":{"Cache-Control":{"schema":{"const":"public, max-age=60, stale-while-revalidate=300","type":"string"}},"Skilld-Operation":{"schema":{"const":"curators.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"curators.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"curators.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"curators.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"curators.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"curators.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"Get a curator","tags":["Curators"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/curators/{login}/likes":{"get":{"description":"The 200 Skills the curator liked most recently, newest like first: the list at skilld.dev/@login/liked. A curator can keep the list private. If the list is private, or no account has the login, the answer is NOT_FOUND. This operation never shows a private list, not even to its owner. Use `likes.list` for your own likes.","operationId":"curators.likes","parameters":[{"example":"harlan-zw","in":"path","name":"login","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":1,"in":"query","name":"limit","required":false,"schema":{"default":50,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"maximum":10000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"items":[{"description":"Review UI code for compliance with web interface guidelines.","displayName":"Web Design Guidelines","installCommand":"npx skilld install vercel-labs/agent-skills/web-design-guidelines","likes":41,"name":"web-design-guidelines","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills/web-design-guidelines","repository":"agent-skills","runCommand":"npx skilld run vercel-labs/agent-skills/web-design-guidelines","sourceUrl":"https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md","stars":18204,"updatedAt":"2026-09-28T14:02:11.000Z"}],"total":12},"schema":{"$ref":"#/components/schemas/curators.likes.response"}}},"description":"List the Skills a curator likes","headers":{"Cache-Control":{"schema":{"const":"public, max-age=60, stale-while-revalidate=300","type":"string"}},"Skilld-Operation":{"schema":{"const":"curators.likes","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"curators.likes","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"curators.likes","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"curators.likes","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"curators.likes","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"curators.likes","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"List the Skills a curator likes","tags":["Curators"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/index-requests":{"post":{"description":"If the registry already holds Skills from the Repository, the status is `indexed` and the answer lists them. If not, the status is `queued`: poll `indexRequests.get` with the `id`. A second request for a Repository that is already queued answers the same `id`.","operationId":"index_requests.create","requestBody":{"content":{"application/json":{"example":{"repository":"https://github.com/vercel-labs/agent-skills"},"schema":{"$ref":"#/components/schemas/index_requests.create.request"}}},"required":true},"responses":{"201":{"content":{"application/json":{"example":{"id":"0f8b5c1e-3d4a-4f6b-9a2c-7e1d5b8c9a04","owner":"vercel-labs","progress":{"stage":"queued"},"repository":"agent-skills","status":"queued"},"schema":{"$ref":"#/components/schemas/index_requests.create.response"}}},"description":"Index a Repository","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"index_requests.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"index_requests.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"index_requests.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"index_requests.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"index_requests.create","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"Index a Repository","tags":["Index requests"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"mutation","retry":"never"}}},"/api/v1/index-requests/{id}":{"get":{"description":"The state of one index request. Poll while the status is `queued`. `indexed` lists the Skills the registry found. `failed` gives the reason.","operationId":"index_requests.get","parameters":[{"example":"0f8b5c1e-3d4a-4f6b-9a2c-7e1d5b8c9a04","in":"path","name":"id","required":true,"schema":{"format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"id":"0f8b5c1e-3d4a-4f6b-9a2c-7e1d5b8c9a04","owner":"vercel-labs","progress":{"indexed":3,"stage":"indexing","total":6},"repository":"agent-skills","status":"queued"},"schema":{"$ref":"#/components/schemas/index_requests.get.response"}}},"description":"Get an index request","headers":{"Cache-Control":{"schema":{"const":"private, no-store","type":"string"}},"Skilld-Operation":{"schema":{"const":"index_requests.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"index_requests.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"index_requests.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"index_requests.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"index_requests.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"index_requests.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"Get an index request","tags":["Index requests"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/owners/{owner}":{"get":{"description":"One GitHub organization or user, and each Repository it publishes Skills from, the Repository with the most Skills first. If the registry holds no Skill from the Owner, the answer is NOT_FOUND.","operationId":"owners.get","parameters":[{"example":"vercel-labs","in":"path","name":"owner","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"avatarUrl":"https://github.com/vercel-labs.png","kind":"organization","login":"vercel-labs","name":"Vercel Labs","pageUrl":"https://skilld.dev/gh/vercel-labs","repositories":[{"description":"Skills for AI coding agents.","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills","repository":"agent-skills","skillCount":6,"stars":18204}]},"schema":{"$ref":"#/components/schemas/owners.get.response"}}},"description":"Get an Owner","headers":{"Cache-Control":{"schema":{"const":"public, max-age=60, stale-while-revalidate=300","type":"string"}},"Skilld-Operation":{"schema":{"const":"owners.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"owners.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"owners.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"owners.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"owners.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"owners.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"Get an Owner","tags":["Owners"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/repositories/{owner}/{repository}":{"get":{"description":"One Repository and every Skill the registry holds from it, most recently changed first. `installCommand` installs all of them. If the registry holds no Skill from the Repository, the answer is NOT_FOUND: send an index request to add it.","operationId":"repositories.get","parameters":[{"example":"vercel-labs","in":"path","name":"owner","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"agent-skills","in":"path","name":"repository","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"description":"Skills for AI coding agents.","installCommand":"npx skilld add vercel-labs/agent-skills","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills","pushedAt":"2026-09-30T09:12:44.000Z","repository":"agent-skills","repositoryUrl":"https://github.com/vercel-labs/agent-skills","skills":[{"description":"Review UI code for compliance with web interface guidelines.","displayName":"Web Design Guidelines","installCommand":"npx skilld install vercel-labs/agent-skills/web-design-guidelines","likes":41,"name":"web-design-guidelines","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills/web-design-guidelines","repository":"agent-skills","runCommand":"npx skilld run vercel-labs/agent-skills/web-design-guidelines","sourceUrl":"https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md","stars":18204,"updatedAt":"2026-09-28T14:02:11.000Z"}],"stars":18204},"schema":{"$ref":"#/components/schemas/repositories.get.response"}}},"description":"Get a Repository","headers":{"Cache-Control":{"schema":{"const":"public, max-age=60, stale-while-revalidate=300","type":"string"}},"Skilld-Operation":{"schema":{"const":"repositories.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"repositories.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"repositories.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"repositories.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"repositories.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"repositories.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"Get a Repository","tags":["Repositories"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/skills":{"get":{"description":"Semantic search over admitted Skills. The answer shape is frozen for skilld 3.2.0, so use `skills.get` for anything beyond the source and the star count.","operationId":"skills.search","parameters":[{"example":"tailwind","in":"query","name":"q","required":true,"schema":{"maxLength":200,"minLength":1,"type":"string"}},{"example":1,"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":50,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"items":[{"description":"Tailwind CSS v4 patterns and migration notes.","name":"tailwind-v4","source":{"owner":"nuxt","provider":"github","repository":"ui","selector":{"name":"tailwind-v4","type":"named-skill"}},"stargazerCount":5421}],"total":12},"schema":{"$ref":"#/components/schemas/skills.search.response"}}},"description":"Search Skills","headers":{"Cache-Control":{"schema":{"const":"public, max-age=60, stale-while-revalidate=300","type":"string"}},"Skilld-Operation":{"schema":{"const":"skills.search","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"skills.search","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"skills.search","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"skills.search","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"skills.search","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"Search Skills","tags":["Skills"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/skills/{owner}/{repository}/{name}":{"get":{"description":"One Skill with its provenance: the Owner, the exact SKILL.md, the commit the registry read, and the run and install commands. `behaviors` lists what the SKILL.md and the file names ask an Agent to do. `skilld run` checks every file, so it can find more. A behavior with tier `ask` stops `skilld run` until the user approves it.","operationId":"skills.get","parameters":[{"example":"vercel-labs","in":"path","name":"owner","required":true,"schema":{"maxLength":39,"minLength":1,"pattern":"^[A-Z0-9](?:[A-Z0-9-]*[A-Z0-9])?$","type":"string"}},{"example":"agent-skills","in":"path","name":"repository","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}},{"example":"web-design-guidelines","in":"path","name":"name","required":true,"schema":{"maxLength":100,"minLength":1,"pattern":"^[\\w.-]+$","type":"string"}}],"responses":{"200":{"content":{"application/json":{"example":{"allowedTools":[],"authorName":"Vercel Labs","behaviors":[{"id":"shell","label":"Runs shell commands","locations":[{"line":12,"path":"SKILL.md"}],"tier":"show","total":1}],"description":"Review UI code for compliance with web interface guidelines.","displayName":"Web Design Guidelines","files":[{"path":"references/checklist.md","size":4210}],"generatedSummary":"Checks interface code against a published list of web design rules.","installCommand":"npx skilld install vercel-labs/agent-skills/web-design-guidelines","license":"MIT","likes":41,"markdown":"---\nname: web-design-guidelines\ndescription: Review UI code for compliance with web interface guidelines.\n---\n\n# Web Design Guidelines\n","name":"web-design-guidelines","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills/web-design-guidelines","pushedAt":"2026-09-30T09:12:44.000Z","repository":"agent-skills","repositoryUrl":"https://github.com/vercel-labs/agent-skills","runCommand":"npx skilld run vercel-labs/agent-skills/web-design-guidelines","skillPath":"skills/web-design-guidelines/SKILL.md","sourceCommit":"4f1c2a9e0b7d3c5a8e6f1b2d4c7a9e0f3b5d8c1a","sourceGone":false,"sourceUrl":"https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md","stars":18204,"tags":["design","accessibility"],"updatedAt":"2026-09-28T14:02:11.000Z"},"schema":{"$ref":"#/components/schemas/skills.get.response"}}},"description":"Get a Skill","headers":{"Cache-Control":{"schema":{"const":"public, max-age=60, stale-while-revalidate=300","type":"string"}},"Skilld-Operation":{"schema":{"const":"skills.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"skills.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"skills.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"skills.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"skills.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"skills.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"Get a Skill","tags":["Skills"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/tracks":{"get":{"description":"Every track that holds at least one Skill, the track with the most Skills first. The list is short, so it has no pages.","operationId":"tracks.list","responses":{"200":{"content":{"application/json":{"example":{"items":[{"label":"Design and interface work","line":"You care how the interface looks, moves, and reads.","pageUrl":"https://skilld.dev/skills/design","skillCount":41,"slug":"design"}],"total":14},"schema":{"$ref":"#/components/schemas/tracks.list.response"}}},"description":"List tracks","headers":{"Cache-Control":{"schema":{"const":"public, max-age=300, stale-while-revalidate=3600","type":"string"}},"Skilld-Operation":{"schema":{"const":"tracks.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"tracks.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"tracks.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"tracks.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"List tracks","tags":["Tracks"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/tracks/{slug}":{"get":{"description":"One track and its Skills, in the order its page shows them: the pinned Skills first, then the rest by stars. `total` counts every Skill in the track.","operationId":"tracks.get","parameters":[{"example":"design","in":"path","name":"slug","required":true,"schema":{"maxLength":64,"minLength":1,"pattern":"^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$","type":"string"}},{"example":1,"in":"query","name":"limit","required":false,"schema":{"default":20,"maximum":100,"minimum":1,"type":"integer"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"maximum":10000,"minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"items":[{"description":"Review UI code for compliance with web interface guidelines.","displayName":"Web Design Guidelines","installCommand":"npx skilld install vercel-labs/agent-skills/web-design-guidelines","likes":41,"name":"web-design-guidelines","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills/web-design-guidelines","repository":"agent-skills","runCommand":"npx skilld run vercel-labs/agent-skills/web-design-guidelines","sourceUrl":"https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md","stars":18204,"updatedAt":"2026-09-28T14:02:11.000Z"}],"label":"Design and interface work","line":"You care how the interface looks, moves, and reads.","pageUrl":"https://skilld.dev/skills/design","slug":"design","total":41},"schema":{"$ref":"#/components/schemas/tracks.get.response"}}},"description":"Get a track","headers":{"Cache-Control":{"schema":{"const":"public, max-age=300, stale-while-revalidate=3600","type":"string"}},"Skilld-Operation":{"schema":{"const":"tracks.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"tracks.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"404":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: NOT_FOUND.","headers":{"Skilld-Operation":{"schema":{"const":"tracks.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["NOT_FOUND"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"tracks.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"tracks.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"tracks.get","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"Get a track","tags":["Tracks"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}},"/api/v1/trending":{"get":{"description":"The trending board at skilld.dev/skills/trending, in rank order. Rows with a `social` or `star-surge` reason always rank above `star-count` rows. `total` counts the whole board, at most 30 rows.","operationId":"trending.list","parameters":[{"example":"week","in":"query","name":"window","required":false,"schema":{"default":"week","enum":["week","month"],"type":"string"}},{"example":1,"in":"query","name":"limit","required":false,"schema":{"default":30,"maximum":30,"minimum":1,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"example":{"items":[{"description":"Review UI code for compliance with web interface guidelines.","displayName":"Web Design Guidelines","installCommand":"npx skilld install vercel-labs/agent-skills/web-design-guidelines","likes":41,"name":"web-design-guidelines","owner":"vercel-labs","pageUrl":"https://skilld.dev/gh/vercel-labs/agent-skills/web-design-guidelines","repository":"agent-skills","runCommand":"npx skilld run vercel-labs/agent-skills/web-design-guidelines","signal":{"authorCount":3,"kind":"social","mentionCount":4,"post":{"authorHandle":"ada_ships","authorName":"Ada","platform":"x","postedAt":"2026-09-29T16:40:00.000Z","text":"web-design-guidelines catches the UI mistakes I used to catch in review.","url":"https://x.com/ada_ships/status/1972000000000000000"}},"sourceUrl":"https://github.com/vercel-labs/agent-skills/blob/main/skills/web-design-guidelines/SKILL.md","stars":18204,"updatedAt":"2026-09-28T14:02:11.000Z"}],"total":30},"schema":{"$ref":"#/components/schemas/trending.list.response"}}},"description":"List trending Skills","headers":{"Cache-Control":{"schema":{"const":"public, max-age=300, stale-while-revalidate=600","type":"string"}},"Skilld-Operation":{"schema":{"const":"trending.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}}},"400":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INVALID_REQUEST.","headers":{"Skilld-Operation":{"schema":{"const":"trending.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INVALID_REQUEST"]},"429":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: RATE_LIMITED.","headers":{"Skilld-Operation":{"schema":{"const":"trending.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["RATE_LIMITED"]},"500":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: INTERNAL_ERROR.","headers":{"Skilld-Operation":{"schema":{"const":"trending.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["INTERNAL_ERROR"]},"503":{"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}}},"description":"Problem codes: SERVICE_UNAVAILABLE.","headers":{"Skilld-Operation":{"schema":{"const":"trending.list","type":"string"}},"X-Request-Id":{"description":"Quote this when you report a problem.","schema":{"type":"string"}}},"x-skilld-problem-codes":["SERVICE_UNAVAILABLE"]}},"security":[],"summary":"List trending Skills","tags":["Trending"],"x-skilld-lifecycle":{"introduced":"1.0.0"},"x-skilld-semantics":{"kind":"query"}}}},"servers":[{"url":"https://skilld.dev"}],"tags":[{"description":"Search the registry and read one Skill with its provenance.","name":"Skills"},{"description":"Read one Repository and every Skill the registry holds from it.","name":"Repositories"},{"description":"Ask the registry to index a GitHub Repository, then poll until its Skills are in.","name":"Index requests"},{"description":"Read one GitHub Owner and the Repositories it publishes Skills from.","name":"Owners"},{"description":"Tracks: Skills for one kind of work. A person writes each label and line and pins the Skills that lead it.","name":"Tracks"},{"description":"Skills devs talk about on X and Bluesky, each with the reason it is on the board (ADR-0004). Never ranked by installs or likes.","name":"Trending"},{"description":"Read the curators who assemble collections on skilld.dev, their collections, and the Skills they like.","name":"Curators"},{"description":"Read a collection, build your own, and watch one so the digest reports changes to its Skills.","name":"Collections"},{"description":"Read and change the signed-in account, and manage the Skills of your own Repositories.","name":"Account"},{"description":"Like Skills. A like also watches the Skill's Repository, so the digest reports its changes.","name":"Likes"},{"description":"Watch Repositories, so the digest reports changes to their Skills.","name":"Watches"},{"description":"Import your GitHub stars and find the starred Repositories that hold Skills.","name":"Stars"},{"description":"Read what changed in your watched Repositories: the content of your digest.","name":"Changes"},{"description":"Create, list, and revoke the skilld tokens that act for your account.","name":"Tokens"}]}