[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ACNBFQ0SFYG4X0659TYAD2":3,"skill-same:01M6ACNBFQ0SFYG4X0659TYAD2":106},{"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":42,"linkOnly":43,"markdownContent":44,"markdownBody":45,"frontMatter":46,"refName":47,"commitSha":48,"skillDirectory":49,"forksCount":50,"repositoryHtmlUrl":51,"repositoryHomepageUrl":52,"ownerHtmlUrl":53,"ownerBlogUrl":54,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M6ACNBFQ0SFYG4X0659TYAD2","nano-banana-pro",null,"Generate\u002Fedit images with Nano Banana Pro (Gemini 3 Pro Image). Use for image create\u002Fmodify requests incl. edits. Supports text-to-image + image-to-image; 1K\u002F2K\u002F4K; use --input-image.","apache\u002Fflink-agents","apache","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F47359?v=4","01M6AC83E6K4FDKK7HZ8WNMQKE","The Apache Software Foundation","01M6ACMQN2908QRD3SPZJV84FW",490,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fapache\u002Fflink-agents\u002Fblob\u002Fmain\u002Fpython\u002Fflink_agents\u002Fruntime\u002Fskill\u002Ftests\u002Fresources\u002Fskills\u002Fnano-banana-pro\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,40,41],"nano","nano banana pro","pro","banana","nano banana","images","for","requests","with","input","image","use","edit","text","Text-to-Image","generate","create","gemini","2026-11-10 10:12:30",false,"---\nname: nano-banana-pro\ndescription: Generate\u002Fedit images with Nano Banana Pro (Gemini 3 Pro Image). Use for image create\u002Fmodify requests incl. edits. Supports text-to-image + image-to-image; 1K\u002F2K\u002F4K; use --input-image.\n---\n\n# Nano Banana Pro Image Generation & Editing\n\nGenerate new images or edit existing ones using Google's Nano Banana Pro API (Gemini 3 Pro Image).\n\n## Usage\n\nRun the script using absolute path (do NOT cd to skill directory first):\n\n**Generate new image:**\n```bash\nuv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"your image description\" --filename \"output-name.png\" [--resolution 1K|2K|4K] [--api-key KEY]\n```\n\n**Edit existing image:**\n```bash\nuv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"editing instructions\" --filename \"output-name.png\" --input-image \"path\u002Fto\u002Finput.png\" [--resolution 1K|2K|4K] [--api-key KEY]\n```\n\n**Important:** Always run from the user's current working directory so images are saved where the user is working, not in the skill directory.\n\n## Default Workflow (draft → iterate → final)\n\nGoal: fast iteration without burning time on 4K until the prompt is correct.\n\n- Draft (1K): quick feedback loop\n  - `uv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"\u003Cdraft prompt>\" --filename \"yyyy-mm-dd-hh-mm-ss-draft.png\" --resolution 1K`\n- Iterate: adjust prompt in small diffs; keep filename new per run\n  - If editing: keep the same `--input-image` for every iteration until you’re happy.\n- Final (4K): only when prompt is locked\n  - `uv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"\u003Cfinal prompt>\" --filename \"yyyy-mm-dd-hh-mm-ss-final.png\" --resolution 4K`\n\n## Resolution Options\n\nThe Gemini 3 Pro Image API supports three resolutions (uppercase K required):\n\n- **1K** (default) - ~1024px resolution\n- **2K** - ~2048px resolution\n- **4K** - ~4096px resolution\n\nMap user requests to API parameters:\n- No mention of resolution → `1K`\n- \"low resolution\", \"1080\", \"1080p\", \"1K\" → `1K`\n- \"2K\", \"2048\", \"normal\", \"medium resolution\" → `2K`\n- \"high resolution\", \"high-res\", \"hi-res\", \"4K\", \"ultra\" → `4K`\n\n## API Key\n\nThe script checks for API key in this order:\n1. `--api-key` argument (use if user provided key in chat)\n2. `GEMINI_API_KEY` environment variable\n\nIf neither is available, the script exits with an error message.\n\n## Preflight + Common Failures (fast fixes)\n\n- Preflight:\n  - `command -v uv` (must exist)\n  - `test -n \\\"$GEMINI_API_KEY\\\"` (or pass `--api-key`)\n  - If editing: `test -f \\\"path\u002Fto\u002Finput.png\\\"`\n\n- Common failures:\n  - `Error: No API key provided.` → set `GEMINI_API_KEY` or pass `--api-key`\n  - `Error loading input image:` → wrong path \u002F unreadable file; verify `--input-image` points to a real image\n  - “quota\u002Fpermission\u002F403” style API errors → wrong key, no access, or quota exceeded; try a different key\u002Faccount\n\n## Filename Generation\n\nGenerate filenames with the pattern: `yyyy-mm-dd-hh-mm-ss-name.png`\n\n**Format:** `{timestamp}-{descriptive-name}.png`\n- Timestamp: Current date\u002Ftime in format `yyyy-mm-dd-hh-mm-ss` (24-hour format)\n- Name: Descriptive lowercase text with hyphens\n- Keep the descriptive part concise (1-5 words typically)\n- Use context from user's prompt or conversation\n- If unclear, use random identifier (e.g., `x9k2`, `a7b3`)\n\nExamples:\n- Prompt \"A serene Japanese garden\" → `2025-11-23-14-23-05-japanese-garden.png`\n- Prompt \"sunset over mountains\" → `2025-11-23-15-30-12-sunset-mountains.png`\n- Prompt \"create an image of a robot\" → `2025-11-23-16-45-33-robot.png`\n- Unclear context → `2025-11-23-17-12-48-x9k2.png`\n\n## Image Editing\n\nWhen the user wants to modify an existing image:\n1. Check if they provide an image path or reference an image in the current directory\n2. Use `--input-image` parameter with the path to the image\n3. The prompt should contain editing instructions (e.g., \"make the sky more dramatic\", \"remove the person\", \"change to cartoon style\")\n4. Common editing tasks: add\u002Fremove elements, change style, adjust colors, blur background, etc.\n\n## Prompt Handling\n\n**For generation:** Pass user's image description as-is to `--prompt`. Only rework if clearly insufficient.\n\n**For editing:** Pass editing instructions in `--prompt` (e.g., \"add a rainbow in the sky\", \"make it look like a watercolor painting\")\n\nPreserve user's creative intent in both cases.\n\n## Prompt Templates (high hit-rate)\n\nUse templates when the user is vague or when edits must be precise.\n\n- Generation template:\n  - “Create an image of: \u003Csubject>. Style: \u003Cstyle>. Composition: \u003Ccamera\u002Fshot>. Lighting: \u003Clighting>. Background: \u003Cbackground>. Color palette: \u003Cpalette>. Avoid: \u003Clist>.”\n\n- Editing template (preserve everything else):\n  - “Change ONLY: \u003Csingle change>. Keep identical: subject, composition\u002Fcrop, pose, lighting, color palette, background, text, and overall style. Do not add new objects. If text exists, keep it unchanged.”\n\n## Output\n\n- Saves PNG to current directory (or specified path if filename includes directory)\n- Script outputs the full path to the generated image\n- **Do not read the image back** - just inform the user of the saved path\n\n## Examples\n\n**Generate new image:**\n```bash\nuv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"A serene Japanese garden with cherry blossoms\" --filename \"2025-11-23-14-23-05-japanese-garden.png\" --resolution 4K\n```\n\n**Edit existing image:**\n```bash\nuv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"make the sky more dramatic with storm clouds\" --filename \"2025-11-23-14-25-30-dramatic-sky.png\" --input-image \"original-photo.jpg\" --resolution 2K\n```\n","# Nano Banana Pro Image Generation & Editing\n\nGenerate new images or edit existing ones using Google's Nano Banana Pro API (Gemini 3 Pro Image).\n\n## Usage\n\nRun the script using absolute path (do NOT cd to skill directory first):\n\n**Generate new image:**\n```bash\nuv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"your image description\" --filename \"output-name.png\" [--resolution 1K|2K|4K] [--api-key KEY]\n```\n\n**Edit existing image:**\n```bash\nuv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"editing instructions\" --filename \"output-name.png\" --input-image \"path\u002Fto\u002Finput.png\" [--resolution 1K|2K|4K] [--api-key KEY]\n```\n\n**Important:** Always run from the user's current working directory so images are saved where the user is working, not in the skill directory.\n\n## Default Workflow (draft → iterate → final)\n\nGoal: fast iteration without burning time on 4K until the prompt is correct.\n\n- Draft (1K): quick feedback loop\n  - `uv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"\u003Cdraft prompt>\" --filename \"yyyy-mm-dd-hh-mm-ss-draft.png\" --resolution 1K`\n- Iterate: adjust prompt in small diffs; keep filename new per run\n  - If editing: keep the same `--input-image` for every iteration until you’re happy.\n- Final (4K): only when prompt is locked\n  - `uv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"\u003Cfinal prompt>\" --filename \"yyyy-mm-dd-hh-mm-ss-final.png\" --resolution 4K`\n\n## Resolution Options\n\nThe Gemini 3 Pro Image API supports three resolutions (uppercase K required):\n\n- **1K** (default) - ~1024px resolution\n- **2K** - ~2048px resolution\n- **4K** - ~4096px resolution\n\nMap user requests to API parameters:\n- No mention of resolution → `1K`\n- \"low resolution\", \"1080\", \"1080p\", \"1K\" → `1K`\n- \"2K\", \"2048\", \"normal\", \"medium resolution\" → `2K`\n- \"high resolution\", \"high-res\", \"hi-res\", \"4K\", \"ultra\" → `4K`\n\n## API Key\n\nThe script checks for API key in this order:\n1. `--api-key` argument (use if user provided key in chat)\n2. `GEMINI_API_KEY` environment variable\n\nIf neither is available, the script exits with an error message.\n\n## Preflight + Common Failures (fast fixes)\n\n- Preflight:\n  - `command -v uv` (must exist)\n  - `test -n \\\"$GEMINI_API_KEY\\\"` (or pass `--api-key`)\n  - If editing: `test -f \\\"path\u002Fto\u002Finput.png\\\"`\n\n- Common failures:\n  - `Error: No API key provided.` → set `GEMINI_API_KEY` or pass `--api-key`\n  - `Error loading input image:` → wrong path \u002F unreadable file; verify `--input-image` points to a real image\n  - “quota\u002Fpermission\u002F403” style API errors → wrong key, no access, or quota exceeded; try a different key\u002Faccount\n\n## Filename Generation\n\nGenerate filenames with the pattern: `yyyy-mm-dd-hh-mm-ss-name.png`\n\n**Format:** `{timestamp}-{descriptive-name}.png`\n- Timestamp: Current date\u002Ftime in format `yyyy-mm-dd-hh-mm-ss` (24-hour format)\n- Name: Descriptive lowercase text with hyphens\n- Keep the descriptive part concise (1-5 words typically)\n- Use context from user's prompt or conversation\n- If unclear, use random identifier (e.g., `x9k2`, `a7b3`)\n\nExamples:\n- Prompt \"A serene Japanese garden\" → `2025-11-23-14-23-05-japanese-garden.png`\n- Prompt \"sunset over mountains\" → `2025-11-23-15-30-12-sunset-mountains.png`\n- Prompt \"create an image of a robot\" → `2025-11-23-16-45-33-robot.png`\n- Unclear context → `2025-11-23-17-12-48-x9k2.png`\n\n## Image Editing\n\nWhen the user wants to modify an existing image:\n1. Check if they provide an image path or reference an image in the current directory\n2. Use `--input-image` parameter with the path to the image\n3. The prompt should contain editing instructions (e.g., \"make the sky more dramatic\", \"remove the person\", \"change to cartoon style\")\n4. Common editing tasks: add\u002Fremove elements, change style, adjust colors, blur background, etc.\n\n## Prompt Handling\n\n**For generation:** Pass user's image description as-is to `--prompt`. Only rework if clearly insufficient.\n\n**For editing:** Pass editing instructions in `--prompt` (e.g., \"add a rainbow in the sky\", \"make it look like a watercolor painting\")\n\nPreserve user's creative intent in both cases.\n\n## Prompt Templates (high hit-rate)\n\nUse templates when the user is vague or when edits must be precise.\n\n- Generation template:\n  - “Create an image of: \u003Csubject>. Style: \u003Cstyle>. Composition: \u003Ccamera\u002Fshot>. Lighting: \u003Clighting>. Background: \u003Cbackground>. Color palette: \u003Cpalette>. Avoid: \u003Clist>.”\n\n- Editing template (preserve everything else):\n  - “Change ONLY: \u003Csingle change>. Keep identical: subject, composition\u002Fcrop, pose, lighting, color palette, background, text, and overall style. Do not add new objects. If text exists, keep it unchanged.”\n\n## Output\n\n- Saves PNG to current directory (or specified path if filename includes directory)\n- Script outputs the full path to the generated image\n- **Do not read the image back** - just inform the user of the saved path\n\n## Examples\n\n**Generate new image:**\n```bash\nuv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"A serene Japanese garden with cherry blossoms\" --filename \"2025-11-23-14-23-05-japanese-garden.png\" --resolution 4K\n```\n\n**Edit existing image:**\n```bash\nuv run ~\u002F.codex\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py --prompt \"make the sky more dramatic with storm clouds\" --filename \"2025-11-23-14-25-30-dramatic-sky.png\" --input-image \"original-photo.jpg\" --resolution 2K\n```\n",{"name":5,"description":7},"main","720a4ece4e4224f89bac799681c6f8cd1e9ab081","python\u002Fflink_agents\u002Fruntime\u002Fskill\u002Ftests\u002Fresources\u002Fskills\u002Fnano-banana-pro",182,"https:\u002F\u002Fgithub.com\u002Fapache\u002Fflink-agents","https:\u002F\u002Fnightlies.apache.org\u002Fflink\u002Fflink-agents-docs-main\u002F","https:\u002F\u002Fgithub.com\u002Fapache","https:\u002F\u002Fwww.apache.org\u002F","2026-11-11 11:44:05",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add apache\u002Fflink-agents --skill nano-banana-pro",{"tool":62,"command":63},"bunx","bunx skills add apache\u002Fflink-agents --skill nano-banana-pro",{"tool":65,"command":66},"pnpm","pnpm dlx skills add apache\u002Fflink-agents --skill nano-banana-pro","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fapache\u002Fflink-agents\u002Fblob\u002Fmain\u002Fpython\u002Fflink_agents\u002Fruntime\u002Fskill\u002Ftests\u002Fresources\u002Fskills\u002Fnano-banana-pro\u002FSKILL.md",true,[70,76,80,84,88,92,96,102],{"path":71,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":74,"sourceHtmlUrl":75},"_meta.json","REFERENCE","参考文档",134,"https:\u002F\u002Fgithub.com\u002Fapache\u002Fflink-agents\u002Fblob\u002Fmain\u002Fpython\u002Fflink_agents\u002Fruntime\u002Fskill\u002Ftests\u002Fresources\u002Fskills\u002Fnano-banana-pro\u002F_meta.json",{"path":77,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":78,"sourceHtmlUrl":79},"agents\u002Fopenai.yaml",43,"https:\u002F\u002Fgithub.com\u002Ffmal\u002Fdotfiles\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fokf-open-knowledge-format\u002Fagents\u002Fopenai.yaml",{"path":81,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fconversion.md",4230,"https:\u002F\u002Fgithub.com\u002Ffmal\u002Fdotfiles\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fokf-open-knowledge-format\u002Freferences\u002Fconversion.md",{"path":85,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fexamples.md",15780,"https:\u002F\u002Fgithub.com\u002Ffmal\u002Fdotfiles\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fokf-open-knowledge-format\u002Freferences\u002Fexamples.md",{"path":89,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fspec-v01.md",15046,"https:\u002F\u002Fgithub.com\u002Ffmal\u002Fdotfiles\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fokf-open-knowledge-format\u002Freferences\u002Fspec-v01.md",{"path":93,"resourceType":72,"resourceTypeDesc":73,"sizeBytes":94,"sourceHtmlUrl":95},"references\u002Fspec-v02.md",37743,"https:\u002F\u002Fgithub.com\u002Ffmal\u002Fdotfiles\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fokf-open-knowledge-format\u002Freferences\u002Fspec-v02.md",{"path":97,"resourceType":98,"resourceTypeDesc":99,"sizeBytes":100,"sourceHtmlUrl":101},"scripts\u002Fgenerate_image.py","SCRIPT","脚本",5609,"https:\u002F\u002Fgithub.com\u002Fapache\u002Fflink-agents\u002Fblob\u002Fmain\u002Fpython\u002Fflink_agents\u002Fruntime\u002Fskill\u002Ftests\u002Fresources\u002Fskills\u002Fnano-banana-pro\u002Fscripts\u002Fgenerate_image.py",{"path":103,"resourceType":98,"resourceTypeDesc":99,"sizeBytes":104,"sourceHtmlUrl":105},"scripts\u002Fvalidate.sh",8539,"https:\u002F\u002Fgithub.com\u002Ffmal\u002Fdotfiles\u002Fblob\u002Fmaster\u002F.agents\u002Fskills\u002Fokf-open-knowledge-format\u002Fscripts\u002Fvalidate.sh",[107,113,133,138,156,164],{"skillNo":108,"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":109,"categories":110,"keywords":112,"publishedAt":42},"01M6ACNG65GYAR23Y10N72H5TG","https:\u002F\u002Fgithub.com\u002Fapache\u002Fflink-agents\u002Fblob\u002Fmain\u002Fruntime\u002Fsrc\u002Ftest\u002Fresources\u002Fskills\u002Fnano-banana-pro\u002FSKILL.md",[111],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[25,28,27,26,24,41,38,30,31,32,33,29,35,36,37,39,40,34],{"skillNo":114,"name":115,"nameZh":6,"description":116,"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":119,"publishedAt":42},"01M6ACNE0H7T748XRJ1MKF6WYB","github","Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fflink-agents\u002Fblob\u002Fmain\u002Fruntime\u002Fsrc\u002Ftest\u002Fresources\u002Fskills\u002Fgithub\u002FSKILL.md",[],[115,35,120,121,122,123,124,125,126,127,128,129,130,32,131,30,132],"queries","issue","gh","gh pr","api","ci","gh issue","issues","run","pr","cli","prs","advanced",{"skillNo":134,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":42},"01M6ACN9CR1XZMV15EA9BZWS4P","https:\u002F\u002Fgithub.com\u002Fapache\u002Fflink-agents\u002Fblob\u002Fmain\u002Fpython\u002Fflink_agents\u002Fruntime\u002Fskill\u002Ftests\u002Fresources\u002Fskills\u002Fgithub\u002FSKILL.md",[],[115,131,30,122,127,32,120,121,35,123,124,125,126,132,128,129,130],{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":144,"publishedAt":42},"01M6ACN7RFVP9K0YW1MAM4N52J","math-calculator","Calculate mathematical expressions using shell commands. Use when the user asks to perform arithmetic calculations like addition, subtraction, multiplication, division, or powers.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fflink-agents\u002Fblob\u002Fmain\u002Fpython\u002Fflink_agents\u002Fexamples\u002Fquickstart\u002Fresources\u002Fskills\u002Fmath-calculator\u002FSKILL.md",[],[145,146,147,148,149,150,151,35,152,32,153,154,155],"calculator","math calculator","math","user","calculate","Bash","shell","when","Mathematical","basic","commands",{"skillNo":157,"name":140,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":42},"01M6ACN5V89GSTGZHVAA8WP8ZF","Calculate simple mathematical expressions using shell commands. Use when the user asks to perform arithmetic calculations like addition, subtraction, multiplication, division, or more complex math expressions.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fflink-agents\u002Fblob\u002Fmain\u002Fpython\u002Fflink_agents\u002Fe2e_tests\u002Fresources\u002Fskills\u002Fmath-calculator\u002FSKILL.md",[],[147,145,146,155,152,162,32,153,154,163,35,148,149,150,151],"more","simple",{"skillNo":165,"name":166,"nameZh":6,"description":167,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":168,"categories":169,"keywords":170,"publishedAt":42},"01M6ACN44JM66Q6SZDF5YFP4WW","joke-generator","Tell a joke about cat.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fflink-agents\u002Fblob\u002Fmain\u002Fpython\u002Fflink_agents\u002Fe2e_tests\u002Fresources\u002Fskills\u002Fjoke-generator\u002FSKILL.md",[],[171,172,173,174,175],"joke generator","generator","joke","about","cat"]