[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-google-gemini-curation":3,"mdc--cqggey-key":33,"related-org-google-gemini-curation":221,"related-repo-google-gemini-curation":354},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":28,"sourceUrl":31,"mdContent":32},"curation","curate and rank news items","Selection and ranking rules — how to turn the raw fetched pool into the handful of items the reader actually wants, guided by the taste profile in interests.json.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"google-gemini","Google Gemini","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fgoogle-gemini.jpg",[12,16,19],{"name":13,"slug":14,"type":15},"Research","research","tag",{"name":17,"slug":18,"type":15},"Automation","automation",{"name":20,"slug":21,"type":15},"Summarization","summarization",56,"https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-managed-agents-templates","2026-07-24T06:08:49.164617",null,16,[],{"repoUrl":23,"stars":22,"forks":26,"topics":29,"description":30},[],"This repository contains a collection of templates for building and deploying Gemini Managed Agents using the Gemini API. ","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-managed-agents-templates\u002Ftree\u002FHEAD\u002Fnews-curator\u002Fskills\u002Fcuration","---\nname: curation\ndescription: Selection and ranking rules — how to turn the raw fetched pool into the handful of items the reader actually wants, guided by the taste profile in interests.json.\n---\n\n# Curation Skill\n\nCuration is editing, not summarizing. From the candidate pool in\n`new_items.json`, choose the items this specific reader should see today.\n\n## Selection Rules\n\n1. **The taste profile decides.** Re-read `interests.json` before selecting.\n   `preferences.more` entries boost an item; `preferences.less` entries drop it\n   unless it is genuinely major; `preferences.notes` carry dated, specific\n   guidance from past feedback — treat recent notes as the strongest signal.\n2. **Cap the briefing at 10 news items total** across all topics, and up to 4\n   community-buzz items. Fewer is fine; padding is not. If a topic produced\n   nothing worth including, say so in one line rather than including filler.\n3. **Prefer, in order**: primary sources and official announcements → original\n   reporting → high-engagement community discussion → aggregation\u002Fcommentary.\n   Drop listicles and rumor pieces by default (they are on the default\n   `less` list).\n4. **Collapse duplicates of one story.** When several outlets carry the same\n   development, pick the strongest single link and mention coverage breadth in\n   the why-it-matters line (\"also covered by Reuters and The Verge\") — breadth\n   itself is a signal the story matters.\n5. **Genre feeds are the serendipity channel.** Pick at most 2-3 genre items\n   the reader did not explicitly ask about but would plausibly care about,\n   given their profile. Label them as discoveries.\n6. **Community items are for signal, not noise.** Select a Hacker News item\n   only when it adds something the news coverage lacks: practitioner\n   experience, technical pushback, or early buzz on something not yet covered.\n7. **Longform earns its slot with depth.** Select at most 2 Medium pieces per\n   briefing, and only for genuine substance — tutorials, architecture\n   write-ups, first-hand experience reports. Medium has no engagement signal\n   in the feed, so judge entirely on title substance and taste-profile fit;\n   skip anything that reads as engagement-bait or paywalled teaser fluff.\n\n## Ranking Within the Briefing\n\nLead with the item that best combines: relevance to an explicit topic,\nrecency, source quality, and taste-profile fit. Genre discoveries and\ncommunity buzz always come after the reader's explicit topics.\n\n## What Never Gets Selected\n\n- Items you cannot link.\n- Items whose headline alone is too thin to say why it matters — do not pad\n  with invented detail.\n- Pure engagement-bait framed as news, regardless of topic match.\n",{"data":34,"body":35},{"name":4,"description":6},{"type":36,"children":37},"root",[38,47,62,69,185,191,196,202],{"type":39,"tag":40,"props":41,"children":43},"element","h1",{"id":42},"curation-skill",[44],{"type":45,"value":46},"text","Curation Skill",{"type":39,"tag":48,"props":49,"children":50},"p",{},[51,53,60],{"type":45,"value":52},"Curation is editing, not summarizing. From the candidate pool in\n",{"type":39,"tag":54,"props":55,"children":57},"code",{"className":56},[],[58],{"type":45,"value":59},"new_items.json",{"type":45,"value":61},", choose the items this specific reader should see today.",{"type":39,"tag":63,"props":64,"children":66},"h2",{"id":65},"selection-rules",[67],{"type":45,"value":68},"Selection Rules",{"type":39,"tag":70,"props":71,"children":72},"ol",{},[73,117,127,145,155,165,175],{"type":39,"tag":74,"props":75,"children":76},"li",{},[77,83,85,91,93,99,101,107,109,115],{"type":39,"tag":78,"props":79,"children":80},"strong",{},[81],{"type":45,"value":82},"The taste profile decides.",{"type":45,"value":84}," Re-read ",{"type":39,"tag":54,"props":86,"children":88},{"className":87},[],[89],{"type":45,"value":90},"interests.json",{"type":45,"value":92}," before selecting.\n",{"type":39,"tag":54,"props":94,"children":96},{"className":95},[],[97],{"type":45,"value":98},"preferences.more",{"type":45,"value":100}," entries boost an item; ",{"type":39,"tag":54,"props":102,"children":104},{"className":103},[],[105],{"type":45,"value":106},"preferences.less",{"type":45,"value":108}," entries drop it\nunless it is genuinely major; ",{"type":39,"tag":54,"props":110,"children":112},{"className":111},[],[113],{"type":45,"value":114},"preferences.notes",{"type":45,"value":116}," carry dated, specific\nguidance from past feedback — treat recent notes as the strongest signal.",{"type":39,"tag":74,"props":118,"children":119},{},[120,125],{"type":39,"tag":78,"props":121,"children":122},{},[123],{"type":45,"value":124},"Cap the briefing at 10 news items total",{"type":45,"value":126}," across all topics, and up to 4\ncommunity-buzz items. Fewer is fine; padding is not. If a topic produced\nnothing worth including, say so in one line rather than including filler.",{"type":39,"tag":74,"props":128,"children":129},{},[130,135,137,143],{"type":39,"tag":78,"props":131,"children":132},{},[133],{"type":45,"value":134},"Prefer, in order",{"type":45,"value":136},": primary sources and official announcements → original\nreporting → high-engagement community discussion → aggregation\u002Fcommentary.\nDrop listicles and rumor pieces by default (they are on the default\n",{"type":39,"tag":54,"props":138,"children":140},{"className":139},[],[141],{"type":45,"value":142},"less",{"type":45,"value":144}," list).",{"type":39,"tag":74,"props":146,"children":147},{},[148,153],{"type":39,"tag":78,"props":149,"children":150},{},[151],{"type":45,"value":152},"Collapse duplicates of one story.",{"type":45,"value":154}," When several outlets carry the same\ndevelopment, pick the strongest single link and mention coverage breadth in\nthe why-it-matters line (\"also covered by Reuters and The Verge\") — breadth\nitself is a signal the story matters.",{"type":39,"tag":74,"props":156,"children":157},{},[158,163],{"type":39,"tag":78,"props":159,"children":160},{},[161],{"type":45,"value":162},"Genre feeds are the serendipity channel.",{"type":45,"value":164}," Pick at most 2-3 genre items\nthe reader did not explicitly ask about but would plausibly care about,\ngiven their profile. Label them as discoveries.",{"type":39,"tag":74,"props":166,"children":167},{},[168,173],{"type":39,"tag":78,"props":169,"children":170},{},[171],{"type":45,"value":172},"Community items are for signal, not noise.",{"type":45,"value":174}," Select a Hacker News item\nonly when it adds something the news coverage lacks: practitioner\nexperience, technical pushback, or early buzz on something not yet covered.",{"type":39,"tag":74,"props":176,"children":177},{},[178,183],{"type":39,"tag":78,"props":179,"children":180},{},[181],{"type":45,"value":182},"Longform earns its slot with depth.",{"type":45,"value":184}," Select at most 2 Medium pieces per\nbriefing, and only for genuine substance — tutorials, architecture\nwrite-ups, first-hand experience reports. Medium has no engagement signal\nin the feed, so judge entirely on title substance and taste-profile fit;\nskip anything that reads as engagement-bait or paywalled teaser fluff.",{"type":39,"tag":63,"props":186,"children":188},{"id":187},"ranking-within-the-briefing",[189],{"type":45,"value":190},"Ranking Within the Briefing",{"type":39,"tag":48,"props":192,"children":193},{},[194],{"type":45,"value":195},"Lead with the item that best combines: relevance to an explicit topic,\nrecency, source quality, and taste-profile fit. Genre discoveries and\ncommunity buzz always come after the reader's explicit topics.",{"type":39,"tag":63,"props":197,"children":199},{"id":198},"what-never-gets-selected",[200],{"type":45,"value":201},"What Never Gets Selected",{"type":39,"tag":203,"props":204,"children":205},"ul",{},[206,211,216],{"type":39,"tag":74,"props":207,"children":208},{},[209],{"type":45,"value":210},"Items you cannot link.",{"type":39,"tag":74,"props":212,"children":213},{},[214],{"type":45,"value":215},"Items whose headline alone is too thin to say why it matters — do not pad\nwith invented detail.",{"type":39,"tag":74,"props":217,"children":218},{},[219],{"type":45,"value":220},"Pure engagement-bait framed as news, regardless of topic match.",{"items":222,"total":353},[223,244,255,273,288,303,309,324,336],{"slug":224,"name":224,"fn":225,"description":226,"org":227,"tags":228,"stars":241,"repoUrl":242,"updatedAt":243},"gemini-api-dev","build applications with the Gemini API","Use this skill when building applications with Gemini API hosted models, including Gemini and Gemma 4, working with multimodal content (text, images, audio, video), implementing function calling, using structured outputs, or needing current model specifications. Covers SDK usage (google-genai for Python, @google\u002Fgenai for JavaScript\u002FTypeScript, com.google.genai:google-genai for Java, google.golang.org\u002Fgenai for Go), model selection, and API capabilities.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[229,232,235,238],{"name":230,"slug":231,"type":15},"API Development","api-development",{"name":233,"slug":234,"type":15},"Gemini","gemini",{"name":236,"slug":237,"type":15},"LLM","llm",{"name":239,"slug":240,"type":15},"Multimodal","multimodal",3850,"https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-skills","2026-07-24T05:42:40.130864",{"slug":245,"name":245,"fn":246,"description":247,"org":248,"tags":249,"stars":241,"repoUrl":242,"updatedAt":254},"gemini-interactions-api","implement Gemini API calls for text and multimodal generation","Use this skill when writing code that calls the Gemini API for text generation, multi-turn chat, multimodal understanding, image generation, video generation, streaming responses, background research tasks, function calling, structured output, or migrating from the old generateContent API. This skill covers the Interactions API, the recommended way to use Gemini models and agents in Python and TypeScript.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[250,251,252,253],{"name":230,"slug":231,"type":15},{"name":233,"slug":234,"type":15},{"name":236,"slug":237,"type":15},{"name":239,"slug":240,"type":15},"2026-07-24T05:42:41.109676",{"slug":256,"name":256,"fn":257,"description":258,"org":259,"tags":260,"stars":241,"repoUrl":242,"updatedAt":272},"gemini-live-api-dev","build real-time streaming apps with Gemini Live API","Use this skill when building real-time, bidirectional streaming applications with the Gemini Live API. Covers WebSocket-based audio\u002Fvideo\u002Ftext streaming, voice activity detection (VAD), native audio features, function calling, session management, ephemeral tokens for client-side auth, live translation, and all Live API configuration options. SDKs covered - google-genai (Python), @google\u002Fgenai (JavaScript\u002FTypeScript).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[261,264,265,266,269],{"name":262,"slug":263,"type":15},"Audio","audio",{"name":233,"slug":234,"type":15},{"name":236,"slug":237,"type":15},{"name":267,"slug":268,"type":15},"Video","video",{"name":270,"slug":271,"type":15},"WebSockets","websockets","2026-04-06T18:24:48.861661",{"slug":274,"name":274,"fn":275,"description":276,"org":277,"tags":278,"stars":241,"repoUrl":242,"updatedAt":287},"gemini-omni-flash-api","generate and edit video with Gemini","Use this skill for generative video editing, text-to-video, image-referenced video generation, and first-frame-to-video transition animations using the official google-genai SDK. Includes workflows for pre-processing\u002Foptimizing high-resolution or long source videos with ffmpeg, stripping audio for full sound regeneration, and handling turn-by-turn video editing and parallel execution.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[279,282,283,286],{"name":280,"slug":281,"type":15},"Animation","animation",{"name":233,"slug":234,"type":15},{"name":284,"slug":285,"type":15},"Generative Art","generative-art",{"name":267,"slug":268,"type":15},"2026-07-01T07:47:06.8657",{"slug":289,"name":289,"fn":290,"description":291,"org":292,"tags":293,"stars":22,"repoUrl":23,"updatedAt":302},"briefing","format daily news and trend briefings","Formats the standalone daily briefing — curated picks with why-it-matters lines, community buzz, the trend read across runs, and the taste note that keeps the learning visible.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[294,297,298,299],{"name":295,"slug":296,"type":15},"Communications","communications",{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":300,"slug":301,"type":15},"Writing","writing","2026-07-24T06:08:46.318988",{"slug":4,"name":4,"fn":5,"description":6,"org":304,"tags":305,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[306,307,308],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"slug":310,"name":310,"fn":311,"description":312,"org":313,"tags":314,"stars":22,"repoUrl":23,"updatedAt":323},"deliver","post daily briefings to chat platforms","Posts a condensed version of the briefing to a Google Chat or Slack incoming webhook, so the daily run delivers itself — skips silently when no webhook is configured.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[315,316,317,320],{"name":17,"slug":18,"type":15},{"name":295,"slug":296,"type":15},{"name":318,"slug":319,"type":15},"Messaging","messaging",{"name":321,"slug":322,"type":15},"Slack","slack","2026-07-24T06:09:04.439512",{"slug":325,"name":325,"fn":326,"description":327,"org":328,"tags":329,"stars":22,"repoUrl":23,"updatedAt":335},"fetch-news","fetch and deduplicate news articles","Pulls the latest Google News and Hacker News items for every topic and genre in the reader's interests, deduped against every item shown in previous runs.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[330,331,332],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":333,"slug":334,"type":15},"Search","search","2026-07-24T06:08:47.09259",{"slug":337,"name":337,"fn":338,"description":339,"org":340,"tags":341,"stars":350,"repoUrl":351,"updatedAt":352},"gemini-api-cli","interact with Gemini API via CLI","Guide for using the Gemini API CLI tool. Use when you need to interact with the Gemini API via the command line, manage agents, or generate media (images, audio).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[342,345,346,349],{"name":343,"slug":344,"type":15},"Agents","agents",{"name":230,"slug":231,"type":15},{"name":347,"slug":348,"type":15},"CLI","cli",{"name":233,"slug":234,"type":15},37,"https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-api-cli","2026-06-30T07:10:10.809",9,{"items":355,"total":382},[356,363,369,376],{"slug":289,"name":289,"fn":290,"description":291,"org":357,"tags":358,"stars":22,"repoUrl":23,"updatedAt":302},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[359,360,361,362],{"name":295,"slug":296,"type":15},{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"name":300,"slug":301,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":364,"tags":365,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[366,367,368],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"slug":310,"name":310,"fn":311,"description":312,"org":370,"tags":371,"stars":22,"repoUrl":23,"updatedAt":323},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[372,373,374,375],{"name":17,"slug":18,"type":15},{"name":295,"slug":296,"type":15},{"name":318,"slug":319,"type":15},{"name":321,"slug":322,"type":15},{"slug":325,"name":325,"fn":326,"description":327,"org":377,"tags":378,"stars":22,"repoUrl":23,"updatedAt":335},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[379,380,381],{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":333,"slug":334,"type":15},4]