CtrlK
BlogDocsLog inGet started
Tessl Logo

openai-image-gen

Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.

58

Quality

69%

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 ./skills/openai-image-gen/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

80%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 body is a tight, executable reference: all commands are real and copy-paste ready, model-specific constraints are documented in scannable tables, and structure is appropriate for the skill's size. The notable gap is the absence of any validation or feedback loop for what is a paid batch API operation, which caps workflow clarity.

Suggestions

Add a brief pre-flight/validation note for batch runs: confirm the desired count with the user (each image costs money) and check that OPENAI_API_KEY is set before invoking the script.

Document error handling and retry behavior — what to do when the API returns an error mid-batch and how to verify all expected images plus prompts.json were written before opening the gallery.

Trim the duplication between the 'Useful flags' examples and the 'Model-Specific Parameters' tables (e.g., drop sizes/qualities already shown in the examples, or shorten the examples to one line per model).

DimensionReasoningScore

Conciseness

The body is lean and information-dense (run commands, per-model parameter tables, output listing) with almost no explanation of concepts Claude already knows. Not a 5 because there is minor redundancy: the 'Useful flags' examples already demonstrate sizes/qualities/styles that the 'Model-Specific Parameters' section then repeats, and 'The script automatically selects appropriate defaults based on the model' is stated twice in different words.

4 / 5

Actionability

Every example is a fully executable command (verified: --count, --model, --size, --quality, --background, --output-format, --style, and --out-dir all exist in scripts/gen.py), and the examples cover the common cases for all three model families. Copy-paste ready with concrete flag values, matching the top anchor.

5 / 5

Workflow Clarity

The single run action is unambiguous ('python3 {baseDir}/scripts/gen.py' then open the gallery), but this is a batch operation (default --count 8 against a paid API) with no validation or verification steps — no guidance on confirming count/cost before running, handling API errors, retrying failures, or checking that all images and prompts.json landed. Per the rubric's cap, a batch skill without validation cannot score above 3, which overrides the simple-skill exception. Not a 2 because the sequence that exists is clear and complete for the happy path.

3 / 5

Progressive Disclosure

For a skill this small, keeping everything in one well-organized file is the right call: 'Run', 'Model-Specific Parameters', and 'Output' sections are cleanly headed, the single bundle file (scripts/gen.py) is referenced correctly at one level deep, and there is no content that clearly belongs in a separate reference file. Matches the simple-skill case of clear organization with no unnecessary nesting or buried references.

5 / 5

Total

17

/

20

Passed

Description

58%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 concise, concrete, and third-person, clearly stating what the skill does. Its main weakness is the complete absence of 'when to use' trigger guidance and natural trigger synonyms (e.g., DALL-E, gpt-image), which limits discoverability and caps completeness.

Suggestions

Add an explicit 'Use when...' clause, e.g., 'Use when the user wants to generate, create, or batch-produce images via OpenAI (gpt-image-1 or DALL-E).'

Include natural trigger synonyms and model names users would say — 'DALL-E 3', 'gpt-image-1', 'AI images', 'image generation' — to improve trigger term coverage.

Briefly enumerate one or two more concrete capabilities (e.g., 'adjusts size, quality, and output format per model') to round out coverage.

DimensionReasoningScore

Specificity

Quotes 'Batch-generate images via OpenAI Images API', 'Random prompt sampler', and 'index.html gallery' — several concrete, distinct actions are named. Not a 5 because coverage is thin: no mention of supported models, sizes, formats, or output handling; not a 3 because it lists more than 1-2 actions with specifics.

4 / 5

Completeness

The 'what' is clear ('Batch-generate images via OpenAI Images API. Random prompt sampler + index.html gallery'), but there is no 'Use when...' clause or any equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. Not a 2 because the 'what' is concrete, not vague.

3 / 5

Trigger Term Quality

Natural terms like 'generate images' and 'OpenAI' are present, but common variations users would actually say — 'DALL-E', 'gpt-image', 'AI image generation', 'make pictures' — are missing. Matches 'some relevant keywords but missing common variations or synonyms' rather than 4, since only two genuinely natural trigger words exist.

3 / 5

Distinctiveness Conflict Risk

Scoping to 'OpenAI Images API' carves a clear niche distinct from generic image-manipulation skills. Not a 5 because 'generate images' alone could still overlap with other image-generation skills (e.g., local diffusion or image-editing skills) since no model names or exclusivity signals are given.

4 / 5

Total

14

/

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
Bitterbot-AI/bitterbot-desktop
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.