CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

slack-web-api

Comprehensive guidance for Slack Web API operations with the Go SDK. Use when sending messages, posting to channels, creating or managing channels, retrieving user information, uploading files, composing Block Kit messages, creating or editing Canvases, registering Calls, building an AI Assistant thread, or performing any synchronous Slack API operations.

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%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 lean, code-first reference that is largely copy-paste ready and well organized, with good error-handling and pagination coverage. Its key defects are unresolvable reference paths (no references/ directory in the bundle, links pointing two levels up), a missing client-initialization example, and a rate-limit retry snippet that doesn't actually retry.

Suggestions

Fix the reference links to point inside the skill bundle (references/web-api-messaging.md rather than ../../references/web-api-messaging.md) and ship the referenced files, so the progressive-disclosure pointers actually resolve.

Add a short initialization snippet (api := slack.New(token) with the token sourced from an environment variable) so all examples are truly copy-paste ready.

Correct the rate-limiting example to actually retry after sleeping RetryAfter (e.g., loop with a bounded retry count) instead of sleeping and then returning err.

DimensionReasoningScore

Conciseness

The body is almost entirely load-bearing code with minimal prose; it never explains what Slack is, how Go works, or library basics, and assumes Claude's competence. The single borderline sentence ("Block Kit allows rich, interactive messages") is a one-line signpost to a reference file, keeping it at anchor 5.

5 / 5

Actionability

Concrete, real SDK code throughout (PostMessage, CreateConversation, GetUserInfo, UploadFile, a full cursor-pagination loop) — mostly executable. It falls short of anchor 5 because client initialization (slack.New(token)) is never shown, the assistant example uses undefined ctx/threadTS, and the "Common Error Types" list mixes real types with vague entries ("Permission errors - Missing scopes").

4 / 5

Workflow Clarity

Sections are well sequenced, every operation includes an err-check checkpoint, and the pagination loop is complete. However, the rate-limit snippet sleeps RetryAfter and then returns err anyway — a misleading non-retry pattern — and there are no validation checkpoints beyond err checks, matching anchor 4 rather than 5.

4 / 5

Progressive Disclosure

The structure mirrors the anchor-5 pattern (inline quick-start examples plus clearly signaled "See X for depth" pointers), but every one of the ~10 links targets ../../references/*.md — two levels above SKILL.md, outside the skill directory — and the bundle ships no references/ directory at all, so all links are dangling. Broken reference paths are more than the "minor organization gaps" of anchor 4; scoring 3.

3 / 5

Total

16

/

20

Passed

Description

88%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 with an explicit what/when structure and a long list of concrete, domain-specific actions. Its main weaknesses are mild over-claiming ("Comprehensive", "any ... operations") and a missing layer of natural Slack vocabulary (reactions, threads, search) that users commonly request.

Suggestions

Add commonly requested Slack operations as trigger terms — e.g., reactions/emoji, threads and replies, and message search — so the description covers the natural phrases users actually say.

Trim the over-claims ("Comprehensive", "any synchronous Slack API operations") in favor of listing the concrete trigger surfaces already enumerated.

DimensionReasoningScore

Specificity

The description lists many concrete actions — "sending messages, posting to channels, creating or managing channels, retrieving user information, uploading files, composing Block Kit messages, creating or editing Canvases, registering Calls, building an AI Assistant thread" — giving comprehensive coverage of the Slack Web API surface. It exceeds anchor 4 because coverage has no material gaps, and the one soft phrase ("Comprehensive guidance") is backed by a concrete action list.

5 / 5

Completeness

Both parts are explicit: the "what" ("Comprehensive guidance for Slack Web API operations with the Go SDK") and a "Use when" clause with concrete triggers ("Use when sending messages, posting to channels, ... or performing any synchronous Slack API operations"). The "when" is explicit and trigger-based but the trailing catch-all "performing any synchronous Slack API operations" is broad where anchor 5 rewards tightly concrete trigger phrases.

4 / 5

Trigger Term Quality

Natural phrases users would say are present ("sending messages", "posting to channels", "uploading files", "user information", "channels") alongside domain terms (Block Kit, Canvases, Calls). Falls short of anchor 5 because common Slack vocabulary a user would naturally use — reactions, emoji, threads/replies, search, invites — is missing.

4 / 5

Distinctiveness Conflict Risk

The niche is clear (Slack Web API via the Go SDK, explicitly synchronous), so it won't trigger for unrelated skills. Minor overlap risk remains with closely related skills — other Slack surfaces (webhooks, Events API) or other language SDKs — and "Comprehensive" plus "any synchronous Slack API operations" mildly over-claims breadth.

4 / 5

Total

17

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 9 suspicious

Warning

Total

14

/

16

Passed

Repository

freightCognition/linehaulai-claude-marketplace

Path

plugins/slack-go-sdk/skills/slack-web-api/SKILL.md

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.