CtrlK
BlogDocsLog inGet started
Tessl Logo

recommendation-engine

Build recommendation systems with collaborative filtering, matrix factorization, hybrid approaches. Use for product recommendations, personalization, or encountering cold start, sparsity, quality evaluation issues.

58

Quality

67%

Does it follow best practices?

Impact

No eval scenarios have been run

SecuritybySnyk

Passed

No known issues

Fix and improve this skill with Tessl

tessl review fix ./plugins/recommendation-engine/skills/recommendation-engine/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

35%

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

This skill covers recommendation systems comprehensively but suffers from significant verbosity — it tries to be both an overview and a deep-dive simultaneously. The Known Issues section alone is longer than many complete skills and should be extracted to a reference file. Code examples have bugs (missing self.user_item_matrix assignment) and import from nonexistent modules, reducing actionability.

Suggestions

Move the 7 'Known Issues Prevention' subsections to a reference file (e.g., references/common-pitfalls.md) and keep only a brief summary table in SKILL.md

Fix the CollaborativeFilter.fit() method to store self.user_item_matrix, and either provide the imported modules (recommendation_engine, evaluation_metrics, cold_start) or replace with self-contained code

Add validation checkpoints to the Quick Start workflow: verify matrix shape/sparsity after step 1, check evaluation metrics meet a threshold after step 4 before proceeding

Trim explanatory text that Claude already knows (e.g., 'Reduces diversity and serendipity', 'Treating all clicks/views equally') and let the code examples speak for themselves

DimensionReasoningScore

Conciseness

The skill is extremely verbose at ~250+ lines. It includes extensive code examples for common patterns Claude already knows (cosine similarity, SVD, basic numpy operations), and the 'Known Issues Prevention' section alone contains 7 detailed subsections with full code blocks that could be summarized or moved to reference files. Much of this content (e.g., explaining what popularity bias is, what data sparsity means) is unnecessary for Claude.

1 / 3

Actionability

The code examples are mostly concrete but several are not fully executable — they import from nonexistent modules like `recommendation_engine`, `evaluation_metrics`, `cold_start` without providing those implementations. The CollaborativeFilter class references `self.user_item_matrix` which is never stored in `fit()`. The Quick Start step 2 imports from a module that doesn't exist.

2 / 3

Workflow Clarity

The 'Quick Start: Build a Recommender in 5 Steps' provides a reasonable sequence, but lacks validation checkpoints — there's no step to verify the matrix was constructed correctly, no validation of model quality thresholds before deployment, and no feedback loop for when evaluation metrics are poor. The known issues section is helpful but presented as a reference list rather than integrated into the workflow.

2 / 3

Progressive Disclosure

The 'When to Load References' section at the bottom properly signals reference files with clear descriptions, which is good. However, the massive amount of inline content (especially the 7 known issues with full code blocks) should be in reference files rather than in the main SKILL.md. The body contains far too much detail that undermines the overview-with-references pattern. Additionally, no bundle files are provided, so the referenced files don't actually exist.

2 / 3

Total

7

/

12

Passed

Description

100%

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 is a strong skill description that clearly defines its domain (recommendation systems), lists specific techniques (collaborative filtering, matrix factorization, hybrid approaches), and provides explicit trigger conditions including both use cases and problem scenarios. The description is concise, uses third person voice, and includes domain-specific terms that make it highly distinguishable from other skills.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions and approaches: 'collaborative filtering, matrix factorization, hybrid approaches' and specific use cases like 'product recommendations, personalization, cold start, sparsity, quality evaluation issues.'

3 / 3

Completeness

Clearly answers both 'what' (build recommendation systems with collaborative filtering, matrix factorization, hybrid approaches) and 'when' ('Use for product recommendations, personalization, or encountering cold start, sparsity, quality evaluation issues').

3 / 3

Trigger Term Quality

Includes strong natural keywords users would say: 'recommendation systems', 'collaborative filtering', 'matrix factorization', 'product recommendations', 'personalization', 'cold start', 'sparsity'. These cover both high-level and technical terms a user would naturally use.

3 / 3

Distinctiveness Conflict Risk

Highly distinctive niche focused on recommendation systems with specific technical terms like 'collaborative filtering', 'matrix factorization', 'cold start', and 'sparsity' that are unlikely to conflict with other skills.

3 / 3

Total

12

/

12

Passed

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

10

/

11

Passed

Repository
secondsky/claude-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.