CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

attach-media

Uploads local screenshots and recordings to GitHub and embeds them in a PR or issue body or comment as inline-rendering user-attachments URLs, via `gh --attach` with a curl fallback; never writes placeholders. Triggers on "attach screenshots to the PR", "upload this recording to the PR", "/attach-media".

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

92%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 exceptionally tight, executable body with a validated multi-step workflow — preflight checks, a fallback upload ladder, an idempotent owned region, and a verify-and-report step with error recovery. Its one real defect is that the bundle is incomplete: Steps 2 and 3 point to `rules/upload-ladder.md` and `rules/body-region.md`, which are missing from the skill directory.

Suggestions

Create the missing `rules/upload-ladder.md` file referenced in Step 2 — the 'Full procedure' link for the entire upload mechanism is currently a dead path, so a following agent has no procedure to load when the inline rung table is insufficient.

Create the missing `rules/body-region.md` file referenced in Step 3, covering the region contract (merge-by-filename semantics, marker format) that the body only summarizes.

If the skill is intended to stay a single-file-plus-rationale bundle, inline the essential content of both missing files into Steps 2–3 and remove the dead links instead.

DimensionReasoningScore

Conciseness

The body is dense and operational — argument tables, a preflight checklist, exact commands — with no explanations of concepts Claude already knows; even its rationale sentences carry non-obvious domain knowledge ("~20× smaller, and its bare URL renders as a player; a GIF renders only as an image embed"). It matches anchor 5 ('Lean and efficient; every token earns its place'); there is nothing that qualifies as the anchor-4 'minor instances of over-explanation'.

5 / 5

Actionability

Guidance is fully executable and copy-paste ready: exact `gh pr edit --help` probe, a named curl endpoint ("POST to https://uploads.github.com/user-attachments/assets"), complete ffmpeg invocations with flags ("-movflags +faststart -vf 'scale=1280:-2,format=yuv420p' -c:v libx264 -crf 28 -an"), frame-extraction commands, and an exact report format. It matches anchor 5 ('Fully executable; copy-paste ready code or commands; specific examples cover the common cases').

5 / 5

Workflow Clarity

A clear four-step sequence (Preflight → Upload ladder → Write owned region → Verify and report) with explicit validation at every phase: per-check failure handling with named statuses ("skipped (missing)", "skipped (too large)"), a fallback ladder with retry ("Re-encode a video once"), and a mandatory verify step with an error-recovery loop ("Remove any local path you find and list its file as 'not attached'"). This matches anchor 5 ('explicit validation steps; feedback loops for error recovery; checklists'), and the batch-operation cap does not apply since validation is present.

5 / 5

Progressive Disclosure

The body itself is well-structured with clearly signaled one-level references ([`rules/upload-ladder.md`](./rules/upload-ladder.md) "Full procedure", [`rules/body-region.md`](./rules/body-region.md) "Full contract", [`references/rationale.md`](./references/rationale.md) "Rationale"), but scored against the actual bundle, two of the three referenced files do not exist — there is no `rules/` directory, so the links carrying the core upload procedure and region contract are dead. The structure is far better than anchor 2 ('minimal structure; references buried'), but broken references for the most load-bearing details exceed anchor 4's 'minor organization gaps', leaving anchor 3 ('references present but' fundamentally not navigable to the promised detail).

3 / 5

Total

18

/

20

Passed

Description

92%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 strong description: concrete, third-person, and specific about the mechanism (gh --attach with curl fallback), the destination (PR/issue body or comment), and the output format (inline-rendering user-attachments URLs), with an explicit trigger clause. The only weakness is modest trigger-synonym coverage (no "video"/"image" variants or file extensions).

DimensionReasoningScore

Specificity

The description lists multiple concrete actions — "Uploads local screenshots and recordings to GitHub", "embeds them in a PR or issue body or comment as inline-rendering user-attachments URLs", "via `gh --attach` with a curl fallback", "never writes placeholders" — comprehensively covering what, where, how, and the core constraint for this narrow skill. It matches the anchor-5 example ('Extract text and tables from PDF files, fill forms, merge documents, convert pages to images') in listing several specific concrete actions rather than the anchor-4 'minor gaps in coverage'.

5 / 5

Completeness

It explicitly answers both: what ("Uploads local screenshots and recordings to GitHub and embeds them ... as inline-rendering user-attachments URLs") and when ("Triggers on 'attach screenshots to the PR', 'upload this recording to the PR', '/attach-media'"), matching the anchor-5 pattern of concrete what-and-when with explicit trigger phrases. It is clearly above anchor 4, whose 'when' is present but less explicit.

5 / 5

Trigger Term Quality

Natural user phrases are present — "attach screenshots to the PR", "upload this recording to the PR", "/attach-media" — plus keywords "screenshots", "recordings", "PR", "issue". Anchor 5 requires comprehensive synonyms and file extensions, and common variations like "add this image to the PR", "video", "screencast", or extensions (.png, .mp4) are missing, so this fits anchor 4 ('Good keyword coverage; a few natural terms missing').

4 / 5

Distinctiveness Conflict Risk

It carves a clear niche — uploading local media to GitHub PRs/issues as user-attachments URLs — with distinct triggers ("attach screenshots to the PR"), so it would not fire for generic screenshot, video, or PR-creation skills. This matches anchor 5 ('Clear niche with distinct triggers; minimal conflict risk') rather than anchor 4's 'minor overlap risk with closely related skills'.

5 / 5

Total

19

/

20

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 — 13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

relative_links

Relative link issues: 3 missing

Warning

Total

13

/

16

Passed

Repository

mthines/agent-skills

Path

skills/delivery/attach-media/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.