Skip to content
Development
Skill

/algo-rec-session

\"Implement session-based recommendation from short-term user behavior sequences without long-term profiles. Use this skill when the user needs to recommend in anonymous sessions, predict next click from browsing sequence, or build recommendations for non-logged-in users — even

From plugin
awesome-agent-skill
27200 skills4 commands

Claude Code

$ npx -y skills add charlieviettq/awesome-agent-skill --skill algo-rec-session --agent claude-code

SKILL.md

algo-rec-session.SKILL.md
name: "\"algo-rec-session\""
description: "\"Implement session-based recommendation from short-term user behavior sequences without long-term profiles. Use this skill when the user needs to recommend in anonymous sessions, predict next click from browsing sequence, or build recommendations for non-logged-in users — even if they say 'what should they click next', 'anonymous user recommendations', or 'browsing sequence prediction'.\"."
allowed-tools: Read, Glob, Grep

Session-Based Recommendation

Overview

Session-based recommendation predicts the next item a user will interact with based on their current session's click/view sequence, without relying on long-term user profiles. Uses Markov chains, association rules, or neural approaches (GRU4Rec). Operates in real-time with O(sequence_length) inference.

When to Use

**Trigger conditions:**

  • Anonymous users (no login, no long-term profile)
  • Short browsing sessions where recency matters most
  • Real-time "next item" prediction during active sessions

**When NOT to use:**

  • When rich user history is available (use CF or content-based for better personalization)
  • When sessions are extremely short (1-2 clicks) — insufficient signal

Algorithm

IRON LAW: First Few Clicks Are Disproportionately Important
Session-based methods operate WITHOUT long-term profiles. Intent must
be inferred from SHORT sequences. The first 2-3 clicks establish the
session's intent — misreading early signals derails the entire session.

Phase 1: Input Validation

Parse clickstream into sessions (by session ID or timeout-based splitting, typically 30min inactivity). Filter sessions below minimum length (3+ events). **Gate:** Sessions parsed, minimum length threshold applied.

Phase 2: Core Algorithm

**Markov Chain approach:** 1. Build transition matrix from item-to-item sequences across all sessions 2. For current session [A, B, C], predict next item from P(next | C) or higher-order P(next | B, C)

**Association Rules approach:** 1. Mine frequent item sequences (sequential pattern mining) 2. Match current session suffix against known patterns 3. Recommend items that frequently follow the matched pattern

Phase 3: Verification

Evaluate with leave-one-out: hide last item in each session, predict, check hit rate and MRR (Mean Reciprocal Rank). **Gate:** Hit@20 significantly above random baseline.

Phase 4: Output

Return ranked next-item predictions with confidence scores.

Output Format

{
  "predictions": [{"item_id": "789", "score": 0.65, "based_on": "last_3_clicks"}],
  "session": {"length": 5, "items_viewed": ["a", "b", "c", "d", "e"]},
  "metadata": {"method": "markov_order2", "hit_rate_at_20": 0.35}
}

Examples

Sample I/O

**Input:** Session: [shoes_page, running_shoes, nike_air_max] **Expected:** Recommend: nike_air_zoom (0.72), adidas_ultraboost (0.58), shoe_size_guide (0.41)

Edge Cases

| Input | Expected | Why | |-------|----------|-----| | Session length = 1 | Popularity fallback | Single click insufficient for sequence pattern | | Repeated item views | Weight recency, not count | User may be comparing, not broadening | | Session intent shift | Adapt to latest clicks | User changed their goal mid-session |

Gotchas

  • **Session definition matters**: 30-minute timeout is conventional but arbitrary. E-commerce may need shorter (15min); research browsing may need longer (60min).
  • **Position bias**: Users click top results more. Session data reflects UI position, not just preference. Correct for position bias.
  • **Repeat recommendations**: Users often revisit items. Distinguish "recommend something new" from "remind of previously viewed."
  • **Cold start for new items**: Items with zero prior session appearances can't be predicted by transition matrices. Mix in feature-based candidates.
  • **Computational efficiency**: For real-time inference, pre-compute transition probabilities. Recomputing per-request at scale is too slow.

References

  • For GRU4Rec neural session model, see `references/gru4rec.md`
  • For session splitting heuristics, see `references/session-splitting.md`
Read more
@charlieviettq
Ships withawesome-agent-skill

Curated skill pack for LLM agents in engineer and science workflow (Cursor & Claude ready).

Stars on GitHub

Momentum

stars in total
27
Star history of charlieviettq/awesome-agent-skill on GitHub, a chart by star-history.com

Other skills on awesome-agent-skill.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about algo-rec-session.

Which coding agents can use algo-rec-session?
algo-rec-session installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.