CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ingest-match-teamsheet

Upload a Tranmere match teamsheet image to Cloudflare R2 and link it to an existing D1 game. Use for a supplied local image or image URL and a known fixture; do not use to transcribe line-ups or ingest season-book statistics.

76

Quality

95%

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

100%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 operational skill: fully executable commands with a worked example, dense project-specific policy with zero padding, and validation checkpoints plus recovery paths at every destructive step. The single external reference is real, appropriate, and well integrated.

DimensionReasoningScore

Conciseness

The body never explains concepts Claude already knows (no preamble about R2, D1, or wrangler) and every sentence carries non-obvious project policy: the season-key convention, the local persist-to path, the 50 MB download limit, cache behavior on replacement, and the auth-error-vs-not-found distinction. Lean throughout; nothing to trim without losing operative detail.

5 / 5

Actionability

Every step is a copy-paste-ready command with a fully worked example (the 2017-09-09 Barrow game): the D1 SELECT, the script invocation with documented flags, the r2 object put with content-type and cache-control, and a guarded UPDATE with an affected_rows check. The referenced script scripts/prepare-teamsheet-image.mjs exists in the bundle and implements exactly the documented --file/--url/--output interface, 50 MB limit, EXIF rotation, and SHA-256 reporting.

5 / 5

Workflow Clarity

The sequence (confirm fixture → prepare image → check existing key → upload → verify bytes → update D1 → read back) has explicit validation checkpoints at every risky step: exactly-one-game requirement, source-vs-record cross-check, pre-upload key comparison, post-upload SHA-256 verification, affected_rows = 1, and read-back confirmation. Error-recovery feedback loops are specified, including orphaned-key reporting and the cache check on replacement, so the destructive-operation cap does not apply.

5 / 5

Progressive Disclosure

A well-organized single-purpose SKILL.md with clear section headers and one clearly signaled, one-level-deep reference to a real bundle script; the helper's internal details are summarized rather than duplicated. Nothing that belongs in a separate file is inlined, and navigation is trivial.

5 / 5

Total

20

/

20

Passed

Description

87%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, highly specific description that clearly states what the skill does, when to use it, and when not to use it. The only gaps are minor: a few natural synonym variations and file extensions are absent from the trigger terms.

DimensionReasoningScore

Specificity

"Upload a Tranmere match teamsheet image to Cloudflare R2 and link it to an existing D1 game" names two fully-specified concrete actions with exact target technologies, covering the skill's entire scope with only the preparation step unstated. It exceeds anchor 3 (generic 1-2 actions like "Processes PDF files and extracts content") but does not list the several actions anchor 5-range coverage implies.

4 / 5

Completeness

Explicitly answers both questions: the what ("Upload... to Cloudflare R2 and link it to an existing D1 game") and the when ("Use for a supplied local image or image URL and a known fixture"), plus concrete negative boundaries ("do not use to transcribe line-ups or ingest season-book statistics"). Matches the anchor 5 example pattern of what + explicit trigger clause.

5 / 5

Trigger Term Quality

Natural terms a user would say are present — "teamsheet", "Tranmere", "match", "image", "fixture", "line-ups" — giving good keyword coverage. Missing common variations such as "team sheet" (two words) and file extensions like ".jpg", so it falls short of anchor 5's comprehensive synonym/extension coverage.

4 / 5

Distinctiveness Conflict Risk

A clear niche (Tranmere teamsheets, Cloudflare R2, D1 games) with distinct triggers and explicit "do not use" carve-outs against adjacent tasks. Minimal conflict risk with any other skill, matching anchor 5.

5 / 5

Total

18

/

20

Passed

Validation

100%

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

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

chrisowen491/tranmere-web

Path

.agents/skills/ingest-match-teamsheet/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.