Use when you need to control Slack from OpenClaw via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
84
77%
Does it follow best practices?
Impact
100%
3.84xAverage score across 3 eval scenarios
Advisory
Suggest reviewing before use
Optimize this skill with Tessl
npx tessl skill review --optimize ./openclaw/skills/slack/SKILL.mdQuality
Discovery
75%Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.
The description is functional and clearly communicates when to use the skill with an explicit 'Use when' clause. It identifies the domain (Slack) and some specific actions (reacting, pinning/unpinning), but could be more comprehensive in listing capabilities and include more natural trigger terms users might use. The mention of 'OpenClaw' adds distinctiveness but the opening phrase 'control Slack' is somewhat vague.
Suggestions
List more specific concrete actions beyond reacting and pinning (e.g., 'send messages', 'list channels', 'search messages') if the skill supports them, or clarify that it's limited to reactions and pins.
Add more natural trigger term variations users might say, such as 'emoji reaction', 'add reaction', 'pin a message', 'bookmark message', or 'star message'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (Slack) and some actions (reacting to messages, pinning/unpinning items), but doesn't comprehensively list all capabilities. It mentions 'control Slack' which is somewhat vague, though it does specify a few concrete actions. | 2 / 3 |
Completeness | Clearly answers both 'what' (control Slack via the slack tool, including reacting to messages and pinning/unpinning items) and 'when' (explicitly starts with 'Use when' and specifies trigger conditions like needing to react to messages or pin/unpin items in Slack channels or DMs). | 3 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Slack', 'reacting to messages', 'pinning', 'unpinning', 'channels', 'DMs', and 'slack tool'. However, it misses common user variations like 'emoji reaction', 'add reaction', 'pin message', 'unpin message', or specific Slack terminology users might naturally use. | 2 / 3 |
Distinctiveness Conflict Risk | Clearly scoped to Slack operations via a specific tool ('slack tool' from 'OpenClaw'), with distinct triggers around reactions and pinning. This is unlikely to conflict with other skills unless there are multiple Slack-related skills. | 3 / 3 |
Total | 10 / 12 Passed |
Implementation
79%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-structured, actionable skill with concrete JSON examples for every supported action. Its main weakness is the lack of validation/error handling guidance, particularly for destructive operations like message deletion. The content is concise and assumes Claude's competence, making it efficient for the context window.
Suggestions
Add a brief error handling or validation note for destructive actions (deleteMessage, unpinMessage) — e.g., 'Verify the messageId exists before deleting' or mention expected error responses.
Consider adding a short 'Common patterns' section showing a multi-step workflow (e.g., read messages → find target → react/pin) to improve workflow clarity.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is lean and efficient. It doesn't explain what Slack is or how APIs work. Every section serves a purpose—inputs, action groups table, and concrete JSON examples. The 'Ideas to try' section is minimal but arguably unnecessary filler; however, it's only two lines. | 3 / 3 |
Actionability | Every action has a complete, copy-paste-ready JSON payload with realistic field values. The inputs section clearly specifies what to collect and where to find the values (e.g., message context lines). This is fully executable guidance. | 3 / 3 |
Workflow Clarity | Each action is clearly documented individually, but there are no validation checkpoints or error handling guidance. For destructive operations like deleteMessage, there's no confirmation step or feedback loop mentioned. The skill presents actions as independent calls without sequencing or safety checks. | 2 / 3 |
Progressive Disclosure | The content is well-organized with clear headers and a summary table, but it's somewhat monolithic—all actions are inline in a single file. For a skill with 11+ distinct actions, some grouping into separate reference files (e.g., message actions vs. pin actions) could improve navigation. However, the content length is manageable and no bundle files exist to reference. | 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 |
|---|---|---|
metadata_version | 'metadata.version' is missing | Warning |
metadata_field | 'metadata' should map string keys to string values | Warning |
Total | 9 / 11 Passed | |
63e87f0
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.