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

Install with Tessl CLI

npx tessl i github:davepoon/buildwithclaude --skill slack-gif-creator
What are skills?

85

Does it follow best practices?

Validation for skill structure

SKILL.md
Review
Evals

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'

DimensionReasoningScore

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

DimensionReasoningScore

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.

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

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.