[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ES89QPRSY660PVR4H82EY7":3,"skill-same:01M6ES89QPRSY660PVR4H82EY7":131},{"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":26,"publishedAt":47,"linkOnly":48,"markdownContent":49,"markdownBody":50,"frontMatter":51,"refName":52,"commitSha":53,"skillDirectory":54,"forksCount":55,"repositoryHtmlUrl":56,"repositoryHomepageUrl":57,"ownerHtmlUrl":58,"ownerBlogUrl":6,"ownerDescription":59,"updatedAt":60,"install":61,"resources":74},"01M6ES89QPRSY660PVR4H82EY7","backend-dev-guidelines",null,"Comprehensive backend development guide for Node.js\u002FExpress\u002FTypeScript microservices. Use when creating routes, controllers, services, repositories, middleware, or working with Express APIs, Prisma database access, Sentry error tracking, Zod validation, unifiedConfig, dependency injection, or async patterns. Covers layered architecture (routes → controllers → services → repositories), BaseController pattern, error handling, performance monitoring, testing strategies, and migration from legacy patterns.","ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002FSKILL.md",[18,23],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口",[27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],"guidelines","dev","backend dev guidelines","backend dev","backend","node","middleware","error","prisma","express","strategies","error tracking","dependency","testing","zod","access","monitoring","database","architecture","performance","2026-11-10 10:12:30",false,"---\nname: backend-dev-guidelines\ndescription: Comprehensive backend development guide for Node.js\u002FExpress\u002FTypeScript microservices. Use when creating routes, controllers, services, repositories, middleware, or working with Express APIs, Prisma database access, Sentry error tracking, Zod validation, unifiedConfig, dependency injection, or async patterns. Covers layered architecture (routes → controllers → services → repositories), BaseController pattern, error handling, performance monitoring, testing strategies, and migration from legacy patterns.\n---\n\n# Backend Development Guidelines\n\n## Purpose\n\nEstablish consistency and best practices across backend microservices (blog-api, auth-service, notifications-service) using modern Node.js\u002FExpress\u002FTypeScript patterns.\n\n## When to Use This Skill\n\nAutomatically activates when working on:\n- Creating or modifying routes, endpoints, APIs\n- Building controllers, services, repositories\n- Implementing middleware (auth, validation, error handling)\n- Database operations with Prisma\n- Error tracking with Sentry\n- Input validation with Zod\n- Configuration management\n- Backend testing and refactoring\n\n---\n\n## Quick Start\n\n### New Backend Feature Checklist\n\n- [ ] **Route**: Clean definition, delegate to controller\n- [ ] **Controller**: Extend BaseController\n- [ ] **Service**: Business logic with DI\n- [ ] **Repository**: Database access (if complex)\n- [ ] **Validation**: Zod schema\n- [ ] **Sentry**: Error tracking\n- [ ] **Tests**: Unit + integration tests\n- [ ] **Config**: Use unifiedConfig\n\n### New Microservice Checklist\n\n- [ ] Directory structure (see [architecture-overview.md](architecture-overview.md))\n- [ ] instrument.ts for Sentry\n- [ ] unifiedConfig setup\n- [ ] BaseController class\n- [ ] Middleware stack\n- [ ] Error boundary\n- [ ] Testing framework\n\n---\n\n## Architecture Overview\n\n### Layered Architecture\n\n```\nHTTP Request\n    ↓\nRoutes (routing only)\n    ↓\nControllers (request handling)\n    ↓\nServices (business logic)\n    ↓\nRepositories (data access)\n    ↓\nDatabase (Prisma)\n```\n\n**Key Principle:** Each layer has ONE responsibility.\n\nSee [architecture-overview.md](architecture-overview.md) for complete details.\n\n---\n\n## Directory Structure\n\n```\nservice\u002Fsrc\u002F\n├── config\u002F              # UnifiedConfig\n├── controllers\u002F         # Request handlers\n├── services\u002F            # Business logic\n├── repositories\u002F        # Data access\n├── routes\u002F              # Route definitions\n├── middleware\u002F          # Express middleware\n├── types\u002F               # TypeScript types\n├── validators\u002F          # Zod schemas\n├── utils\u002F               # Utilities\n├── tests\u002F               # Tests\n├── instrument.ts        # Sentry (FIRST IMPORT)\n├── app.ts               # Express setup\n└── server.ts            # HTTP server\n```\n\n**Naming Conventions:**\n- Controllers: `PascalCase` - `UserController.ts`\n- Services: `camelCase` - `userService.ts`\n- Routes: `camelCase + Routes` - `userRoutes.ts`\n- Repositories: `PascalCase + Repository` - `UserRepository.ts`\n\n---\n\n## Core Principles (7 Key Rules)\n\n### 1. Routes Only Route, Controllers Control\n\n```typescript\n\u002F\u002F ❌ NEVER: Business logic in routes\nrouter.post('\u002Fsubmit', async (req, res) => {\n    \u002F\u002F 200 lines of logic\n});\n\n\u002F\u002F ✅ ALWAYS: Delegate to controller\nrouter.post('\u002Fsubmit', (req, res) => controller.submit(req, res));\n```\n\n### 2. All Controllers Extend BaseController\n\n```typescript\nexport class UserController extends BaseController {\n    async getUser(req: Request, res: Response): Promise\u003Cvoid> {\n        try {\n            const user = await this.userService.findById(req.params.id);\n            this.handleSuccess(res, user);\n        } catch (error) {\n            this.handleError(error, res, 'getUser');\n        }\n    }\n}\n```\n\n### 3. All Errors to Sentry\n\n```typescript\ntry {\n    await operation();\n} catch (error) {\n    Sentry.captureException(error);\n    throw error;\n}\n```\n\n### 4. Use unifiedConfig, NEVER process.env\n\n```typescript\n\u002F\u002F ❌ NEVER\nconst timeout = process.env.TIMEOUT_MS;\n\n\u002F\u002F ✅ ALWAYS\nimport { config } from '.\u002Fconfig\u002FunifiedConfig';\nconst timeout = config.timeouts.default;\n```\n\n### 5. Validate All Input with Zod\n\n```typescript\nconst schema = z.object({ email: z.string().email() });\nconst validated = schema.parse(req.body);\n```\n\n### 6. Use Repository Pattern for Data Access\n\n```typescript\n\u002F\u002F Service → Repository → Database\nconst users = await userRepository.findActive();\n```\n\n### 7. Comprehensive Testing Required\n\n```typescript\ndescribe('UserService', () => {\n    it('should create user', async () => {\n        expect(user).toBeDefined();\n    });\n});\n```\n\n---\n\n## Common Imports\n\n```typescript\n\u002F\u002F Express\nimport express, { Request, Response, NextFunction, Router } from 'express';\n\n\u002F\u002F Validation\nimport { z } from 'zod';\n\n\u002F\u002F Database\nimport { PrismaClient } from '@prisma\u002Fclient';\nimport type { Prisma } from '@prisma\u002Fclient';\n\n\u002F\u002F Sentry\nimport * as Sentry from '@sentry\u002Fnode';\n\n\u002F\u002F Config\nimport { config } from '.\u002Fconfig\u002FunifiedConfig';\n\n\u002F\u002F Middleware\nimport { SSOMiddlewareClient } from '.\u002Fmiddleware\u002FSSOMiddleware';\nimport { asyncErrorWrapper } from '.\u002Fmiddleware\u002FerrorBoundary';\n```\n\n---\n\n## Quick Reference\n\n### HTTP Status Codes\n\n| Code | Use Case |\n|------|----------|\n| 200 | Success |\n| 201 | Created |\n| 400 | Bad Request |\n| 401 | Unauthorized |\n| 403 | Forbidden |\n| 404 | Not Found |\n| 500 | Server Error |\n\n### Service Templates\n\n**Blog API** (✅ Mature) - Use as template for REST APIs\n**Auth Service** (✅ Mature) - Use as template for authentication patterns\n\n---\n\n## Anti-Patterns to Avoid\n\n❌ Business logic in routes\n❌ Direct process.env usage\n❌ Missing error handling\n❌ No input validation\n❌ Direct Prisma everywhere\n❌ console.log instead of Sentry\n\n---\n\n## Navigation Guide\n\n| Need to... | Read this |\n|------------|-----------|\n| Understand architecture | [architecture-overview.md](architecture-overview.md) |\n| Create routes\u002Fcontrollers | [routing-and-controllers.md](routing-and-controllers.md) |\n| Organize business logic | [services-and-repositories.md](services-and-repositories.md) |\n| Validate input | [validation-patterns.md](validation-patterns.md) |\n| Add error tracking | [sentry-and-monitoring.md](sentry-and-monitoring.md) |\n| Create middleware | [middleware-guide.md](middleware-guide.md) |\n| Database access | [database-patterns.md](database-patterns.md) |\n| Manage config | [configuration.md](configuration.md) |\n| Handle async\u002Ferrors | [async-and-errors.md](async-and-errors.md) |\n| Write tests | [testing-guide.md](testing-guide.md) |\n| See examples | [complete-examples.md](complete-examples.md) |\n\n---\n\n## Resource Files\n\n### [architecture-overview.md](architecture-overview.md)\nLayered architecture, request lifecycle, separation of concerns\n\n### [routing-and-controllers.md](routing-and-controllers.md)\nRoute definitions, BaseController, error handling, examples\n\n### [services-and-repositories.md](services-and-repositories.md)\nService patterns, DI, repository pattern, caching\n\n### [validation-patterns.md](validation-patterns.md)\nZod schemas, validation, DTO pattern\n\n### [sentry-and-monitoring.md](sentry-and-monitoring.md)\nSentry init, error capture, performance monitoring\n\n### [middleware-guide.md](middleware-guide.md)\nAuth, audit, error boundaries, AsyncLocalStorage\n\n### [database-patterns.md](database-patterns.md)\nPrismaService, repositories, transactions, optimization\n\n### [configuration.md](configuration.md)\nUnifiedConfig, environment configs, secrets\n\n### [async-and-errors.md](async-and-errors.md)\nAsync patterns, custom errors, asyncErrorWrapper\n\n### [testing-guide.md](testing-guide.md)\nUnit\u002Fintegration tests, mocking, coverage\n\n### [complete-examples.md](complete-examples.md)\nFull examples, refactoring guide\n\n---\n\n## Related Skills\n\n- **database-verification** - Verify column names and schema consistency\n- **error-tracking** - Sentry integration patterns\n- **skill-developer** - Meta-skill for creating and managing skills\n\n---\n\n**Skill Status**: COMPLETE ✅\n**Line Count**: \u003C 500 ✅\n**Progressive Disclosure**: 11 resource files ✅\n","# Backend Development Guidelines\n\n## Purpose\n\nEstablish consistency and best practices across backend microservices (blog-api, auth-service, notifications-service) using modern Node.js\u002FExpress\u002FTypeScript patterns.\n\n## When to Use This Skill\n\nAutomatically activates when working on:\n- Creating or modifying routes, endpoints, APIs\n- Building controllers, services, repositories\n- Implementing middleware (auth, validation, error handling)\n- Database operations with Prisma\n- Error tracking with Sentry\n- Input validation with Zod\n- Configuration management\n- Backend testing and refactoring\n\n---\n\n## Quick Start\n\n### New Backend Feature Checklist\n\n- [ ] **Route**: Clean definition, delegate to controller\n- [ ] **Controller**: Extend BaseController\n- [ ] **Service**: Business logic with DI\n- [ ] **Repository**: Database access (if complex)\n- [ ] **Validation**: Zod schema\n- [ ] **Sentry**: Error tracking\n- [ ] **Tests**: Unit + integration tests\n- [ ] **Config**: Use unifiedConfig\n\n### New Microservice Checklist\n\n- [ ] Directory structure (see [architecture-overview.md](architecture-overview.md))\n- [ ] instrument.ts for Sentry\n- [ ] unifiedConfig setup\n- [ ] BaseController class\n- [ ] Middleware stack\n- [ ] Error boundary\n- [ ] Testing framework\n\n---\n\n## Architecture Overview\n\n### Layered Architecture\n\n```\nHTTP Request\n    ↓\nRoutes (routing only)\n    ↓\nControllers (request handling)\n    ↓\nServices (business logic)\n    ↓\nRepositories (data access)\n    ↓\nDatabase (Prisma)\n```\n\n**Key Principle:** Each layer has ONE responsibility.\n\nSee [architecture-overview.md](architecture-overview.md) for complete details.\n\n---\n\n## Directory Structure\n\n```\nservice\u002Fsrc\u002F\n├── config\u002F              # UnifiedConfig\n├── controllers\u002F         # Request handlers\n├── services\u002F            # Business logic\n├── repositories\u002F        # Data access\n├── routes\u002F              # Route definitions\n├── middleware\u002F          # Express middleware\n├── types\u002F               # TypeScript types\n├── validators\u002F          # Zod schemas\n├── utils\u002F               # Utilities\n├── tests\u002F               # Tests\n├── instrument.ts        # Sentry (FIRST IMPORT)\n├── app.ts               # Express setup\n└── server.ts            # HTTP server\n```\n\n**Naming Conventions:**\n- Controllers: `PascalCase` - `UserController.ts`\n- Services: `camelCase` - `userService.ts`\n- Routes: `camelCase + Routes` - `userRoutes.ts`\n- Repositories: `PascalCase + Repository` - `UserRepository.ts`\n\n---\n\n## Core Principles (7 Key Rules)\n\n### 1. Routes Only Route, Controllers Control\n\n```typescript\n\u002F\u002F ❌ NEVER: Business logic in routes\nrouter.post('\u002Fsubmit', async (req, res) => {\n    \u002F\u002F 200 lines of logic\n});\n\n\u002F\u002F ✅ ALWAYS: Delegate to controller\nrouter.post('\u002Fsubmit', (req, res) => controller.submit(req, res));\n```\n\n### 2. All Controllers Extend BaseController\n\n```typescript\nexport class UserController extends BaseController {\n    async getUser(req: Request, res: Response): Promise\u003Cvoid> {\n        try {\n            const user = await this.userService.findById(req.params.id);\n            this.handleSuccess(res, user);\n        } catch (error) {\n            this.handleError(error, res, 'getUser');\n        }\n    }\n}\n```\n\n### 3. All Errors to Sentry\n\n```typescript\ntry {\n    await operation();\n} catch (error) {\n    Sentry.captureException(error);\n    throw error;\n}\n```\n\n### 4. Use unifiedConfig, NEVER process.env\n\n```typescript\n\u002F\u002F ❌ NEVER\nconst timeout = process.env.TIMEOUT_MS;\n\n\u002F\u002F ✅ ALWAYS\nimport { config } from '.\u002Fconfig\u002FunifiedConfig';\nconst timeout = config.timeouts.default;\n```\n\n### 5. Validate All Input with Zod\n\n```typescript\nconst schema = z.object({ email: z.string().email() });\nconst validated = schema.parse(req.body);\n```\n\n### 6. Use Repository Pattern for Data Access\n\n```typescript\n\u002F\u002F Service → Repository → Database\nconst users = await userRepository.findActive();\n```\n\n### 7. Comprehensive Testing Required\n\n```typescript\ndescribe('UserService', () => {\n    it('should create user', async () => {\n        expect(user).toBeDefined();\n    });\n});\n```\n\n---\n\n## Common Imports\n\n```typescript\n\u002F\u002F Express\nimport express, { Request, Response, NextFunction, Router } from 'express';\n\n\u002F\u002F Validation\nimport { z } from 'zod';\n\n\u002F\u002F Database\nimport { PrismaClient } from '@prisma\u002Fclient';\nimport type { Prisma } from '@prisma\u002Fclient';\n\n\u002F\u002F Sentry\nimport * as Sentry from '@sentry\u002Fnode';\n\n\u002F\u002F Config\nimport { config } from '.\u002Fconfig\u002FunifiedConfig';\n\n\u002F\u002F Middleware\nimport { SSOMiddlewareClient } from '.\u002Fmiddleware\u002FSSOMiddleware';\nimport { asyncErrorWrapper } from '.\u002Fmiddleware\u002FerrorBoundary';\n```\n\n---\n\n## Quick Reference\n\n### HTTP Status Codes\n\n| Code | Use Case |\n|------|----------|\n| 200 | Success |\n| 201 | Created |\n| 400 | Bad Request |\n| 401 | Unauthorized |\n| 403 | Forbidden |\n| 404 | Not Found |\n| 500 | Server Error |\n\n### Service Templates\n\n**Blog API** (✅ Mature) - Use as template for REST APIs\n**Auth Service** (✅ Mature) - Use as template for authentication patterns\n\n---\n\n## Anti-Patterns to Avoid\n\n❌ Business logic in routes\n❌ Direct process.env usage\n❌ Missing error handling\n❌ No input validation\n❌ Direct Prisma everywhere\n❌ console.log instead of Sentry\n\n---\n\n## Navigation Guide\n\n| Need to... | Read this |\n|------------|-----------|\n| Understand architecture | [architecture-overview.md](architecture-overview.md) |\n| Create routes\u002Fcontrollers | [routing-and-controllers.md](routing-and-controllers.md) |\n| Organize business logic | [services-and-repositories.md](services-and-repositories.md) |\n| Validate input | [validation-patterns.md](validation-patterns.md) |\n| Add error tracking | [sentry-and-monitoring.md](sentry-and-monitoring.md) |\n| Create middleware | [middleware-guide.md](middleware-guide.md) |\n| Database access | [database-patterns.md](database-patterns.md) |\n| Manage config | [configuration.md](configuration.md) |\n| Handle async\u002Ferrors | [async-and-errors.md](async-and-errors.md) |\n| Write tests | [testing-guide.md](testing-guide.md) |\n| See examples | [complete-examples.md](complete-examples.md) |\n\n---\n\n## Resource Files\n\n### [architecture-overview.md](architecture-overview.md)\nLayered architecture, request lifecycle, separation of concerns\n\n### [routing-and-controllers.md](routing-and-controllers.md)\nRoute definitions, BaseController, error handling, examples\n\n### [services-and-repositories.md](services-and-repositories.md)\nService patterns, DI, repository pattern, caching\n\n### [validation-patterns.md](validation-patterns.md)\nZod schemas, validation, DTO pattern\n\n### [sentry-and-monitoring.md](sentry-and-monitoring.md)\nSentry init, error capture, performance monitoring\n\n### [middleware-guide.md](middleware-guide.md)\nAuth, audit, error boundaries, AsyncLocalStorage\n\n### [database-patterns.md](database-patterns.md)\nPrismaService, repositories, transactions, optimization\n\n### [configuration.md](configuration.md)\nUnifiedConfig, environment configs, secrets\n\n### [async-and-errors.md](async-and-errors.md)\nAsync patterns, custom errors, asyncErrorWrapper\n\n### [testing-guide.md](testing-guide.md)\nUnit\u002Fintegration tests, mocking, coverage\n\n### [complete-examples.md](complete-examples.md)\nFull examples, refactoring guide\n\n---\n\n## Related Skills\n\n- **database-verification** - Verify column names and schema consistency\n- **error-tracking** - Sentry integration patterns\n- **skill-developer** - Meta-skill for creating and managing skills\n\n---\n\n**Skill Status**: COMPLETE ✅\n**Line Count**: \u003C 500 ✅\n**Progressive Disclosure**: 11 resource files ✅\n",{"name":5,"description":7},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines",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":62,"prompt":72,"zipAvailable":73},[63,66,69],{"tool":64,"command":65},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill backend-dev-guidelines",{"tool":67,"command":68},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill backend-dev-guidelines",{"tool":70,"command":71},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill backend-dev-guidelines","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002FSKILL.md",true,[75,81,85,89,93,97,101,105,109,113,117,121,125],{"path":76,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":79,"sourceHtmlUrl":80},"resources\u002Farchitecture-overview.md","REFERENCE","参考文档",12866,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fresources\u002Farchitecture-overview.md",{"path":82,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":83,"sourceHtmlUrl":84},"resources\u002Fasync-and-errors.md",6862,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fresources\u002Fasync-and-errors.md",{"path":86,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":87,"sourceHtmlUrl":88},"resources\u002Fcomplete-examples.md",16478,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fresources\u002Fcomplete-examples.md",{"path":90,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":91,"sourceHtmlUrl":92},"resources\u002Fconfiguration.md",5816,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fresources\u002Fconfiguration.md",{"path":94,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":95,"sourceHtmlUrl":96},"resources\u002Fdatabase-patterns.md",4937,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fresources\u002Fdatabase-patterns.md",{"path":98,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":99,"sourceHtmlUrl":100},"resources\u002Fmiddleware-guide.md",5169,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fresources\u002Fmiddleware-guide.md",{"path":102,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":103,"sourceHtmlUrl":104},"resources\u002Frouting-and-controllers.md",19930,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fresources\u002Frouting-and-controllers.md",{"path":106,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":107,"sourceHtmlUrl":108},"resources\u002Fsentry-and-monitoring.md",7753,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fresources\u002Fsentry-and-monitoring.md",{"path":110,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":111,"sourceHtmlUrl":112},"resources\u002Fservices-and-repositories.md",22299,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fresources\u002Fservices-and-repositories.md",{"path":114,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":115,"sourceHtmlUrl":116},"resources\u002Ftesting-guide.md",5420,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fresources\u002Ftesting-guide.md",{"path":118,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":119,"sourceHtmlUrl":120},"resources\u002Fvalidation-patterns.md",18038,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fresources\u002Fvalidation-patterns.md",{"path":122,"resourceType":77,"resourceTypeDesc":78,"sizeBytes":123,"sourceHtmlUrl":124},"skill-report.json",69590,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Faiskillstore\u002Fmarketplace\u002Fdimon94\u002Fbackend-dev-guidelines\u002Fskill-report.json",{"path":126,"resourceType":127,"resourceTypeDesc":128,"sizeBytes":129,"sourceHtmlUrl":130},"SKILL.md.tmpl","OTHER","其他",15586,"https:\u002F\u002Fgithub.com\u002Fseastaradmin\u002Fmuse\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fgstack\u002Fplan-tune\u002FSKILL.md.tmpl",[132,144,154,163,169,176],{"skillNo":133,"name":134,"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":135,"categories":136,"keywords":140,"publishedAt":47},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[137],{"categoryNo":138,"categoryName":139,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",[141,142,143],"model","model hierarchy","model hierarchy skill",{"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":150,"publishedAt":47},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[149],{"categoryNo":138,"categoryName":139,"taxonomyType":21,"taxonomyTypeDesc":22},[151,152,153],"MCP","zoom","zoom mcp",{"skillNo":155,"name":156,"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":157,"categories":158,"keywords":159,"publishedAt":47},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[160,161,162,152],"sdk","zoom apps sdk","apps",{"skillNo":164,"name":165,"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":166,"categories":167,"keywords":168,"publishedAt":47},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[165],{"skillNo":170,"name":171,"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":172,"categories":173,"keywords":175,"publishedAt":47},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[174],{"categoryNo":138,"categoryName":139,"taxonomyType":21,"taxonomyTypeDesc":22},[171],{"skillNo":177,"name":178,"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":179,"categories":180,"keywords":181,"publishedAt":47},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[178]]