CtrlK
BlogDocsLog inGet started
Tessl Logo

discord-automation

Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions. Always search tools first for current schemas.

77

1.85x
Quality

74%

Does it follow best practices?

Impact

89%

1.85x

Average score across 3 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./plugins/all-skills/skills/discord-automation/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%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-structured, information-dense skill body that gives Claude exact tool names, parameters, and domain gotchas (permissions, rate limits, emoji encoding) with minimal fluff. Its weaknesses are duplicated rate-limit/repetition content, no example tool invocations, and — most significantly — no validation or confirmation steps around destructive operations such as role deletion and bulk reaction clearing.

Suggestions

Add verification checkpoints after destructive and batch operations, e.g. 'After DELETE_GUILD_ROLE, run GET_GUILD_MEMBER or list guild roles to confirm the role is gone before proceeding' — and consider a get-before-delete confirm step for role and webhook deletion.

Show one or two concrete example invocations (e.g., a RUBE_SEARCH_TOOLS query for 'discord message' and a sample DISCORDBOT_CREATE_MESSAGE call with arguments) so the guidance is copy-paste ready.

De-duplicate content: state rate limits once, and either cut the Quick Reference table or the per-workflow tool sequences so each tool slug appears once; consider moving parameter/pagination details to a references/ file.

DimensionReasoningScore

Conciseness

The body is dense and list/table-driven with almost no padding prose — each workflow is compressed into tool sequence, key parameters, and pitfalls. Minor trimming opportunities exist: rate limits are stated twice (workflow 1 pitfalls and the 'Known Pitfalls' section), the Quick Reference table re-lists tool slugs already given in the workflows, and the 'Snowflake IDs' section lightly explains a concept Claude already knows, which keeps it below anchor 5.

4 / 5

Actionability

Guidance is concrete throughout: exact tool slugs ('DISCORDBOT_CREATE_MESSAGE'), named parameters ('channel_id', 'recipient_id', 'emoji_name'), permission constants with values ('MANAGE_ROLES = 0x10000000'), and format specifics ('URL-encoded emoji', 'name:id for custom emojis'). It is not fully copy-paste ready at anchor 5 because it never shows an actual example call (e.g., a RUBE_SEARCH_TOOLS query or a sample tool invocation with arguments).

4 / 5

Workflow Clarity

Setup is well sequenced with checkpoints ('Verify Rube MCP is available', 'Confirm connection status shows ACTIVE before running any workflows') and workflows use labeled ordered steps ([Prerequisite]/[Required]/[Optional]). However, the operational workflows themselves contain no validation or verification steps — after destructive actions like 'DISCORDBOT_DELETE_GUILD_ROLE' (described as permanently removing the role from all members) or 'DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS', nothing tells Claude to confirm the outcome before proceeding. Per the judging guidelines, missing validation in destructive/batch workflows caps workflow clarity at 3 despite the otherwise clear sequencing.

3 / 5

Progressive Disclosure

The skill is a single self-contained file with no bundle files (no references/, scripts/, or assets/), and it is organized into clear headed sections (Prerequisites, Setup, five Core Workflows, Common Patterns, Quick Reference) that are easy to navigate. It is below anchor 5 because ~185 lines of parameter details and the 18-row Quick Reference table are candidates for a split-out reference file, and there is no pointer structure at all; it is above anchor 3 because everything present is appropriately placed and nothing is buried.

4 / 5

Total

15

/

20

Passed

Description

70%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 concise, specific, third-person description that clearly states what the skill does and names its integration surface, with good natural trigger terms and a distinct niche. Its main weakness is the complete absence of a 'when to use' trigger clause, which caps completeness and leaves invocation guidance implicit.

Suggestions

Append an explicit trigger clause, e.g. 'Use when the user asks to send or manage Discord messages, roles, webhooks, or reactions, or mentions Discord servers/guilds or a Discord bot.'

Add natural synonym coverage users actually say: 'servers/guilds', 'DMs', 'emoji', 'Discord bot' — alongside the existing nouns.

Lead with concrete action verbs (send, create, assign, edit) rather than the generic 'Automate ... tasks' framing.

DimensionReasoningScore

Specificity

The description names the domain ('Discord tasks via Rube MCP (Composio)') and enumerates several concrete capability areas: 'messages, channels, roles, webhooks, reactions', plus a behavioral instruction ('Always search tools first for current schemas'). It sits between anchor 3 (only 1-2 concrete actions) and anchor 5 (fully comprehensive coverage) since it lists object areas rather than distinct actions and omits items like DMs, members, and moderation.

4 / 5

Completeness

The 'what' is clearly stated ('Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions'), but there is no 'Use when...' clause or equivalent explicit trigger guidance — 'Always search tools first for current schemas' is procedural instruction, not a when-to-use trigger. Per the judging guidelines, a missing trigger clause caps completeness at 3; it is not 4 because the 'when' is entirely absent rather than merely imprecise.

3 / 5

Trigger Term Quality

'Discord', 'messages', 'channels', 'roles', 'webhooks', and 'reactions' are all natural terms a user would say when needing this skill. Coverage is good but misses common variations users actually use, such as 'server'/'guild', 'DM', 'emoji', and 'bot', which anchor 5 expects.

4 / 5

Distinctiveness Conflict Risk

The description occupies a clear niche — Discord automation through a specific integration ('Rube MCP (Composio)') — with distinct triggers (Discord, webhooks, roles, reactions) that are unlikely to fire for unrelated skills. Minor adjacency to generic messaging or other Composio toolkit skills exists, but the explicit Discord and Rube/Composio scoping keeps conflict risk minimal.

5 / 5

Total

16

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository
davepoon/buildwithclaude
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.