[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6EMNHWD3XCZCAEJ1FSQZ2WE":3,"skill-same:01M6EMNHWD3XCZCAEJ1FSQZ2WE":114},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":48,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":50,"updatedAt":51,"install":52,"resources":65},"01M6EMNHWD3XCZCAEJ1FSQZ2WE","drizzle-orm-patterns",null,"This skill provides comprehensive Drizzle ORM patterns for PostgreSQL with Vercel Edge Runtime support. Drizzle is Quetrex's chosen ORM because it's edge-first, type-safe, and supports all deployme...","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",67,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37],"orm","drizzle orm","patterns","drizzle","drizzle orm patterns","safe","support","postgresql","edge","first","vercel","runtime","type","it","2026-11-10 10:12:30",false,"---\nname: drizzle-orm-patterns\ndescription: This skill provides comprehensive Drizzle ORM patterns for PostgreSQL with Vercel Edge Runtime support. Drizzle is Quetrex's chosen ORM because it's edge-first, type-safe, and supports all deployme...\n---\n\n# Drizzle ORM Patterns - Complete PostgreSQL Reference\n\n**Use when:** Working with database operations, schema design, migrations, or queries in Quetrex.\n\n## Overview\n\nThis skill provides comprehensive Drizzle ORM patterns for PostgreSQL with Vercel Edge Runtime support. Drizzle is Quetrex's chosen ORM because it's edge-first, type-safe, and supports all deployment targets.\n\n## Why Drizzle?\n\n- **Edge Runtime Compatible**: Works with Vercel Edge Functions, Cloudflare Workers\n- **Type-Safe**: Full TypeScript inference without code generation\n- **Zero Dependencies**: No heavy Node.js runtime requirements\n- **SQL-Like API**: Familiar to developers who know SQL\n- **Lightweight**: ~7.4kb minified (vs Prisma's ~300kb)\n\n## Skill Structure\n\nThis skill is organized into focused modules:\n\n### 1. [queries-complete.md](.\u002Fqueries-complete.md)\nComplete query patterns: select, insert, update, delete, joins, pagination, filtering, aggregations, subqueries, CTEs.\n\n**When to use:**\n- Building any database query\n- Fetching data with filters\n- Inserting\u002Fupdating\u002Fdeleting records\n- Pagination or sorting\n- Aggregating data (count, sum, avg)\n- Complex joins or subqueries\n\n### 2. [transactions.md](.\u002Ftransactions.md)\nTransaction patterns: isolation levels, rollback, nested transactions, error handling, deadlock prevention.\n\n**When to use:**\n- Multiple operations that must succeed together\n- Financial operations (payments, transfers)\n- Data consistency requirements\n- Race condition prevention\n- Complex multi-step workflows\n\n### 3. [relations.md](.\u002Frelations.md)\nRelationship patterns: one-to-one, one-to-many, many-to-many, self-referencing, cascading deletes, nested queries.\n\n**When to use:**\n- Defining schema relationships\n- Querying related data\n- Setting up cascading operations\n- Working with hierarchical data\n- Optimizing related data fetching\n\n### 4. [migrations.md](.\u002Fmigrations.md)\nMigration patterns: schema evolution, data migrations, zero-downtime deployments, rollback strategies.\n\n**When to use:**\n- Adding\u002Fmodifying database schema\n- Migrating data between schemas\n- Deploying schema changes\n- Rolling back problematic migrations\n- Renaming tables\u002Fcolumns safely\n\n### 5. [edge-runtime.md](.\u002Fedge-runtime.md)\nEdge deployment patterns: Vercel Edge Functions, Neon serverless, connection pooling, HTTP-based connections.\n\n**When to use:**\n- Deploying to Vercel Edge Runtime\n- Using Neon serverless PostgreSQL\n- Optimizing edge function performance\n- Configuring connection pooling\n- Understanding edge limitations\n\n### 6. [performance.md](.\u002Fperformance.md)\nPerformance patterns: indexing, query optimization, N+1 prevention, batch operations, caching.\n\n**When to use:**\n- Slow queries\n- High database load\n- N+1 query problems\n- Large data sets\n- Performance optimization needed\n\n### 7. [type-inference.md](.\u002Ftype-inference.md)\nTypeScript inference patterns: InferModel, InferSelect, InferInsert, schema types, custom types.\n\n**When to use:**\n- Defining TypeScript types from schema\n- Creating API types\n- Type-safe query builders\n- Custom type mappers\n- Ensuring type safety\n\n### 8. [common-mistakes.md](.\u002Fcommon-mistakes.md)\nCommon pitfalls and fixes: SQL injection risks, N+1 queries, missing indexes, transaction deadlocks, type errors.\n\n**When to use:**\n- Debugging database issues\n- Code review\n- Learning best practices\n- Avoiding common errors\n- Security audits\n\n### 9. [validate-queries.py](.\u002Fvalidate-queries.py)\nPython script to validate Drizzle queries for common security and performance issues.\n\n**When to use:**\n- Pre-commit validation\n- Security audits\n- Performance reviews\n- Finding SQL injection risks\n- Detecting N+1 patterns\n\n## Quick Start\n\n### Installation\n\n```bash\n# Core packages\nnpm install drizzle-orm @neondatabase\u002Fserverless\n\n# Development tools\nnpm install -D drizzle-kit\n```\n\n### Basic Setup\n\n```typescript\n\u002F\u002F src\u002Flib\u002Fdb.ts\nimport { drizzle } from 'drizzle-orm\u002Fneon-http';\nimport { neon } from '@neondatabase\u002Fserverless';\n\nconst sql = neon(process.env.DATABASE_URL!);\nexport const db = drizzle(sql);\n```\n\n### Define Schema\n\n```typescript\n\u002F\u002F src\u002Flib\u002Fschema.ts\nimport { pgTable, serial, text, timestamp } from 'drizzle-orm\u002Fpg-core';\n\nexport const users = pgTable('users', {\n  id: serial('id').primaryKey(),\n  email: text('email').notNull().unique(),\n  name: text('name').notNull(),\n  createdAt: timestamp('created_at').defaultNow().notNull(),\n});\n```\n\n### Basic Query\n\n```typescript\n\u002F\u002F src\u002Fservices\u002Fuser-service.ts\nimport { db } from '@\u002Flib\u002Fdb';\nimport { users } from '@\u002Flib\u002Fschema';\nimport { eq } from 'drizzle-orm';\n\nexport async function getUserByEmail(email: string) {\n  return await db.select().from(users).where(eq(users.email, email)).limit(1);\n}\n```\n\n## Common Patterns\n\n### 1. Select with Filter\n\n```typescript\nimport { db } from '@\u002Flib\u002Fdb';\nimport { users } from '@\u002Flib\u002Fschema';\nimport { eq, and, gte } from 'drizzle-orm';\n\nconst activeUsers = await db\n  .select()\n  .from(users)\n  .where(\n    and(\n      eq(users.status, 'active'),\n      gte(users.createdAt, new Date('2024-01-01'))\n    )\n  );\n```\n\n### 2. Insert with Returning\n\n```typescript\nconst [newUser] = await db\n  .insert(users)\n  .values({\n    email: 'test@example.com',\n    name: 'Test User',\n  })\n  .returning();\n```\n\n### 3. Update with Returning\n\n```typescript\nconst [updatedUser] = await db\n  .update(users)\n  .set({ name: 'Updated Name' })\n  .where(eq(users.id, 1))\n  .returning();\n```\n\n### 4. Transaction\n\n```typescript\nawait db.transaction(async (tx) => {\n  const [user] = await tx.insert(users).values({ email, name }).returning();\n  await tx.insert(profiles).values({ userId: user.id, bio });\n});\n```\n\n### 5. Join Query\n\n```typescript\nconst usersWithProfiles = await db\n  .select({\n    userId: users.id,\n    userName: users.name,\n    bio: profiles.bio,\n  })\n  .from(users)\n  .leftJoin(profiles, eq(users.id, profiles.userId));\n```\n\n## Testing Requirements\n\nAll database code must have:\n- Unit tests with mocked database (90%+ coverage)\n- Integration tests with test database\n- Transaction rollback tests\n- Error handling tests\n- Type safety validation\n\n## Security Checklist\n\nBefore committing database code:\n- [ ] No raw SQL with string interpolation\n- [ ] All user input uses parameterized queries\n- [ ] Proper indexes on foreign keys\n- [ ] No `select *` in production code\n- [ ] Run `python validate-queries.py` on changed files\n- [ ] Transaction isolation level appropriate for use case\n- [ ] Input validation before database operations\n\n## Performance Checklist\n\nBefore committing database code:\n- [ ] Select only needed fields (avoid `select *`)\n- [ ] Indexes on all foreign keys\n- [ ] Indexes on frequently queried columns\n- [ ] No N+1 queries (use joins or batch loading)\n- [ ] Batch operations for multiple inserts\n- [ ] Connection pooling configured\n- [ ] Query explain analysis for complex queries\n\n## Official Resources\n\n- **Drizzle ORM Docs**: https:\u002F\u002Form.drizzle.team\u002F\n- **Drizzle Kit Docs**: https:\u002F\u002Form.drizzle.team\u002Fkit-docs\u002Foverview\n- **PostgreSQL Docs**: https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002F\n- **Neon Docs**: https:\u002F\u002Fneon.tech\u002Fdocs\u002F\n- **Vercel Postgres**: https:\u002F\u002Fvercel.com\u002Fdocs\u002Fstorage\u002Fvercel-postgres\n\n## Migration from Prisma\n\nIf you're migrating from Prisma, see the [ADR-002-DRIZZLE-ORM-MIGRATION.md](..\u002F..\u002F..\u002Fdocs\u002Fdecisions\u002FADR-002-DRIZZLE-ORM-MIGRATION.md) decision record.\n\nKey differences:\n- No client generation step (types inferred from schema)\n- SQL-like query builder (not Prisma's fluent API)\n- Edge Runtime compatible (Prisma 6.19.0 is not)\n- Manual relation queries (no automatic includes)\n\n## Next Steps\n\n1. Read [queries-complete.md](.\u002Fqueries-complete.md) for all query patterns\n2. Read [transactions.md](.\u002Ftransactions.md) for transaction safety\n3. Read [relations.md](.\u002Frelations.md) for relationship patterns\n4. Run [validate-queries.py](.\u002Fvalidate-queries.py) on your code\n5. Review [common-mistakes.md](.\u002Fcommon-mistakes.md) for pitfalls\n\n## Support\n\nFor Drizzle-specific questions:\n- GitHub Issues: https:\u002F\u002Fgithub.com\u002Fdrizzle-team\u002Fdrizzle-orm\u002Fissues\n- Discord: https:\u002F\u002Fdiscord.gg\u002Fdrizzle\n\nFor Quetrex-specific questions:\n- Check CLAUDE.md project documentation\n- Review architecture docs in `\u002Fdocs\u002Farchitecture\u002F`\n- Ask in team Slack channel\n\n---\n\n**Last Updated**: 2025-11-23 by Glen Barnhardt with help from Claude Code\n","# Drizzle ORM Patterns - Complete PostgreSQL Reference\n\n**Use when:** Working with database operations, schema design, migrations, or queries in Quetrex.\n\n## Overview\n\nThis skill provides comprehensive Drizzle ORM patterns for PostgreSQL with Vercel Edge Runtime support. Drizzle is Quetrex's chosen ORM because it's edge-first, type-safe, and supports all deployment targets.\n\n## Why Drizzle?\n\n- **Edge Runtime Compatible**: Works with Vercel Edge Functions, Cloudflare Workers\n- **Type-Safe**: Full TypeScript inference without code generation\n- **Zero Dependencies**: No heavy Node.js runtime requirements\n- **SQL-Like API**: Familiar to developers who know SQL\n- **Lightweight**: ~7.4kb minified (vs Prisma's ~300kb)\n\n## Skill Structure\n\nThis skill is organized into focused modules:\n\n### 1. [queries-complete.md](.\u002Fqueries-complete.md)\nComplete query patterns: select, insert, update, delete, joins, pagination, filtering, aggregations, subqueries, CTEs.\n\n**When to use:**\n- Building any database query\n- Fetching data with filters\n- Inserting\u002Fupdating\u002Fdeleting records\n- Pagination or sorting\n- Aggregating data (count, sum, avg)\n- Complex joins or subqueries\n\n### 2. [transactions.md](.\u002Ftransactions.md)\nTransaction patterns: isolation levels, rollback, nested transactions, error handling, deadlock prevention.\n\n**When to use:**\n- Multiple operations that must succeed together\n- Financial operations (payments, transfers)\n- Data consistency requirements\n- Race condition prevention\n- Complex multi-step workflows\n\n### 3. [relations.md](.\u002Frelations.md)\nRelationship patterns: one-to-one, one-to-many, many-to-many, self-referencing, cascading deletes, nested queries.\n\n**When to use:**\n- Defining schema relationships\n- Querying related data\n- Setting up cascading operations\n- Working with hierarchical data\n- Optimizing related data fetching\n\n### 4. [migrations.md](.\u002Fmigrations.md)\nMigration patterns: schema evolution, data migrations, zero-downtime deployments, rollback strategies.\n\n**When to use:**\n- Adding\u002Fmodifying database schema\n- Migrating data between schemas\n- Deploying schema changes\n- Rolling back problematic migrations\n- Renaming tables\u002Fcolumns safely\n\n### 5. [edge-runtime.md](.\u002Fedge-runtime.md)\nEdge deployment patterns: Vercel Edge Functions, Neon serverless, connection pooling, HTTP-based connections.\n\n**When to use:**\n- Deploying to Vercel Edge Runtime\n- Using Neon serverless PostgreSQL\n- Optimizing edge function performance\n- Configuring connection pooling\n- Understanding edge limitations\n\n### 6. [performance.md](.\u002Fperformance.md)\nPerformance patterns: indexing, query optimization, N+1 prevention, batch operations, caching.\n\n**When to use:**\n- Slow queries\n- High database load\n- N+1 query problems\n- Large data sets\n- Performance optimization needed\n\n### 7. [type-inference.md](.\u002Ftype-inference.md)\nTypeScript inference patterns: InferModel, InferSelect, InferInsert, schema types, custom types.\n\n**When to use:**\n- Defining TypeScript types from schema\n- Creating API types\n- Type-safe query builders\n- Custom type mappers\n- Ensuring type safety\n\n### 8. [common-mistakes.md](.\u002Fcommon-mistakes.md)\nCommon pitfalls and fixes: SQL injection risks, N+1 queries, missing indexes, transaction deadlocks, type errors.\n\n**When to use:**\n- Debugging database issues\n- Code review\n- Learning best practices\n- Avoiding common errors\n- Security audits\n\n### 9. [validate-queries.py](.\u002Fvalidate-queries.py)\nPython script to validate Drizzle queries for common security and performance issues.\n\n**When to use:**\n- Pre-commit validation\n- Security audits\n- Performance reviews\n- Finding SQL injection risks\n- Detecting N+1 patterns\n\n## Quick Start\n\n### Installation\n\n```bash\n# Core packages\nnpm install drizzle-orm @neondatabase\u002Fserverless\n\n# Development tools\nnpm install -D drizzle-kit\n```\n\n### Basic Setup\n\n```typescript\n\u002F\u002F src\u002Flib\u002Fdb.ts\nimport { drizzle } from 'drizzle-orm\u002Fneon-http';\nimport { neon } from '@neondatabase\u002Fserverless';\n\nconst sql = neon(process.env.DATABASE_URL!);\nexport const db = drizzle(sql);\n```\n\n### Define Schema\n\n```typescript\n\u002F\u002F src\u002Flib\u002Fschema.ts\nimport { pgTable, serial, text, timestamp } from 'drizzle-orm\u002Fpg-core';\n\nexport const users = pgTable('users', {\n  id: serial('id').primaryKey(),\n  email: text('email').notNull().unique(),\n  name: text('name').notNull(),\n  createdAt: timestamp('created_at').defaultNow().notNull(),\n});\n```\n\n### Basic Query\n\n```typescript\n\u002F\u002F src\u002Fservices\u002Fuser-service.ts\nimport { db } from '@\u002Flib\u002Fdb';\nimport { users } from '@\u002Flib\u002Fschema';\nimport { eq } from 'drizzle-orm';\n\nexport async function getUserByEmail(email: string) {\n  return await db.select().from(users).where(eq(users.email, email)).limit(1);\n}\n```\n\n## Common Patterns\n\n### 1. Select with Filter\n\n```typescript\nimport { db } from '@\u002Flib\u002Fdb';\nimport { users } from '@\u002Flib\u002Fschema';\nimport { eq, and, gte } from 'drizzle-orm';\n\nconst activeUsers = await db\n  .select()\n  .from(users)\n  .where(\n    and(\n      eq(users.status, 'active'),\n      gte(users.createdAt, new Date('2024-01-01'))\n    )\n  );\n```\n\n### 2. Insert with Returning\n\n```typescript\nconst [newUser] = await db\n  .insert(users)\n  .values({\n    email: 'test@example.com',\n    name: 'Test User',\n  })\n  .returning();\n```\n\n### 3. Update with Returning\n\n```typescript\nconst [updatedUser] = await db\n  .update(users)\n  .set({ name: 'Updated Name' })\n  .where(eq(users.id, 1))\n  .returning();\n```\n\n### 4. Transaction\n\n```typescript\nawait db.transaction(async (tx) => {\n  const [user] = await tx.insert(users).values({ email, name }).returning();\n  await tx.insert(profiles).values({ userId: user.id, bio });\n});\n```\n\n### 5. Join Query\n\n```typescript\nconst usersWithProfiles = await db\n  .select({\n    userId: users.id,\n    userName: users.name,\n    bio: profiles.bio,\n  })\n  .from(users)\n  .leftJoin(profiles, eq(users.id, profiles.userId));\n```\n\n## Testing Requirements\n\nAll database code must have:\n- Unit tests with mocked database (90%+ coverage)\n- Integration tests with test database\n- Transaction rollback tests\n- Error handling tests\n- Type safety validation\n\n## Security Checklist\n\nBefore committing database code:\n- [ ] No raw SQL with string interpolation\n- [ ] All user input uses parameterized queries\n- [ ] Proper indexes on foreign keys\n- [ ] No `select *` in production code\n- [ ] Run `python validate-queries.py` on changed files\n- [ ] Transaction isolation level appropriate for use case\n- [ ] Input validation before database operations\n\n## Performance Checklist\n\nBefore committing database code:\n- [ ] Select only needed fields (avoid `select *`)\n- [ ] Indexes on all foreign keys\n- [ ] Indexes on frequently queried columns\n- [ ] No N+1 queries (use joins or batch loading)\n- [ ] Batch operations for multiple inserts\n- [ ] Connection pooling configured\n- [ ] Query explain analysis for complex queries\n\n## Official Resources\n\n- **Drizzle ORM Docs**: https:\u002F\u002Form.drizzle.team\u002F\n- **Drizzle Kit Docs**: https:\u002F\u002Form.drizzle.team\u002Fkit-docs\u002Foverview\n- **PostgreSQL Docs**: https:\u002F\u002Fwww.postgresql.org\u002Fdocs\u002F\n- **Neon Docs**: https:\u002F\u002Fneon.tech\u002Fdocs\u002F\n- **Vercel Postgres**: https:\u002F\u002Fvercel.com\u002Fdocs\u002Fstorage\u002Fvercel-postgres\n\n## Migration from Prisma\n\nIf you're migrating from Prisma, see the [ADR-002-DRIZZLE-ORM-MIGRATION.md](..\u002F..\u002F..\u002Fdocs\u002Fdecisions\u002FADR-002-DRIZZLE-ORM-MIGRATION.md) decision record.\n\nKey differences:\n- No client generation step (types inferred from schema)\n- SQL-like query builder (not Prisma's fluent API)\n- Edge Runtime compatible (Prisma 6.19.0 is not)\n- Manual relation queries (no automatic includes)\n\n## Next Steps\n\n1. Read [queries-complete.md](.\u002Fqueries-complete.md) for all query patterns\n2. Read [transactions.md](.\u002Ftransactions.md) for transaction safety\n3. Read [relations.md](.\u002Frelations.md) for relationship patterns\n4. Run [validate-queries.py](.\u002Fvalidate-queries.py) on your code\n5. Review [common-mistakes.md](.\u002Fcommon-mistakes.md) for pitfalls\n\n## Support\n\nFor Drizzle-specific questions:\n- GitHub Issues: https:\u002F\u002Fgithub.com\u002Fdrizzle-team\u002Fdrizzle-orm\u002Fissues\n- Discord: https:\u002F\u002Fdiscord.gg\u002Fdrizzle\n\nFor Quetrex-specific questions:\n- Check CLAUDE.md project documentation\n- Review architecture docs in `\u002Fdocs\u002Farchitecture\u002F`\n- Ask in team Slack channel\n\n---\n\n**Last Updated**: 2025-11-23 by Glen Barnhardt with help from Claude Code\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill drizzle-orm-patterns",{"tool":58,"command":59},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill drizzle-orm-patterns",{"tool":61,"command":62},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill drizzle-orm-patterns","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002FSKILL.md",true,[66,72,76,80,84,88,92,96,100,104,108],{"path":67,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":70,"sourceHtmlUrl":71},"common-mistakes.md","REFERENCE","参考文档",16459,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002Fcommon-mistakes.md",{"path":73,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":74,"sourceHtmlUrl":75},"edge-runtime.md",15236,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002Fedge-runtime.md",{"path":77,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":78,"sourceHtmlUrl":79},"migrations.md",18595,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002Fmigrations.md",{"path":81,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":82,"sourceHtmlUrl":83},"performance.md",17972,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002Fperformance.md",{"path":85,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":86,"sourceHtmlUrl":87},"queries-complete.md",25652,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002Fqueries-complete.md",{"path":89,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":90,"sourceHtmlUrl":91},"README.md",10453,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002FREADME.md",{"path":93,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":94,"sourceHtmlUrl":95},"relations.md",21667,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002Frelations.md",{"path":97,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":98,"sourceHtmlUrl":99},"skill-report.json",11333,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002Fskill-report.json",{"path":101,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":102,"sourceHtmlUrl":103},"transactions.md",22922,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002Ftransactions.md",{"path":105,"resourceType":68,"resourceTypeDesc":69,"sizeBytes":106,"sourceHtmlUrl":107},"type-inference.md",16532,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002Ftype-inference.md",{"path":109,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":112,"sourceHtmlUrl":113},"validate-queries.py","SCRIPT","脚本",13322,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fbarnhardt-enterprises-inc\u002Fdrizzle-orm-patterns\u002Fvalidate-queries.py",[115,125,135,144,150,157],{"skillNo":116,"name":117,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":121,"publishedAt":38},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[120],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[122,123,124],"model","model hierarchy","model hierarchy skill",{"skillNo":126,"name":127,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":131,"publishedAt":38},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[130],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[132,133,134],"MCP","zoom","zoom mcp",{"skillNo":136,"name":137,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":38},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[141,142,143,133],"sdk","zoom apps sdk","apps",{"skillNo":145,"name":146,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":149,"publishedAt":38},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[146],{"skillNo":151,"name":152,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":156,"publishedAt":38},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[155],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[152],{"skillNo":158,"name":159,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":160,"categories":161,"keywords":162,"publishedAt":38},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[159]]