Content
78%Weight 40%Scale 1-5Reviews 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.
| Dimension | Reasoning | Score |
|---|---|---|
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 |