[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71R5PQT896WXQRPCGSQ2ZVJ":3,"skill-same:01M71R5PQT896WXQRPCGSQ2ZVJ":72},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M71R5PQT896WXQRPCGSQ2ZVJ","image-generator",null,"Generate images with Gemini image models (Nano Banana Pro) and display them in chat.","human-plus-machine\u002Fmonkeybot","human-plus-machine","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F280167390?v=4","01M71R5340DFF1C4XV5B369MPN","human plus machine","01M71R5357ZTPM4CKBNH5XNSFY",3,"MIT","https:\u002F\u002Fgithub.com\u002Fhuman-plus-machine\u002Fmonkeybot\u002Fblob\u002Fdevelop\u002Fcli\u002Fsrc\u002Fmonkeybot_cli\u002Fscaffold_defaults\u002Fimage-generator\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"image","generator","image generator","images","gemini","nano banana pro","nano","display","chat","with","gemini image","banana","generate","models","pro","nano banana","2026-11-10 13:02:02",false,"---\nname: image-generator\ndescription: Generate images with Gemini image models (Nano Banana Pro) and display them in chat.\n---\n\n# image-generator\n\nGenerate images using Gemini image models (default: `gemini-3-pro-image-preview`, Nano Banana Pro class).\n\n**Auth (preferred):** set `GEMINI_API_KEY` or `GOOGLE_API_KEY` in the agent `.env` (Google AI Studio).  \n**Fallback:** Vertex AI via `GCP_PROJECT_ID` \u002F `VERTEX_AI_PROJECT_ID` \u002F `GOOGLE_CLOUD_PROJECT` plus Application Default Credentials.\n\n## When to use\n\n- The user asks for a new image, illustration, diagram, or visual asset\n- You need a PNG saved under `.\u002Fgenerated-media\u002Fimages\u002F` for follow-up or display\n\n## How to run\n\nShell commands start in **workspace root**. The trusted generator script is in\nthe separate read-only skills root from `list_skills`; generated output remains\nworkspace-relative.\n\n1. Confirm `list_skills` includes `image-generator` and note `skills_path`.\n2. Run the generator with `run_command` and **direct** `python3` argv (do **not**\n   wrap in `bash -c` — that can pick a system Python without `google-genai`):\n\n```json\n{\n  \"argv\": [\n    \"python3\",\n    \"\u003Cskills_path>\u002Fimage-generator\u002Fgenerate_image.py\",\n    \"--prompt\",\n    \"A minimalist logo of a monkey astronaut, flat vector style\",\n    \"--aspect-ratio\",\n    \"16:9\"\n  ],\n  \"timeout\": 180\n}\n```\n\nReplace `\u003Cskills_path>` with the `skills_path` returned by `list_skills` (`skills`).\n\nSupported `--aspect-ratio` values: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`.\n\n3. Parse JSON **stdout** from the command result:\n   - Success: `{\"ok\": true, \"path\": \".\u002Fgenerated-media\u002Fimages\u002F\u003Cuuid>.png\", \"prompt\": \"...\", ...}`\n   - Failure: `{\"ok\": false, \"error\": \"...\"}`\n\n4. Call **`load_file`** with the returned `path` only. That emits an `ImageBlock` to the\n   chat UI (and loads pixels into model context on vision-capable providers):\n\n```\nload_file(path=\"\u003Cpath from script>\")\n```\n\nDo **not** use `read_file` on the PNG — that is for text files only.\n\n5. Caption the image using the `--prompt` you submitted (or the echoed `prompt` field).\n   Do **not** invent a different subject from memory or earlier chats. On text-only\n   providers you will not see pixels — still describe from this turn's prompt.\n\n## Notes\n\n- Output files are written under `.\u002Fgenerated-media\u002Fimages\u002F` (allowed by `run_command` policy).\n- Do not paste raw base64 in chat; always use `load_file` after generation.\n- On failure, report the `error` field and do not call `load_file`. Never `glob` for\n  `**\u002F*.png` and load an arbitrary older file as a substitute.\n- Do **not** use the `task` tool for this skill — run the steps above yourself.\n- `python3` \u002F `python` in `run_command` use the gateway interpreter (which includes\n  `google-genai` via monkeybot). Do not run `pip install` \u002F `uv pip install` via\n  `run_command` — installs are blocked by policy.\n","# image-generator\n\nGenerate images using Gemini image models (default: `gemini-3-pro-image-preview`, Nano Banana Pro class).\n\n**Auth (preferred):** set `GEMINI_API_KEY` or `GOOGLE_API_KEY` in the agent `.env` (Google AI Studio).  \n**Fallback:** Vertex AI via `GCP_PROJECT_ID` \u002F `VERTEX_AI_PROJECT_ID` \u002F `GOOGLE_CLOUD_PROJECT` plus Application Default Credentials.\n\n## When to use\n\n- The user asks for a new image, illustration, diagram, or visual asset\n- You need a PNG saved under `.\u002Fgenerated-media\u002Fimages\u002F` for follow-up or display\n\n## How to run\n\nShell commands start in **workspace root**. The trusted generator script is in\nthe separate read-only skills root from `list_skills`; generated output remains\nworkspace-relative.\n\n1. Confirm `list_skills` includes `image-generator` and note `skills_path`.\n2. Run the generator with `run_command` and **direct** `python3` argv (do **not**\n   wrap in `bash -c` — that can pick a system Python without `google-genai`):\n\n```json\n{\n  \"argv\": [\n    \"python3\",\n    \"\u003Cskills_path>\u002Fimage-generator\u002Fgenerate_image.py\",\n    \"--prompt\",\n    \"A minimalist logo of a monkey astronaut, flat vector style\",\n    \"--aspect-ratio\",\n    \"16:9\"\n  ],\n  \"timeout\": 180\n}\n```\n\nReplace `\u003Cskills_path>` with the `skills_path` returned by `list_skills` (`skills`).\n\nSupported `--aspect-ratio` values: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9`.\n\n3. Parse JSON **stdout** from the command result:\n   - Success: `{\"ok\": true, \"path\": \".\u002Fgenerated-media\u002Fimages\u002F\u003Cuuid>.png\", \"prompt\": \"...\", ...}`\n   - Failure: `{\"ok\": false, \"error\": \"...\"}`\n\n4. Call **`load_file`** with the returned `path` only. That emits an `ImageBlock` to the\n   chat UI (and loads pixels into model context on vision-capable providers):\n\n```\nload_file(path=\"\u003Cpath from script>\")\n```\n\nDo **not** use `read_file` on the PNG — that is for text files only.\n\n5. Caption the image using the `--prompt` you submitted (or the echoed `prompt` field).\n   Do **not** invent a different subject from memory or earlier chats. On text-only\n   providers you will not see pixels — still describe from this turn's prompt.\n\n## Notes\n\n- Output files are written under `.\u002Fgenerated-media\u002Fimages\u002F` (allowed by `run_command` policy).\n- Do not paste raw base64 in chat; always use `load_file` after generation.\n- On failure, report the `error` field and do not call `load_file`. Never `glob` for\n  `**\u002F*.png` and load an arbitrary older file as a substitute.\n- Do **not** use the `task` tool for this skill — run the steps above yourself.\n- `python3` \u002F `python` in `run_command` use the gateway interpreter (which includes\n  `google-genai` via monkeybot). Do not run `pip install` \u002F `uv pip install` via\n  `run_command` — installs are blocked by policy.\n",{"name":5,"description":7},"develop","3f4ce06b117cf078c4edf4cd8041134d301404ac","cli\u002Fsrc\u002Fmonkeybot_cli\u002Fscaffold_defaults\u002Fimage-generator",2,"https:\u002F\u002Fgithub.com\u002Fhuman-plus-machine\u002Fmonkeybot","https:\u002F\u002Fgithub.com\u002Fhuman-plus-machine","2026-11-12 05:23:37",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add human-plus-machine\u002Fmonkeybot --skill image-generator",{"tool":58,"command":59},"bunx","bunx skills add human-plus-machine\u002Fmonkeybot --skill image-generator",{"tool":61,"command":62},"pnpm","pnpm dlx skills add human-plus-machine\u002Fmonkeybot --skill image-generator","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fhuman-plus-machine\u002Fmonkeybot\u002Fblob\u002Fdevelop\u002Fcli\u002Fsrc\u002Fmonkeybot_cli\u002Fscaffold_defaults\u002Fimage-generator\u002FSKILL.md",true,[66],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"generate_image.py","SCRIPT","脚本",6873,"https:\u002F\u002Fgithub.com\u002Fhuman-plus-machine\u002Fmonkeybot\u002Fblob\u002Fdevelop\u002Fcli\u002Fsrc\u002Fmonkeybot_cli\u002Fscaffold_defaults\u002Fimage-generator\u002Fgenerate_image.py",[73,89,95,108,115,121],{"skillNo":74,"name":75,"nameZh":6,"description":76,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":77,"categories":78,"keywords":82,"publishedAt":40},"01M71R6545453TAC4Y71JM2362","browser","Smoke-test browser skill fixture.","https:\u002F\u002Fgithub.com\u002Fhuman-plus-machine\u002Fmonkeybot\u002Fblob\u002Fdevelop\u002Fregression\u002Ft4\u002Fagent\u002Fskills\u002Fbrowser\u002FSKILL.md",[79],{"categoryNo":80,"categoryName":81,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[75,83,84,85,86,87,88],"skill fixture","fixture","test","test browser","smoke","Browser Skill",{"skillNo":90,"name":91,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":40},"01M71R63F3CPF727VZAXTPWJNW","plain","https:\u002F\u002Fgithub.com\u002Fhuman-plus-machine\u002Fmonkeybot\u002Fblob\u002Fdevelop\u002Fregression\u002Ffixtures\u002Fskills\u002Fplain\u002FSKILL.md",[],[91],{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":101,"publishedAt":40},"01M71R60VVZE567ZPHWTFHM58S","diagnostics","Inspect a failing run and report the first error.","https:\u002F\u002Fgithub.com\u002Fhuman-plus-machine\u002Fmonkeybot\u002Fblob\u002Fdevelop\u002Fregression\u002Ffixtures\u002Fskills\u002Fdiagnostics\u002FSKILL.md",[],[97,102,103,104,105,106,107],"error","first","run","inspect","report","failing",{"skillNo":109,"name":110,"nameZh":6,"description":111,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":112,"categories":113,"keywords":114,"publishedAt":40},"01M71R5Z5JTN6H8NSDE755H9TB","nested","Nested skills must not be discovered.","https:\u002F\u002Fgithub.com\u002Fhuman-plus-machine\u002Fmonkeybot\u002Fblob\u002Fdevelop\u002Fregression\u002Ffixtures\u002Fskills\u002Fa\u002Fnested\u002FSKILL.md",[],[110],{"skillNo":116,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":120,"publishedAt":40},"01M71R5XACZGNRRQ7DH1CA170Y","https:\u002F\u002Fgithub.com\u002Fhuman-plus-machine\u002Fmonkeybot\u002Fblob\u002Fdevelop\u002Fexamples\u002Fskills\u002Fimage-generator\u002FSKILL.md",[119],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[24,25,26,38,35,39,27,37,28,29,30,31,32,33,34,36],{"skillNo":122,"name":97,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":40},"01M71R5VJ9QHZT480VSWGP6B37","Run deployment health checks (env, runtime, computation) and return JSON status.","https:\u002F\u002Fgithub.com\u002Fhuman-plus-machine\u002Fmonkeybot\u002Fblob\u002Fdevelop\u002Fexamples\u002Fskills\u002Fdiagnostics\u002FSKILL.md",[],[97,127,128,104,129,130,131,132,133],"health","runtime","computation","json","deployment","status","env"]