CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

llm-patterns

AI-first application patterns, LLM testing, prompt management

48

Quality

61%

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

Fix and improve this skill with Tessl

tessl review fix ./skills/llm-patterns/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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-organized, code-dense pattern catalog with mostly executable TypeScript examples and a sensible three-tier testing strategy. Its weaknesses are boilerplate that competes for context (CI YAML, metrics snippet), a few non-runnable referenced-but-undefined pieces, no explicit workflow sequencing or validation checkpoints, and a 320-line single-file layout with no reference files.

Suggestions

Move the full GitHub Actions workflow, the complete test examples, and the metrics-tracking code into reference files (e.g., references/ci-setup.md, references/testing.md) and keep SKILL.md as an overview with one-line pointers, restoring progressive disclosure.

Cut or compress boilerplate Claude already knows — the typed SDK wrapper and CI YAML — down to the project-specific decisions (schema validation of LLM output, RUN_LLM_EVALS gating, nightly schedule).

Make every code block runnable: either define classifyTicketPromptV1/V2, calculateCost, and the missing parsed variable in llmCallWithMetrics, or trim those snippets to the parts that carry the pattern.

Add an explicit validation/checkpoint step to the workflow (e.g., what to do when schema.parse fails — retry, fallback, or surface the error) so the pattern includes a feedback loop for LLM failures.

DimensionReasoningScore

Conciseness

Prose is lean and the code is on-topic, but ~320 lines include substantial boilerplate Claude already knows — a standard typed SDK wrapper, a full GitHub Actions YAML block, and a metrics-logging snippet — that could be trimmed, matching anchor 3 ('Mostly efficient but includes some unnecessary explanation or could be tightened'). Not a 2 because nothing teaches basic concepts; not a 4 because the CI and metrics sections add appreciable token weight without novel guidance.

3 / 5

Actionability

Most sections give concrete, executable TypeScript (the llmCall wrapper, Zod schemas, prompt template function, mock/fixture/eval test code) with minor gaps, matching anchor 4 ('Mostly executable guidance; concrete code or commands with minor gaps'). Not a 5 because PROMPTS references undefined classifyTicketPromptV1/V2 and llmCallWithMetrics uses undefined parsed and calculateCost, so those blocks are not copy-paste runnable.

4 / 5

Workflow Clarity

The sections imply a build order (principle → structure → client → prompts → testing → CI → tracking) and the testing section gives a clear three-tier strategy, but there is no explicit sequencing guidance or checkpoints for applying the skill, matching anchor 3 ('Steps listed but validation gaps; sequence present but checkpoints missing or implicit'). Not a 4 because no validation/verification step is shown anywhere in the workflow (e.g., verifying schema failures are handled or eval thresholds are gated).

3 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), and the single 320-line file has good section headers but inlines content that would fit better in separate reference files (full CI workflow YAML, complete test suites, metrics tracking), matching anchor 3 ('Some structure but could be better organized; content that should be separate is inline'). Not a 2 because structure and section signaling are genuinely good; not a 4/5 because nothing is split out and the file well exceeds overview size.

3 / 5

Total

13

/

20

Passed

Description

48%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 names a distinct niche and three capability areas but reads as a keyword list rather than a capability statement: no action verbs, no 'Use when...' trigger clause, and no synonyms covering how users actually phrase these needs. It sits just below the midpoint of the rubric.

Suggestions

Rewrite the description with action verbs, e.g., 'Builds AI-first applications with typed LLM clients, schema-validated structured outputs, versioned prompt templates, and a three-tier LLM testing strategy (mocks, fixtures, nightly evals).'

Append an explicit trigger clause to the description, e.g., 'Use when building apps where LLMs handle core logic — classification, extraction, generation — or when setting up LLM testing, evals, or prompt versioning.'

Add natural synonym terms users would say, such as 'evals', 'model evaluation', 'prompt engineering', and 'structured outputs', to broaden trigger coverage.

DimensionReasoningScore

Specificity

The description ('AI-first application patterns, LLM testing, prompt management') names the domain and three capability areas as bare noun phrases with no action verbs, matching anchor 2 ('Names the domain but actions are minimal or generic'). It is not a 3 because no concrete actions (e.g., 'builds', 'tests', 'versions prompts') are stated, and not a 1 because the domain and capability areas are explicitly named.

2 / 5

Completeness

The 'what' is present as a topic list ('AI-first application patterns, LLM testing, prompt management') but the description itself contains no 'Use when...' clause or trigger guidance, which caps completeness at 3 per the rubric guideline (the separate when-to-use frontmatter field is not part of the description). Not a 2 because the 'what' is reasonably clear; not a 4 because 'when' is entirely absent from the description field.

3 / 5

Trigger Term Quality

'LLM testing' and 'prompt management' are phrases users would naturally say, but coverage stops there — common variations like 'evals', 'model evaluation', 'prompt engineering', or 'structured outputs' are missing, matching anchor 3 ('Some relevant keywords but missing common variations or synonyms'). Not a 4 because the natural-term coverage is thin for a three-word list.

3 / 5

Distinctiveness Conflict Risk

The terms target a fairly clear niche (LLM-backed application architecture), so it is 'mostly distinct; minor overlap risk' — e.g., 'LLM testing' could collide with general testing skills and 'prompt management' with prompt-writing skills. Not a 5 because without explicit trigger phrases, overlap with closely related LLM/API skills remains.

4 / 5

Total

12

/

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

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository

alinaqi/maggy

Path

skills/llm-patterns/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.