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".

75

4.65x
Quality

66%

Does it follow best practices?

Impact

93%

4.65x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/all-skills/skills/slack-gif-creator/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

89%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This is a solid description that clearly identifies its niche (Slack-optimized animated GIFs), provides explicit trigger guidance with a realistic user phrase example, and is distinctly scoped. The main weakness is that the capability description leans slightly toward technical/abstract language ('composable animation primitives', 'validators for size constraints') rather than listing concrete user-facing actions.

Suggestions

Replace abstract terms like 'composable animation primitives' with concrete actions such as 'create frame-by-frame animations, apply motion effects, loop sequences, and export optimized .gif files'.

DimensionReasoningScore

Specificity

Names the domain (animated GIFs for Slack) and mentions some capabilities (validators for size constraints, composable animation primitives), but doesn't list multiple concrete actions like 'create frame sequences, apply easing functions, resize to Slack limits, export as .gif'.

2 / 3

Completeness

Clearly answers both what ('toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives') and when ('when users request animated GIFs or emoji animations for Slack from descriptions like...'), with explicit trigger guidance.

3 / 3

Trigger Term Quality

Includes strong natural trigger terms: 'animated GIFs', 'Slack', 'emoji animations', 'GIF', and even provides a realistic user phrase template ('make me a GIF for Slack of X doing Y'). Good coverage of terms users would naturally say.

3 / 3

Distinctiveness Conflict Risk

Very clear niche: animated GIFs specifically for Slack with size constraints. The combination of 'animated GIF' + 'Slack' + 'emoji animations' creates a distinct trigger profile unlikely to conflict with general image generation or other skills.

3 / 3

Total

11

/

12

Passed

Implementation

42%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill excels at actionability with comprehensive, executable code examples for a rich animation toolkit. However, it severely suffers from being a monolithic reference document (~400+ lines) that should be split into a concise overview with references to detailed API docs. The validation workflow exists but isn't consistently enforced in examples, particularly for the critical 64KB emoji constraint.

Suggestions

Move the detailed API documentation for each animation primitive (shake, bounce, spin, pulse, fade, zoom, explode, wiggle, slide, flip, morph, move, kaleidoscope) into a separate PRIMITIVES.md reference file, keeping only 2-3 representative examples in SKILL.md

Move helper utilities documentation (text rendering, color management, visual effects, easing, frame composition) into a separate HELPERS.md file

Remove explanatory sentences Claude already knows, such as 'Smooth motion uses easing instead of linear interpolation' and 'Professional-looking GIFs often use cohesive color palettes'

Add explicit validation checkpoints to every composition example - especially for emoji GIFs, include a validate-then-fix loop rather than just a single check_slack_size call at the end

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~400+ lines, with extensive API documentation for every animation primitive that reads like a full library reference. Much of this could be in separate files. Phrases like 'Professional-looking GIFs often use cohesive color palettes' and 'Smooth motion uses easing instead of linear interpolation' explain concepts Claude already knows.

1 / 3

Actionability

The skill provides fully executable, copy-paste ready code examples throughout, with concrete import paths, function signatures, parameter values, and complete composition patterns. The examples are specific and immediately usable.

3 / 3

Workflow Clarity

The Philosophy section outlines a 5-step workflow and the optimization strategies provide clear sequences. However, validation is mentioned but not consistently integrated into the workflow examples - most composition patterns only add validation as an afterthought (only the first example calls check_slack_size), and there's no explicit feedback loop for the critical emoji size constraint despite acknowledging it's challenging.

2 / 3

Progressive Disclosure

This is a monolithic wall of content with every animation primitive's full API documented inline. The toolkit references files like 'core/easing.py' and 'templates/shake.py' but doesn't leverage separate documentation files. The entire API reference for 13+ animation primitives plus helpers should be split into referenced files, with SKILL.md serving as an overview.

1 / 3

Total

7

/

12

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.

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

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

Warning

frontmatter_unknown_keys

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

Warning

Total

9

/

11

Passed

Repository
davepoon/buildwithclaude
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.