CtrlK
BlogDocsLog inGet started
Tessl Logo

image-gen

Generate images via Nano Banana (Gemini 2.5/3.1 Flash Image) on OpenRouter. Use when the user asks to draw, illustrate, render or generate any kind of picture/diagram/scene.

68

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

Excellent operational content: an executable quick recipe, exact request/response shapes for the API's non-OpenAI quirks, observed costs, and precise troubleshooting. The only trims worth making are moving the restated trigger list and time-stamped cost/version details out of the main body.

Suggestions

Drop or shrink the "When to use this skill" section — it restates the description's trigger guidance; if kept, move the "don't use for charts/UML" boundary into the description instead.

Move the full response JSON and observed-cost figures (time-sensitive model versions and prices) into a references/ file so the main body stays current and compact.

Add "create", "make", "photo", and "logo" to the description's trigger verbs to widen natural-term coverage.

DimensionReasoningScore

Conciseness

The body is lean and API-specific ("modalities": ["image", "text"]", ``message.images`` array, base64 data-URI decoding) with no padding about concepts Claude already knows. Not 5 because the "When to use this skill" section largely restates trigger guidance already in the description, and the cost section carries time-sensitive version/price details ("Gemini 2.5/3.1", "$0.04 per 1024×1024 ... at the time of writing") outside any deprecation-styled section.

4 / 5

Actionability

A complete, copy-paste-ready urllib recipe with auth headers, modalities flag, data-URI decoding, and file writing, plus full request/response JSON shapes and a concrete image-input edit example. Troubleshooting items each name the exact error and the exact fix. Covers the common cases (text-to-image and image edit); not 4 because no key detail is missing.

5 / 5

Workflow Clarity

A single, unambiguous action (POST with modalities flag → decode message.images[0] → write file), which the simple-skill exception permits to score 5. The Troubleshooting section adds effective feedback loops for the real failure modes (empty images, 403, refusal, corrupt PNG), each with the corrective step. No batch/destructive operation is present, so no validation cap applies.

5 / 5

Progressive Disclosure

No bundle files exist, and the body is well-sectioned (Quick recipe, Request shape, Response shape, Cost, When to use, Troubleshooting) with no nested references. Not 5 because at ~150 lines it exceeds the compact single-screen form — the full response JSON and observed-cost data would sit naturally in a references file, and the "When to use this skill" section duplicates the frontmatter description rather than deferring to it.

4 / 5

Total

18

/

20

Passed

Description

78%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: explicit what-and-when structure in third person with natural trigger verbs and a concrete platform/model target. Its only weaknesses are a single-action capability list and the word "diagram", which invites overlap with structural-diagram skills the body itself says to avoid.

DimensionReasoningScore

Specificity

"Generate images via Nano Banana (Gemini 2.5/3.1 Flash Image) on OpenRouter" names the domain and mechanism precisely, but lists only one concrete action (generate images) — no edit/compositing/multi-image capabilities are stated. Not 4 because there aren't several distinct actions; not 2 because the action and platform are concrete, not generic.

3 / 5

Completeness

Explicitly answers both: what — "Generate images via Nano Banana (Gemini 2.5/3.1 Flash Image) on OpenRouter"; when — "Use when the user asks to draw, illustrate, render or generate any kind of picture/diagram/scene". Both what and when are present with concrete trigger phrases, matching the top anchor; 4 would require the 'when' to be less explicit, which it is not.

5 / 5

Trigger Term Quality

"draw, illustrate, render or generate any kind of picture/diagram/scene" gives good natural-verb coverage including synonyms (picture, scene). Not 5 because common user phrasings like "create/make", "logo", "photo", or "avatar" are missing.

4 / 5

Distinctiveness Conflict Risk

A clear niche (generative image creation via a specific API family) with distinct trigger verbs. Not 5 because "diagram" in the trigger list overlaps with structural-diagram/chart skills (mermaid, graphviz, plotting) — the body explicitly warns against these but the description does not, creating minor conflict risk.

4 / 5

Total

16

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata' field is not a dictionary

Warning

metadata_field

'metadata' field is not a dictionary

Warning

Total

14

/

16

Passed

Repository
EverMind-AI/Raven
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.