CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

llm-app-patterns

Production-ready patterns for building LLM applications, inspired by [Dify](https://github.com/langgenius/dify) and industry best practices.

Quality

56%

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 ./plugins/AI-Agents-Safe-Coding-Skills-claude/skills/llm-app-patterns/SKILL.md

The canonical home for this skill is llm-app-patterns in administrakt0r/AI-Agents-Safe-Coding-Skills

SKILL.md
Quality
Evals
Security

Quality

Content

50%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-sectioned catalog of standard LLM patterns, but it is monolithic (755 lines, no reference files), its code is non-executable skeletons with one syntax error, and much of the material restates knowledge Claude already has. It would benefit most from pruning known content, making code runnable, and splitting reference tables into bundle files.

Suggestions

Move stable reference material (embedding model table, vector DB comparison, metrics glossary) into references/ files and keep SKILL.md as a short overview with clearly signaled one-level-deep links.

Fix the syntax error at line 480 ('output = step"parser"') and either make code examples executable (define dependencies, imports) or explicitly label them as illustrative skeletons.

Cut explanations of concepts Claude already knows (what RAG is, ReAct format, function-calling basics) and keep only the non-obvious guidance: recommended chunk settings, hybrid-search alpha guidance, cache/retry/fallback decision points, and the decision matrix.

DimensionReasoningScore

Conciseness

Mostly code with moderate efficiency, but it re-explains standard concepts Claude already knows (ReAct traces, function calling, basic RAG flow) and inlines padded comparison tables (vector DBs, embedding models with dated pricing). It fits anchor 3 ('mostly efficient but includes some unnecessary explanation or could be tightened') better than 2, since it is not dominated by padded prose, or 4, given the volume of familiar material and time-sensitive model names like 'gpt-4-turbo' and 'claude-3-sonnet'.

3 / 5

Actionability

The examples provide concrete skeletons but are not executable: undefined dependencies (llm, self.planner, rrf_merge, bm25_search), missing imports, and a literal syntax error at line 480 ('output = step"parser"'). This matches anchor 3 ('pseudocode instead of executable code; missing key details') rather than 4, whose code runs as written.

3 / 5

Workflow Clarity

The document is a pattern catalog with an Architecture Decision Matrix for choosing among patterns, but no sequenced implementation workflow or validation checkpoints; the RAG pipeline diagram shows an order but nothing verifies intermediate results. Anchor 3 ('steps listed but validation gaps') fits; not 2 because sections are coherently organized and ordered, not 4 because no checkpoints or feedback loops exist.

3 / 5

Progressive Disclosure

The 755-line body is a single monolith with no bundle files and no local references — content that clearly belongs in separate files (embedding model table, vector DB comparison, metrics glossary) is inlined. It still has clear section headers, a decision matrix, and a Resources list, so anchor 3 ('some structure but content that should be separate is inline') fits better than 2, which requires minimal structure.

3 / 5

Total

12

/

20

Passed

Description

45%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 is short and honest but under-specified: it names the domain without listing concrete capabilities and entirely omits when-to-use guidance, which both caps completeness and weakens triggering. Buzzword padding ('production-ready', 'industry best practices') adds tokens without information.

Suggestions

Add a 'Use when...' clause naming concrete triggers, e.g. 'Use when designing RAG pipelines, tool-using agents, prompt chains, or LLMOps monitoring for LLM-powered applications.'

Replace buzzwords with the skill's concrete deliverables: RAG architecture patterns, ReAct/function-calling/plan-and-execute agent designs, caching/retry/fallback production strategies, and evaluation metrics.

Include natural synonyms users would say (chatbot, AI agent, retrieval, vector database, LangChain) to improve trigger matching and distinctiveness against general API skills.

DimensionReasoningScore

Specificity

The description names the domain ('building LLM applications') but its actions are minimal and generic — no concrete capabilities like RAG, agents, or monitoring are stated, and 'Production-ready' and 'industry best practices' are buzzword padding. It sits at anchor 2 ('Names the domain but actions are minimal or generic'), not 3, because it lists no concrete actions at all.

2 / 5

Completeness

A 'what' is present ('production-ready patterns for building LLM applications') though somewhat vague, and there is no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3. It is not 4 because 'when' is entirely absent rather than merely under-specified.

3 / 5

Trigger Term Quality

'LLM applications' and 'Dify' are relevant, natural keywords, but the description misses the common phrases users would actually say (RAG, chatbot, AI agent, LangChain, vector search). It has some relevant keywords (anchor 3) rather than one or two generic ones (anchor 2), but nowhere near the synonym coverage of anchor 4.

3 / 5

Distinctiveness Conflict Risk

'LLM applications' is a broad scope that overlaps with other LLM/API/agent skills; the Dify mention is the only distinguishing marker. It is somewhat specific but could still trigger for the wrong skill (anchor 3), lacking the clear niche of anchor 4.

3 / 5

Total

11

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

skill_md_line_count

SKILL.md is long (764 lines); consider splitting into references/ and linking

Warning

frontmatter_unknown_keys

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

Warning

Total

14

/

16

Passed

Repository

administrakt0r/AI-Agents-Safe-Coding-Skills

Path

plugins/AI-Agents-Safe-Coding-Skills-claude/skills/llm-app-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.