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
66%
Does it follow best practices?
Impact
93%
4.65xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/all-skills/skills/slack-gif-creator/SKILL.mdQuality
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), provides 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 specific capabilities could be more concrete—terms like 'composable animation primitives' are somewhat technical/abstract rather than listing specific actions the skill performs.
Suggestions
Replace 'composable animation primitives' with concrete actions like 'build frame-by-frame animations, apply easing/transitions, loop sequences' to improve specificity.
| Dimension | Reasoning | Score |
|---|---|---|
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 with validators and animation primitives) and 'when' (explicitly states 'This skill applies when users request animated GIFs or emoji animations for Slack' with a concrete example trigger phrase). | 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 + Slack + emoji animations with size constraint validation. Unlikely to conflict with general image generation or other animation skills due to the specific Slack optimization 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 significantly from being a monolithic document that tries to serve as both a quick-start guide and a complete API reference, resulting in extreme verbosity. The workflow includes validation but lacks consistent feedback loops for the critical emoji size constraint, and the content desperately needs to be split across reference files.
Suggestions
Split animation primitive documentation into a separate PRIMITIVES_REFERENCE.md file, keeping only 2-3 representative examples in the main SKILL.md with links to the full reference.
Move helper utilities documentation (text rendering, color management, visual effects, easing, frame composition) into a HELPERS.md reference file.
Add an explicit validation feedback loop to the workflow: after every save, check size, and if over limit, automatically apply optimization strategies and re-save.
Reduce the main SKILL.md to ~100 lines covering: Slack constraints table, one complete end-to-end example with validation, the workflow philosophy, and links to detailed reference files.
| Dimension | Reasoning | Score |
|---|---|---|
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. Much of this is API documentation that doesn't need to live in the main SKILL.md. The explanations of easing concepts and color palettes are things Claude already understands. | 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 complete composition examples showing how to combine primitives into finished GIFs. | 3 / 3 |
Workflow Clarity | The Philosophy section outlines a 5-step workflow and the optimization strategies provide clear escalation paths. However, validation is mentioned but not consistently integrated into the workflow examples - the composition examples only sometimes include validation calls, and there's no explicit feedback loop for the common case of emoji GIFs exceeding 64KB after creation. | 2 / 3 |
Progressive Disclosure | This is a monolithic wall of content with no references to external files despite the content clearly warranting separation. The 12+ animation primitives, helper utilities, and composition examples should be split into reference files. No bundle files are provided, yet the skill references module paths like 'templates/shake.py' and 'core/validators.py' suggesting a file structure exists that could house documentation. | 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.
Validation — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
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 | |
c911a92
Table of Contents
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.