[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71FS5XFDKQ5QY342D4DHYF0":3,"skill-same:01M71FS5XFDKQ5QY342D4DHYF0":64},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M71FS5XFDKQ5QY342D4DHYF0","optimizing-query-text",null,"Optimizes Snowflake SQL query performance from provided query text. Use when optimizing Snowflake SQL for:\n(1) User provides or pastes a SQL query and asks to optimize, tune, or improve it\n(2) Task mentions \"slow query\", \"make faster\", \"improve performance\", \"optimize SQL\", or \"query tuning\"\n(3) Reviewing SQL for performance anti-patterns (function on filter column, implicit joins, etc.)\n(4) User asks why a query is slow or how to speed it up","JSGforever\u002Fskillguard","JSGforever","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F85541948?v=4","01M71FQD3E132VMR5F4TAYX3YS","01M71FQD4DYW0XJ4XQ4YQH75Y9",2,"GPL-3.0","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__AltimateAI--optimizing-query-text\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"text","optimizing query text","query","sql","why","anti-patterns","how","optimize","filter","task","sql query","when","use","how to","improve","speed","up","snowflake","performance","for","2026-11-10 10:12:30",false,"---\nname: optimizing-query-text\ndescription: |\n  Optimizes Snowflake SQL query performance from provided query text. Use when optimizing Snowflake SQL for:\n  (1) User provides or pastes a SQL query and asks to optimize, tune, or improve it\n  (2) Task mentions \"slow query\", \"make faster\", \"improve performance\", \"optimize SQL\", or \"query tuning\"\n  (3) Reviewing SQL for performance anti-patterns (function on filter column, implicit joins, etc.)\n  (4) User asks why a query is slow or how to speed it up\n---\n\n# Optimize Query from SQL Text\n\n## OUTPUT FORMAT\n\nReturn ONLY the optimized SQL query. No markdown formatting, no explanations, no bullet points - just pure SQL that can be executed directly in Snowflake.\n\n## CRITICAL: Semantic Preservation Rules\n\n**The optimized query MUST return IDENTICAL results to the original.**\n\nBefore returning ANY optimization, verify:\n- **Same columns**: Exact same columns in exact same order with exact same aliases\n- **Same rows**: Filter conditions must be semantically equivalent\n- **Same ordering**: Preserve `ORDER BY` exactly as written\n- **Same limits**: If original has `LIMIT N`, keep `LIMIT N`. If no LIMIT, do NOT add one.\n\n**If you cannot guarantee identical results, return the original query unchanged.**\n\n---\n\n## Pattern 1: Function on Filter Column\n\n**Problem**: Functions on columns in WHERE clause prevent partition pruning and index usage.\n\n### CAN Fix\n\n| Original | Optimized | Why Safe |\n|----------|-----------|----------|\n| `WHERE DATE(ts) = '2024-01-01'` | `WHERE ts >= '2024-01-01' AND ts \u003C '2024-01-02'` | Equivalent range |\n| `WHERE YEAR(dt) = 2024` | `WHERE dt >= '2024-01-01' AND dt \u003C '2025-01-01'` | Equivalent range |\n| `WHERE MONTH(dt) = 3 AND YEAR(dt) = 2024` | `WHERE dt >= '2024-03-01' AND dt \u003C '2024-04-01'` | Equivalent range |\n| `WHERE DATE(ts) >= '2024-01-01' AND DATE(ts) \u003C '2024-02-01'` | `WHERE ts >= '2024-01-01' AND ts \u003C '2024-02-01'` | Same boundaries |\n| `WHERE YEAR(dt) BETWEEN 1995 AND 1996` | `WHERE dt >= '1995-01-01' AND dt \u003C '1997-01-01'` | Equivalent range |\n\n### CANNOT Fix\n\n| Pattern | Why Not |\n|---------|---------|\n| `WHERE YEAR(dt) IN (SELECT year FROM ...)` | Dynamic values, cannot precompute range |\n| `WHERE DATE(ts) = DATE(other_col)` | Comparing two columns, both need function |\n| `WHERE EXTRACT(DOW FROM dt) = 1` | Day-of-week has no contiguous range |\n| `WHERE DATE_TRUNC('month', dt) = '2024-01-01'` in GROUP BY | Needed for grouping logic |\n| `SELECT YEAR(dt) AS yr ... GROUP BY YEAR(dt)` | Function in SELECT\u002FGROUP BY is fine, only filter matters |\n\n---\n\n## Pattern 2: Function on JOIN Column\n\n**Problem**: Functions on JOIN columns prevent hash joins, forcing slower nested loop joins.\n\n### CAN Fix\n\n| Original | Optimized | Why Safe |\n|----------|-----------|----------|\n| `ON CAST(a.id AS VARCHAR) = CAST(b.id AS VARCHAR)` | `ON a.id = b.id` | If both are same type (e.g., INTEGER) |\n| `ON UPPER(a.code) = UPPER(b.code)` | `ON a.code = b.code` | If data is already consistently cased |\n| `ON TRIM(a.name) = TRIM(b.name)` | `ON a.name = b.name` | If data has no leading\u002Ftrailing spaces |\n\n### CANNOT Fix\n\n| Pattern | Why Not |\n|---------|---------|\n| `ON CAST(a.id AS VARCHAR) = b.string_id` | Types genuinely differ, CAST required |\n| `ON DATE(a.timestamp) = b.date_col` | Different granularity, DATE() required |\n| `ON UPPER(a.code) = b.code` | If b.code might have different case |\n| `ON a.id = b.id + 1` | Arithmetic transformation, cannot remove |\n\n---\n\n## Pattern 3: NOT IN Subquery\n\n**Problem**: `NOT IN` has poor performance and unexpected NULL behavior.\n\n### CAN Fix\n\n| Original | Optimized | Why Safe |\n|----------|-----------|----------|\n| `WHERE id NOT IN (SELECT id FROM t WHERE ...)` | `WHERE NOT EXISTS (SELECT 1 FROM t WHERE t.id = main.id AND ...)` | Equivalent when subquery column is NOT NULL |\n| `WHERE id NOT IN (SELECT id FROM t)` where id has NOT NULL constraint | `WHERE NOT EXISTS (SELECT 1 FROM t WHERE t.id = main.id)` | NOT NULL guarantees equivalence |\n\n### CANNOT Fix\n\n| Pattern | Why Not |\n|---------|---------|\n| `WHERE id NOT IN (SELECT nullable_col FROM t)` | If subquery returns NULL, NOT IN returns no rows; NOT EXISTS doesn't |\n| `WHERE (a, b) NOT IN (SELECT x, y FROM t)` | Multi-column NOT IN has complex NULL semantics |\n\n**Key Rule**: Only convert NOT IN to NOT EXISTS if you can verify the subquery column cannot be NULL.\n\n---\n\n## Pattern 4: Repeated Subquery\n\n**Problem**: Same subquery executed multiple times causes redundant scans.\n\n### CAN Fix\n\n| Original | Optimized |\n|----------|-----------|\n| Subquery appears 2+ times identically | Extract to CTE, reference CTE multiple times |\n| Same aggregation used in multiple places | Compute once in CTE |\n\n### CANNOT Fix\n\n| Pattern | Why Not |\n|---------|---------|\n| Correlated subquery (references outer table) | Each execution is different, cannot cache |\n| Subqueries with different filters | Not actually the same subquery |\n| Subquery in SELECT that depends on current row | Correlation prevents extraction |\n\n---\n\n## Pattern 5: Implicit Comma Joins\n\n**Problem**: Comma-separated tables in FROM clause are harder to read and optimize.\n\n### CAN Fix - Always\n\nConvert `FROM a, b, c WHERE a.id = b.id AND b.id = c.id` to explicit JOIN syntax.\n\nThis is always safe - just restructuring, no semantic change.\n\n---\n\n## UNSAFE Optimizations (NEVER apply)\n\n- **UNION to UNION ALL**: UNION deduplicates rows, UNION ALL does not - different results\n- **Changing window functions**: Do not modify `SUM(SUM(x)) OVER(...)` or similar nested aggregates\n- **Adding redundant filters**: Do not add filters in JOIN ON if same filter exists in WHERE\n- **Changing column names**: Copy column names EXACTLY from original - do not \"simplify\" or rename\n- **Changing column aliases**: Keep all aliases exactly as original\n- **Adding early filtering in JOINs**: If a filter is in WHERE, do not duplicate it in JOIN ON clause\n\n---\n\n## Principles\n\n1. **Minimal changes**: Make the fewest changes necessary. Simpler optimizations are more reliable.\n2. **Preserve structure**: Keep subqueries, CTEs, and overall query structure unless there's a clear benefit.\n3. **When in doubt, don't**: If unsure whether a change preserves semantics, skip it.\n4. **Copy exactly**: Column names, table aliases, and expressions should be copied character-for-character.\n\n---\n\n## Priority Order\n\n1. **Date\u002Ftime functions on filter columns** - Highest impact\n2. **Implicit joins to explicit JOIN** - Always safe, improves readability\n3. **NOT IN to NOT EXISTS** - Only if NULL-safe\n\n---\n\n## Requirements\n\n- **Results must be identical**: Same rows, same columns, same order\n- **Valid Snowflake SQL**: Output must execute without errors in Snowflake\n","# Optimize Query from SQL Text\n\n## OUTPUT FORMAT\n\nReturn ONLY the optimized SQL query. No markdown formatting, no explanations, no bullet points - just pure SQL that can be executed directly in Snowflake.\n\n## CRITICAL: Semantic Preservation Rules\n\n**The optimized query MUST return IDENTICAL results to the original.**\n\nBefore returning ANY optimization, verify:\n- **Same columns**: Exact same columns in exact same order with exact same aliases\n- **Same rows**: Filter conditions must be semantically equivalent\n- **Same ordering**: Preserve `ORDER BY` exactly as written\n- **Same limits**: If original has `LIMIT N`, keep `LIMIT N`. If no LIMIT, do NOT add one.\n\n**If you cannot guarantee identical results, return the original query unchanged.**\n\n---\n\n## Pattern 1: Function on Filter Column\n\n**Problem**: Functions on columns in WHERE clause prevent partition pruning and index usage.\n\n### CAN Fix\n\n| Original | Optimized | Why Safe |\n|----------|-----------|----------|\n| `WHERE DATE(ts) = '2024-01-01'` | `WHERE ts >= '2024-01-01' AND ts \u003C '2024-01-02'` | Equivalent range |\n| `WHERE YEAR(dt) = 2024` | `WHERE dt >= '2024-01-01' AND dt \u003C '2025-01-01'` | Equivalent range |\n| `WHERE MONTH(dt) = 3 AND YEAR(dt) = 2024` | `WHERE dt >= '2024-03-01' AND dt \u003C '2024-04-01'` | Equivalent range |\n| `WHERE DATE(ts) >= '2024-01-01' AND DATE(ts) \u003C '2024-02-01'` | `WHERE ts >= '2024-01-01' AND ts \u003C '2024-02-01'` | Same boundaries |\n| `WHERE YEAR(dt) BETWEEN 1995 AND 1996` | `WHERE dt >= '1995-01-01' AND dt \u003C '1997-01-01'` | Equivalent range |\n\n### CANNOT Fix\n\n| Pattern | Why Not |\n|---------|---------|\n| `WHERE YEAR(dt) IN (SELECT year FROM ...)` | Dynamic values, cannot precompute range |\n| `WHERE DATE(ts) = DATE(other_col)` | Comparing two columns, both need function |\n| `WHERE EXTRACT(DOW FROM dt) = 1` | Day-of-week has no contiguous range |\n| `WHERE DATE_TRUNC('month', dt) = '2024-01-01'` in GROUP BY | Needed for grouping logic |\n| `SELECT YEAR(dt) AS yr ... GROUP BY YEAR(dt)` | Function in SELECT\u002FGROUP BY is fine, only filter matters |\n\n---\n\n## Pattern 2: Function on JOIN Column\n\n**Problem**: Functions on JOIN columns prevent hash joins, forcing slower nested loop joins.\n\n### CAN Fix\n\n| Original | Optimized | Why Safe |\n|----------|-----------|----------|\n| `ON CAST(a.id AS VARCHAR) = CAST(b.id AS VARCHAR)` | `ON a.id = b.id` | If both are same type (e.g., INTEGER) |\n| `ON UPPER(a.code) = UPPER(b.code)` | `ON a.code = b.code` | If data is already consistently cased |\n| `ON TRIM(a.name) = TRIM(b.name)` | `ON a.name = b.name` | If data has no leading\u002Ftrailing spaces |\n\n### CANNOT Fix\n\n| Pattern | Why Not |\n|---------|---------|\n| `ON CAST(a.id AS VARCHAR) = b.string_id` | Types genuinely differ, CAST required |\n| `ON DATE(a.timestamp) = b.date_col` | Different granularity, DATE() required |\n| `ON UPPER(a.code) = b.code` | If b.code might have different case |\n| `ON a.id = b.id + 1` | Arithmetic transformation, cannot remove |\n\n---\n\n## Pattern 3: NOT IN Subquery\n\n**Problem**: `NOT IN` has poor performance and unexpected NULL behavior.\n\n### CAN Fix\n\n| Original | Optimized | Why Safe |\n|----------|-----------|----------|\n| `WHERE id NOT IN (SELECT id FROM t WHERE ...)` | `WHERE NOT EXISTS (SELECT 1 FROM t WHERE t.id = main.id AND ...)` | Equivalent when subquery column is NOT NULL |\n| `WHERE id NOT IN (SELECT id FROM t)` where id has NOT NULL constraint | `WHERE NOT EXISTS (SELECT 1 FROM t WHERE t.id = main.id)` | NOT NULL guarantees equivalence |\n\n### CANNOT Fix\n\n| Pattern | Why Not |\n|---------|---------|\n| `WHERE id NOT IN (SELECT nullable_col FROM t)` | If subquery returns NULL, NOT IN returns no rows; NOT EXISTS doesn't |\n| `WHERE (a, b) NOT IN (SELECT x, y FROM t)` | Multi-column NOT IN has complex NULL semantics |\n\n**Key Rule**: Only convert NOT IN to NOT EXISTS if you can verify the subquery column cannot be NULL.\n\n---\n\n## Pattern 4: Repeated Subquery\n\n**Problem**: Same subquery executed multiple times causes redundant scans.\n\n### CAN Fix\n\n| Original | Optimized |\n|----------|-----------|\n| Subquery appears 2+ times identically | Extract to CTE, reference CTE multiple times |\n| Same aggregation used in multiple places | Compute once in CTE |\n\n### CANNOT Fix\n\n| Pattern | Why Not |\n|---------|---------|\n| Correlated subquery (references outer table) | Each execution is different, cannot cache |\n| Subqueries with different filters | Not actually the same subquery |\n| Subquery in SELECT that depends on current row | Correlation prevents extraction |\n\n---\n\n## Pattern 5: Implicit Comma Joins\n\n**Problem**: Comma-separated tables in FROM clause are harder to read and optimize.\n\n### CAN Fix - Always\n\nConvert `FROM a, b, c WHERE a.id = b.id AND b.id = c.id` to explicit JOIN syntax.\n\nThis is always safe - just restructuring, no semantic change.\n\n---\n\n## UNSAFE Optimizations (NEVER apply)\n\n- **UNION to UNION ALL**: UNION deduplicates rows, UNION ALL does not - different results\n- **Changing window functions**: Do not modify `SUM(SUM(x)) OVER(...)` or similar nested aggregates\n- **Adding redundant filters**: Do not add filters in JOIN ON if same filter exists in WHERE\n- **Changing column names**: Copy column names EXACTLY from original - do not \"simplify\" or rename\n- **Changing column aliases**: Keep all aliases exactly as original\n- **Adding early filtering in JOINs**: If a filter is in WHERE, do not duplicate it in JOIN ON clause\n\n---\n\n## Principles\n\n1. **Minimal changes**: Make the fewest changes necessary. Simpler optimizations are more reliable.\n2. **Preserve structure**: Keep subqueries, CTEs, and overall query structure unless there's a clear benefit.\n3. **When in doubt, don't**: If unsure whether a change preserves semantics, skip it.\n4. **Copy exactly**: Column names, table aliases, and expressions should be copied character-for-character.\n\n---\n\n## Priority Order\n\n1. **Date\u002Ftime functions on filter columns** - Highest impact\n2. **Implicit joins to explicit JOIN** - Always safe, improves readability\n3. **NOT IN to NOT EXISTS** - Only if NULL-safe\n\n---\n\n## Requirements\n\n- **Results must be identical**: Same rows, same columns, same order\n- **Valid Snowflake SQL**: Output must execute without errors in Snowflake\n",{"name":5,"description":7},"main","f2ec4b3b9133d34eeaf9b38e4b0a97e8e5705a7f","benchmarks\u002Ffinal\u002Fskills\u002Fasset1__AltimateAI--optimizing-query-text",0,"https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard","https:\u002F\u002Fgithub.com\u002FJSGforever","2026-08-29 18:27:56",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add JSGforever\u002Fskillguard --skill optimizing-query-text",{"tool":56,"command":57},"bunx","bunx skills add JSGforever\u002Fskillguard --skill optimizing-query-text",{"tool":59,"command":60},"pnpm","pnpm dlx skills add JSGforever\u002Fskillguard --skill optimizing-query-text","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__AltimateAI--optimizing-query-text\u002FSKILL.md",true,[],[65,96,112,138,160,180],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":76,"publishedAt":38},"01M71HY2SNXBA9Q00WZDTZQ31Z","skillguard-codex-scanner","Hybrid deterministic+LLM agent-skill security scanner. Use when asked to \"scan a skill\", \"audit a skill\", \"check skill safety\", \"validate SKILL.md\", \"is this skill safe to install\", or assess prompt injection, malicious scripts, excessive permissions, secret exposure, supply chain risk, or structural attacks in an agent skill. Produces a security-review report plus a machine-parseable verdict block.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fsrc\u002Fskillguard\u002Fstatic_scanner\u002Fskillguard-codex-scanner\u002FSKILL.md",[71],{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[77,78,79,80,81,82,83,84,85,86,87,88,29,89,90,91,92,93,94,95],"scanner","skillguard codex scanner","skillguard","codex","chain","skill security","security-review","review report","structural","secret","prompt injection","security scanner","review","malicious","permissions","exposure","audit","scripts","safe",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":100,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":108,"publishedAt":38},"01M71HY0SPKTT3S27BC2HPAC5M","data-exfiltrator","Analyzes data files","MIT","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Fsmoke-one-skill\u002Fasset1__cisco-ai-defense--data-exfiltrator\u002FSKILL.md",[103],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[109,110,111],"data","data exfiltrator","files",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":118,"publishedAt":38},"01M71HXVS9EMN44BGDW215FZ72","real-time-collaboration-engine","Build real-time collaborative editing with WebSockets, OT\u002FCRDT conflict resolution, and presence awareness. Implements cursor tracking, optimistic updates, and offline sync. Use for collaborative editors, whiteboards, video editing. Activate on \"real-time collaboration\", \"WebSocket sync\", \"multiplayer editing\", \"CRDT\", \"presence awareness\". NOT for simple chat, request-response APIs, or single-user apps.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--real-time-collaboration-engine\u002FSKILL.md",[],[119,120,121,122,123,124,125,126,127,36,128,129,130,131,132,133,134,135,136,137],"time","real time collaboration engine","real time collaboration","collaboration","engine","real time","Video","reliability","video editing","conflict resolution","presence","access","apps","updates","Bash","activate","optimizer","react","streaming",{"skillNo":139,"name":140,"nameZh":6,"description":141,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":142,"categories":143,"keywords":147,"publishedAt":38},"01M71HXP6CTY4KFN0QVMMN0V7J","react-performance-optimizer","Optimize React apps for 60fps performance. Implements memoization, virtualization, code splitting, bundle optimization. Use for slow renders, large lists, bundle bloat. Activate on \"React performance\", \"slow render\", \"useMemo\", \"bundle size\", \"virtualization\". NOT for backend optimization, non-React frameworks, or premature optimization.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--react-performance-optimizer\u002FSKILL.md",[144],{"categoryNo":145,"categoryName":146,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000009","前端开发",[36,148,135,136,149,150,151,152,153,154,119,155,156,131,133,157,134,137,158,159],"react performance optimizer","react performance","performance optimizer","app","nextjs","expert","re","render","2025","code","router","strategies",{"skillNo":161,"name":162,"nameZh":6,"description":163,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":164,"categories":165,"keywords":167,"publishedAt":38},"01M71HXH7QXSQB4QTDZ7SP7YXQ","llm-streaming-response-handler","Build production LLM streaming UIs with Server-Sent Events, real-time token display, cancellation, error recovery. Handles OpenAI\u002FAnthropic\u002FClaude streaming APIs. Use for chatbots, AI assistants, real-time text generation. Activate on \"LLM streaming\", \"SSE\", \"token stream\", \"chat UI\", \"real-time AI\". NOT for batch processing, non-streaming APIs, or WebSocket bidirectional chat.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--llm-streaming-response-handler\u002FSKILL.md",[166],{"categoryNo":145,"categoryName":146,"taxonomyType":74,"taxonomyTypeDesc":75},[168,137,169,170,171,172,36,119,173,174,175,133,134,135,176,136,177,18,178,179],"llm streaming response handler","handler","error","processing","retry","chat ui","error recovery","critical","batch","display","server","read",{"skillNo":181,"name":182,"nameZh":6,"description":183,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":184,"categories":185,"keywords":193,"publishedAt":38},"01M71HXCB0E1YRKYW1Y8T0Y106","github-actions-pipeline-builder","Build production CI\u002FCD pipelines with GitHub Actions. Implements matrix builds, caching, deployments, testing, security scanning. Use for automated testing, deployments, release workflows. Activate on \"GitHub Actions\", \"CI\u002FCD\", \"workflow\", \"deployment pipeline\", \"automated testing\". NOT for Jenkins\u002FCircleCI, manual deployments, or non-GitHub repositories.","https:\u002F\u002Fgithub.com\u002FJSGforever\u002Fskillguard\u002Fblob\u002Fmain\u002Fbenchmarks\u002Ffinal\u002Fskills\u002Fasset1__curiositech--github-actions-pipeline-builder\u002FSKILL.md",[186,189,192],{"categoryNo":187,"categoryName":188,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":190,"categoryName":191,"taxonomyType":74,"taxonomyTypeDesc":75},"01JBSEEDCAT000000000000011","运维与部署",{"categoryNo":72,"categoryName":73,"taxonomyType":74,"taxonomyTypeDesc":75},[194,195,196,197,198,199,200,126,153,201,202,203,134,159,204,179,205,206,207,208],"github actions pipeline builder","actions","github actions","pipeline builder","github","builder","pipeline","testing","ci","workflows","run","release","write","edit","git"]