[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-4479c133-d825-4328-9b2a-6887a0c7f5c1":3,"$f5wGX2Qhovs0jl_biYQUxsLkB6zAfGOwoFoBAfYf_vqU":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"4479c133-d825-4328-9b2a-6887a0c7f5c1","recsys-pipeline-architect","设计可组合的推荐、排名和推送管道，采用六阶段框架：源→加湿器→过滤器→评分器→选择器→副作用","cat_life_career","mod_other","sickn33,other","---\nname: recsys-pipeline-architect\ndescription: \"Designs composable recommendation, ranking, and feed pipelines using the six-stage Source→Hydrator→Filter→Scorer→Selector→SideEffect framework\"\ncategory: data-ai\nrisk: safe\nsource: community\nsource_repo: mturac\u002Frecsys-pipeline-architect\nsource_type: community\ndate_added: \"2026-05-16\"\nauthor: mturac\ntags: [recommender-system, ranking, feed-algorithm, recsys, personalization, for-you-feed, rag-reranker, pipeline-architecture]\ntools: [claude, codex, cursor, gemini, opencode, cline, continue, windsurf]\nlicense: \"MIT\"\nlicense_source: \"https:\u002F\u002Fgithub.com\u002Fmturac\u002Frecsys-pipeline-architect\u002Fblob\u002Fmain\u002FLICENSE\"\n---\n\n# recsys-pipeline-architect\n\n## Overview\n\nA spec-and-scaffold skill for building composable recommendation, ranking, and feed pipelines. It encodes the six-stage **Source → Hydrator → Filter → Scorer → Selector → SideEffect** framework popularized by xAI's open-sourced [For You algorithm](https:\u002F\u002Fgithub.com\u002Fxai-org\u002Fx-algorithm) (Apache 2.0). This skill is an independent reimplementation of the *pattern* — no code is copied from the original — licensed MIT. Use it whenever you need \"the top K items for a (user, context)\": social feeds, content CMSs, RAG rerankers, task prioritizers, notification triage, search reranking, ad ranking.\n\n## When to Use This Skill\n\n- Use when the user wants to build any system that picks \"the top K items for a user\u002Fcontext\"\n- Use when the user asks \"how should I rank X\" or describes a feed\u002Fpersonalization problem\n- Use when the user has a scoring function and needs the pipeline plumbing around it\n- Use when the user wants to migrate from a single relevance score to multi-action prediction with tunable weights\n- Use when the user is wrapping an LLM\u002FML scorer and needs filters, hydrators, side-effects, and a runnable scaffold in their stack (TypeScript \u002F Go \u002F Python)\n\n## How It Works\n\n### Step 1: Clarify the use case\n\nAsk the user three questions (only what is missing):\n\n1. What are the items being ranked? (posts, products, tasks, alerts, documents...)\n2. What is the input context? (user ID, search query, current document, time window...)\n3. What language \u002F runtime? (TypeScript\u002FNode, Go, Python, Rust...)\n\n### Step 2: Walk the eight steps of the spec\n\nThe full SKILL walks through: clarify use case → identify candidate sources → list required hydrations → list filters → design scorer chain → selector → side effects → generate scaffold. Each step surfaces the architectural trade-offs (multi-action vs single-score, candidate isolation vs joint scoring, online vs offline batch) so the user makes them explicitly rather than defaulting silently.\n\n### Step 3: Emit a runnable scaffold\n\nThe upstream repository ships three runnable example scaffolds — every one green on its test suite:\n\n- **Strapi v5 plugin** (TypeScript, Jest, 3\u002F3 pass) — adds `GET \u002Fapi\u002Ffeed\u002Ffor-you` with multi-action scoring and author diversity\n- **Zentra-compatible pipeline** (Go with generics, 3\u002F3 pass) — engine.Module-compatible, standalone-usable\n- **PMAI task prioritizer** (Python \u002F FastAPI \u002F pytest, 3\u002F3 pass) — `GET \u002Ftasks\u002Fnext?user_id=42&limit=10`\n\nWhen the user's stack doesn't match, the skill generates from scratch following the interface definitions in `references\u002Finterfaces.md` (TypeScript, Go, Python, Rust).\n\n## Examples\n\n### Example 1: Strapi content feed\n\nUser: \"I'm running a Strapi v5 instance with 50k articles. I want a 'for you' feed personalized to each logged-in user based on their reading history.\"\n\nSkill walks through the 8 steps, generates a Strapi plugin scaffold using the Strapi example as the template.\n\n### Example 2: RAG retrieval reranker\n\nUser: \"My RAG returns top-50 chunks from a vector DB. I want to rerank them with a more expensive scorer and return top-5.\"\n\nSkill recognizes this as a single-source pipeline with a scorer chain (cheap retrieval + expensive rerank). Generates a Python async pipeline.\n\n### Example 3: Notification triage\n\nUser: \"We send too many notifications. I want a daily digest that picks the top 10 from the last 24h queue.\"\n\nSkill identifies this as an offline-batch pipeline. Generates a scheduled job scaffold.\n\n## Best Practices\n\n- ✅ Surface the multi-action vs single-score trade-off explicitly — don't default silently\n- ✅ Order filters by cost (cheap before expensive); universal filters before user-specific\n- ✅ Wrap side effects in fire-and-forget patterns (goroutines \u002F promises without await \u002F asyncio tasks) — never block the response\n- ✅ Keep scoring deterministic and cacheable; do diversity reranking as a separate stage\n- ✅ Attribute the pattern as \"popularized by xAI's open-sourced For You algorithm\" when generating output\n- ❌ Don't invent benchmark or latency numbers — say \"depends on workload, run it yourself\"\n- ❌ Don't name the user's generated artifact \"X-like\" or use \"For You\" branding — the pattern is free, the brand is not\n- ❌ Don't conflate this with model architecture: this skill is pipeline plumbing *around* the scorer, not the scorer itself\n\n## Limitations\n\n- This skill scaffolds pipeline plumbing; it does not train ML models — the scoring function is the user's responsibility\n- It does not operate deployed pipelines (no monitoring, no autoscaling decisions)\n- It does not predict pipeline performance (depends on data, hardware, traffic)\n- It does not choose infrastructure (vector DB, cache, queue) — those are outside scope\n\n## Security & Safety Notes\n\n- The generated scaffolds are framework code, not application logic — no shell commands, no network fetches, no credential handling\n- Filters in the generated cookbook include eligibility\u002Fpaywall\u002Fgeo-restriction checks; the skill recommends putting these *before* scoring (so blocked content is never scored)\n- Side-effect stages are always async \u002F fire-and-forget; the skill documents this explicitly in the generated README to prevent users from accidentally blocking the response with cache writes or event emissions\n\n## Common Pitfalls\n\n- **Problem:** Single-score model gets overfit to one metric (clicks) and degrades on others (long sessions, retention)\n  **Solution:** Skill recommends multi-action prediction with tunable weights — change behavior by changing weights, no retraining\n\n- **Problem:** Joint scoring (transformer over the whole batch) is non-deterministic and uncacheable\n  **Solution:** Skill defaults to candidate isolation via attention masking; recommends joint only when there's a specific reason (e.g., batch-aware diversity)\n\n- **Problem:** Side effects (cache writes, impression emits) block the response\n  **Solution:** Skill generates fire-and-forget patterns and documents the constraint\n\n## Upstream\n\nThis skill is a thin adapter to the upstream repository. For the full SKILL.md content, 5 reference documents (interfaces in 4 languages, multi-action scoring, candidate isolation, filter cookbook, scorer cookbook), and 3 runnable example scaffolds with passing test suites:\n\n- **Repository:** https:\u002F\u002Fgithub.com\u002Fmturac\u002Frecsys-pipeline-architect\n- **Release:** v0.1.0\n- **Install via skills.sh:** `npx skills add mturac\u002Frecsys-pipeline-architect`\n- **Pattern source:** https:\u002F\u002Fgithub.com\u002Fxai-org\u002Fx-algorithm (Apache 2.0; this skill is MIT)\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,104,830,"2026-05-16 13:36:47",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"其他","other","mdi-page-next-outline","其他类型Skill",5,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"职场发展","career","mdi-briefcase-outline","面试准备、简历优化、职业规划",4,575,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"babdfb47-8fc0-4783-8a7c-91f7a405f9f8","1.0.0","recsys-pipeline-architect.zip",3262,"uploads\u002Fskills\u002F4479c133-d825-4328-9b2a-6887a0c7f5c1\u002Frecsys-pipeline-architect.zip","e469b3c5c4173bd9991d7d6be79b766ad7f43f5009806a597254c5323d7dfeda","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":7305}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]