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".
Install with Tessl CLI
npx tessl i github:davepoon/buildwithclaude --skill slack-gif-creator85
Does it follow best practices?
If you maintain this skill, you can automatically optimize it using the tessl CLI to improve its score:
npx tessl skill review --optimize ./path/to/skillValidation for skill structure
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 with excellent trigger terms and completeness. The explicit 'Use when' equivalent clause and Slack-specific focus make it highly distinctive. The main weakness is that the capabilities could be more concrete—listing specific actions rather than abstract terms like 'composable animation primitives'.
Suggestions
Replace abstract terms like 'composable animation primitives' with concrete actions such as 'create looping animations, add text overlays, adjust frame timing'
| 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 specific concrete actions like 'create looping animations', 'resize frames', or 'optimize file size'. | 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 ('applies when users request animated GIFs or emoji animations for Slack') with explicit trigger guidance. | 3 / 3 |
Trigger Term Quality | Includes natural keywords users would say: 'animated GIFs', 'GIF', 'Slack', 'emoji animations', and provides an example phrase 'make me a GIF for Slack of X doing Y' that mirrors real user requests. | 3 / 3 |
Distinctiveness Conflict Risk | Very specific niche combining 'Slack' + 'animated GIFs' + 'emoji animations' creates a distinct trigger profile unlikely to conflict with general image editing or other animation skills. | 3 / 3 |
Total | 11 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a strong, actionable skill with excellent executable code examples and clear validation workflows for Slack's constraints. The main weakness is its length - the comprehensive primitive documentation could be split into separate reference files, and some sections (like the Philosophy section) add tokens without proportional value. The skill successfully balances creative flexibility with technical constraints.
Suggestions
Move detailed primitive documentation (shake, bounce, spin, etc.) to a separate PRIMITIVES.md reference file, keeping only a summary table with links in the main skill
Remove or significantly condense the Philosophy section - Claude doesn't need meta-guidance about creative freedom
Consider removing the Dependencies section - Claude knows how to install Python packages when needed
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The skill is comprehensive but includes some unnecessary verbosity, such as the philosophy section and repeated explanations of concepts. Some sections could be tightened, though it avoids explaining basic concepts Claude would know. | 2 / 3 |
Actionability | Excellent executable code examples throughout - all primitives have copy-paste ready Python code with clear parameters, imports, and usage patterns. The composition examples show complete working implementations. | 3 / 3 |
Workflow Clarity | Clear validation workflow with explicit checkpoints: create GIF → save with optimization → validate with check_slack_size → iterate if over limits. The optimization strategies section provides clear decision trees for when GIFs exceed size limits. | 3 / 3 |
Progressive Disclosure | Content is well-organized with clear sections, but this is a monolithic document (~400 lines) that could benefit from splitting detailed primitive documentation into separate files. References to external files like 'core/easing.py' exist but the bulk of content is inline. | 2 / 3 |
Total | 10 / 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 | |
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.