CtrlK
BlogDocsLog inGet started
Tessl Logo

building-recommendation-systems

Execute this skill empowers AI assistant to construct recommendation systems using collaborative filtering, content-based filtering, or hybrid approaches. it analyzes user preferences, item features, and interaction data to generate personalized recommendations... Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.

20

Quality

8%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/ai-ml/recommendation-engine/skills/building-recommendation-systems/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Discovery

17%

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

This description suffers from boilerplate trigger language that completely undermines its utility for skill selection. While it identifies the recommendation systems domain and names specific approaches, the 'Use when' clause is a meaningless placeholder. The description also violates voice guidelines by starting with 'Execute this skill empowers AI assistant' rather than using third person active voice.

Suggestions

Replace the boilerplate trigger clause with specific, actionable triggers, e.g., 'Use when the user asks to build a recommendation engine, suggest items to users, or implement collaborative/content-based filtering.'

Add natural user-facing keywords such as 'recommend products', 'suggest movies', 'personalization', 'user similarity', 'item similarity', 'ratings matrix'.

Rewrite the opening in third person active voice (e.g., 'Constructs recommendation systems using collaborative filtering...') instead of 'Execute this skill empowers AI assistant to...'

DimensionReasoningScore

Specificity

It names the domain (recommendation systems) and some approaches (collaborative filtering, content-based filtering, hybrid), and mentions analyzing user preferences, item features, and interaction data. However, the concrete actions are somewhat vague — 'generate personalized recommendations' is generic and it doesn't list specific outputs or operations.

2 / 3

Completeness

While the 'what' is partially addressed, the 'when' clause is completely vacuous — 'Use when appropriate context detected' and 'Trigger with relevant phrases based on skill purpose' are meaningless placeholders that provide no actual guidance on when to select this skill.

1 / 3

Trigger Term Quality

The trigger guidance is entirely generic boilerplate ('Use when appropriate context detected. Trigger with relevant phrases based on skill purpose.') which provides zero natural keywords a user would actually say. Terms like 'collaborative filtering' are technical jargon rather than natural user language.

1 / 3

Distinctiveness Conflict Risk

The recommendation system domain is somewhat specific and distinguishable from most other skills, but the generic trigger language means it could either never fire or conflict unpredictably. The domain itself provides some natural distinctiveness.

2 / 3

Total

6

/

12

Passed

Implementation

0%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

This skill is almost entirely boilerplate and abstract description with no actionable content. It explains what a recommendation system is and what Claude would theoretically do, rather than providing concrete code, algorithms, data schemas, or specific implementation patterns. Multiple sections ('Prerequisites', 'Instructions', 'Output', 'Error Handling', 'Resources') appear to be generic templates with no skill-specific content.

Suggestions

Replace the abstract descriptions with concrete, executable Python code examples showing at least one complete collaborative filtering implementation (e.g., using surprise or scipy for matrix factorization) with actual data loading, training, and evaluation.

Remove all generic boilerplate sections ('Prerequisites', 'Instructions', 'Output', 'Error Handling', 'Resources') that contain no skill-specific information and waste tokens.

Add specific data format expectations (e.g., expected CSV schema for ratings data) and concrete evaluation code with metrics like NDCG or precision@k.

Provide a clear decision tree or workflow for choosing between collaborative, content-based, and hybrid approaches based on data availability, with validation steps after each phase.

DimensionReasoningScore

Conciseness

Extremely verbose with extensive explanation of concepts Claude already knows. The 'How It Works' section describes what Claude does rather than instructing it. Sections like 'Overview', 'When to Use', 'Integration', 'Prerequisites', 'Instructions', 'Output', 'Error Handling', and 'Resources' are all filler with no actionable content—they describe abstract processes rather than providing concrete guidance.

1 / 3

Actionability

No executable code, no concrete commands, no specific algorithms or library usage patterns. The examples describe what the skill 'will do' at a high level rather than showing actual implementation. Statements like 'Generate code to load and preprocess movie rating data' are vague descriptions, not actionable instructions.

1 / 3

Workflow Clarity

The numbered steps in 'How It Works' describe abstract phases rather than concrete workflow steps. There are no validation checkpoints, no feedback loops, and no specific sequencing that Claude could follow. The 'Instructions' section is entirely generic boilerplate ('Invoke this skill when trigger conditions are met').

1 / 3

Progressive Disclosure

No bundle files are provided, yet the content is a monolithic wall of text with no references to external files. The content that exists is all surface-level with no depth anywhere—there's nothing to progressively disclose. Multiple sections contain placeholder-quality content that adds no value.

1 / 3

Total

4

/

12

Passed

Validation

81%

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

Validation9 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

allowed_tools_field

'allowed-tools' contains unusual tool name(s)

Warning

frontmatter_unknown_keys

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

Warning

Total

9

/

11

Passed

Repository
jeremylongshore/claude-code-plugins-plus-skills
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.