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.

42

Quality

43%

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-ml/recommendation-engine/skills/building-recommendation-systems/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.

The skill body is well-sectioned but largely descriptive boilerplate: it provides no executable code, no validation checkpoints in its workflow, and fails to link the bundled scripts and assets it ships with. It reads as a template skeleton rather than actionable guidance.

Suggestions

Add at least one complete, executable Python example (e.g. a scikit-learn Surprise/cosine-similarity snippet) so the skill gives copy-paste-ready code instead of describing what code would do.

Insert explicit validation/evaluation checkpoints into 'How It Works' (e.g. run evaluate_recommender.py and check precision/recall/NDCG before considering the model done) with a fix-and-retry loop.

Reference the actual bundled scripts and the configuration_template.yaml from the body (e.g. 'See scripts/build_collaborative_filtering.py'), and ensure the script files listed in scripts/README.md actually exist.

Remove the empty filler sections (Output, Resources, generic Instructions/Prerequisites) that only restate what Claude already knows.

DimensionReasoningScore

Conciseness

The body is padded with low-signal boilerplate — the Overview restates the title, 'Instructions' says 'Invoke this skill when the trigger conditions are met', 'Output' says 'The skill produces structured output relevant to the task', and Prerequisites/Error Handling/Resources are generic filler. It avoids long concept-explanation walls, so it is not 1, but it could be tightened considerably and is not lean enough for 3.

2 / 3

Actionability

There is no executable code or concrete commands anywhere; the body describes ('Claude generates Python code using relevant libraries', 'Implement a collaborative filtering algorithm (e.g., matrix factorization)') rather than instructing. This matches the 'vague or abstract; no concrete code/commands; describes rather than instructs' anchor and is not 2 because even pseudocode or partial snippets are absent.

1 / 3

Workflow Clarity

A sequence exists ('Analyzing Requirements', 'Generating Code', 'Implementing Best Practices') but there are no validation or evaluation checkpoints and no error-recovery feedback loops for a model-training workflow, which per the guidelines caps workflow clarity at 2. Not 1 because steps are listed in order, and not 3 because checkpoints and feedback loops are missing.

2 / 3

Progressive Disclosure

The body is organized into sections but keeps everything inline and never signals the bundled scripts (e.g. build_collaborative_filtering.py) or assets (configuration_template.yaml) that exist in the bundle; the scripts README even lists script files that are not present in scripts/. This matches 'some structure... references present but not clearly signaled; content that should be separate is inline', not 3 due to the missing/signaled-reference gaps.

2 / 3

Total

7

/

12

Passed

Description

52%

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 specifies the recommendation-systems domain and several concrete approaches well, but its trigger guidance is generic placeholder boilerplate rather than natural user phrases, weakening trigger term quality and completeness.

Suggestions

Replace 'Use when appropriate context detected. Trigger with relevant phrases based on skill purpose' with concrete natural triggers, e.g. 'Use when the user asks to build a recommender, recommendation engine, or personalized suggestions for items, products, or content.'

Fix the ungrammatical opening ('Execute this skill empowers AI assistant to construct...') and use third-person voice ('Builds recommendation systems...').

Keep the named approaches but trim the trailing ellipsis ('...') for a cleaner, more professional description.

DimensionReasoningScore

Specificity

Names the domain and multiple concrete actions/approaches — 'construct recommendation systems using collaborative filtering, content-based filtering, or hybrid approaches' and 'analyzes user preferences, item features, and interaction data to generate personalized recommendations' — matching the 'lists multiple specific concrete actions' anchor. Not 2 because it goes beyond naming a domain plus a few actions by enumerating approaches and data inputs.

3 / 3

Completeness

It clearly states what the skill does, but the 'when' clause is a vague placeholder ('Use when appropriate context detected') rather than explicit trigger guidance, so per the guideline a weak 'Use when...' clause caps completeness at 2. Not 3 because the trigger guidance is not concrete, and not 1 because both what and a (weak) when are present.

2 / 3

Trigger Term Quality

The only trigger guidance is generic boilerplate — 'Use when appropriate context detected. Trigger with relevant phrases based on skill purpose' — with no natural terms a user would actually say (e.g. 'recommendation system', 'recommender', 'personalized suggestions'). This matches the 'overly generic' / 'no natural keywords' anchor and is not 2 because it lacks even common relevant keyword variations.

1 / 3

Distinctiveness Conflict Risk

The recommendation-systems niche with named approaches (collaborative/content-based/hybrid filtering) is clearly distinguishable and unlikely to trigger for unrelated skills, matching the 'clear niche with distinct triggers; unlikely to conflict' anchor. Not 2 because the domain itself is specific rather than broadly overlapping.

3 / 3

Total

9

/

12

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.

Validation14 / 16 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

14

/

16

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.