CtrlK
BlogDocsLog inGet started
Tessl Logo

gif-search

Search/download GIFs from Tenor via curl + jq.

61

Quality

75%

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/media/gif-search/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

A tight, command-first reference: every task has executable curl + jq examples, parameters and media formats are documented in compact tables, and structure is clean. The only trimmable fat is the redundant Prerequisites section and a few filler phrases.

DimensionReasoningScore

Conciseness

The body is lean and command-first with minimal conceptual explanation, but has small redundancies: a Prerequisites section duplicating the frontmatter's env_vars/commands, "No extra tools needed", and "(both standard on macOS/Linux)" padding. This fits 'efficient; minor instances of over-explanation that could be trimmed' rather than the every-token-earns-its-place anchor at 5.

4 / 5

Actionability

Every workflow ships copy-paste-ready curl + jq commands: search with URL extraction (`.results[].media_formats.gif.url`), search-then-download with `curl -sL "$URL" -o celebration.gif`, and a metadata query, plus concrete parameter and media-format tables. This matches 'fully executable; copy-paste ready code or commands; specific examples cover the common cases'.

5 / 5

Workflow Clarity

This is a simple, single-purpose skill with no multi-step fragile process, and each action (search, download, metadata) is unambiguous with an executable command — the simple-skill exception applies. No validation checkpoints are expected since there are no destructive or batch operations, so the cap at 3 does not apply.

5 / 5

Progressive Disclosure

The bundle contains no reference files and the skill needs none: the body is short (~75 lines), cleanly sectioned (Setup, Search, Download, Metadata, Parameters, Formats, Notes), and no bulk reference material is inlined. Per the guideline for simple skills with no need for external references, well-organized sections alone merit a 5.

5 / 5

Total

19

/

20

Passed

Description

57%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 and concrete but incomplete: it states clearly what the skill does yet gives no guidance on when to use it, and its trigger vocabulary misses natural user phrasings like 'reaction GIF'. Distinctiveness is excellent thanks to the Tenor-specific niche.

Suggestions

Add an explicit trigger clause, e.g. 'Use when the user asks for a GIF, reaction image, or wants to search or send an animated GIF in chat.'

Broaden trigger vocabulary to include synonyms users naturally say: 'reaction GIF', 'animated image', 'find a gif'.

Mention 1-2 more concrete capabilities from the body (e.g., retrieve full metadata, pick media formats like tinygif/mp4) to raise specificity from 2 actions to several.

DimensionReasoningScore

Specificity

"Search/download GIFs from Tenor via curl + jq" names the domain (Tenor GIFs) and exactly two concrete actions (search, download) with tooling, matching the anchor for 1-2 concrete actions but not comprehensive. It is not a 4 because capabilities covered in the body (metadata retrieval, format selection, chat embedding) are absent from the description.

3 / 5

Completeness

The 'what' is clear (search and download GIFs from Tenor via curl + jq), but there is no 'Use when...' clause or equivalent trigger guidance, which the judging guidelines cap at 3. It is not a 2 because the 'what' half is specific and concrete, and not a 4 because 'when' is entirely absent rather than merely implicit.

3 / 5

Trigger Term Quality

The terms "GIFs", "Tenor", "Search", and "download" are relevant, but common variations users actually say — "reaction GIF", "animated image", "find a gif" — are missing. This fits the 'some relevant keywords but missing common variations or synonyms' anchor rather than the good-coverage anchor at 4.

3 / 5

Distinctiveness Conflict Risk

"from Tenor" pins a clear niche (Tenor API GIF search via curl/jq) with distinct triggers and minimal overlap with other skills. It clearly matches the 'clear niche with distinct triggers' anchor; the score-4 anchor's 'minor overlap risk with closely related skills' (e.g., PDF + Word ambiguity) does not apply.

5 / 5

Total

14

/

20

Passed

Validation

75%

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

Validation — 12 / 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

relative_links

Relative link issues: 1 missing

Warning

Total

12

/

16

Passed

Repository
NousResearch/hermes-agent
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.