CtrlK
BlogDocsLog inGet started
Tessl Logo

slack-gif-creator

Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack."

90

2.19x
Quality

71%

Does it follow best practices?

Impact

92%

2.19x

Average score across 10 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/anthropic-slack-gif-creator/SKILL.md

The canonical home for this skill is slack-gif-creator in anthropics/skills

SKILL.md
Quality
Evals
Security

Quality

Content

63%Weight 40%Scale 1-5

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

A well-organized, largely actionable single-file skill with good code examples and a clear core workflow. Its main issues are moderate padding (the redundant Philosophy section and duplicated upload note), validation tooling that is documented but never integrated as an explicit workflow checkpoint, and progressive-disclosure weaknesses: ~250 lines fully inlined with utility imports (`core.*`) that point to modules absent from the bundle.

Suggestions

Wire validation into the core workflow as an explicit step (e.g., '4. Validate: passes, info = validate_gif(output.gif, is_emoji=True); if it fails, adjust parameters and re-save') so the feedback loop is part of the sequence rather than a separate utility listing.

Split the Animation Concepts catalog and Drawing Graphics guidance into one-level-deep reference files (e.g., references/animation.md) linked from SKILL.md, and ensure the `core.*` utility modules referenced by the imports actually ship in the bundle.

Trim the Philosophy section and the duplicated user-upload note (it appears both under 'Working with User-Uploaded Images' and again at the end) to recover tokens without losing information.

DimensionReasoningScore

Conciseness

Mostly efficient — parameter tables, tight code snippets, and a dense animation-concepts catalog — but padded sections remain: "Philosophy" restates already-documented points ("This skill provides: Knowledge... Utilities... Flexibility"), the user-upload note appears twice ("Working with User-Uploaded Images" and again under Philosophy), and coaching prose like "Be creative and detailed!" adds tokens without information. This matches anchor 3 rather than 4, where only minor trimming would be needed.

3 / 5

Actionability

The Core Workflow is concrete and copy-paste ready (GIFBuilder construction, frame loop, save with optimization parameters), and the PIL primitive, validator, easing, and frame_composer snippets give real signatures. It stops short of anchor 5 because the imports reference `core.gif_builder`, `core.validators`, `core.easing`, and `core.frame_composer` — modules not present in the bundle (no scripts/ or core/ directory exists), so the primary workflow cannot be executed as-is, and the animation-concept sections are descriptive rather than executable.

4 / 5

Workflow Clarity

The core sequence is clearly numbered (create builder → generate frames → save with optimization) and validation tooling is prominently documented (`validate_gif`, `is_slack_ready`). It is not anchor 5 because validation is never wired into the workflow as an explicit checkpoint — there is no "save, then validate, fix and re-validate" step — leaving a minor validation gap; operations are non-destructive so no cap applies.

4 / 5

Progressive Disclosure

Section structure is good (clear ## headers, logical ordering), but everything lives inline in a single ~250-line file — the animation-concepts catalog and drawing guide are natural candidates for separate reference files — and the referenced `core.*` utility paths are dangling since no bundle files exist. This fits anchor 3 (structure present, content that should be separate is inline, references not resolvable) rather than 4, which requires content appropriately split across the bundle.

3 / 5

Total

14

/

20

Passed

Description

78%Weight 40%Scale 1-5

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

A strong description that explicitly covers both what the skill does and when to use it, including a concrete example trigger phrase and a distinct Slack-GIF niche. The main weakness is the somewhat abstract "Knowledge and utilities... Provides constraints" framing, which blurs the concrete capability list that would earn top marks on specificity and completeness.

DimensionReasoningScore

Specificity

The description lists several specific capabilities — "creating animated GIFs optimized for Slack", "Provides constraints, validation tools, and animation concepts" — with only minor gaps (drawing/optimization steps are only implied by "optimized"). It sits above anchor 3 (which expects only 1-2 concrete actions) but the abstract framing "Knowledge and utilities for" keeps it below anchor 5's fully concrete action list.

4 / 5

Completeness

Both questions are answered: what ("creating animated GIFs optimized for Slack... validation tools, and animation concepts") and when ("Use when users request animated GIFs for Slack like 'make me a GIF of X doing Y for Slack'"). The 'when' clause is explicit with a concrete trigger phrase, but the 'what' leans on the vague "Knowledge and utilities" framing rather than anchor 5's fully concrete action list.

4 / 5

Trigger Term Quality

Natural terms users would say are present — "animated GIFs", "Slack", "make me a GIF of X doing Y for Slack" — giving good keyword coverage with a concrete example utterance. It falls short of anchor 5 because common synonyms like "animation", "emoji", or file extensions (.gif) are missing.

4 / 5

Distinctiveness Conflict Risk

"animated GIFs optimized for Slack" carves out a clear niche with distinct triggers (Slack + GIF + example phrasing) and minimal overlap risk with general image or animation skills. It clearly matches anchor 5 rather than anchor 4, which would require noticeable overlap with closely related skills.

5 / 5

Total

17

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
boisenoise/skills-collections
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.