Not in the top 1,000 by GitHub stars

heyu-233/engineering-figure-agent

Engineering Figure Banana is a Codex skill for generating publication-style engineering and computer science figures, with support for Chinese academic papers, bilingual labeling, and editable-figure handoff workflows.

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

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

a33a553b43f9 → a33a553b43f9

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → a33a553b43f9

No earlier version was observed for comparison.

Compare on GitHub

adapters/claude-code/skills/engineering-figure-agent/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Instructions only → After Instructions only

a33a553b43f9 → a33a553b43f9

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Instructions only

First observation → a33a553b43f9

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit a33a553b43f92152fdafcb1c4574d67a4e050cb6

310GitHub stars
-1star in 7 days
2skills in this repository
0commits in 30 days

Heat

0.1
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

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

Stars over time

Oct 25, 2026Nov 6, 2026311

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

engineering-figure-agent

When your agent uses it

Use when the user needs engineering or research-paper figures: system architecture diagrams, algorithm workflows, hardware schematics, benchmark charts, ablation plots, figure briefs, redraws, image edits, or exact publication-style plots from numeric data. Covers Gemini, Nano Banana, OpenAI image models, and local plotting workflows.

What it loads into context

Frontmatter

72 tokens

Always available to the agent

SKILL.md

937 tokens

When the skill is activated

Reference documents

19,988 tokens

Loaded on request

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

The playbook

  1. Boundary
  2. Core Decision
  3. Default Workflow
  4. Reference Loading
  5. Scripts
  6. Quality Rules

Scripts executed separately

  • scripts/build_engineering_figure_prompt.py
  • scripts/build_materials_figure_prompt.py
  • scripts/build_plot_spec.py
  • scripts/check_docs_links.py
  • scripts/check_runtime_package.py
  • scripts/check_setup.ps1
  • scripts/efa.py
  • scripts/generate_image.js
  • scripts/generate_image.py
  • scripts/install_and_test.ps1
  • scripts/install_skill.ps1
  • scripts/load_nanobanana_env.ps1
  • scripts/plot_publication_figure.py
  • scripts/sync_codex_skill.py
  • scripts/validate_prompt_templates.py
  • scripts/validate_skill.py
  • scripts/validate_text_encoding.py
  • scripts/wizard.ps1
  • tests/test_cli.py
  • tests/test_plot_workflow.py
  • tests/test_prompt_builder.py
  • tests/test_provider_safety.py

Files

  • .github/workflows/ci.ymlasset1,097 bytes
  • .gitignoreasset252 bytes
  • LICENSEasset1,065 bytes
  • README.en.mddoc4,424 bytes
  • README.mddoc7,894 bytes
  • README.zh-CN.mddoc4,334 bytes
  • SKILL.mdcore4,586 bytes
  • SKILL.mdcore4,586 bytes
  • SKILL.mdcore4,586 bytes
  • SKILL.mdcore4,586 bytes
  • SKILL.mdcore4,586 bytes
  • adapters/README.mddoc463 bytes
  • adapters/claude-code/README.mddoc1,061 bytes
  • agents/openai.yamlasset431 bytes
  • assets/prompt-templates/engineering-figure-templates.jsonasset6,619 bytes
  • assets/prompt-templates/materials-science-figure-templates.jsonasset9,723 bytes
  • docs/examples/README.mddoc2,016 bytes
  • docs/examples/benchmark-plot-request.jsonasset1,466 bytes
  • docs/examples/benchmark-plot.pngasset167,074 bytes
  • docs/examples/briefs/benchmark-plot.mddoc560 bytes
  • docs/examples/briefs/cooperative-object-tracking.mddoc552 bytes
  • docs/examples/briefs/federated-open-vocab-driving.mddoc558 bytes
  • docs/examples/briefs/health-monitoring-early-warning.mddoc692 bytes
  • docs/examples/briefs/linux-kernel-system.mddoc518 bytes
  • docs/examples/briefs/multi-agent-safety-overview.mddoc540 bytes
  • docs/examples/cooperative-object-tracking-2k-1.pngasset4,775,119 bytes
  • docs/examples/cooperative-object-tracking-prompt.txtdoc1,642 bytes
  • docs/examples/federated-open-vocab-driving-2k-1.pngasset5,677,228 bytes
  • docs/examples/federated-open-vocab-driving-prompt.txtdoc1,771 bytes
  • docs/examples/health-monitoring-early-warning-note.txtdoc699 bytes
  • docs/examples/health-monitoring-early-warning-reference.jpgasset199,633 bytes
  • docs/examples/linux-kernel-system-1.jpgasset789,267 bytes
  • docs/examples/linux-kernel-system-diagram-prompt.txtdoc2,597 bytes
  • docs/examples/multi-agent-safety-overview-2k-1.pngasset5,872,022 bytes
  • docs/examples/multi-agent-safety-overview-prompt.txtdoc1,553 bytes
  • docs/platform-adapters.mddoc1,918 bytes
  • docs/prompt-pack.mddoc2,578 bytes
  • docs/showcase.mddoc1,546 bytes
  • examples/figure-briefs/algorithm-workflow-en.mddoc913 bytes
  • examples/figure-briefs/benchmark-plot-request.mddoc1,806 bytes
  • examples/figure-briefs/engineering-pipeline-zh.mddoc429 bytes
  • examples/figure-briefs/system-architecture-en.mddoc1,022 bytes
  • examples/figure-briefs/system-architecture-zh.mddoc580 bytes
  • providers.mddoc5,135 bytes
  • references/api-reference.mddoc3,118 bytes
  • references/chinese-labels.mddoc1,533 bytes
  • references/editable-figure-handoff.mddoc1,316 bytes
  • references/engineering-figure-templates.mddoc1,780 bytes
  • references/figure-brief-spec.mddoc3,247 bytes
  • references/highres-policy.mddoc1,033 bytes
  • references/materials-science-figure-template.mddoc10,089 bytes
  • references/natural-language-plot-workflow.mddoc4,243 bytes
  • references/prompt-templates.mddoc2,423 bytes
  • references/provider-selection.mddoc2,347 bytes
  • references/publication-chart-patterns.mddoc2,485 bytes
  • references/publication-figure-design.mddoc2,468 bytes
  • references/publication-plot-api.mddoc5,773 bytes
  • requirements.txtdoc81 bytes
  • schemas/figure-brief.schema.jsonasset1,266 bytes
  • schemas/plot-request.schema.jsonasset1,138 bytes
  • scripts/build_engineering_figure_prompt.pyruns2,908 bytes
  • scripts/build_materials_figure_prompt.pyruns2,927 bytes
  • scripts/build_plot_spec.pyruns8,346 bytes
  • scripts/check_docs_links.pyruns1,615 bytes
  • scripts/check_runtime_package.pyruns2,877 bytes
  • scripts/check_setup.ps1runs8,729 bytes
  • scripts/efa.pyruns4,769 bytes
  • scripts/generate_image.jsruns12,712 bytes
  • scripts/generate_image.pyruns27,063 bytes
  • scripts/install_and_test.ps1runs4,069 bytes
  • scripts/install_skill.ps1runs3,133 bytes
  • scripts/load_nanobanana_env.ps1runs2,142 bytes
  • scripts/plot_publication_figure.pyruns15,942 bytes
  • scripts/sync_codex_skill.pyruns2,525 bytes
  • scripts/validate_prompt_templates.pyruns4,414 bytes
  • scripts/validate_skill.pyruns1,160 bytes
  • scripts/validate_text_encoding.pyruns1,882 bytes
  • scripts/wizard.ps1runs4,032 bytes
  • secrets/nanobanana.env.exampleasset1,590 bytes
  • secrets/nanobanana_api_key.txt.exampleasset51 bytes
  • secrets/openai_api_key.txt.exampleasset47 bytes
  • templates/figure-brief/figure-brief.en.mddoc929 bytes
  • templates/figure-brief/figure-brief.jsonasset633 bytes
  • templates/figure-brief/figure-brief.zh-CN.mddoc912 bytes
  • tests/test_cli.pyruns1,200 bytes
  • tests/test_plot_workflow.pyruns3,657 bytes
  • tests/test_prompt_builder.pyruns2,212 bytes
  • tests/test_provider_safety.pyruns3,080 bytes
Read SKILL.md

# Engineering Figure Agent

Use this skill after the figure goal is already reasonably clear.

## Boundary

Good fit:

- Turn a figure brief into a conceptual diagram, workflow figure, schematic, or exact publication plot.
- Choose between `image`, `plot`, and `mixed` mode.
- Build prompts, render plots, and refine existing briefs.

Not the main tool for:
View the complete source on GitHub

Skills included

  • engineering-figure-agent

Repository facts

License
MIT
Created
Apr 10, 2026
Last pushed
May 25, 2026
Forks
14
Open issues
0
Project activity
Slowing

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

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

Show 4 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 156 signals by file

.gitignore

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

README.en.md

  • Network accessline 5
    ![Codex Skill](https://img.shields.io/badge/Codex-skill-111827)
  • Network accessline 6
    ![Claude Code](https://img.shields.io/badge/Claude%20Code-adapter-8b5cf6)
  • Network accessline 7
    ![Modes](https://img.shields.io/badge/modes-image%20%7C%20plot-f59e0b)
  • Network accessline 8
    ![Backends](https://img.shields.io/badge/backends-Gemini%20%7C%20OpenAI%20%7C%20local%20plots-16a34a)

README.md

  • Network accessline 5
    ![License](https://img.shields.io/badge/license-MIT-2563eb)
  • Network accessline 6
    ![Codex Skill](https://img.shields.io/badge/Codex-skill-111827)
  • Network accessline 7
    ![Figure Modes](https://img.shields.io/badge/modes-image%20%7C%20plot-f59e0b)
  • Network accessline 8
    ![Backends](https://img.shields.io/badge/backends-Gemini%20%7C%20OpenAI%20%7C%20local%20plots-16a34a)
  • Network accessline 9
    ![Focus](https://img.shields.io/badge/focus-engineering%20papers-7c3aed)
  • Network accessline 11
    [![Try Engineering Figure Agent on Socialistic](https://socialistic.ai/api/embed/engineering-figure-agent-407b80)](https://socialistic.ai/zh/skill/engineering-figure-agent-407b80?utm_source=github&utm_medium=readme&utm_campaign=20260519-stu
  • Access to secretsline 95
    [Credential-related source omitted]

README.zh-CN.md

  • Network accessline 5
    ![Codex Skill](https://img.shields.io/badge/Codex-skill-111827)
  • Network accessline 6
    ![Claude Code](https://img.shields.io/badge/Claude%20Code-adapter-8b5cf6)
  • Network accessline 7
    ![Modes](https://img.shields.io/badge/modes-image%20%7C%20plot-f59e0b)
  • Network accessline 8
    ![Backends](https://img.shields.io/badge/backends-Gemini%20%7C%20OpenAI%20%7C%20local%20plots-16a34a)

providers.md

  • Network accessline 19
    | Provider type | Typical base URL | Typical auth mode | Third-party flag | High-res model handling | | --- | --- | --- | --- | --- | | Official Google Gemini | `https://generativelanguage.googleapis.com` | `google` | not needed | optional 
  • Network accessline 20
    | --- | --- | --- | --- | --- | | Official Google Gemini | `https://generativelanguage.googleapis.com` | `google` | not needed | optional `NANOBANANA_HIGHRES_MODEL` | | OpenAI Image API | `https://api.openai.com/v1` | `bearer` | not needed 
  • Network accessline 21
    | Official Google Gemini | `https://generativelanguage.googleapis.com` | `google` | not needed | optional `NANOBANANA_HIGHRES_MODEL` |
  • Network accessline 22
    | OpenAI Image API | `https://api.openai.com/v1` | `bearer` | not needed | optional `OPENAI_IMAGE_HIGHRES_MODEL` |
  • Network accessline 26
    | Provider 类型 | 常见 base URL | 常见认证方式 | 是否需要第三方标记 | 高分模型处理 | | --- | --- | --- | --- | --- | | 官方 Google Gemini | `https://generativelanguage.googleapis.com` | `google` | 通常不需要 | 可选 `NANOBANANA_HIGHRES_MODEL` |
  • Network accessline 27
    | --- | --- | --- | --- | --- | | 官方 Google Gemini | `https://generativelanguage.googleapis.com` | `google` | 通常不需要 | 可选 `NANOBANANA_HIGHRES_MODEL` | | OpenAI Image API | `https://api.openai.com/v1` | `bearer` | 通常不需要 | 可选 `OPENAI_IMAGE_HIG
  • Network accessline 28
    | 官方 Google Gemini | `https://generativelanguage.googleapis.com` | `google` | 通常不需要 | 可选 `NANOBANANA_HIGHRES_MODEL` |
  • Network accessline 29
    | OpenAI Image API | `https://api.openai.com/v1` | `bearer` | 通常不需要 | 可选 `OPENAI_IMAGE_HIGHRES_MODEL` |
  • Network accessline 52
    NANOBANANA_BASE_URL=https://generativelanguage.googleapis.com
  • Network accessline 61
    NANOBANANA_BASE_URL=https://your-relay.example.com
  • Access to secretsline 76
    [Credential-related source omitted]

references/api-reference.md

  • Network accessline 7
    - Official base URL: `https://generativelanguage.googleapis.com`
  • Access to secretsline 10
    [Credential-related source omitted]
  • Network accessline 15
    - Zhizengzeng base URL: `https://api.zhizengzeng.com/google`
  • Network accessline 21
    - The generation scripts are designed to fail closed when `NANOBANANA_BASE_URL` or `--base-url` is missing. - Official Google endpoint is the recommended default: `https://generativelanguage.googleapis.com`
  • Network accessline 22
    - Official Google endpoint is the recommended default: `https://generativelanguage.googleapis.com`
  • Access to secretsline 30
    [Credential-related source omitted]

references/provider-selection.md

  • Network accessline 14
    | Provider | Base URL | Auth | Third-party flag | High-res handling | |---|---|---|---|---| | Official Google Gemini | `https://generativelanguage.googleapis.com` | `google` | not needed | optional `NANOBANANA_HIGHRES_MODEL` |
  • Network accessline 15
    |---|---|---|---|---| | Official Google Gemini | `https://generativelanguage.googleapis.com` | `google` | not needed | optional `NANOBANANA_HIGHRES_MODEL` | | OpenAI Image API | `https://api.openai.com/v1` | bearer | not needed | optional `
  • Network accessline 16
    | Official Google Gemini | `https://generativelanguage.googleapis.com` | `google` | not needed | optional `NANOBANANA_HIGHRES_MODEL` |
  • Network accessline 17
    | OpenAI Image API | `https://api.openai.com/v1` | bearer | not needed | optional `OPENAI_IMAGE_HIGHRES_MODEL` |
  • Network accessline 24
    NANOBANANA_BASE_URL=https://generativelanguage.googleapis.com
  • Access to secretsline 28
    [Credential-related source omitted]
  • Network accessline 34
    NANOBANANA_BASE_URL=https://your-relay.example.com
  • Access to secretsline 45
    [Credential-related source omitted]

schemas/figure-brief.schema.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",

schemas/plot-request.schema.json

  • Network accessline 1
    {   "$schema": "https://json-schema.org/draft/2020-12/schema",
  • Network accessline 2
    "$schema": "https://json-schema.org/draft/2020-12/schema",

scripts/build_engineering_figure_prompt.py

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

scripts/build_materials_figure_prompt.py

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

scripts/build_plot_spec.py

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

scripts/check_docs_links.py

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

scripts/check_runtime_package.py

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

scripts/check_setup.ps1

  • Executable scriptline 1
    Executable file
  • Access to secretsline 73
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]
  • Network accessline 97
    if ($envMap.ContainsKey("NANOBANANA_BASE_URL") -and $envMap["NANOBANANA_BASE_URL"]) {         $baseUrl = $envMap["NANOBANANA_BASE_URL"]         if ($baseUrl -eq "https://generativelanguage.googleapis.com") {
  • Network accessline 98
    $baseUrl = $envMap["NANOBANANA_BASE_URL"]         if ($baseUrl -eq "https://generativelanguage.googleapis.com") {             Add-Result "PASS" "Official Google endpoint configured" $null
  • Network accessline 99
    if ($baseUrl -eq "https://generativelanguage.googleapis.com") {
  • Access to secretsline 126
    [Credential-related source omitted]
  • Access to secretsline 128
    [Credential-related source omitted]
  • Access to secretsline 129
    [Credential-related source omitted]
  • Access to secretsline 135
    [Credential-related source omitted]
  • Access to secretsline 151
    [Credential-related source omitted]

scripts/efa.py

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

scripts/generate_image.js

  • Executable scriptline 1
    #!/usr/bin/env node
  • Network accessline 7
    const OFFICIAL_BASE_URL = "https://generativelanguage.googleapis.com";
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 253
    [Credential-related source omitted]
  • Network accessline 318
    try {     const response = await fetch(
  • Network accessline 319
    const response = await fetch(

scripts/generate_image.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 20
    GEMINI_OFFICIAL_BASE_URL = "https://generativelanguage.googleapis.com"
  • Network accessline 21
    GEMINI_OFFICIAL_HOSTNAME = "generativelanguage.googleapis.com" GEMINI_DEFAULT_MODEL = "gemini-3.1-flash-image-preview" OPENAI_DEFAULT_BASE_URL = "https://api.openai.com/v1"
  • Network accessline 22
    GEMINI_DEFAULT_MODEL = "gemini-3.1-flash-image-preview" OPENAI_DEFAULT_BASE_URL = "https://api.openai.com/v1" OPENAI_OFFICIAL_HOSTNAME = "api.openai.com"
  • Network accessline 23
    OPENAI_DEFAULT_BASE_URL = "https://api.openai.com/v1"
  • Access to secretsline 112
    [Credential-related source omitted]
  • Access to secretsline 124
    [Credential-related source omitted]
  • Access to secretsline 342
    [Credential-related source omitted]
  • Access to secretsline 343
    [Credential-related source omitted]
  • Access to secretsline 344
    [Credential-related source omitted]
  • Access to secretsline 345
    [Credential-related source omitted]
  • Access to secretsline 354
    [Credential-related source omitted]
  • Access to secretsline 381
    [Credential-related source omitted]
  • Access to secretsline 382
    [Credential-related source omitted]
  • Access to secretsline 383
    [Credential-related source omitted]
  • Access to secretsline 384
    [Credential-related source omitted]
  • Access to secretsline 385
    [Credential-related source omitted]
  • Access to secretsline 392
    [Credential-related source omitted]
  • Access to secretsline 435
    [Credential-related source omitted]
  • Access to secretsline 446
    [Credential-related source omitted]
  • Access to secretsline 448
    [Credential-related source omitted]
  • Network accessline 450
    request = urllib.request.Request(
  • Network accessline 457
    try:         with urllib.request.urlopen(request, timeout=args.timeout) as response:
  • Network accessline 458
    with urllib.request.urlopen(request, timeout=args.timeout) as response:
  • Access to secretsline 537
    [Credential-related source omitted]
  • Access to secretsline 540
    [Credential-related source omitted]
  • Network accessline 569
    request = urllib.request.Request(url, data=data, headers=headers, method="POST")
  • Network accessline 570
    try:         with urllib.request.urlopen(request, timeout=args.timeout) as response:             return json.loads(response.read().decode("utf-8"))
  • Network accessline 571
    with urllib.request.urlopen(request, timeout=args.timeout) as response:
  • Possible obfuscationline 627
    path.write_bytes(base64.b64decode(inline_data["data"]))
  • Possible obfuscationline 647
    path.write_bytes(base64.b64decode(image_base64))

scripts/install_and_test.ps1

  • Executable scriptline 1
    Executable file
  • Access to secretsline 13
    [Credential-related source omitted]
  • Access to secretsline 14
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]

scripts/install_skill.ps1

  • Executable scriptline 1
    Executable file
  • Access to secretsline 12
    [Credential-related source omitted]
  • Access to secretsline 14
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 63
    [Credential-related source omitted]

scripts/load_nanobanana_env.ps1

  • Executable scriptline 1
    Executable file
  • Access to secretsline 6
    [Credential-related source omitted]
  • Access to secretsline 7
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 49
    [Credential-related source omitted]

scripts/plot_publication_figure.py

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

scripts/sync_codex_skill.py

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

scripts/validate_prompt_templates.py

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

scripts/validate_skill.py

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

scripts/validate_text_encoding.py

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

scripts/wizard.ps1

  • Executable scriptline 1
    Executable file

secrets/nanobanana.env.example

  • Network accessline 11
    # Official Google Gemini example # ------------------------------------------------------------------- # NANOBANANA_BASE_URL=https://generativelanguage.googleapis.com
  • Network accessline 12
    # ------------------------------------------------------------------- # NANOBANANA_BASE_URL=https://generativelanguage.googleapis.com # NANOBANANA_DEFAULT_MODEL=gemini-3.1-flash-image-preview
  • Network accessline 13
    # NANOBANANA_BASE_URL=https://generativelanguage.googleapis.com
  • Network accessline 20
    # Replace with your own endpoint and model names. # ------------------------------------------------------------------- NANOBANANA_BASE_URL=https://your-relay.example.com
  • Network accessline 21
    # ------------------------------------------------------------------- NANOBANANA_BASE_URL=https://your-relay.example.com NANOBANANA_DEFAULT_MODEL=<your-default-image-model>
  • Network accessline 22
    NANOBANANA_BASE_URL=https://your-relay.example.com
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 35
    [Credential-related source omitted]

secrets/nanobanana_api_key.txt.example

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

secrets/openai_api_key.txt.example

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

tests/test_cli.py

  • Executable scriptline 1
    Executable file

tests/test_plot_workflow.py

  • Executable scriptline 1
    Executable file

tests/test_prompt_builder.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 23
    [Credential-related source omitted]

tests/test_provider_safety.py

  • Executable scriptline 1
    Executable file
  • Network accessline 9
    env = {         **os.environ,         "NANOBANANA_BASE_URL": "https://relay.example.com",
  • Network accessline 10
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]
  • Network accessline 11
    "NANOBANANA_BASE_URL": "https://relay.example.com",
  • Access to secretsline 37
    [Credential-related source omitted]
  • Network accessline 47
    "openai",             "--openai-base-url",             "https://relay.example.com/v1",
  • Network accessline 48
    "--openai-base-url",             "https://relay.example.com/v1",             "--timeout",
  • Network accessline 49
    "https://relay.example.com/v1",
  • Network accessline 66
    env = {         **os.environ,         "NANOBANANA_BASE_URL": "https://generativelanguage.googleapis.com",
  • Network accessline 67
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Network accessline 68
    "NANOBANANA_BASE_URL": "https://generativelanguage.googleapis.com",
  • Access to secretsline 93
    [Credential-related source omitted]

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.

Declared and executed: 4 facts
  • Contacts generativelanguage.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/check_setup.ps1:99High confidence
  • Contacts generativelanguage.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/generate_image.js:7High confidence
  • Contacts generativelanguage.googleapis.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/generate_image.py:20High confidence
  • Contacts api.openai.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/generate_image.py:23High confidence
Signal confidence: 141 facts

and 91 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md 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.