CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

approval-tests

Writes approval tests (snapshot/golden master testing) for Python, JavaScript/TypeScript, or Java. Use when verifying complex output, characterization testing legacy code, testing combinations, or working with .approved/.received files.

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

63%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-conceived overview with a tight core workflow, strong file-convention rules, and dense technique/anti-pattern lists that mostly respect the reader's intelligence. Its two real defects are actionable ones: the body contains no executable code (only function signatures), and the Language References section — the load-bearing navigation for this multi-language skill — links to python.md/nodejs.md/java.md, which do not exist in the bundle.

Suggestions

Fix the Language References links to point at the real files (e.g. [references/python/setup.md](references/python/setup.md), [references/nodejs/setup.md](references/nodejs/setup.md), [references/java/setup.md](references/java/setup.md)) — python.md, nodejs.md, and java.md do not exist in the bundle, so the skill's primary navigation currently dead-ends.

Add one minimal executable example to SKILL.md (e.g. a 3-line pytest verify() test plus the approve step) so the core loop is copy-paste runnable without first resolving a reference link; the current API block is signatures only.

Complete the workflow's decision branch: state what to do when the .received output is NOT correct (fix the code, re-run, re-capture) so both outcomes of the review checkpoint are covered.

DimensionReasoningScore

Conciseness

The body is genuinely lean — bullet-driven sections, no library tutorials, no padding, and it assumes competence ("Flaky tests across environments usually means unscrubbed dynamic data (timestamps, UUIDs, ports, paths)"). Two things keep it below 5: the stray artifact line "STARTER_CHARACTER = 📸" which serves no visible purpose, and Philosophy paragraphs ("Run the code, see what it produces, decide if it's correct") that edge into restating the obvious. Anti-drift: clearly above anchor 3's "some unnecessary explanation"; not "every token earns its place".

4 / 5

Actionability

Procedural guidance is concrete (numbered workflow, exact file-naming patterns, "add `*.received.*` to .gitignore"), but the API block is signatures rather than executable code, the body contains no runnable snippet, and — critically — the primary execution path is broken: the Language References links point to "python.md", "nodejs.md", "java.md", none of which exist in the bundle (actual files are references/python/setup.md, references/nodejs/setup.md, references/java/setup.md). This matches anchor 3 ("concrete guidance but incomplete... missing key details") better than anchor 4 ("minor gaps"), since a model following the link hits a missing file.

3 / 5

Workflow Clarity

The Core Workflow is a clear 7-step sequence with a natural feedback loop: run → FAILS → "Review .received file - is this correct?" → YES → rename → re-run → PASSES, plus failure-path context ("When a test fails, a diff tool opens showing approved vs received"). Not a destructive/batch operation, so no validation cap applies. Held at 4 rather than 5 because only the YES branch is specified — there is no guidance for what to do when the received output is wrong (fix the code and re-capture), and no explicit checkpoint language.

4 / 5

Progressive Disclosure

The design is right — SKILL.md is a true overview (philosophy, workflow, core API, techniques, anti-patterns) that defers language specifics to per-language reference bundles, each well-organized with Contents sections. But scored against the actual bundle: the three top-level hub links ([python.md](python.md), [nodejs.md](nodejs.md), [java.md](java.md)) resolve to nonexistent files, forcing the model to rediscover that references/<lang>/setup.md is the real entry point; and reference files chain 2+ levels deep (setup.md → api.md → logging.md; reporters.md → advanced.md → inline.md) against the one-level-deep guidance. Broken primary navigation is more than the "minor organization gaps" of anchor 4, while the structure is far better organized than anchor 2's inlined/buried content, so 3.

3 / 5

Total

14

/

20

Passed

Description

95%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 model description: third-person, dense, and concrete, with an explicit "Use when" trigger clause covering synonyms, use cases, and the signature file extensions of the technique. The only limitation is that the capability list is effectively a single action ("writes approval tests") rather than several enumerated actions, which keeps specificity at 4 rather than 5.

DimensionReasoningScore

Specificity

One clearly stated concrete action — "Writes approval tests (snapshot/golden master testing) for Python, JavaScript/TypeScript, or Java" — enriched with synonyms, three language targets, and concrete file extensions (".approved/.received files"). This falls between anchor 3 (1-2 actions, e.g. "Processes PDF files and extracts content") and anchor 4 (several distinct action verbs); it has fewer distinct actions than the 4 example but noticeably more concrete detail than the 3 example, so 4.

4 / 5

Completeness

Explicitly answers both questions: what — "Writes approval tests (snapshot/golden master testing) for Python, JavaScript/TypeScript, or Java" — and when, via a literal "Use when" clause listing four concrete trigger conditions ("verifying complex output, characterization testing legacy code, testing combinations, or working with .approved/.received files"). This is a direct match to the anchor-5 example structure.

5 / 5

Trigger Term Quality

Comprehensive natural-term coverage with synonyms and file extensions: "approval tests", "snapshot/golden master testing", "characterization testing", "testing combinations", ".approved/.received files", plus the three language names. Matches the anchor-5 example pattern ("PDF files, PDFs, forms, .pdf") — a user needing this skill would naturally say these phrases. Only trivial variants (e.g. "golden file") are absent, which does not drop it below 5.

5 / 5

Distinctiveness Conflict Risk

Clear niche (approval/snapshot testing) with highly distinctive triggers — ".approved/.received files", "golden master", "characterization testing" — that no generic testing or language skill would claim. Minimal conflict risk, matching anchor 5 ("Clear niche with distinct triggers; minimal conflict risk").

5 / 5

Total

19

/

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

relative_links

Relative link issues: 3 missing

Warning

Total

15

/

16

Passed

Repository

saski/arnesto

Path

.agents/skills/approval-tests/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.