#780 by GitHub stars

AgriciDaniel/banana-claude

Plan, generate, edit, compare, and review images with Google Gemini (Nano Banana) image models, with an exact plan and explicit approval before every paid call. Use when the user asks to create or edit an image, picture, photo, illustration, logo, thumbnail, poster, banner, product shot, mockup, cha

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

skills/banana/SKILL.md

Week of Oct 26, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

08e329b37dae → 08e329b37dae

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 08e329b37dae396fc869c10d3494c5950d1d61c2

git clone --filter=blob:none --no-checkout https://github.com/AgriciDaniel/banana-claude.git .hotskills/agricidaniel-banana-claude && git -C .hotskills/agricidaniel-banana-claude checkout --detach 08e329b37dae396fc869c10d3494c5950d1d61c2 # Copy each selected skill directory from .hotskills/agricidaniel-banana-claude into .claude/skills/<skill-name>/
1.2kGitHub stars
31stars in 7 days
1skill in this repository
8commits in 30 days

Heat

7.2
  • Star growth, last 7 daysAhead of 93% of tracked repositories
  • Star growth, last 24 hoursAhead of 96% of tracked repositories
  • Rank movement, last 7 daysAhead of 52% of tracked repositories
  • Commits, last 30 daysAhead of 75% of tracked repositories
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekAhead of 0% of tracked repositories

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Aug 2, 2026Nov 6, 20261,186

Individual skills in this repository

How it works

banana

When your agent uses it

Plan, generate, edit, compare, and review images with Google Gemini (Nano Banana) image models, with an exact plan and explicit approval before every paid call. Use when the user asks to create or edit an image, picture, photo, illustration, logo, thumbnail, poster, banner, product shot, mockup, character sheet, infographic, or diagram; keep a character or product consistent across images; add exact text to an image; or compare image models.

What it loads into context

Frontmatter

152 tokens

Always available to the agent

SKILL.md

3,849 tokens

When the skill is activated

Reference documents

24,958 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Non-negotiable boundaries
  2. Route and disclose progressively
  3. Freeze a visual brief
  4. Route the model
  5. Plan, approve, execute
  6. Presets
  7. Exact copy and trusted assets
  8. Grounding, provenance, and review
  9. Agent authority
  10. Direct utilities

Scripts executed separately

  • scripts/approval_store.py
  • scripts/banana_core.py
  • scripts/batch.py
  • scripts/cost_tracker.py
  • scripts/doctor.py
  • scripts/edit.py
  • scripts/generate.py
  • scripts/legacy_cleanup.py
  • scripts/mcp_server.py
  • scripts/portfolio.py
  • scripts/presets.py
  • scripts/typeset.py

Files

  • ../../.claude-plugin/marketplace.jsonasset856 bytes
  • ../../.claude-plugin/marketplace.jsonasset856 bytes
  • ../../.claude-plugin/plugin.jsonasset1,067 bytes
  • ../../.claude-plugin/plugin.jsonasset1,067 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • SKILL.mdcore17,777 bytes
  • references/cost-tracking.mddoc13,521 bytes
  • references/gemini-models.mddoc18,969 bytes
  • references/mcp-tools.mddoc22,827 bytes
  • references/models.jsonasset29,950 bytes
  • references/post-processing.mddoc19,164 bytes
  • references/presets.mddoc9,090 bytes
  • references/prompt-engineering.mddoc20,664 bytes
  • references/review-and-recovery.mddoc8,617 bytes
  • scripts/approval_store.pyruns23,161 bytes
  • scripts/banana_core.pyruns188,254 bytes
  • scripts/batch.pyruns5,643 bytes
  • scripts/cost_tracker.pyruns120,485 bytes
  • scripts/doctor.pyruns5,658 bytes
  • scripts/edit.pyruns4,780 bytes
  • scripts/generate.pyruns5,804 bytes
  • scripts/legacy_cleanup.pyruns95,597 bytes
  • scripts/mcp_server.pyruns43,979 bytes
  • scripts/portfolio.pyruns21,424 bytes
  • scripts/presets.pyruns131,192 bytes
  • scripts/typeset.pyruns24,482 bytes
Read SKILL.md

# Banana Claude

Turn user intent into a frozen visual brief, compile the exact prompt, plan the
request, obtain approval, execute through the bundled Gemini client, and inspect
the actual pixels. The prompt is a control artifact, not the finished work.

Plugin command: /banana-claude:banana. The standalone install uses /banana and
the direct scripts, without plugin MCP or plugin-managed secrets.

## Non-negotiable boundaries

- Planning, prompt work, model inspection, and cost estimation do not call
  Google. Planning does write a short-lived approval capability to private
  local state.
View the complete source on GitHub

Skills included

  • banana

Repository facts

License
MIT
Created
Mar 13, 2026
Last pushed
Nov 1, 2026
Forks
264
Open issues
1
Project activity
Active

Rank over the last 12 weeks

Now #780 · best #578 · down 119 in 30 days

  1. #774 on Oct 30
  2. #776 from Oct 31 to Nov 1
  3. #777 on Nov 2
  4. #783 on Nov 3
  5. #782 on Nov 4
  6. #780 since Nov 5
74 earlier periods
  1. #574 on Aug 2
  2. #565 on Aug 7
  3. #560 on Aug 8
  4. #564 on Aug 9
  5. #590 on Aug 10
  6. #593 on Aug 11
  7. #591 on Aug 12
  8. #595 on Aug 13
  9. #594 on Aug 14
  10. #578 on Aug 15
  11. #593 on Aug 16
  12. #600 on Aug 17
  13. #610 on Aug 18
  14. #597 on Aug 19
  15. #599 on Aug 20
  16. #605 on Aug 21
  17. #580 on Aug 22
  18. #609 on Aug 23
  19. #612 on Aug 24
  20. #622 on Aug 25
  21. #609 on Aug 26
  22. #616 on Aug 27
  23. #629 on Aug 28
  24. #585 on Aug 29
  25. #580 on Aug 30
  26. #602 on Aug 31
  27. #617 on Sep 1
  28. #610 on Sep 3
  29. #590 on Sep 4
  30. #588 on Sep 5
  31. #609 on Sep 7
  32. #626 on Sep 8
  33. #612 on Sep 9
  34. #620 on Sep 10
  35. #603 on Sep 11
  36. #607 on Sep 12
  37. #606 on Sep 13
  38. #630 on Sep 14
  39. #624 on Sep 15
  40. #630 on Sep 17
  41. #631 on Sep 18
  42. #611 on Sep 19
  43. #652 on Sep 22
  44. #651 on Sep 23
  45. #625 on Sep 24
  46. #618 on Sep 25
  47. #616 on Sep 26
  48. #639 on Sep 27
  49. #683 on Sep 29
  50. #663 on Sep 30
  51. #641 on Oct 2
  52. #619 on Oct 3
  53. #642 on Oct 4
  54. #648 on Oct 5
  55. #656 on Oct 6
  56. #661 on Oct 7
  57. #697 on Oct 8
  58. #676 on Oct 9
  59. #662 on Oct 10
  60. #657 on Oct 11
  61. #676 on Oct 12
  62. #672 on Oct 13
  63. #685 on Oct 14
  64. #675 on Oct 15
  65. #685 on Oct 16
  66. #666 on Oct 17
  67. #694 on Oct 19
  68. #701 on Oct 20
  69. #705 on Oct 21
  70. #686 from Oct 22 to Oct 23
  71. #659 on Oct 24
  72. #764 on Oct 25
  73. #776 on Oct 28
  74. #775 on Oct 29

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 3, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 19 notes
  • .claude-plugin/marketplace.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .claude-plugin/plugin.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/banana/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 203 signals by file

.claude-plugin/marketplace.json

  • Network accessline 13
    "defaultEnabled": false,       "description": "Brief-led image generation, editing, review, and bounded multi-model orchestration with current Gemini image models. Requires Claude Code 2.1.199+, Python 3.11+ with python3 on PATH, and Linux,
  • Network accessline 14
    "description": "Brief-led image generation, editing, review, and bounded multi-model orchestration with current Gemini image models. Requires Claude Code 2.1.199+, Python 3.11+ with python3 on PATH, and Linux, macOS, or WSL for generation."
  • Network accessline 15
    "homepage": "https://github.com/AgriciDaniel/banana-claude",
  • Network accessline 16
    "repository": "https://github.com/AgriciDaniel/banana-claude",

.claude-plugin/plugin.json

  • Network accessline 7
    "author": {     "name": "AgriciDaniel",     "url": "https://github.com/AgriciDaniel"
  • Network accessline 8
    "name": "AgriciDaniel",     "url": "https://github.com/AgriciDaniel"   },
  • Network accessline 9
    "url": "https://github.com/AgriciDaniel"
  • Network accessline 10
    },   "homepage": "https://github.com/AgriciDaniel/banana-claude",   "repository": "https://github.com/AgriciDaniel/banana-claude",
  • Network accessline 11
    "homepage": "https://github.com/AgriciDaniel/banana-claude",
  • Network accessline 12
    "repository": "https://github.com/AgriciDaniel/banana-claude",
  • Access to secretsline 25
    [Credential-related source omitted]

skills/banana/SKILL.md

  • Access to secretsline 31
    [Credential-related source omitted]

skills/banana/references/cost-tracking.md

  • Network accessline 6
    - pricing: https://ai.google.dev/gemini-api/docs/pricing
  • Network accessline 7
    - billing and spend caps: https://ai.google.dev/gemini-api/docs/billing#spend-caps
  • Network accessline 8
    - Interactions storage: https://ai.google.dev/gemini-api/docs/interactions-overview
  • Network accessline 9
    - retention controls: https://ai.google.dev/gemini-api/docs/zdr
  • Network accessline 10
    - Gemini API terms: https://ai.google.dev/gemini-api/terms

skills/banana/references/gemini-models.md

  • Network accessline 10
    - <https://ai.google.dev/gemini-api/docs/image-generation>
  • Network accessline 11
    - <https://ai.google.dev/gemini-api/docs/generate-content/image-generation>
  • Network accessline 12
    - <https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1>
  • Network accessline 13
    - <https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite-image>
  • Network accessline 14
    - <https://ai.google.dev/gemini-api/docs/models/gemini-3-pro-image>
  • Network accessline 15
    - <https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-image>
  • Network accessline 16
    - <https://ai.google.dev/gemini-api/docs/pricing>
  • Network accessline 17
    - <https://ai.google.dev/gemini-api/docs/changelog>
  • Network accessline 18
    - <https://ai.google.dev/gemini-api/docs/deprecations>
  • Network accessline 19
    - <https://ai.google.dev/gemini-api/docs/interactions-overview>
  • Network accessline 20
    - <https://ai.google.dev/gemini-api/docs/zdr>
  • Network accessline 21
    - <https://ai.google.dev/api/interactions-api>
  • Network accessline 22
    - <https://ai.google.dev/api/generate-content>
  • Network accessline 23
    - <https://ai.google.dev/gemini-api/terms>
  • Network accessline 185
    POST https://generativelanguage.googleapis.com/v1beta/interactions
  • Access to secretsline 186
    [Credential-related source omitted]
  • Network accessline 248
    POST https://generativelanguage.googleapis.com/v1/models/gemini-3.1-flash-lite-image:generateContent
  • Access to secretsline 249
    [Credential-related source omitted]
  • Network accessline 325
    such as `output_tokens_by_modality`. Field names follow the Interactions   `Usage` and generateContent `UsageMetadata` references   (<https://ai.google.dev/api/interactions>,
  • Network accessline 326
    `Usage` and generateContent `UsageMetadata` references   (<https://ai.google.dev/api/interactions>,   <https://ai.google.dev/api/generate-content#UsageMetadata>). Banana does not
  • Network accessline 327
    (<https://ai.google.dev/api/interactions>,
  • Network accessline 328
    <https://ai.google.dev/api/generate-content#UsageMetadata>). Banana does not

skills/banana/references/mcp-tools.md

  • Access to secretsline 5
    [Credential-related source omitted]
  • Access to secretsline 6
    [Credential-related source omitted]
  • Access to secretsline 268
    [Credential-related source omitted]

skills/banana/references/models.json

  • Network accessline 13
    "evidence_type": "official_documentation",         "source_urls": [           "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 14
    "source_urls": [           "https://ai.google.dev/gemini-api/docs/image-generation",           "https://ai.google.dev/gemini-api/docs/changelog",
  • Network accessline 15
    "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 16
    "https://ai.google.dev/gemini-api/docs/changelog",
  • Network accessline 17
    "https://ai.google.dev/gemini-api/docs/deprecations",
  • Network accessline 18
    "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1",
  • Network accessline 19
    "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite-image",
  • Network accessline 20
    "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-image",
  • Network accessline 21
    "https://ai.google.dev/gemini-api/docs/models/gemini-3-pro-image"
  • Network accessline 32
    "evidence_type": "official_documentation",         "source_urls": [           "https://ai.google.dev/gemini-api/docs/pricing",
  • Network accessline 33
    "source_urls": [           "https://ai.google.dev/gemini-api/docs/pricing",           "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1"
  • Network accessline 34
    "https://ai.google.dev/gemini-api/docs/pricing",
  • Network accessline 35
    "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1"
  • Network accessline 46
    "evidence_type": "official_documentation",         "source_urls": [           "https://ai.google.dev/gemini-api/docs/deprecations",
  • Network accessline 47
    "source_urls": [           "https://ai.google.dev/gemini-api/docs/deprecations",           "https://ai.google.dev/gemini-api/docs/pricing"
  • Network accessline 48
    "https://ai.google.dev/gemini-api/docs/deprecations",
  • Network accessline 49
    "https://ai.google.dev/gemini-api/docs/pricing"
  • Network accessline 60
    "evidence_type": "official_documentation",         "source_urls": [           "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1",
  • Network accessline 61
    "source_urls": [           "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1",           "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 62
    "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1",
  • Network accessline 63
    "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 64
    "https://ai.google.dev/gemini-api/docs/changelog"
  • Network accessline 75
    "evidence_type": "official_documentation",         "source_urls": [           "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1",
  • Network accessline 76
    "source_urls": [           "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1",           "https://ai.google.dev/gemini-api/docs/image-generation"
  • Network accessline 77
    "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1",
  • Network accessline 78
    "https://ai.google.dev/gemini-api/docs/image-generation"
  • Network accessline 89
    "evidence_type": "official_documentation",         "source_urls": [           "https://ai.google.dev/gemini-api/docs/interactions-overview",
  • Network accessline 90
    "source_urls": [           "https://ai.google.dev/gemini-api/docs/interactions-overview",           "https://ai.google.dev/gemini-api/docs/zdr"
  • Network accessline 91
    "https://ai.google.dev/gemini-api/docs/interactions-overview",
  • Network accessline 92
    "https://ai.google.dev/gemini-api/docs/zdr"
  • Network accessline 102
    "claim": "Google retains Search-grounded request and response data for 30 days independently of store false.",         "evidence_type": "official_documentation",         "source_urls": ["https://ai.google.dev/gemini-api/docs/zdr", "https://
  • Network accessline 103
    "evidence_type": "official_documentation",         "source_urls": ["https://ai.google.dev/gemini-api/docs/zdr", "https://ai.google.dev/gemini-api/terms"],         "retrieved_on": "2026-10-20",
  • Network accessline 104
    "source_urls": ["https://ai.google.dev/gemini-api/docs/zdr", "https://ai.google.dev/gemini-api/terms"],
  • Network accessline 114
    "evidence_type": "official_documentation",         "source_urls": [           "https://ai.google.dev/api/interactions-api",
  • Network accessline 115
    "source_urls": [           "https://ai.google.dev/api/interactions-api",           "https://ai.google.dev/gemini-api/docs/image-generation"
  • Network accessline 116
    "https://ai.google.dev/api/interactions-api",
  • Network accessline 117
    "https://ai.google.dev/gemini-api/docs/image-generation"
  • Network accessline 127
    "claim": "The current generateContent ImageResponseFormat enum exposes IMAGE_JPEG as the selectable image output MIME. Stale: the reference section could not be read in full on 2026-10-20.",         "evidence_type": "official_documentation"
  • Network accessline 128
    "evidence_type": "official_documentation",         "source_urls": ["https://ai.google.dev/api/generate-content"],         "retrieved_on": "2026-08-29",
  • Network accessline 129
    "source_urls": ["https://ai.google.dev/api/generate-content"],
  • Network accessline 139
    "evidence_type": "official_documentation",         "source_urls": [           "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 140
    "source_urls": [           "https://ai.google.dev/gemini-api/docs/image-generation",           "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite-image",
  • Network accessline 141
    "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 142
    "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite-image",
  • Network accessline 143
    "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-image",
  • Network accessline 144
    "https://ai.google.dev/gemini-api/docs/models/gemini-3-pro-image"
  • Network accessline 155
    "evidence_type": "official_documentation",         "source_urls": [           "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 156
    "source_urls": [           "https://ai.google.dev/gemini-api/docs/image-generation",           "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite-image",
  • Network accessline 157
    "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 158
    "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite-image",
  • Network accessline 159
    "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-image",
  • Network accessline 160
    "https://ai.google.dev/gemini-api/docs/models/gemini-3-pro-image",
  • Network accessline 161
    "https://ai.google.dev/gemini-api/docs/thinking",
  • Network accessline 162
    "https://ai.google.dev/gemini-api/docs/interactions-overview",
  • Network accessline 163
    "https://ai.google.dev/gemini-api/docs/changelog"
  • Network accessline 174
    "evidence_type": "official_documentation",         "source_urls": [           "https://ai.google.dev/api/interactions-api",
  • Network accessline 175
    "source_urls": [           "https://ai.google.dev/api/interactions-api",           "https://ai.google.dev/api/generate-content",
  • Network accessline 176
    "https://ai.google.dev/api/interactions-api",
  • Network accessline 177
    "https://ai.google.dev/api/generate-content",
  • Network accessline 178
    "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1",
  • Network accessline 179
    "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite-image",
  • Network accessline 180
    "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-image",
  • Network accessline 181
    "https://ai.google.dev/gemini-api/docs/models/gemini-3-pro-image"
  • Network accessline 191
    "claim": "A local redacted Interactions probe using gemini-3-pro-image reportedly rejected image/png and named image/jpeg as the supported value. It did not directly test gemini-3.1-flash-image or gemini-nano-banana-2.1. Stale: not re-run s
  • Network accessline 192
    "evidence_type": "reported_redacted_live_probe",         "source_urls": ["https://ai.google.dev/api/interactions-api"],         "retrieved_on": "2026-08-28",
  • Network accessline 193
    "source_urls": ["https://ai.google.dev/api/interactions-api"],
  • Network accessline 202
    "claim": "A local redacted Flash Lite probe reportedly accepted typed JPEG, 1:1, and 1K enums and returned a 1024 by 1024 JPEG. Stale: not re-run since 2026-08-28.",         "evidence_type": "reported_redacted_live_probe",         "source_u
  • Network accessline 203
    "evidence_type": "reported_redacted_live_probe",         "source_urls": ["https://ai.google.dev/api/generate-content"],         "retrieved_on": "2026-08-28",
  • Network accessline 204
    "source_urls": ["https://ai.google.dev/api/generate-content"],
  • Network accessline 214
    "evidence_type": "official_documentation",         "source_urls": [           "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 215
    "source_urls": [           "https://ai.google.dev/gemini-api/docs/image-generation",           "https://ai.google.dev/gemini-api/docs/generate-content/image-generation",
  • Network accessline 216
    "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 217
    "https://ai.google.dev/gemini-api/docs/generate-content/image-generation",
  • Network accessline 218
    "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite-image",
  • Network accessline 219
    "https://ai.google.dev/gemini-api/docs/changelog"
  • Network accessline 255
    "api_profiles": {     "interactions": {       "url": "https://generativelanguage.googleapis.com/v1beta/interactions",
  • Network accessline 256
    "interactions": {       "url": "https://generativelanguage.googleapis.com/v1beta/interactions",       "supported_models": ["gemini-nano-banana-2.1", "gemini-3-pro-image", "gemini-3.1-flash-image"],
  • Network accessline 257
    "url": "https://generativelanguage.googleapis.com/v1beta/interactions",
  • Network accessline 278
    },     "generate_content": {       "url_template": "https://generativelanguage.googleapis.com/v1/models/{model}:generateContent",
  • Network accessline 279
    "generate_content": {       "url_template": "https://generativelanguage.googleapis.com/v1/models/{model}:generateContent",       "supported_models": ["gemini-3.1-flash-lite-image"],
  • Network accessline 280
    "url_template": "https://generativelanguage.googleapis.com/v1/models/{model}:generateContent",
  • Network accessline 345
    "portfolio_limit": 9,   "sources": [     "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 346
    "sources": [     "https://ai.google.dev/gemini-api/docs/image-generation",     "https://ai.google.dev/gemini-api/docs/generate-content/image-generation",
  • Network accessline 347
    "https://ai.google.dev/gemini-api/docs/image-generation",
  • Network accessline 348
    "https://ai.google.dev/gemini-api/docs/generate-content/image-generation",
  • Network accessline 349
    "https://ai.google.dev/gemini-api/docs/models/gemini-nano-banana-2.1",
  • Network accessline 350
    "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-lite-image",
  • Network accessline 351
    "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-flash-image",
  • Network accessline 352
    "https://ai.google.dev/gemini-api/docs/models/gemini-3-pro-image",
  • Network accessline 353
    "https://ai.google.dev/gemini-api/docs/pricing",
  • Network accessline 354
    "https://ai.google.dev/gemini-api/docs/billing#spend-caps",
  • Network accessline 355
    "https://ai.google.dev/gemini-api/docs/changelog",
  • Network accessline 356
    "https://ai.google.dev/gemini-api/docs/deprecations",
  • Network accessline 357
    "https://ai.google.dev/gemini-api/docs/thinking",
  • Network accessline 358
    "https://ai.google.dev/gemini-api/docs/interactions-overview",
  • Network accessline 359
    "https://ai.google.dev/gemini-api/docs/zdr",
  • Network accessline 360
    "https://ai.google.dev/api/interactions-api",
  • Network accessline 361
    "https://ai.google.dev/api/generate-content",
  • Network accessline 362
    "https://ai.google.dev/gemini-api/terms"

skills/banana/references/prompt-engineering.md

  • Network accessline 13
    - <https://ai.google.dev/gemini-api/docs/image-generation>
  • Network accessline 14
    - <https://deepmind.google/models/gemini-image/prompt-guide/>
  • Network accessline 15
    - <https://cloud.google.com/blog/products/ai-machine-learning/ultimate-prompting-guide-for-nano-banana>
  • Network accessline 252
    A three-quarter view of a cream ceramic espresso maker on a pale oak counter in a quiet kitchen just after sunrise. A narrow stripe of warm dawn light crosses the front dial and catches a thin curl of steam, while the rest of the
  • Network accessline 253
    in a quiet kitchen just after sunrise. A narrow stripe of warm dawn light crosses the front dial and catches a thin curl of steam, while the rest of the machine sits in soft, cool shade. Shot as a product photograph with a 50mm lens
  • Network accessline 254
    crosses the front dial and catches a thin curl of steam, while the rest of the

skills/banana/scripts/approval_store.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 36
    [Credential-related source omitted]

skills/banana/scripts/banana_core.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 464
    [Credential-related source omitted]
  • Access to secretsline 574
    [Credential-related source omitted]
  • Access to secretsline 578
    [Credential-related source omitted]
  • Access to secretsline 579
    [Credential-related source omitted]
  • Network accessline 2039
    def redirect_request(         self,         req: urllib.request.Request,
  • Network accessline 2040
    self,         req: urllib.request.Request,         fp: Any,
  • Network accessline 2041
    req: urllib.request.Request,
  • Network accessline 2045
    headers: Any,         newurl: str,     ) -> urllib.request.Request | None:
  • Network accessline 2046
    newurl: str,     ) -> urllib.request.Request | None:         return None
  • Network accessline 2047
    ) -> urllib.request.Request | None:
  • Network accessline 2054
    def _open_provider_request(     request: urllib.request.Request,
  • Network accessline 2055
    request: urllib.request.Request,
  • Access to secretsline 2066
    [Credential-related source omitted]
  • Access to secretsline 2082
    [Credential-related source omitted]
  • Network accessline 2089
    request = urllib.request.Request(
  • Access to secretsline 2183
    [Credential-related source omitted]
  • Access to secretsline 2199
    [Credential-related source omitted]
  • Access to secretsline 2212
    [Credential-related source omitted]
  • Access to secretsline 2235
    [Credential-related source omitted]
  • Possible obfuscationline 2479
    raw = base64.b64decode(image["data"], validate=True)
  • Access to secretsline 4773
    [Credential-related source omitted]
  • Access to secretsline 4808
    [Credential-related source omitted]
  • Access to secretsline 4823
    [Credential-related source omitted]
  • Access to secretsline 4836
    [Credential-related source omitted]
  • Access to secretsline 4854
    [Credential-related source omitted]
  • Access to secretsline 5058
    [Credential-related source omitted]
  • Access to secretsline 5094
    [Credential-related source omitted]

skills/banana/scripts/batch.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/banana/scripts/cost_tracker.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 89
    [Credential-related source omitted]

skills/banana/scripts/doctor.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 28
    [Credential-related source omitted]
  • Access to secretsline 119
    [Credential-related source omitted]
  • Access to secretsline 126
    [Credential-related source omitted]
  • Access to secretsline 129
    [Credential-related source omitted]
  • Access to secretsline 131
    [Credential-related source omitted]

skills/banana/scripts/edit.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/banana/scripts/generate.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/banana/scripts/legacy_cleanup.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 77
    [Credential-related source omitted]
  • Access to secretsline 78
    [Credential-related source omitted]
  • Access to secretsline 79
    [Credential-related source omitted]
  • Access to secretsline 80
    [Credential-related source omitted]
  • Access to secretsline 264
    [Credential-related source omitted]

skills/banana/scripts/mcp_server.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/banana/scripts/portfolio.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/banana/scripts/presets.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 92
    [Credential-related source omitted]

skills/banana/scripts/typeset.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Possible obfuscationline 37
    ".ttf": ("font/ttf", (b"\x00\x01\x00\x00", b"true")),
  • Network accessline 453
    svg = (         '<?xml version="1.0" encoding="UTF-8"?>\n'         f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" '
  • Network accessline 454
    '<?xml version="1.0" encoding="UTF-8"?>\n'         f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" '         f'viewBox="0 0 {width} {height}">\n'
  • Network accessline 455
    f'<svg xmlns="http://www.w3.org/2000/svg" width="{width}" height="{height}" '

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

No combined signals at this commit.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md skills/banana/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md skills/banana/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md skills/banana/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md skills/banana/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md skills/banana/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.

Explore alternatives and comparisons

Add this badge to your README

It updates every night and links to this page.

AgriciDaniel/banana-claude: #780 on hotskills, 1.2k stars

[![AgriciDaniel/banana-claude on hotskills](https://hotskills.dev/badge/agricidaniel-banana-claude.svg)](https://hotskills.dev/skill/agricidaniel-banana-claude/)