mirror of
https://github.com/github/awesome-copilot.git
synced 2026-02-20 02:15:12 +00:00
feat(skills): add nano-banana-pro-openrouter skill with image generation capabilities
This commit is contained in:
@@ -44,6 +44,7 @@ Skills differ from other primitives by supporting bundled assets (scripts, code
|
||||
| [meeting-minutes](../skills/meeting-minutes/SKILL.md) | Generate concise, actionable meeting minutes for internal meetings. Includes metadata, attendees, agenda, decisions, action items (owner + due date), and follow-up steps. | None |
|
||||
| [microsoft-code-reference](../skills/microsoft-code-reference/SKILL.md) | Look up Microsoft API references, find working code samples, and verify SDK code is correct. Use when working with Azure SDKs, .NET libraries, or Microsoft APIs—to find the right method, check parameters, get working examples, or troubleshoot errors. Catches hallucinated methods, wrong signatures, and deprecated patterns by querying official docs. | None |
|
||||
| [microsoft-docs](../skills/microsoft-docs/SKILL.md) | Query official Microsoft documentation to understand concepts, find tutorials, and learn how services work. Use for Azure, .NET, Microsoft 365, Windows, Power Platform, and all Microsoft technologies. Get accurate, current information from learn.microsoft.com and other official Microsoft websites—architecture overviews, quickstarts, configuration guides, limits, and best practices. | None |
|
||||
| [nano-banana-pro-openrouter](../skills/nano-banana-pro-openrouter/SKILL.md) | Generate or edit images via OpenRouter with the Gemini 3 Pro Image model. Use for prompt-only image generation, image edits, and multi-image compositing; supports 1K/2K/4K output. | `assets/SYSTEM_TEMPLATE`<br />`scripts/generate_image.py` |
|
||||
| [nuget-manager](../skills/nuget-manager/SKILL.md) | Manage NuGet packages in .NET projects/solutions. Use this skill when adding, removing, or updating NuGet package versions. It enforces using `dotnet` CLI for package management and provides strict procedures for direct file edits only when updating versions. | None |
|
||||
| [penpot-uiux-design](../skills/penpot-uiux-design/SKILL.md) | Comprehensive guide for creating professional UI/UX designs in Penpot using MCP tools. Use this skill when: (1) Creating new UI/UX designs for web, mobile, or desktop applications, (2) Building design systems with components and tokens, (3) Designing dashboards, forms, navigation, or landing pages, (4) Applying accessibility standards and best practices, (5) Following platform guidelines (iOS, Android, Material Design), (6) Reviewing or improving existing Penpot designs for usability. Triggers: "design a UI", "create interface", "build layout", "design dashboard", "create form", "design landing page", "make it accessible", "design system", "component library". | `references/accessibility.md`<br />`references/component-patterns.md`<br />`references/platform-guidelines.md`<br />`references/setup-troubleshooting.md` |
|
||||
| [plantuml-ascii](../skills/plantuml-ascii/SKILL.md) | Generate ASCII art diagrams using PlantUML text mode. Use when user asks to create ASCII diagrams, text-based diagrams, terminal-friendly diagrams, or mentions plantuml ascii, text diagram, ascii art diagram. Supports: Converting PlantUML diagrams to ASCII art, Creating sequence diagrams, class diagrams, flowcharts in ASCII format, Generating Unicode-enhanced ASCII art with -utxt flag | None |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: nano-banana-pro-openrouter
|
||||
description: 'Generate or edit images via OpenRouter with the Gemini 3 Pro Image model. Use for prompt-only image generation, image edits, and multi-image compositing; supports 1K/2K/4K output, saves results to the current working directory, and prints MEDIA lines.'
|
||||
description: 'Generate or edit images via OpenRouter with the Gemini 3 Pro Image model. Use for prompt-only image generation, image edits, and multi-image compositing; supports 1K/2K/4K output.'
|
||||
metadata:
|
||||
emoji: 🍌
|
||||
requires:
|
||||
@@ -16,7 +16,7 @@ metadata:
|
||||
|
||||
## Overview
|
||||
|
||||
Generate or edit images with OpenRouter using the `google/gemini-3-pro-image-preview` model. Support prompt-only generation, single-image edits, and multi-image composition. Save results to the current working directory and output MEDIA lines for easy attachment.
|
||||
Generate or edit images with OpenRouter using the `google/gemini-3-pro-image-preview` model. Support prompt-only generation, single-image edits, and multi-image composition.
|
||||
|
||||
### Prompt-only generation
|
||||
|
||||
@@ -58,5 +58,6 @@ The skill reads an optional system prompt from `assets/SYSTEM_TEMPLATE`. This al
|
||||
|
||||
- Read the API key from `OPENROUTER_API_KEY` (no CLI flag).
|
||||
- Accept up to 3 input images via repeated `--input-image`.
|
||||
- Save output in the current working directory. If multiple images are returned, append `-1`, `-2`, etc.
|
||||
- `--filename` accepts relative paths (saves to current directory) or absolute paths.
|
||||
- If multiple images are returned, append `-1`, `-2`, etc. to the filename.
|
||||
- Print `MEDIA: <path>` for each saved image. Do not read images back into the response.
|
||||
|
||||
@@ -90,8 +90,9 @@ def resolve_output_paths(filename: str, image_count: int, mime: str):
|
||||
suffix = MIME_TO_EXT.get(mime, ".png")
|
||||
output_path = output_path.with_suffix(suffix)
|
||||
|
||||
if output_path.parent and not output_path.parent.exists():
|
||||
raise SystemExit(f"Output directory does not exist: {output_path.parent}")
|
||||
# Create parent directory if it doesn't exist (for absolute paths)
|
||||
if output_path.parent and str(output_path.parent) != '.':
|
||||
output_path.parent.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
if image_count == 1:
|
||||
return [output_path]
|
||||
|
||||
Reference in New Issue
Block a user