{"openapi":"3.0.3","info":{"title":"Skilltofu discovery API","version":"1.0.0","description":"Read-only public discovery. Prices are in GBP. Compatibility is publisher-declared, not marketplace-tested. No private packages or account data are returned."},"servers":[{"url":"/"}],"paths":{"/api/skills":{"get":{"operationId":"searchSkills","summary":"Search public skills","parameters":[{"name":"q","in":"query","schema":{"type":"string"}},{"name":"category","in":"query","schema":{"type":"string"}},{"name":"format","in":"query","schema":{"type":"string"}},{"name":"platform","in":"query","schema":{"type":"string"}},{"name":"assistant","in":"query","schema":{"type":"string"}},{"name":"tool","in":"query","schema":{"type":"string"}},{"name":"task","in":"query","schema":{"type":"string","enum":["all","explain","story","campaign"]}},{"name":"origin","in":"query","schema":{"type":"string","enum":["real","all","samples","linkedin"],"default":"real"}},{"name":"price","in":"query","schema":{"type":"string","enum":["all","free","paid"]}},{"name":"sort","in":"query","schema":{"type":"string","enum":["featured","popular","new"]}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":12}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"maximum":100000,"default":0}}],"responses":{"200":{"description":"Paginated public metadata","content":{"application/json":{"schema":{"type":"object","required":["skills","total","nextOffset"],"properties":{"schemaVersion":{"type":"string"},"total":{"type":"integer"},"offset":{"type":"integer"},"limit":{"type":"integer"},"nextOffset":{"type":"integer","nullable":true},"skills":{"type":"array","items":{"$ref":"#/components/schemas/Skill"}}}}}}}}}},"/api/skills/{id}":{"get":{"operationId":"getSkill","summary":"Read a public skill manifest","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Public skill manifest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Skill"}}}},"404":{"description":"Skill not public or not found"}}}},"/.well-known/skilltofu.json":{"get":{"operationId":"discoverSkilltofu","summary":"Discover supported endpoints","responses":{"200":{"description":"Discovery metadata","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}}},"components":{"schemas":{"Skill":{"type":"object","required":["id","name","description","url","price","compatibility","licence","package","manifestUrl"],"properties":{"schemaVersion":{"type":"string"},"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"},"category":{"type":"string"},"format":{"type":"string"},"version":{"type":"string"},"price":{"type":"object","required":["amount","currency"],"properties":{"amount":{"type":"number","minimum":0},"currency":{"type":"string","enum":["GBP"]}}},"publisher":{"type":"object","additionalProperties":true},"compatibility":{"type":"object","additionalProperties":true},"inputs":{"type":"string"},"outputs":{"type":"string"},"setup":{"type":"string"},"usageCosts":{"type":"string"},"customization":{"type":"array","items":{"type":"string"}},"licence":{"type":"object","additionalProperties":true},"source":{"type":"object","additionalProperties":true},"preview":{"type":"object","additionalProperties":true},"package":{"type":"object","additionalProperties":true},"manifestUrl":{"type":"string"},"workflow":{"type":"object","description":"Public recipe guidance only; declared requirements, no automatic execution and no verified run claim. Example availability is explicit, never inferred from a style preview.","required":["evidence","example","setups","packageAccess"],"properties":{"evidence":{"type":"object","additionalProperties":true},"example":{"type":"object","additionalProperties":true},"setups":{"type":"array","items":{"type":"object","additionalProperties":true}},"assistantTools":{"type":"array","items":{"type":"string"}},"productionTools":{"type":"array","items":{"type":"string"}},"inputs":{"type":"string"},"outputs":{"type":"string"},"includedAssets":{"type":"array","items":{"type":"string"}},"packageAccess":{"type":"string","enum":["reference","publisher","protected"]}}}}}}}}