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 strong description that clearly identifies its niche (Slack-optimized animated GIFs), includes explicit trigger guidance with a realistic user phrase example, and is distinctive enough to avoid conflicts with other skills. The main weakness is that the capability description leans slightly toward technical abstractions ('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 bouncing, spinning, or fading animations' to improve specificity.

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, validate file size limits, export optimized GIFs'.

2 / 3

Completeness

Clearly answers both 'what' (toolkit for creating animated GIFs optimized for Slack with validators and animation primitives) and 'when' (explicitly states 'This skill applies when users request animated GIFs or emoji animations for Slack').

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 combining animated GIFs specifically for Slack with size constraint validation. Unlikely to conflict with general image creation or other animation skills due to the specific Slack + GIF + emoji animation focus.

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 is highly actionable with excellent, executable code examples covering a comprehensive animation toolkit. However, it suffers severely from being a monolithic document that tries to serve as both a quick-start guide and a complete API reference. The ~400+ lines of content would be far more effective as a concise overview (Slack constraints, workflow, key patterns) with references to separate files for each animation primitive and utility module.

Suggestions

Extract animation primitive documentation (shake, bounce, spin, pulse, fade, zoom, explode, wiggle, slide, flip, morph, move, kaleidoscope) into a separate PRIMITIVES.md or individual files, keeping only a summary table with one-line descriptions in SKILL.md

Extract helper utilities (text rendering, color management, visual effects, easing, frame composition) into a separate UTILITIES.md reference file

Add explicit validation checkpoints in the workflow: validate dimensions before creating frames, check intermediate file size after first draft, and show a concrete fix-and-retry loop when emoji GIFs exceed 64KB

Remove explanatory text Claude already knows (e.g., 'Smooth motion uses easing instead of linear interpolation', 'Professional-looking GIFs often use cohesive color palettes') to reduce token usage

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~400+ lines. It exhaustively documents every animation primitive with full code examples that could be in separate reference files. Many sections explain concepts Claude already knows (what easing is, what RGB tuples are, how PIL works). The Slack requirements table and optimization strategies are useful, but the bulk of the content is API reference material that bloats the main skill file.

1 / 3

Actionability

The skill provides fully executable, copy-paste ready code examples throughout. Every animation primitive has concrete import paths, function signatures with real parameters, and working code patterns. The composition examples at the end show complete workflows from frame creation to saving and validation.

3 / 3

Workflow Clarity

The Philosophy section outlines a 5-step workflow and the composition examples show multi-phase animations with validation at the end. However, validation is often tacked on as an afterthought rather than integrated as explicit checkpoints. For emoji GIFs where the 64KB limit is described as 'strict,' there's no feedback loop showing what to do when validation fails mid-creation, just a general 'iterate if needed' note.

2 / 3

Progressive Disclosure

This is a monolithic wall of content with no references to external files despite having a clear bundle structure (core/, templates/ directories). All 13+ animation primitives are documented inline with full code examples when they should be in separate reference files. The skill would benefit enormously from a concise overview pointing to detailed docs for each primitive.

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.