← Back to Skills Marketplace
chadnewbry

Location Aware Backgrounds

by Chad Newbry · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ⚠ suspicious
128
Downloads
0
Stars
0
Active Installs
3
Versions
Install in OpenClaw
/install location-aware-backgrounds
Description
Generate and save location-aware background images by choosing a real place cue, using local time and weather, and rendering through `nano-banana-pro`. Use w...
README (SKILL.md)

Location Aware Backgrounds

You are the location-aware-backgrounds skill.

Your job is to generate finished location-aware background images, not just prompts.

This skill always renders through $nano-banana-pro and only supports MS-Gen via Nano Banana Pro. Do not offer prompt-only mode. Do not switch to other image generators.

Use This Skill For

  • location-aware background image generation for apps, dashboards, wallpapers, and mockups
  • selecting a real landmark, skyline edge, neighborhood type, or environmental cue from a place
  • using local time, season, and weather as atmospheric input
  • shaping prompts so they preserve negative space and work behind UI
  • combining reusable place logic with caller-provided style direction and output requirements

Workflow

  1. Establish the target surface. Use a screenshot, mockup, reference image, or layout description only if the user provided it or explicitly asked for it to be inspected. Otherwise, work from the text constraints.

  2. Gather place and atmosphere inputs. Use place, local time, season, and weather when the user has:

    • provided them directly
    • asked for a live lookup or current-context lookup
    • asked for a location-aware result and has not opted out of live context

    Do not assume permission to inspect device state, capture the screen, or read arbitrary local files silently.

  3. Resolve the output contract. Decide:

    • output path
    • aspect ratio
    • resolution
    • number of variants

    If the caller does not specify an output path, save a timestamped PNG under ./generated/. If the caller does not specify aspect ratio or resolution, let $nano-banana-pro use its defaults. If the caller does not ask for multiple variants, generate one strong default image.

  4. Define the scene role. Decide whether the image is:

    • a background plate
    • a hero scene
    • a portrait wallpaper
    • a concept board

    For UI backgrounds, default to background plate.

  5. Pick the city cue. Use the explicit city name in the final prompt. Choose one real landmark, skyline, neighborhood type, or environmental cue from that city when it strengthens the composition. Do not force a landmark into every image. Favor a grounded city scene with layered architectural depth over a single isolated hero object.

  6. Shape prompts for the actual surface. Favor:

    • broad negative space where copy sits
    • a softly grounded lower area when UI sits over the image
    • layered foreground, midground, and background depth with a grounded street edge, rooftop edge, park edge, harbor edge, or terrace
    • atmospheric edge detail instead of central clutter
    • caller-supplied style language, medium, and composition constraints

    Avoid:

    • postcard compositions
    • central monuments
    • washed-out low-fidelity rendering
    • flat lighting or muddy haze
    • giant block clouds or floating island dioramas
    • busy foreground props
    • characters unless explicitly requested
    • text, logos, or fake UI
  7. Render every requested image through $nano-banana-pro. Build the exact prompt, then invoke $nano-banana-pro to create the image file. If the user supplied reference images, pass them through. If multiple variants are requested, render each one and save each file.

Boundaries

  • Default to generating a finished image file, not just text.
  • Do not read local files unless the user supplied the file or explicitly asked for that file to be used.
  • Do not fetch screenshots unless the user explicitly wants a live or current-context result.
  • Use only $nano-banana-pro for rendering.
  • Do not claim live location, time, season, or weather unless the user supplied it or explicitly asked for a live lookup.
  • Do not make Tongue-specific assumptions unless the caller supplies them.
  1. Review like a product designer. Filter for:
    • readability behind UI
    • coherence with the caller's art direction
    • believable local atmosphere
    • strong but restrained composition

Prompt Rules

Use prompt phrases like:

  • background plate for a native desktop app
  • crisp premium rendering
  • broad clean negative space
  • softly illuminated open lower area

If using a landmark, explicitly say it is:

  • part of a layered city composition
  • integrated into the background depth
  • not an isolated postcard hero

Output

For every run, provide:

  1. the short rationale for each rendered option
  2. the exact prompt used
  3. the saved file path for each generated image
  4. a recommendation for the strongest production candidate when multiple variants were requested

References

Read references/prompt-patterns.md for reusable prompt shapes, landmark-selection guidance, and background-plate constraints.

Usage Guidance
This skill's behavior is ambiguous: before installing or supplying secrets, ask the skill author to explain (1) why GEMINI_API_KEY is required and exactly how/where that key will be used (which hostname/endpoints receive data), (2) what the 'uv' binary is expected to do and why it's necessary, and (3) how 'nano-banana-pro' is invoked (CLI vs API) and what credentials it needs. Do not provide a general-purpose GEMINI/Google API key until the author confirms minimal, scoped permissions and a clear network endpoint. If you must try it, use a scoped test key and run in a sandboxed environment; review the homepage and vendor docs for nano-banana-pro to confirm the integration path and trustworthiness. If the author cannot justify the GEMINI_API_KEY or 'uv' requirement, treat the skill as unsafe to use.
Capability Analysis
Type: OpenClaw Skill Name: location-aware-backgrounds Version: 1.0.2 The skill is designed to generate location-aware background images using a specific rendering tool ($nano-banana-pro). The instructions in SKILL.md and references/prompt-patterns.md are well-structured and include explicit safety boundaries, such as prohibiting the silent reading of local files or capturing screenshots without user consent. No indicators of data exfiltration, malicious execution, or harmful prompt injection were found.
Capability Assessment
Purpose & Capability
The skill claims to render images through 'nano-banana-pro' and to use only user-supplied files or explicit lookups. However, the registry metadata requires a GEMINI_API_KEY and the 'uv' binary even though SKILL.md never references using Gemini or the 'uv' binary. It's unclear why a Gemini API key (typically associated with a different provider) or a 'uv' binary are necessary for a renderer named 'nano-banana-pro'. This mismatch suggests the declared requirements are not justified by the stated purpose.
Instruction Scope
The SKILL.md stays focused on generating finished images, saving files, and limits file/system reads to user-supplied inputs (good). However, it instructs the agent to 'invoke $nano-banana-pro' without specifying how (CLI, API endpoint, or what credentials to pass). The lack of concrete integration details combined with the unexplained declared env var/binary leaves ambiguity about what the agent will actually do at runtime.
Install Mechanism
This is an instruction-only skill with no install spec and no code files, so there is no author-provided installer or archive to evaluate. That minimizes disk-write installation risk.
Credentials
The skill requires a single primary credential GEMINI_API_KEY but the SKILL.md does not mention Gemini or explain why that credential is needed. There is no justification for requesting that key from the instructions. Requiring a named API key without showing how it is used is disproportionate and should be explained before granting the secret.
Persistence & Privilege
always is false and the skill does not request persistent installation or changes to other skills or system-wide config. Autonomous invocation is allowed by default (not flagged by itself) and there are no metadata signs of elevated persistence.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install location-aware-backgrounds
  3. After installation, invoke the skill by name or use /location-aware-backgrounds
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Shift the shared skill from prompt-only guidance to end-to-end image generation through Nano Banana Pro, keeping location selection reusable and Tongue-specific styling outside the shared package.
v1.0.1
Tighten scope: prompt writing by default, explicit approval for live lookups, screenshots, local files, and generation tools.
v1.0.0
Initial release for place-aware UI background generation, landmark selection, and prompt shaping for image models.
Metadata
Slug location-aware-backgrounds
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 3
Frequently Asked Questions

What is Location Aware Backgrounds?

Generate and save location-aware background images by choosing a real place cue, using local time and weather, and rendering through `nano-banana-pro`. Use w... It is an AI Agent Skill for Claude Code / OpenClaw, with 128 downloads so far.

How do I install Location Aware Backgrounds?

Run "/install location-aware-backgrounds" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Location Aware Backgrounds free?

Yes, Location Aware Backgrounds is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Location Aware Backgrounds support?

Location Aware Backgrounds is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Location Aware Backgrounds?

It is built and maintained by Chad Newbry (@chadnewbry); the current version is v1.0.2.

💬 Comments