CtrlK
BlogDocsLog inGet started
Tessl Logo

slack

Use when you need to control Slack from Bitterbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.

64

Quality

78%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/slack/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

83%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.

An exemplary compact tool reference: token-efficient, fully executable JSON examples for every action, and clear sourcing of input fields. The only substantive gap is the absence of verification steps around destructive actions (delete, edit, unpin), which caps workflow clarity.

Suggestions

Add a brief safety note for destructive actions, e.g. 'Before deleteMessage/editMessage, call readMessages to confirm you are targeting the right message; confirm with the user before deleting.'

Include an error-recovery hint for common failures (e.g. what to do when the bot lacks pin or react permissions in a channel), giving the destructive workflow a validate-then-act checkpoint.

State expected outputs or success indicators for at least the mutating actions (e.g. readMessages returns context lines containing slack message id and channel) so results can be verified after acting.

DimensionReasoningScore

Conciseness

The body is lean and efficient: a one-line overview, a compact inputs list, an action-group table, and one minimal JSON example per action with no padding or explanation of concepts Claude already knows. Every section earns its tokens, matching the 'lean and efficient; assumes Claude's competence' anchor.

5 / 5

Actionability

Every action has a complete, copy-paste-ready JSON payload ('action': 'react/sendMessage/deleteMessage', etc.) with concrete field values ('C123', '1712023032.1234', '✅'), plus an inputs section explaining where to source channelId/messageId ('Message context lines include slack message id and channel fields you can reuse directly'). This fully matches the executable, common-cases-covered anchor.

5 / 5

Workflow Clarity

Each single action is unambiguous, but the skill includes destructive operations — 'deleteMessage', 'editMessage', 'unpinMessage' — with no validation or verification guidance (e.g. read the message first or confirm with the user before deleting). The guideline capping workflow clarity at 3 for destructive operations without validation applies and takes precedence over the simple-skill exception.

3 / 5

Progressive Disclosure

No bundle files exist, and the ~140-line body is well organized into Overview / Inputs / Actions / Ideas sections with each action under its own header, so all content appropriately lives inline. It is not eligible for the under-50-line simple-skill 5, and the action-group table plus per-action headers leave only minor organization gaps, matching anchor 4.

4 / 5

Total

17

/

20

Passed

Description

73%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 well-formed description with an explicit trigger clause, natural keywords, and a distinct Bitterbot-specific niche. Its main weaknesses are incomplete capability coverage (messaging, member info, and emoji actions are absent) and second-person phrasing in the trigger clause.

Suggestions

Enumerate the remaining action groups in the description, e.g. 'including reacting to messages, pinning/unpinning items, sending, editing, and deleting messages, and looking up member info in Slack channels or DMs'.

Rewrite the trigger clause in third person to match the standard form, e.g. 'Use when the user asks to react to, pin, or manage Slack messages from Bitterbot'.

Add commonly spoken trigger phrases such as 'send a Slack message' or 'Slack emoji' to broaden natural keyword coverage.

DimensionReasoningScore

Specificity

Names the domain ('control Slack from Bitterbot via the slack tool') with concrete actions 'reacting to messages' and 'pinning/unpinning items in Slack channels or DMs', but major capabilities shown in the body (send/edit/delete messages, member info, emoji list) are unmentioned, so coverage gaps are more than minor (base 4). The second-person phrasing 'Use when you need to' costs 1 point per the judging guidelines, landing at 3.

3 / 5

Completeness

Both parts are present: what ('control Slack from Bitterbot via the slack tool, including reacting to messages or pinning/unpinning items') and an explicit when ('Use when you need to control Slack from Bitterbot'). The when-clause is somewhat circular — it restates the what rather than naming concrete trigger moments — so it matches anchor 4, not the explicit concrete-trigger-phrases anchor 5.

4 / 5

Trigger Term Quality

Good natural keyword coverage — 'Slack', 'reacting to messages', 'pinning/unpinning', 'channels', 'DMs' are phrases users would actually say. Common variations like 'send a Slack message', 'emoji', or 'Slack bot' are missing, so it falls just short of the comprehensive anchor 5.

4 / 5

Distinctiveness Conflict Risk

The description is scoped to a clear niche ('control Slack from Bitterbot via the slack tool') with distinct triggers (Slack reactions, pins, channels, DMs), making confusion with other skills unlikely and matching the 'clear niche with distinct triggers; minimal conflict risk' anchor.

5 / 5

Total

16

/

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

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository
Bitterbot-AI/bitterbot-desktop
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.