CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ingest-match-programme

Prepare a front-on, background-free Tranmere match programme cover from an image URL, upload it to Cloudflare R2 and link it to an existing D1 game. Use when asked to add or replace a programme image for a known fixture. Do not use for PDF ingestion or metadata-only programme edits.

77

Quality

97%

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.

Exemplary skill body: dense, executable, and correctly sequenced, with validation gates and failure-mode handling (orphaned R2 keys, ambiguous fixtures, regeneration fidelity) at every risky step. Bundle usage and structure are appropriate; no weaknesses found.

DimensionReasoningScore

Conciseness

The body is lean and operational throughout — no concept explanations, just repo-specific facts Claude cannot know (e.g. "The D1 `season` is the opening year. Convert it to a folder named `YYYY-YY`") and imperative constraints. Every token earns its place, matching the score-5 anchor rather than 4 (no trimmable over-explanation found).

5 / 5

Actionability

Fully executable guidance: copy-paste `npx wrangler d1/r2` commands with clearly delimited substitution parameters (`<d1-target>`, `<image-url>`, `<confirmed-id>`) whose values are defined in prose, the bundled helper invocation with arguments, and a SHA-256 verify loop. Matches the score-5 anchor (copy-paste ready, covers the common cases); the placeholder pattern is the appropriate way to express dual local/remote targeting, so it does not drop to 4.

5 / 5

Workflow Clarity

Five clearly sequenced sections with explicit validation checkpoints ("Require exactly one row", "Stop before changing D1 if upload or verification fails", "require exactly one affected row", read-back equality check) and feedback loops for error recovery ("make a targeted retry if needed", "retry only the D1 update after resolving the failure", orphaned-key reporting). The destructive/database-write workflow has ample validation, so the cap-at-3 rule does not apply; the score-5 anchor is the best fit.

5 / 5

Progressive Disclosure

A single cohesive workflow in well-organized sections; the one bundle file (scripts/prepare-programme-image.mjs, verified to exist) is invoked with a clear path and its behavior summarized ("follows HTTP redirects, limits downloads to 50 MB, honours image orientation and writes PNG") while its option details stay in the script. Nothing inlined belongs in a separate file, so the score-5 anchor fits better than 4.

5 / 5

Total

20

/

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: it states the full what (prepare, upload, link) and an explicit when clause, scoped to a narrow domain with clear negative triggers to avoid misfires. The only minor gap is a few missing natural synonyms a user might say.

DimensionReasoningScore

Specificity

"Prepare a front-on, background-free Tranmere match programme cover from an image URL, upload it to Cloudflare R2 and link it to an existing D1 game" lists multiple specific concrete actions (prepare/normalize the image, upload to R2, link to a D1 game) covering the whole pipeline, matching the comprehensive score-5 anchor. It is not 4 because no step of the workflow is left uncovered.

5 / 5

Completeness

The description explicitly answers both questions: what ("Prepare… upload it to Cloudflare R2 and link it to an existing D1 game") and when ("Use when asked to add or replace a programme image for a known fixture"), with a concrete trigger clause — the exact score-5 anchor pattern.

5 / 5

Trigger Term Quality

Natural user phrases are present: "add or replace a programme image", "known fixture", "Tranmere match programme cover", "D1 game", "PDF ingestion". It fits the score-4 anchor (good keyword coverage, a few natural terms missing) rather than 5 because synonyms like "matchday programme", "programme photo/scan", or "cover image" are absent, and it is well above 3 since the terms go beyond generic keywords.

4 / 5

Distinctiveness Conflict Risk

A clear niche (Tranmere fixture programme covers, a specific R2 bucket and D1 database) plus an explicit negative boundary ("Do not use for PDF ingestion or metadata-only programme edits") gives distinct triggers with minimal conflict risk, matching the score-5 anchor.

5 / 5

Total

19

/

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-programme/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.