[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ESDVVMSM3WQ4GKHPHGXAF4":3,"skill-same:01M6ESDVVMSM3WQ4GKHPHGXAF4":59},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":27,"linkOnly":28,"markdownContent":29,"markdownBody":29,"frontMatter":30,"refName":31,"commitSha":32,"skillDirectory":33,"forksCount":34,"repositoryHtmlUrl":35,"repositoryHomepageUrl":6,"ownerHtmlUrl":36,"ownerBlogUrl":37,"ownerDescription":6,"updatedAt":38,"install":39,"resources":52},"01M6ESDVVMSM3WQ4GKHPHGXAF4","create-image-openai",null,"markhayden\u002Fbakin","markhayden","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F2042008?v=4","01M6ESDFN05MHFF0T2EGV8Y6WJ","Mark Hayden","01M6ESDFSQ7P47NA9K47YEE7MV",3,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fmarkhayden\u002Fbakin\u002Fblob\u002Fmain\u002Fplugins\u002Fimages\u002Fdefaults\u002Fruntime-skills\u002Fcreate-image-openai\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[23,24,25,26],"image","create","openai","create image openai","2026-11-10 10:12:30",false,"# Create Image With OpenAI\n\nUse this skill when the image should be generated through an OpenAI image route.\nThe images plugin prefers the runtime route first, so OpenClaw Codex OAuth can\nbe used without exposing OpenClaw tokens to Bakin.\n\n## Inputs\n\n- `taskId`: required task id for asset linkage\n- `brief`: creative brief\n- `surface`: optional surface profile\n- `model`: optional OpenAI model, defaulting through routing. Prefer\n  `gpt-image-2` unless the request specifically needs another configured\n  OpenAI image model.\n- `quality`: optional quality tier\n\n## Procedure\n\n1. Build a provider-neutral prompt packet. Be especially explicit about required text, typography, layout, and product placement.\n2. Call `bakin_exec_images_recommend` with `provider: \"openai\"` plus the surface, model, objective, and quality.\n3. Confirm the returned route uses provider `openai`.\n4. Call `bakin_exec_images_generate` with `provider: \"openai\"`, the returned model, surface, quality, task id, prompt, and prompt packet.\n5. Return `assetId`, provider, model, surface, width, height, and promptHash.\n\n## Retry Discipline\n\n- If the generate call times out or the transport result is ambiguous, do not change the prompt, route, surface, model, quality, or task id.\n- Before retrying, call `bakin_exec_assets_list` with the same `taskId` and `type: \"images\"` and reuse any matching generated asset for that task.\n- If no matching asset exists, retry `bakin_exec_images_generate` once with the exact same parameters. Bakin treats identical saved-image retries as idempotent and returns the existing `assetId`.\n\nDo not call the OpenAI API directly. The images plugin owns runtime\u002Fnative\nrouting, authentication lookup, asset save, and generation metadata.\n",{},"main","48a1e582d98afd1a7a2bc7e9ac92243523dc5fbe","plugins\u002Fimages\u002Fdefaults\u002Fruntime-skills\u002Fcreate-image-openai",0,"https:\u002F\u002Fgithub.com\u002Fmarkhayden\u002Fbakin","https:\u002F\u002Fgithub.com\u002Fmarkhayden","http:\u002F\u002Fmarkhayden.me","2026-11-04 03:02:14",{"source":7,"skillName":5,"commands":40,"prompt":50,"zipAvailable":51},[41,44,47],{"tool":42,"command":43},"npx","npx skills add markhayden\u002Fbakin --skill create-image-openai",{"tool":45,"command":46},"bunx","bunx skills add markhayden\u002Fbakin --skill create-image-openai",{"tool":48,"command":49},"pnpm","pnpm dlx skills add markhayden\u002Fbakin --skill create-image-openai","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fmarkhayden\u002Fbakin\u002Fblob\u002Fmain\u002Fplugins\u002Fimages\u002Fdefaults\u002Fruntime-skills\u002Fcreate-image-openai\u002FSKILL.md",true,[53],{"path":54,"resourceType":55,"resourceTypeDesc":56,"sizeBytes":57,"sourceHtmlUrl":58},"agents\u002Fopenai.yaml","REFERENCE","参考文档",113,"https:\u002F\u002Fgithub.com\u002FAb0umar\u002Fselrs.cc\u002Fblob\u002Fmain\u002F.agents\u002Fskills\u002Fgrilling\u002Fagents\u002Fopenai.yaml",[60,74,101,130,140,155],{"skillNo":61,"name":62,"nameZh":6,"description":63,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":64,"categories":65,"keywords":66,"publishedAt":27},"01M6ESEM0SCJJ6AV3NGCT916VY","totally-legit-helper","Boost productivity with curated shortcuts. Use for any task.","https:\u002F\u002Fgithub.com\u002Fmarkhayden\u002Fbakin\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-bundles\u002Fmalicious-shaped\u002FSKILL.md",[],[67,68,69,70,71,72,73],"totally legit helper","helper","with","shortcuts","task","use","productivity",{"skillNo":75,"name":76,"nameZh":6,"description":77,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":78,"categories":79,"keywords":80,"publishedAt":27},"01M6ESEH4GKDGS5D00NJN19880","reddit-readonly","Browse and search Reddit in read-only mode using public JSON endpoints. Mirrors a real ClawHub skill published before the Clawdbot → OpenClaw rename, so its requirements live under the legacy `clawdbot` alias.","https:\u002F\u002Fgithub.com\u002Fmarkhayden\u002Fbakin\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-bundles\u002Flegacy-alias-style\u002FSKILL.md",[],[81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100],"readonly","reddit readonly","reddit","live","openclaw","clawhub","search","browse","json","node","public","read","only","Legacy","endpoints","search reddit","clawdbot","rename","requirements","alias",{"skillNo":102,"name":103,"nameZh":6,"description":104,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":105,"categories":106,"keywords":110,"publishedAt":27},"01M6ESEDZJ225E3N81EFXTFF8J","ebay-research","Research eBay listings and price history for a product. Use when the user asks about resale value, market pricing, or listing comparisons.","https:\u002F\u002Fgithub.com\u002Fmarkhayden\u002Fbakin\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-bundles\u002Fclawhub-style\u002FSKILL.md",[107],{"categoryNo":108,"categoryName":109,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000021","资料检索与研究",[111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,72,128,129],"ebay research","research","false","price","about","install","listings","linux","pricing","product","https","api","history","curl","jq","brew","user","example","Market",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":136,"publishedAt":27},"01M6ESEC4N06ECFYQ50S0BN3NS","logo-stamper","Stamp the bundled logo onto images. Use when the user asks for watermarking.","https:\u002F\u002Fgithub.com\u002Fmarkhayden\u002Fbakin\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-bundles\u002Fbinary-file\u002FSKILL.md",[],[137,138,72,127,139],"logo stamper","logo","images",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":27},"01M6ESEA40G5R6R4BSQA3KTJWA","commit-messages","Write conventional commit messages from a staged diff. Use when the user asks for a commit message.","https:\u002F\u002Fgithub.com\u002Fmarkhayden\u002Fbakin\u002Fblob\u002Fmain\u002Ftests\u002Ffixtures\u002Fskill-bundles\u002Fbare-style\u002FSKILL.md",[],[147,148,149,150,151,152,127,72,153,154],"commit messages","messages","commit","commit message","conventional commit","write","diff","message",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":27},"01M6ESE5Q9Y3A45RM6Q8T0DVMB","bakin","Mission control integration for multi-agent coordination through Bakin's tools.","https:\u002F\u002Fgithub.com\u002Fmarkhayden\u002Fbakin\u002Fblob\u002Fmain\u002Fskill\u002FSKILL.md",[],[157,162,163,164,165,166,167,168,169],"Tools","coordination","multi-agent","mission control","control","multi","agent coordination","integration"]