agentleFS
adryanmoldokkr32-pixeladryanmoldokkr32-pixel/banana-claude/CLAUDE.md

banana-claude

CLAUDE.md1 starsChanged 7 months agoMITView on GitHub

This file is read by Claude Code when working inside this repository. banana-claude is a Claude Code plugin that enables AI image generation using Google's Gemini Nano Banana models via MCP. Claude acts as a Creative Director: it interprets intent, selects domain expertise, constructs optimized prompts, and orchestrates Gemini API calls. This repo follows the official Claude Code plugin layout: - .claude-plugin/plugin.json -- Plugin manifest - .claude-plugin/marketplace.json -- Marketplace catalog for distribution - skills/banana/ -- The main skill (SKILL.md +…

1 other project uses a version of this.

Adopted by

Most recently taken up by

  • Other versions1 project uses a version of this.

    Word for word · 1

    1. itaymizzz/claude-skills★ 0100% same

    Edited · 0

    None found.

    Wrote their own version · 0

    None found.

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

The file

We split this CLAUDE.md into the rules it gives an agent

11 rules. About 0 are common, 3 are distinctive, and 8 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Test as plugin: claude --plugin-dir .

    line 28
  2. Very specific:

    Test basic generation: /banana generate "a red apple on a white table"

    line 30
  3. Very specific:

    Test domain routing: /banana generate "product shot for headphones"

    line 31
  4. Distinctive:

    Verify output image files exist at the logged path

    line 33
  5. Very specific:

    Check cost log if cost_tracker.py is active

    line 34
  6. Very specific:

    Do NOT add google-genai or requests as dependencies -- the stdlib approach ensures the skill works on any system with Python 3.6+.

    line 52
  7. Distinctive:

    No negative prompt parameter exists.

    line 59
  8. Distinctive:

    NEVER use banned keywords in prompts: "8K", "masterpiece", "ultra-realistic", "high resolution" -- these degrade output quality.

    line 61
  9. Very specific:

    Do NOT set version in marketplace.json -- it conflicts with plugin.json (plugin.json always wins silently per Anthropic docs).

    line 95
  10. Very specific:

    Test locally with claude --plugin-dir .

    line 104
  11. Very specific:

    After changes, run /reload-plugins in Claude Code to pick up updates without restarting.

    line 105

≈ “Common” is an estimate: at least 1 in 5 of the 26,980 CLAUDE.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
CLAUDE.md

CLAUDE.md -- Development context for banana-claude

This file is read by Claude Code when working inside this repository.

What this repo is

banana-claude is a Claude Code plugin that enables AI image generation using Google's Gemini Nano Banana models via MCP. Claude acts as a Creative Director: it interprets intent, selects domain expertise, constructs optimized prompts, and orchestrates Gemini API calls.

Plugin structure

This repo follows the official Claude Code plugin layout:

  • .claude-plugin/plugin.json -- Plugin manifest
  • .claude-plugin/marketplace.json -- Marketplace catalog for distribution
  • skills/banana/ -- The main skill (SKILL.md + references + scripts)
  • agents/ -- Subagents (brief-constructor)

Model status (as of March 2026)

  • gemini-3.1-flash-image-preview -- Active default. Nano Banana 2.
  • gemini-2.5-flash-image -- Active. Nano Banana original. Budget/free tier.
  • gemini-3-pro-image-preview -- DEAD. Shut down March 9, 2026. Do not use.

How to test changes

  1. Test as plugin: claude --plugin-dir .
  2. Or install standalone: bash install.sh
  3. Test basic generation: /banana generate "a red apple on a white table"
  4. Test domain routing: /banana generate "product shot for headphones"
  5. Test editing: /banana edit [path] "make the background blurry"
  6. Verify output image files exist at the logged path
  7. Check cost log if cost_tracker.py is active

File responsibilities

FilePurpose
skills/banana/SKILL.mdMain orchestrator. Edit to change Claude's behavior.
skills/banana/references/gemini-models.mdModel roster, routing table, resolution defaults. Update when Google releases new models.
skills/banana/references/prompt-engineering.mdThe prompt construction system. Update when Google publishes new guidance.
skills/banana/references/mcp-tools.mdAPI parameter reference. Update when Google changes the API.
skills/banana/scripts/generate.pyDirect API fallback for generation. Uses urllib.request (stdlib).
skills/banana/scripts/edit.pyDirect API fallback for editing. Uses urllib.request (stdlib).
agents/brief-constructor.mdSubagent for prompt construction.

Scripts use stdlib only

The fallback scripts (generate.py, edit.py) use Python's urllib.request to call the Gemini REST API directly. They have ZERO pip dependencies by design. Do NOT add google-genai or requests as dependencies -- the stdlib approach ensures the skill works on any system with Python 3.6+.

Key constraints

  • imageSize parameter values must be UPPERCASE: "1K", "2K", "4K". Lowercase fails silently.
  • Gemini generates ONE image per API call. There is no batch parameter.
  • No negative prompt parameter exists. Use semantic reframing in the prompt.
  • responseModalities must explicitly include "IMAGE" or the API returns text only.
  • NEVER use banned keywords in prompts: "8K", "masterpiece", "ultra-realistic", "high resolution" -- these degrade output quality. Use prestigious context anchors instead (see prompt-engineering.md).

Distribution

Plugin marketplace (primary)

Users install via:

/plugin marketplace add AgriciDaniel/banana-claude
/plugin install banana-claude@banana-claude-marketplace

Official Anthropic marketplace

Submission pending via claude.ai/settings/plugins/submit. Once accepted, users install with:

/plugin install banana-claude@claude-plugins-official

Standalone install (legacy)

Still supported via install.sh for users not on the plugin system.

Versioning

Version must be bumped in ALL 4 files when releasing:

  1. .claude-plugin/plugin.json -- version field (plugin system reads this)
  2. skills/banana/SKILL.md -- metadata.version in frontmatter
  3. README.md -- version badge
  4. CITATION.cff -- version and date-released

Also add a new section in CHANGELOG.md.

Do NOT set version in marketplace.json -- it conflicts with plugin.json (plugin.json always wins silently per Anthropic docs).

Plugin development notes

  • .claude-plugin/ contains ONLY plugin.json and marketplace.json. Never put skills, agents, or commands in this directory.
  • skills/ and agents/ must be at plugin root (not inside .claude-plugin/).
  • Plugin variable ${CLAUDE_PLUGIN_ROOT} resolves to the plugin cache directory. Use for hook commands and MCP configs.
  • SKILL.md uses ${CLAUDE_SKILL_DIR} for script paths -- this is a semantic marker Claude interprets based on context. Works in both plugin and standalone mode.
  • Relative paths in SKILL.md (references/, scripts/) resolve relative to SKILL.md location. These work in both modes.
  • Test locally with claude --plugin-dir . (loads plugin without installing).
  • After changes, run /reload-plugins in Claude Code to pick up updates without restarting.
  • Validate with claude plugin validate . or /plugin validate . before releasing.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.