algo-rec-contentlisted
Install: claude install-skill charlieviettq/awesome-agent-skill
# Content-Based Recommendation
## Overview
Content-based filtering recommends items whose features match the user's preference profile, built from their interaction history. Computes in O(I × F) per user where I=items, F=features. Solves new-item cold start since items only need features, not interaction history.
## When to Use
**Trigger conditions:**
- Recommending based on item attributes (genre, category, keywords, price range)
- New item cold start: items have features but no interaction data yet
- When user privacy requires no cross-user data sharing
**When NOT to use:**
- When serendipity matters (content-based creates filter bubbles)
- When item features are unavailable or uninformative (use CF instead)
## Algorithm
```
IRON LAW: Content-Based Can Only Recommend SIMILAR Items
It cannot discover unexpected interests (filter bubble problem).
Users who only interact with action movies will only get action
movie recommendations — even if they'd love a documentary.
```
### Phase 1: Input Validation
Extract item feature vectors (TF-IDF for text, one-hot for categories, numerical for attributes). Build user profile from weighted item features of interacted items.
**Gate:** Item features extracted, user profile vector built.
### Phase 2: Core Algorithm
1. Represent each item as a feature vector
2. Build user profile: weighted centroid of interacted item vectors (weight by recency, rating, or engagement)
3. Compute similarity between user profile and all candidate item