[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6PH2174C7Z5F3J7SP7HBTSG":3,"skill-same:01M6PH2174C7Z5F3J7SP7HBTSG":224},{"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":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":53,"commitSha":54,"skillDirectory":55,"forksCount":56,"repositoryHtmlUrl":57,"repositoryHomepageUrl":58,"ownerHtmlUrl":59,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":60,"install":61,"resources":74},"01M6PH2174C7Z5F3J7SP7HBTSG","supabase-postgres-best-practices",null,"Postgres performance optimization and best practices from Supabase. Use this skill when writing, reviewing, or optimizing Postgres queries, schema designs, or database configurations.","craftmaster32\u002Fhousamtes","craftmaster32","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F216912813?v=4","01M6PGQXFKMEK5PFDW5ZT7P72Q","01M6PGQXMD87N01GPRFP7YB20D",0,"MIT","https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"best practices","supabase postgres best practices","supabase","postgres best practices","postgres","use","for","categories","advanced","postgres performance","impact","critical","query","schema","writing","Rules","correct","Optimization","database","performance","2026-11-10 10:12:30",false,"---\nname: supabase-postgres-best-practices\ndescription: Postgres performance optimization and best practices from Supabase. Use this skill when writing, reviewing, or optimizing Postgres queries, schema designs, or database configurations.\nlicense: MIT\nmetadata:\n  author: supabase\n  version: \"1.1.0\"\n  organization: Supabase\n  date: January 2026\n  abstract: Comprehensive Postgres performance optimization guide for developers using Supabase and Postgres. Contains performance rules across 8 categories, prioritized by impact from critical (query performance, connection management) to incremental (advanced features). Each rule includes detailed explanations, incorrect vs. correct SQL examples, query plan analysis, and specific performance metrics to guide automated optimization and code generation.\n---\n\n# Supabase Postgres Best Practices\n\nComprehensive performance optimization guide for Postgres, maintained by Supabase. Contains rules across 8 categories, prioritized by impact to guide automated query optimization and schema design.\n\n## When to Apply\n\nReference these guidelines when:\n- Writing SQL queries or designing schemas\n- Implementing indexes or query optimization\n- Reviewing database performance issues\n- Configuring connection pooling or scaling\n- Optimizing for Postgres-specific features\n- Working with Row-Level Security (RLS)\n\n## Rule Categories by Priority\n\n| Priority | Category | Impact | Prefix |\n|----------|----------|--------|--------|\n| 1 | Query Performance | CRITICAL | `query-` |\n| 2 | Connection Management | CRITICAL | `conn-` |\n| 3 | Security & RLS | CRITICAL | `security-` |\n| 4 | Schema Design | HIGH | `schema-` |\n| 5 | Concurrency & Locking | MEDIUM-HIGH | `lock-` |\n| 6 | Data Access Patterns | MEDIUM | `data-` |\n| 7 | Monitoring & Diagnostics | LOW-MEDIUM | `monitor-` |\n| 8 | Advanced Features | LOW | `advanced-` |\n\n## How to Use\n\nRead individual rule files for detailed explanations and SQL examples:\n\n```\nreferences\u002Fquery-missing-indexes.md\nreferences\u002Fschema-partial-indexes.md\nreferences\u002F_sections.md\n```\n\nEach rule file contains:\n- Brief explanation of why it matters\n- Incorrect SQL example with explanation\n- Correct SQL example with explanation\n- Optional EXPLAIN output or metrics\n- Additional context and references\n- Supabase-specific notes (when applicable)\n\n## References\n\n- https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002F\n- https:\u002F\u002Fsupabase.com\u002Fdocs\n- https:\u002F\u002Fwiki.postgresql.org\u002Fwiki\u002FPerformance_Optimization\n- https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fdatabase\u002Foverview\n- https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fauth\u002Frow-level-security\n","# Supabase Postgres Best Practices\n\nComprehensive performance optimization guide for Postgres, maintained by Supabase. Contains rules across 8 categories, prioritized by impact to guide automated query optimization and schema design.\n\n## When to Apply\n\nReference these guidelines when:\n- Writing SQL queries or designing schemas\n- Implementing indexes or query optimization\n- Reviewing database performance issues\n- Configuring connection pooling or scaling\n- Optimizing for Postgres-specific features\n- Working with Row-Level Security (RLS)\n\n## Rule Categories by Priority\n\n| Priority | Category | Impact | Prefix |\n|----------|----------|--------|--------|\n| 1 | Query Performance | CRITICAL | `query-` |\n| 2 | Connection Management | CRITICAL | `conn-` |\n| 3 | Security & RLS | CRITICAL | `security-` |\n| 4 | Schema Design | HIGH | `schema-` |\n| 5 | Concurrency & Locking | MEDIUM-HIGH | `lock-` |\n| 6 | Data Access Patterns | MEDIUM | `data-` |\n| 7 | Monitoring & Diagnostics | LOW-MEDIUM | `monitor-` |\n| 8 | Advanced Features | LOW | `advanced-` |\n\n## How to Use\n\nRead individual rule files for detailed explanations and SQL examples:\n\n```\nreferences\u002Fquery-missing-indexes.md\nreferences\u002Fschema-partial-indexes.md\nreferences\u002F_sections.md\n```\n\nEach rule file contains:\n- Brief explanation of why it matters\n- Incorrect SQL example with explanation\n- Correct SQL example with explanation\n- Optional EXPLAIN output or metrics\n- Additional context and references\n- Supabase-specific notes (when applicable)\n\n## References\n\n- https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002Fcurrent\u002F\n- https:\u002F\u002Fsupabase.com\u002Fdocs\n- https:\u002F\u002Fwiki.postgresql.org\u002Fwiki\u002FPerformance_Optimization\n- https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fdatabase\u002Foverview\n- https:\u002F\u002Fsupabase.com\u002Fdocs\u002Fguides\u002Fauth\u002Frow-level-security\n",{"name":5,"license":14,"metadata":48,"description":7},{"date":49,"author":25,"version":50,"abstract":51,"organization":52},"January 2026","1.1.0","Comprehensive Postgres performance optimization guide for developers using Supabase and Postgres. Contains performance rules across 8 categories, prioritized by impact from critical (query performance, connection management) to incremental (advanced features). Each rule includes detailed explanations, incorrect vs. correct SQL examples, query plan analysis, and specific performance metrics to guide automated optimization and code generation.","Supabase","main","2f3879fbb8c85d39755ff4c1c88241671d2a8bf4",".claude\u002Fskills\u002Fsupabase-postgres-best-practices",1,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes","https:\u002F\u002Fhousemates-five.vercel.app","https:\u002F\u002Fgithub.com\u002Fcraftmaster32","2026-11-05 18:25:49",{"source":8,"skillName":5,"commands":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add craftmaster32\u002Fhousamtes --skill supabase-postgres-best-practices",{"tool":67,"command":68},"bunx","bunx skills add craftmaster32\u002Fhousamtes --skill supabase-postgres-best-practices",{"tool":70,"command":71},"pnpm","pnpm dlx skills add craftmaster32\u002Fhousamtes --skill supabase-postgres-best-practices","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002FSKILL.md",true,[75,81,85,89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,176,180,184,188,192,196,200,204,208,212,216,220],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"AGENTS.md","REFERENCE","参考文档",2200,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002FAGENTS.md",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"CLAUDE.md",9,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002FCLAUDE.md",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"README.md",3175,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002FREADME.md",{"path":90,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002F_contributing.md",4167,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002F_contributing.md",{"path":94,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002F_sections.md",1682,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002F_sections.md",{"path":98,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":99,"sourceHtmlUrl":100},"references\u002F_template.md",1040,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002F_template.md",{"path":102,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":103,"sourceHtmlUrl":104},"references\u002Fadvanced-full-text-search.md",1468,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fadvanced-full-text-search.md",{"path":106,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":107,"sourceHtmlUrl":108},"references\u002Fadvanced-jsonb-indexing.md",1444,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fadvanced-jsonb-indexing.md",{"path":110,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":111,"sourceHtmlUrl":112},"references\u002Fconn-idle-timeout.md",1282,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fconn-idle-timeout.md",{"path":114,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":115,"sourceHtmlUrl":116},"references\u002Fconn-limits.md",1325,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fconn-limits.md",{"path":118,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":119,"sourceHtmlUrl":120},"references\u002Fconn-pooling.md",1382,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fconn-pooling.md",{"path":122,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":123,"sourceHtmlUrl":124},"references\u002Fconn-prepared-statements.md",1529,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fconn-prepared-statements.md",{"path":126,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":127,"sourceHtmlUrl":128},"references\u002Fdata-batch-inserts.md",1287,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fdata-batch-inserts.md",{"path":130,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":131,"sourceHtmlUrl":132},"references\u002Fdata-n-plus-one.md",1361,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fdata-n-plus-one.md",{"path":134,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":135,"sourceHtmlUrl":136},"references\u002Fdata-pagination.md",1358,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fdata-pagination.md",{"path":138,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":139,"sourceHtmlUrl":140},"references\u002Fdata-upsert.md",1390,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fdata-upsert.md",{"path":142,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":143,"sourceHtmlUrl":144},"references\u002Flock-advisory.md",1531,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Flock-advisory.md",{"path":146,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":147,"sourceHtmlUrl":148},"references\u002Flock-deadlock-prevention.md",1855,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Flock-deadlock-prevention.md",{"path":150,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":151,"sourceHtmlUrl":152},"references\u002Flock-short-transactions.md",1350,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Flock-short-transactions.md",{"path":154,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":155,"sourceHtmlUrl":156},"references\u002Flock-skip-locked.md",1353,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Flock-skip-locked.md",{"path":158,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":159,"sourceHtmlUrl":160},"references\u002Fmonitor-explain-analyze.md",1441,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fmonitor-explain-analyze.md",{"path":162,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":163,"sourceHtmlUrl":164},"references\u002Fmonitor-pg-stat-statements.md",1418,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fmonitor-pg-stat-statements.md",{"path":166,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":167,"sourceHtmlUrl":168},"references\u002Fmonitor-vacuum-analyze.md",1506,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fmonitor-vacuum-analyze.md",{"path":170,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":171,"sourceHtmlUrl":172},"references\u002Fquery-composite-indexes.md",1454,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fquery-composite-indexes.md",{"path":174,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":127,"sourceHtmlUrl":175},"references\u002Fquery-covering-indexes.md","https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fquery-covering-indexes.md",{"path":177,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":178,"sourceHtmlUrl":179},"references\u002Fquery-index-types.md",1521,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fquery-index-types.md",{"path":181,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":182,"sourceHtmlUrl":183},"references\u002Fquery-missing-indexes.md",1218,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fquery-missing-indexes.md",{"path":185,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":186,"sourceHtmlUrl":187},"references\u002Fquery-partial-indexes.md",1347,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fquery-partial-indexes.md",{"path":189,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":190,"sourceHtmlUrl":191},"references\u002Fschema-constraints.md",1880,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fschema-constraints.md",{"path":193,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":194,"sourceHtmlUrl":195},"references\u002Fschema-data-types.md",1453,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fschema-data-types.md",{"path":197,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":198,"sourceHtmlUrl":199},"references\u002Fschema-foreign-key-indexes.md",1679,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fschema-foreign-key-indexes.md",{"path":201,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":202,"sourceHtmlUrl":203},"references\u002Fschema-lowercase-identifiers.md",1728,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fschema-lowercase-identifiers.md",{"path":205,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":206,"sourceHtmlUrl":207},"references\u002Fschema-partitioning.md",1548,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fschema-partitioning.md",{"path":209,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":210,"sourceHtmlUrl":211},"references\u002Fschema-primary-keys.md",1821,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fschema-primary-keys.md",{"path":213,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":214,"sourceHtmlUrl":215},"references\u002Fsecurity-privileges.md",1566,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fsecurity-privileges.md",{"path":217,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":218,"sourceHtmlUrl":219},"references\u002Fsecurity-rls-basics.md",1372,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fsecurity-rls-basics.md",{"path":221,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":222,"sourceHtmlUrl":223},"references\u002Fsecurity-rls-performance.md",1493,"https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fsupabase-postgres-best-practices\u002Freferences\u002Fsecurity-rls-performance.md",[225,246,262,290,302,322],{"skillNo":226,"name":227,"nameZh":6,"description":228,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":229,"categories":230,"keywords":231,"publishedAt":43},"01M6PH9K41E1AD2JNS2X5W96R5","validate-skills","Validates skills in this repo against agentskills.io spec and Claude Code best practices. Use via \u002Fvalidate-skills command.","https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.continue\u002Fskills\u002Fvalidate-skills\u002FSKILL.md",[],[232,233,234,235,236,237,238,239,23,240,241,28,242,243,244,245],"validate","validate skills","io","skill-authoring","authoring","via","linting","validation","code","command","spec","agentskills","io spec","repo",{"skillNo":247,"name":248,"nameZh":6,"description":249,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":250,"categories":251,"keywords":252,"publishedAt":43},"01M6PH9EWP386EDRZDEYNRSDK1","use-dom","Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.","https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.continue\u002Fskills\u002Fuse-dom\u002FSKILL.md",[],[28,253,254,255,256,257,258,259,240,260,261],"use dom","dom","components","expo","native","as","migrate","run","web",{"skillNo":263,"name":264,"nameZh":6,"description":265,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":266,"categories":267,"keywords":271,"publishedAt":43},"01M6PH99VMP4035TRB6MGVHZJV","upgrading-react-native","Upgrades React Native apps to newer versions by applying rn-diff-purge template diffs, updating package.json dependencies, migrating native iOS and Android configuration, resolving CocoaPods and Gradle changes, and handling breaking API updates. Use when upgrading React Native, bumping RN version, updating from RN 0.x to 0.y, or migrating Expo SDK alongside a React Native upgrade.","https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.continue\u002Fskills\u002Fupgrading-react-native\u002FSKILL.md",[268],{"categoryNo":269,"categoryName":270,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000009","前端开发",[272,273,274,257,275,276,277,278,279,280,281,282,283,28,284,285,286,287,288,289],"react native","upgrading react native","react","changes","cocoapods","updates","helper","apps","gradle","upgrade","diff","version","diffs","api","package","changelog","android","upgrades",{"skillNo":291,"name":292,"nameZh":6,"description":293,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":294,"categories":295,"keywords":296,"publishedAt":43},"01M6PH96J40M10KBAQEBPCW684","upgrading-expo","Guidelines for upgrading Expo SDK versions and fixing dependency issues","https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.continue\u002Fskills\u002Fupgrading-expo\u002FSKILL.md",[],[256,297,298,29,299,300,301],"upgrading expo","sdk","dependency","issues","guidelines",{"skillNo":303,"name":304,"nameZh":6,"description":305,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":306,"categories":307,"keywords":309,"publishedAt":43},"01M6PH8ES9R7JFPYWVK865JH18","react-native-brownfield-migration","Provides an incremental adoption strategy to migrate native iOS or Android apps to React Native or Expo using @callstack\u002Freact-native-brownfield for initial setup. Use when planning migration steps, packaging XCFramework\u002FAAR artifacts, and integrating them into host apps.","https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.continue\u002Fskills\u002Freact-native-brownfield-migration\u002FSKILL.md",[308],{"categoryNo":269,"categoryName":270,"taxonomyType":20,"taxonomyTypeDesc":21},[257,310,311,312,272,274,313,314,315,316,288,317,29,279,318,319,28,320,321,259],"react native brownfield migration","brownfield","migration","adoption","integration","artifacts","planning","ios","host","react-native","packaging","strategy",{"skillNo":323,"name":324,"nameZh":6,"description":325,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":326,"categories":327,"keywords":329,"publishedAt":43},"01M6PH8708NS0FX9ABC0PNK4B4","react-native-best-practices","Provides React Native performance optimization guidelines for FPS, TTI, bundle size, memory leaks, re-renders, and animations. Applies to tasks involving Hermes optimization, JS thread blocking, bridge overhead, FlashList, native modules, or debugging jank and frame drops.","https:\u002F\u002Fgithub.com\u002Fcraftmaster32\u002Fhousamtes\u002Fblob\u002Fmain\u002F.continue\u002Fskills\u002Freact-native-best-practices\u002FSKILL.md",[328],{"categoryNo":269,"categoryName":270,"taxonomyType":20,"taxonomyTypeDesc":21},[272,274,23,330,257,29,331,332,333,334,335,336,337,338,40,339,340,301,42,341],"react native best practices","animations","overhead","frame","thread","size","re","modules","bridge","tasks","debugging","memory"]