CtrlK
BlogDocsLog inGet started
Tessl Logo

slack-gif-creator

Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives. This skill applies when users request animated GIFs or emoji animations for Slack from descriptions like "make me a GIF for Slack of X doing Y".

65

Quality

79%

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

Quality

Content

71%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 highly actionable toolkit reference with excellent executable examples and a reasonable validate-then-iterate workflow, but it is over-long for a single file: repeated creative-freedom padding and fully inlined per-primitive docs (with no real bundle files behind the referenced module paths) hurt conciseness and progressive disclosure.

Suggestions

Split per-primitive documentation (shake, bounce, spin, etc.) and the API reference into separate files under templates/ and core/, replacing the inlined blocks in SKILL.md with one-level-deep "See [templates/shake.md]" links so the overview stays lean.

Remove the repeated creative-freedom boilerplate ("Complete creative freedom is available", "Apply these tools however needed to achieve the creative vision", the Philosophy restatement) — state it once or let the structure imply it.

Actually ship the referenced bundle modules (core/validators.py, core/gif_builder.py, templates/*.py) or drop the import-style references, since the paths currently point to files that do not exist in the bundle.

DimensionReasoningScore

Conciseness

The body is mostly efficient code/API reference, but repeats creative-freedom boilerplate ("Complete creative freedom is available", "Apply these tools however needed to achieve the creative vision", the Philosophy restatement) and lightly explains concepts Claude knows (easing, color palettes). Not a 2 because the bulk is genuinely useful API documentation rather than padding.

3 / 5

Actionability

Dozens of copy-paste-ready Python snippets with real imports, concrete parameters, and worked composition examples (e.g., the Bounce + Flash "GOAL!" example) cover the common cases fully and are executable as written.

5 / 5

Workflow Clarity

The Philosophy section sequences the work (understand vision → design → apply primitives → validate constraints → iterate if over limits) with validation checkpoints and size-feedback loops in the Optimization Strategies section. Not a 5 because the workflow steps are somewhat abstract and validation is illustrated in examples rather than enforced as an explicit checklist.

4 / 5

Progressive Disclosure

The file has clear section headers, but ~640 lines of per-primitive and API documentation that clearly belongs in separate reference files are inlined into SKILL.md, with no "See X.md" navigation. Additionally, referenced module paths (core/, templates/) do not exist as bundle files, so the implied deeper material is absent.

3 / 5

Total

15

/

20

Passed

Description

87%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 that clearly and explicitly answers both what the skill does and when to use it, with natural trigger phrasing and a distinct Slack-GIF niche. Minor gaps in action specificity and synonym coverage keep specificity and trigger_term_quality just below the top anchor.

DimensionReasoningScore

Specificity

"creating animated GIFs optimized for Slack", "validators for size constraints", and "composable animation primitives" name several concrete capabilities, though the action list is not exhaustive. Not a 5 because coverage is not fully comprehensive (e.g., no mention of optimization/quantization or text rendering as actions).

4 / 5

Completeness

It explicitly states what the skill does ("Toolkit for creating animated GIFs optimized for Slack, with validators... and composable animation primitives") and when to use it ("This skill applies when users request animated GIFs or emoji animations for Slack from descriptions like...") with concrete trigger phrases, in third person.

5 / 5

Trigger Term Quality

"animated GIFs", "emoji animations for Slack", and the natural phrase "make me a GIF for Slack of X doing Y" give good keyword coverage a user would actually say. Not a 5 because some synonyms/extensions (e.g., .gif, stickers, animated emoji) are missing.

4 / 5

Distinctiveness Conflict Risk

The Slack-specific GIF/emoji-animation niche with Slack-bound triggers is clearly distinct from generic image or GIF skills and carries minimal conflict risk.

5 / 5

Total

18

/

20

Passed

Validation

93%

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

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (647 lines); consider splitting into references/ and linking

Warning

Total

15

/

16

Passed

Repository
ComposioHQ/awesome-claude-skills
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.