CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

discord-harvest

Download and archive Discord attachments, images, and links from a server channel, DM, or Discord Data Package export. Use when asked to "download Discord attachments", "harvest a Discord channel", "archive a DM", or "organize a Discord Data Package"; or when preserving files from a Discord export or conversation.

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

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

The body is a well-engineered operational guide: highly actionable, clearly sequenced with real validation checkpoints and error-recovery loops, and exemplary progressive disclosure into verified one-level-deep references. Its one weakness is token efficiency — the security/trust guidance is restated across four sections where one authoritative statement plus cross-links would suffice.

Suggestions

Consolidate the repeated untrusted-content guidance: state the sanitization/allowlist/no-redirect rules once in the Trust Boundary section and cross-link from A4 and Path B instead of restating them in each location.

Trim or remove the closing Security Notice section, which nearly verbatim repeats the Trust Boundary's rules, keeping only any genuinely new constraints (e.g., the permission-to-archive reminder).

Cut the duplicated path-traversal/SSRF warnings inside A4 ("Never pass raw Discord filenames or URLs directly to curl -o") down to a single reference to the Trust Boundary bullet, since the same attack examples (../../.env, internal endpoints) appear in both places.

DimensionReasoningScore

Conciseness

The body is mostly efficient — tables, concrete routes, and defaults with little concept explanation — but the untrusted-content/security guidance is repeated at least four times (Trust Boundary, A4's "Never pass raw Discord filenames or URLs directly to curl -o", Path B intro/B1, and the closing Security Notice, which restates the Trust Boundary almost verbatim). This matches anchor 3 ('could be tightened'); it is not 4 because the duplicated security prose is a clear token cost, but not 2 since the rest is lean with no padding of concepts Claude already knows.

3 / 5

Actionability

The guidance is fully executable: exact REST routes ("GET /channels/{channel.id}/messages"), pagination bounds ("limit 1–100", one of before/after/around per request), a concrete regex ("https?://\S+"), explicit classification rules, defaults (10 messages), named functions with verified anchored implementations (sanitize_filename, validate_url, flag_suspicious, download_staged), and a staged-summary dialogue example. Per the rubric's code-vs-instruction note, code living in code-examples.md with precise anchors is not penalized; specific examples cover the common cases for all three paths.

5 / 5

Workflow Clarity

The sequence (Initial Assessment → Step 0 → Step 1 branch → Path A/B/C → Step 3) is explicit, and validation is present throughout this batch-download workflow: "Do not download yet" staging with user confirmation, sanitize/validate before any write, and byte-compare dedup. Error-recovery feedback loops exist (429 → honor Retry-After, cached ID error → discard and re-resolve, redirect → validate Location before retry), so the batch-operation cap does not apply and it matches anchor 5.

5 / 5

Progressive Disclosure

The body is a clear overview with a Reference Files table including a 'Load when' column, and all four referenced files exist, are one level deep, contain no cross-references to each other, and every deep anchor cited in the body (#bot-api-requests, #download-commands, #collision-and-repeat-run-policy, #host-notes) resolves to a real section. Bulk detail (code, formats, troubleshooting) is appropriately split out, matching anchor 5.

5 / 5

Total

18

/

20

Passed

Description

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

The description is exemplary: it states concrete capabilities covering all sources and asset types, provides an explicit 'Use when' clause with quoted natural trigger phrases and verb synonyms, and occupies a clearly distinct Discord niche. It directly matches the rubric's good-overall example pattern.

DimensionReasoningScore

Specificity

"Download and archive Discord attachments, images, and links from a server channel, DM, or Discord Data Package export" lists multiple concrete actions (download, archive, organize/preserve) with comprehensive coverage of both asset types and all three supported sources. It matches the anchor-5 example's breadth; score 4 would apply only if actions had noticeable coverage gaps, which they do not.

5 / 5

Completeness

The first sentence explicitly states what the skill does, and the second gives an explicit "Use when asked to…" clause with four concrete trigger phrases — mirroring the anchor-5 example structure exactly. Not 4, because the 'when' guidance is fully explicit rather than vague.

5 / 5

Trigger Term Quality

The description quotes natural phrases users would actually say — "download Discord attachments", "harvest a Discord channel", "archive a DM", "organize a Discord Data Package" — plus "preserving files from a Discord export or conversation", giving synonym-level verb coverage (download/harvest/archive/organize/preserve). File extensions don't naturally apply to this domain, so coverage is comprehensive; 4 would require missing common terms, and none are apparent.

5 / 5

Distinctiveness Conflict Risk

The niche is clearly Discord content harvesting with Discord-specific triggers ("harvest a Discord channel", "Discord Data Package"), giving minimal conflict risk. The only mild overlap is "organize" with a generic file-organizer skill, but it is qualified by "Discord Data Package", keeping this at anchor 5 rather than 4.

5 / 5

Total

20

/

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

relative_links

Relative link issues: 1 deeper-than-1-level

Warning

referenced_paths_exist

Referenced path issues: 1 deeper-than-1-level

Warning

Total

14

/

16

Passed

Repository

t4sh/skills4sh

Path

skills/discord-harvest/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.