CtrlK
BlogDocsLog inGet started
Tessl Logo

gif-search

Search/download GIFs from Tenor via curl + jq.

55

Quality

64%

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

75%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 a tight, executable reference for the Tenor API with well-organized sections and copy-paste commands covering the common cases. It is slightly held back by minor redundancy with the frontmatter and the absence of any key/error validation checkpoints.

DimensionReasoningScore

Conciseness

The body is lean and mostly code/tables with no padding about what GIFs are or how libraries work, matching 'efficient; minor instances of over-explanation that could be trimmed'; it stays at 4 rather than 5 because the Prerequisites section duplicates the frontmatter prerequisites and the API-key note is mildly promotional ('free and has generous rate limits').

4 / 5

Actionability

Copy-paste-ready curl + jq commands cover search, preview, download, and full metadata, matching 'mostly executable guidance; concrete code or commands with minor gaps'; not 5 because there is no validation that TENOR_API_KEY is set and no error handling for failed curl/jq calls.

4 / 5

Workflow Clarity

Sections are clearly organized by task and the download example is sequenced (capture URL, then curl -o), matching 'clear sequence with most checkpoints present; minor validation gaps'; not 5 because there are no explicit validation/checkpoint steps, and not lower because this is a simple non-destructive skill so the destructive/batch cap does not apply.

4 / 5

Progressive Disclosure

The skill is self-contained with no bundle files and is well organized into clearly headed sections plus two reference tables, matching 'good structure; most content appropriately placed; minor organization gaps'; not 5 because some inline reference material (full API parameter table) could arguably live in a separate reference file, though for this skill size inline placement is reasonable.

4 / 5

Total

16

/

20

Passed

Description

53%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 clear and specific about what the skill does and the tools it uses, with a distinct Tenor/GIF niche. Its main weakness is the absence of any explicit 'Use when...' trigger guidance, which limits completeness and trigger-term quality.

Suggestions

Add a 'Use when...' clause, e.g. 'Use when the user wants to find, download, or send GIFs, especially reaction GIFs, via the Tenor API.'

Include natural synonyms and trigger phrases such as 'reaction GIFs', 'animated stickers', or 'find a GIF' to improve trigger-term coverage.

Mention a couple more concrete actions (e.g. retrieve metadata, fetch preview/tinygif versions) to lift specificity toward comprehensive coverage.

DimensionReasoningScore

Specificity

Quotes 'Search/download GIFs from Tenor via curl + jq' name the domain plus two concrete actions (search, download) and the tooling, matching the anchor that lists 1-2 concrete actions without being comprehensive; it does not reach 4 because no further actions (e.g. preview, metadata retrieval) are listed.

3 / 5

Completeness

The 'what' is clear (search/download GIFs from Tenor) but there is no 'Use when...' clause or equivalent trigger guidance, so per the judging guideline completeness is capped at 3; it is not 4 because 'when' is entirely missing rather than weakly implied.

3 / 5

Trigger Term Quality

'GIFs' and 'Tenor' are natural terms a user might say, but common variations such as 'reaction GIFs', 'stickers', or file extensions are absent, fitting the 'some relevant keywords but missing common variations' anchor; not 4 because coverage of natural synonyms is thin.

3 / 5

Distinctiveness Conflict Risk

'GIFs from Tenor via curl + jq' carves a clear niche unlikely to overlap with unrelated skills, matching the 'mostly distinct; minor overlap risk' anchor; not 5 because the short description lacks explicit trigger phrases that would fully disambiguate it from generic media/search skills.

4 / 5

Total

13

/

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.

Validation12 / 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.