CtrlK
BlogDocsLog inGet started
Tessl Logo

apikey-image-gen

Generate or edit images through Ekko Studio using the selected/requested profile's configured Studio image provider from config.yaml.

61

Quality

74%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./packages/skills/apikey-image-gen/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%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.

The content is highly actionable — an executable curl template with complete auth/URL resolution, per-mode JSON examples, field defaults, and explicit error-code handling. Its only weaknesses are minor: a thrice-repeated provider-alias sentence, an inflated port list, and no post-call output verification.

DimensionReasoningScore

Conciseness

The body is dense and purposeful — resolution precedence, field defaults, and error codes with no filler or explanations of concepts Claude already knows. It falls short of anchor 5 because the sentence "If `provider`, `provider_name`, or `custom_provider` is present, the server calls the requested provider's base URL instead" is repeated verbatim in all three mode sections and could be consolidated, plus the four-entry "Common local ports" list could be trimmed.

4 / 5

Actionability

Fully executable, copy-paste-ready: a complete curl template with working shell logic for token and base-URL resolution, concrete JSON payloads for all three modes, a full request-field table with defaults, a sample success response, and named error codes with the exact user-facing remediation ("tell the user to configure `fun-codex`..."). Specific examples cover the common cases.

5 / 5

Workflow Clarity

The prerequisite chain is unambiguous: explicitly ordered numbered lists for base-URL resolution (HERMES_WEB_UI_URL, then PORT, then 8648), token resolution (four-step fallback), and profile selection, plus a hard checkpoint — "If the Hermes Web UI endpoint returns 401, 403, connection failure, or any other error, stop and report". It is below anchor 5 only because there is no post-call validation (e.g. verifying the output file exists or handling unlisted error payloads), which keeps it at anchor 4's "most checkpoints present".

4 / 5

Progressive Disclosure

No bundle files exist (references/, scripts/, assets/ are absent) and the body references no external files, so references are trivially one level deep with no nesting risk. Sections (Modes, Request Fields, Curl Template) are well-organized and easy to navigate; at ~215 lines with the port table and two provider config examples inlined it is not anchor 5's ideal split, but most content is appropriately placed in SKILL.md, matching anchor 4.

4 / 5

Total

17

/

20

Passed

Description

66%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.

The description is concrete and mechanism-specific, clearly stating what it does and through which service, but it omits any "use when" trigger guidance and lacks common synonyms like photo or picture. This caps completeness and limits trigger coverage despite otherwise strong specificity.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks to generate, create, edit, or modify an image, or mentions image generation through Ekko Studio."

Include natural synonyms users actually say — "photo", "picture", "draw", "create an image" — alongside "generate or edit images".

Briefly distinguish the skill from the platform's native image tool (e.g. "Use this instead of the native image_generate tool") to reduce wrong-skill triggering.

DimensionReasoningScore

Specificity

"Generate or edit images" names two concrete actions, and the mechanism is specified precisely ("through Ekko Studio using the selected/requested profile's configured Studio image provider from config.yaml"). It falls between anchor 3 (1-2 concrete actions) and anchor 4 (several actions) — two actions is the skill's full scope, but the list is short relative to anchor 4's three-plus action examples, so it sits above the midpoint rather than clearly matching either.

4 / 5

Completeness

The "what" is clear (generate or edit images via the Studio endpoint with a configured provider), but there is no "Use when..." clause or equivalent explicit trigger guidance — the rubric caps completeness at 3 for this. It is above anchor 2 because the "what" is concrete, and below anchor 4 because the "when" is entirely absent rather than just imprecise.

3 / 5

Trigger Term Quality

"Generate" and "edit images" are exactly the natural phrases a user would say, giving good core keyword coverage. A few common synonyms are missing ("photo", "picture", "draw"), matching anchor 4 rather than anchor 5's comprehensive synonym coverage; it is above anchor 3 because the primary trigger phrases, not just jargon, are present.

4 / 5

Distinctiveness Conflict Risk

"Through Ekko Studio" and "configured Studio image provider from config.yaml" carve a distinct niche away from generic image-generation skills. Minor overlap risk remains with the host platform's native image tool (which the body explicitly says this skill is separate from, but the description does not signal), fitting anchor 4's "mostly distinct; minor overlap risk" rather than anchor 5's minimal-conflict profile.

4 / 5

Total

15

/

20

Passed

Validation

81%

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

Validation — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

16

Passed

Repository
EKKOLearnAI/hermes-studio
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.