[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6G1GC2PDDBCZWVA0H4A1P21":3,"skill-same:01M6G1GC2PDDBCZWVA0H4A1P21":111},{"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":34,"publishedAt":55,"linkOnly":56,"markdownContent":57,"markdownBody":58,"frontMatter":59,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":64,"repositoryHomepageUrl":6,"ownerHtmlUrl":65,"ownerBlogUrl":66,"ownerDescription":67,"updatedAt":68,"install":69,"resources":82},"01M6G1GC2PDDBCZWVA0H4A1P21","senior-backend",null,"This skill should be used when the user asks to \"design REST APIs\", \"optimize database queries\", \"implement authentication\", \"build microservices\", \"review backend code\", \"set up GraphQL\", \"handle database migrations\", or \"load test APIs\". Use for Node.js\u002FExpress\u002FFastify development, PostgreSQL optimization, API security, and backend architecture patterns.","oabdelmaksoud\u002FAgention","oabdelmaksoud","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F50699149?v=4","01M6D5CVVN778ZCDP1WHS816SP","Omar Abdelmaksoud","01M6D8A4TE76V3DCSH3D94VG1V",2,"MIT","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fclaude-skills\u002Fengineering-team\u002Fsenior-backend\u002FSKILL.md",[18,23,26,31],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",{"categoryNo":32,"categoryName":33,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000032","设计师",[35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54],"backend","senior backend","fastify","design","database queries","express","optimize","database migrations","up","node","api","SET","postgresql optimization","postgresql","database","authentication","code","architecture","security","review","2026-11-10 10:12:30",false,"---\nname: senior-backend\ndescription: This skill should be used when the user asks to \"design REST APIs\", \"optimize database queries\", \"implement authentication\", \"build microservices\", \"review backend code\", \"set up GraphQL\", \"handle database migrations\", or \"load test APIs\". Use for Node.js\u002FExpress\u002FFastify development, PostgreSQL optimization, API security, and backend architecture patterns.\n---\n\n# Senior Backend Engineer\n\nBackend development patterns, API design, database optimization, and security practices.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Tools Overview](#tools-overview)\n  - [API Scaffolder](#1-api-scaffolder)\n  - [Database Migration Tool](#2-database-migration-tool)\n  - [API Load Tester](#3-api-load-tester)\n- [Backend Development Workflows](#backend-development-workflows)\n  - [API Design Workflow](#api-design-workflow)\n  - [Database Optimization Workflow](#database-optimization-workflow)\n  - [Security Hardening Workflow](#security-hardening-workflow)\n- [Reference Documentation](#reference-documentation)\n- [Common Patterns Quick Reference](#common-patterns-quick-reference)\n\n---\n\n## Quick Start\n\n```bash\n# Generate API routes from OpenAPI spec\npython scripts\u002Fapi_scaffolder.py openapi.yaml --framework express --output src\u002Froutes\u002F\n\n# Analyze database schema and generate migrations\npython scripts\u002Fdatabase_migration_tool.py --connection postgres:\u002F\u002Flocalhost\u002Fmydb --analyze\n\n# Load test an API endpoint\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fusers --concurrency 50 --duration 30\n```\n\n---\n\n## Tools Overview\n\n### 1. API Scaffolder\n\nGenerates API route handlers, middleware, and OpenAPI specifications from schema definitions.\n\n**Input:** OpenAPI spec (YAML\u002FJSON) or database schema\n**Output:** Route handlers, validation middleware, TypeScript types\n\n**Usage:**\n```bash\n# Generate Express routes from OpenAPI spec\npython scripts\u002Fapi_scaffolder.py openapi.yaml --framework express --output src\u002Froutes\u002F\n\n# Output:\n# Generated 12 route handlers in src\u002Froutes\u002F\n# - GET \u002Fusers (listUsers)\n# - POST \u002Fusers (createUser)\n# - GET \u002Fusers\u002F{id} (getUser)\n# - PUT \u002Fusers\u002F{id} (updateUser)\n# - DELETE \u002Fusers\u002F{id} (deleteUser)\n# ...\n# Created validation middleware: src\u002Fmiddleware\u002Fvalidators.ts\n# Created TypeScript types: src\u002Ftypes\u002Fapi.ts\n\n# Generate from database schema\npython scripts\u002Fapi_scaffolder.py --from-db postgres:\u002F\u002Flocalhost\u002Fmydb --output src\u002Froutes\u002F\n\n# Generate OpenAPI spec from existing routes\npython scripts\u002Fapi_scaffolder.py src\u002Froutes\u002F --generate-spec --output openapi.yaml\n```\n\n**Supported Frameworks:**\n- Express.js (`--framework express`)\n- Fastify (`--framework fastify`)\n- Koa (`--framework koa`)\n\n---\n\n### 2. Database Migration Tool\n\nAnalyzes database schemas, detects changes, and generates migration files with rollback support.\n\n**Input:** Database connection string or schema files\n**Output:** Migration files, schema diff report, optimization suggestions\n\n**Usage:**\n```bash\n# Analyze current schema and suggest optimizations\npython scripts\u002Fdatabase_migration_tool.py --connection postgres:\u002F\u002Flocalhost\u002Fmydb --analyze\n\n# Output:\n# === Database Analysis Report ===\n# Tables: 24\n# Total rows: 1,247,832\n#\n# MISSING INDEXES (5 found):\n#   orders.user_id - 847ms avg query time, ADD INDEX recommended\n#   products.category_id - 234ms avg query time, ADD INDEX recommended\n#\n# N+1 QUERY RISKS (3 found):\n#   users -> orders relationship (no eager loading)\n#\n# SUGGESTED MIGRATIONS:\n#   1. Add index on orders(user_id)\n#   2. Add index on products(category_id)\n#   3. Add composite index on order_items(order_id, product_id)\n\n# Generate migration from schema diff\npython scripts\u002Fdatabase_migration_tool.py --connection postgres:\u002F\u002Flocalhost\u002Fmydb \\\n  --compare schema\u002Fv2.sql --output migrations\u002F\n\n# Output:\n# Generated migration: migrations\u002F20240115_add_user_indexes.sql\n# Generated rollback: migrations\u002F20240115_add_user_indexes_rollback.sql\n\n# Dry-run a migration\npython scripts\u002Fdatabase_migration_tool.py --connection postgres:\u002F\u002Flocalhost\u002Fmydb \\\n  --migrate migrations\u002F20240115_add_user_indexes.sql --dry-run\n```\n\n---\n\n### 3. API Load Tester\n\nPerforms HTTP load testing with configurable concurrency, measuring latency percentiles and throughput.\n\n**Input:** API endpoint URL and test configuration\n**Output:** Performance report with latency distribution, error rates, throughput metrics\n\n**Usage:**\n```bash\n# Basic load test\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fusers --concurrency 50 --duration 30\n\n# Output:\n# === Load Test Results ===\n# Target: https:\u002F\u002Fapi.example.com\u002Fusers\n# Duration: 30s | Concurrency: 50\n#\n# THROUGHPUT:\n#   Total requests: 15,247\n#   Requests\u002Fsec: 508.2\n#   Successful: 15,102 (99.0%)\n#   Failed: 145 (1.0%)\n#\n# LATENCY (ms):\n#   Min: 12\n#   Avg: 89\n#   P50: 67\n#   P95: 198\n#   P99: 423\n#   Max: 1,247\n#\n# ERRORS:\n#   Connection timeout: 89\n#   HTTP 503: 56\n#\n# RECOMMENDATION: P99 latency (423ms) exceeds 200ms target.\n# Consider: connection pooling, query optimization, or horizontal scaling.\n\n# Test with custom headers and body\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Forders \\\n  --method POST \\\n  --header \"Authorization: Bearer token123\" \\\n  --body '{\"product_id\": 1, \"quantity\": 2}' \\\n  --concurrency 100 \\\n  --duration 60\n\n# Compare two endpoints\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fv1\u002Fusers https:\u002F\u002Fapi.example.com\u002Fv2\u002Fusers \\\n  --compare --concurrency 50 --duration 30\n```\n\n---\n\n## Backend Development Workflows\n\n### API Design Workflow\n\nUse when designing a new API or refactoring existing endpoints.\n\n**Step 1: Define resources and operations**\n```yaml\n# openapi.yaml\nopenapi: 3.0.3\ninfo:\n  title: User Service API\n  version: 1.0.0\npaths:\n  \u002Fusers:\n    get:\n      summary: List users\n      parameters:\n        - name: limit\n          in: query\n          schema:\n            type: integer\n            default: 20\n    post:\n      summary: Create user\n      requestBody:\n        required: true\n        content:\n          application\u002Fjson:\n            schema:\n              $ref: '#\u002Fcomponents\u002Fschemas\u002FCreateUser'\n```\n\n**Step 2: Generate route scaffolding**\n```bash\npython scripts\u002Fapi_scaffolder.py openapi.yaml --framework express --output src\u002Froutes\u002F\n```\n\n**Step 3: Implement business logic**\n```typescript\n\u002F\u002F src\u002Froutes\u002Fusers.ts (generated, then customized)\nexport const createUser = async (req: Request, res: Response) => {\n  const { email, name } = req.body;\n\n  \u002F\u002F Add business logic\n  const user = await userService.create({ email, name });\n\n  res.status(201).json(user);\n};\n```\n\n**Step 4: Add validation middleware**\n```bash\n# Validation is auto-generated from OpenAPI schema\n# src\u002Fmiddleware\u002Fvalidators.ts includes:\n# - Request body validation\n# - Query parameter validation\n# - Path parameter validation\n```\n\n**Step 5: Generate updated OpenAPI spec**\n```bash\npython scripts\u002Fapi_scaffolder.py src\u002Froutes\u002F --generate-spec --output openapi.yaml\n```\n\n---\n\n### Database Optimization Workflow\n\nUse when queries are slow or database performance needs improvement.\n\n**Step 1: Analyze current performance**\n```bash\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL --analyze\n```\n\n**Step 2: Identify slow queries**\n```sql\n-- Check query execution plans\nEXPLAIN ANALYZE SELECT * FROM orders\nWHERE user_id = 123\nORDER BY created_at DESC\nLIMIT 10;\n\n-- Look for: Seq Scan (bad), Index Scan (good)\n```\n\n**Step 3: Generate index migrations**\n```bash\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL \\\n  --suggest-indexes --output migrations\u002F\n```\n\n**Step 4: Test migration (dry-run)**\n```bash\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL \\\n  --migrate migrations\u002Fadd_indexes.sql --dry-run\n```\n\n**Step 5: Apply and verify**\n```bash\n# Apply migration\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL \\\n  --migrate migrations\u002Fadd_indexes.sql\n\n# Verify improvement\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL --analyze\n```\n\n---\n\n### Security Hardening Workflow\n\nUse when preparing an API for production or after a security review.\n\n**Step 1: Review authentication setup**\n```typescript\n\u002F\u002F Verify JWT configuration\nconst jwtConfig = {\n  secret: process.env.JWT_SECRET,  \u002F\u002F Must be from env, never hardcoded\n  expiresIn: '1h',                 \u002F\u002F Short-lived tokens\n  algorithm: 'RS256'               \u002F\u002F Prefer asymmetric\n};\n```\n\n**Step 2: Add rate limiting**\n```typescript\nimport rateLimit from 'express-rate-limit';\n\nconst apiLimiter = rateLimit({\n  windowMs: 15 * 60 * 1000,  \u002F\u002F 15 minutes\n  max: 100,                   \u002F\u002F 100 requests per window\n  standardHeaders: true,\n  legacyHeaders: false,\n});\n\napp.use('\u002Fapi\u002F', apiLimiter);\n```\n\n**Step 3: Validate all inputs**\n```typescript\nimport { z } from 'zod';\n\nconst CreateUserSchema = z.object({\n  email: z.string().email().max(255),\n  name: z.string().min(1).max(100),\n  age: z.number().int().positive().optional()\n});\n\n\u002F\u002F Use in route handler\nconst data = CreateUserSchema.parse(req.body);\n```\n\n**Step 4: Load test with attack patterns**\n```bash\n# Test rate limiting\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Flogin \\\n  --concurrency 200 --duration 10 --expect-rate-limit\n\n# Test input validation\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fusers \\\n  --method POST \\\n  --body '{\"email\": \"not-an-email\"}' \\\n  --expect-status 400\n```\n\n**Step 5: Review security headers**\n```typescript\nimport helmet from 'helmet';\n\napp.use(helmet({\n  contentSecurityPolicy: true,\n  crossOriginEmbedderPolicy: true,\n  crossOriginOpenerPolicy: true,\n  crossOriginResourcePolicy: true,\n  hsts: { maxAge: 31536000, includeSubDomains: true },\n}));\n```\n\n---\n\n## Reference Documentation\n\n| File | Contains | Use When |\n|------|----------|----------|\n| `references\u002Fapi_design_patterns.md` | REST vs GraphQL, versioning, error handling, pagination | Designing new APIs |\n| `references\u002Fdatabase_optimization_guide.md` | Indexing strategies, query optimization, N+1 solutions | Fixing slow queries |\n| `references\u002Fbackend_security_practices.md` | OWASP Top 10, auth patterns, input validation | Security hardening |\n\n---\n\n## Common Patterns Quick Reference\n\n### REST API Response Format\n```json\n{\n  \"data\": { \"id\": 1, \"name\": \"John\" },\n  \"meta\": { \"requestId\": \"abc-123\" }\n}\n```\n\n### Error Response Format\n```json\n{\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"Invalid email format\",\n    \"details\": [{ \"field\": \"email\", \"message\": \"must be valid email\" }]\n  },\n  \"meta\": { \"requestId\": \"abc-123\" }\n}\n```\n\n### HTTP Status Codes\n| Code | Use Case |\n|------|----------|\n| 200 | Success (GET, PUT, PATCH) |\n| 201 | Created (POST) |\n| 204 | No Content (DELETE) |\n| 400 | Validation error |\n| 401 | Authentication required |\n| 403 | Permission denied |\n| 404 | Resource not found |\n| 429 | Rate limit exceeded |\n| 500 | Internal server error |\n\n### Database Index Strategy\n```sql\n-- Single column (equality lookups)\nCREATE INDEX idx_users_email ON users(email);\n\n-- Composite (multi-column queries)\nCREATE INDEX idx_orders_user_status ON orders(user_id, status);\n\n-- Partial (filtered queries)\nCREATE INDEX idx_orders_active ON orders(created_at) WHERE status = 'active';\n\n-- Covering (avoid table lookup)\nCREATE INDEX idx_users_email_name ON users(email) INCLUDE (name);\n```\n\n---\n\n## Common Commands\n\n```bash\n# API Development\npython scripts\u002Fapi_scaffolder.py openapi.yaml --framework express\npython scripts\u002Fapi_scaffolder.py src\u002Froutes\u002F --generate-spec\n\n# Database Operations\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL --analyze\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL --migrate file.sql\n\n# Performance Testing\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fendpoint --concurrency 50\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fendpoint --compare baseline.json\n```\n","# Senior Backend Engineer\n\nBackend development patterns, API design, database optimization, and security practices.\n\n## Table of Contents\n\n- [Quick Start](#quick-start)\n- [Tools Overview](#tools-overview)\n  - [API Scaffolder](#1-api-scaffolder)\n  - [Database Migration Tool](#2-database-migration-tool)\n  - [API Load Tester](#3-api-load-tester)\n- [Backend Development Workflows](#backend-development-workflows)\n  - [API Design Workflow](#api-design-workflow)\n  - [Database Optimization Workflow](#database-optimization-workflow)\n  - [Security Hardening Workflow](#security-hardening-workflow)\n- [Reference Documentation](#reference-documentation)\n- [Common Patterns Quick Reference](#common-patterns-quick-reference)\n\n---\n\n## Quick Start\n\n```bash\n# Generate API routes from OpenAPI spec\npython scripts\u002Fapi_scaffolder.py openapi.yaml --framework express --output src\u002Froutes\u002F\n\n# Analyze database schema and generate migrations\npython scripts\u002Fdatabase_migration_tool.py --connection postgres:\u002F\u002Flocalhost\u002Fmydb --analyze\n\n# Load test an API endpoint\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fusers --concurrency 50 --duration 30\n```\n\n---\n\n## Tools Overview\n\n### 1. API Scaffolder\n\nGenerates API route handlers, middleware, and OpenAPI specifications from schema definitions.\n\n**Input:** OpenAPI spec (YAML\u002FJSON) or database schema\n**Output:** Route handlers, validation middleware, TypeScript types\n\n**Usage:**\n```bash\n# Generate Express routes from OpenAPI spec\npython scripts\u002Fapi_scaffolder.py openapi.yaml --framework express --output src\u002Froutes\u002F\n\n# Output:\n# Generated 12 route handlers in src\u002Froutes\u002F\n# - GET \u002Fusers (listUsers)\n# - POST \u002Fusers (createUser)\n# - GET \u002Fusers\u002F{id} (getUser)\n# - PUT \u002Fusers\u002F{id} (updateUser)\n# - DELETE \u002Fusers\u002F{id} (deleteUser)\n# ...\n# Created validation middleware: src\u002Fmiddleware\u002Fvalidators.ts\n# Created TypeScript types: src\u002Ftypes\u002Fapi.ts\n\n# Generate from database schema\npython scripts\u002Fapi_scaffolder.py --from-db postgres:\u002F\u002Flocalhost\u002Fmydb --output src\u002Froutes\u002F\n\n# Generate OpenAPI spec from existing routes\npython scripts\u002Fapi_scaffolder.py src\u002Froutes\u002F --generate-spec --output openapi.yaml\n```\n\n**Supported Frameworks:**\n- Express.js (`--framework express`)\n- Fastify (`--framework fastify`)\n- Koa (`--framework koa`)\n\n---\n\n### 2. Database Migration Tool\n\nAnalyzes database schemas, detects changes, and generates migration files with rollback support.\n\n**Input:** Database connection string or schema files\n**Output:** Migration files, schema diff report, optimization suggestions\n\n**Usage:**\n```bash\n# Analyze current schema and suggest optimizations\npython scripts\u002Fdatabase_migration_tool.py --connection postgres:\u002F\u002Flocalhost\u002Fmydb --analyze\n\n# Output:\n# === Database Analysis Report ===\n# Tables: 24\n# Total rows: 1,247,832\n#\n# MISSING INDEXES (5 found):\n#   orders.user_id - 847ms avg query time, ADD INDEX recommended\n#   products.category_id - 234ms avg query time, ADD INDEX recommended\n#\n# N+1 QUERY RISKS (3 found):\n#   users -> orders relationship (no eager loading)\n#\n# SUGGESTED MIGRATIONS:\n#   1. Add index on orders(user_id)\n#   2. Add index on products(category_id)\n#   3. Add composite index on order_items(order_id, product_id)\n\n# Generate migration from schema diff\npython scripts\u002Fdatabase_migration_tool.py --connection postgres:\u002F\u002Flocalhost\u002Fmydb \\\n  --compare schema\u002Fv2.sql --output migrations\u002F\n\n# Output:\n# Generated migration: migrations\u002F20240115_add_user_indexes.sql\n# Generated rollback: migrations\u002F20240115_add_user_indexes_rollback.sql\n\n# Dry-run a migration\npython scripts\u002Fdatabase_migration_tool.py --connection postgres:\u002F\u002Flocalhost\u002Fmydb \\\n  --migrate migrations\u002F20240115_add_user_indexes.sql --dry-run\n```\n\n---\n\n### 3. API Load Tester\n\nPerforms HTTP load testing with configurable concurrency, measuring latency percentiles and throughput.\n\n**Input:** API endpoint URL and test configuration\n**Output:** Performance report with latency distribution, error rates, throughput metrics\n\n**Usage:**\n```bash\n# Basic load test\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fusers --concurrency 50 --duration 30\n\n# Output:\n# === Load Test Results ===\n# Target: https:\u002F\u002Fapi.example.com\u002Fusers\n# Duration: 30s | Concurrency: 50\n#\n# THROUGHPUT:\n#   Total requests: 15,247\n#   Requests\u002Fsec: 508.2\n#   Successful: 15,102 (99.0%)\n#   Failed: 145 (1.0%)\n#\n# LATENCY (ms):\n#   Min: 12\n#   Avg: 89\n#   P50: 67\n#   P95: 198\n#   P99: 423\n#   Max: 1,247\n#\n# ERRORS:\n#   Connection timeout: 89\n#   HTTP 503: 56\n#\n# RECOMMENDATION: P99 latency (423ms) exceeds 200ms target.\n# Consider: connection pooling, query optimization, or horizontal scaling.\n\n# Test with custom headers and body\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Forders \\\n  --method POST \\\n  --header \"Authorization: Bearer token123\" \\\n  --body '{\"product_id\": 1, \"quantity\": 2}' \\\n  --concurrency 100 \\\n  --duration 60\n\n# Compare two endpoints\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fv1\u002Fusers https:\u002F\u002Fapi.example.com\u002Fv2\u002Fusers \\\n  --compare --concurrency 50 --duration 30\n```\n\n---\n\n## Backend Development Workflows\n\n### API Design Workflow\n\nUse when designing a new API or refactoring existing endpoints.\n\n**Step 1: Define resources and operations**\n```yaml\n# openapi.yaml\nopenapi: 3.0.3\ninfo:\n  title: User Service API\n  version: 1.0.0\npaths:\n  \u002Fusers:\n    get:\n      summary: List users\n      parameters:\n        - name: limit\n          in: query\n          schema:\n            type: integer\n            default: 20\n    post:\n      summary: Create user\n      requestBody:\n        required: true\n        content:\n          application\u002Fjson:\n            schema:\n              $ref: '#\u002Fcomponents\u002Fschemas\u002FCreateUser'\n```\n\n**Step 2: Generate route scaffolding**\n```bash\npython scripts\u002Fapi_scaffolder.py openapi.yaml --framework express --output src\u002Froutes\u002F\n```\n\n**Step 3: Implement business logic**\n```typescript\n\u002F\u002F src\u002Froutes\u002Fusers.ts (generated, then customized)\nexport const createUser = async (req: Request, res: Response) => {\n  const { email, name } = req.body;\n\n  \u002F\u002F Add business logic\n  const user = await userService.create({ email, name });\n\n  res.status(201).json(user);\n};\n```\n\n**Step 4: Add validation middleware**\n```bash\n# Validation is auto-generated from OpenAPI schema\n# src\u002Fmiddleware\u002Fvalidators.ts includes:\n# - Request body validation\n# - Query parameter validation\n# - Path parameter validation\n```\n\n**Step 5: Generate updated OpenAPI spec**\n```bash\npython scripts\u002Fapi_scaffolder.py src\u002Froutes\u002F --generate-spec --output openapi.yaml\n```\n\n---\n\n### Database Optimization Workflow\n\nUse when queries are slow or database performance needs improvement.\n\n**Step 1: Analyze current performance**\n```bash\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL --analyze\n```\n\n**Step 2: Identify slow queries**\n```sql\n-- Check query execution plans\nEXPLAIN ANALYZE SELECT * FROM orders\nWHERE user_id = 123\nORDER BY created_at DESC\nLIMIT 10;\n\n-- Look for: Seq Scan (bad), Index Scan (good)\n```\n\n**Step 3: Generate index migrations**\n```bash\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL \\\n  --suggest-indexes --output migrations\u002F\n```\n\n**Step 4: Test migration (dry-run)**\n```bash\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL \\\n  --migrate migrations\u002Fadd_indexes.sql --dry-run\n```\n\n**Step 5: Apply and verify**\n```bash\n# Apply migration\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL \\\n  --migrate migrations\u002Fadd_indexes.sql\n\n# Verify improvement\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL --analyze\n```\n\n---\n\n### Security Hardening Workflow\n\nUse when preparing an API for production or after a security review.\n\n**Step 1: Review authentication setup**\n```typescript\n\u002F\u002F Verify JWT configuration\nconst jwtConfig = {\n  secret: process.env.JWT_SECRET,  \u002F\u002F Must be from env, never hardcoded\n  expiresIn: '1h',                 \u002F\u002F Short-lived tokens\n  algorithm: 'RS256'               \u002F\u002F Prefer asymmetric\n};\n```\n\n**Step 2: Add rate limiting**\n```typescript\nimport rateLimit from 'express-rate-limit';\n\nconst apiLimiter = rateLimit({\n  windowMs: 15 * 60 * 1000,  \u002F\u002F 15 minutes\n  max: 100,                   \u002F\u002F 100 requests per window\n  standardHeaders: true,\n  legacyHeaders: false,\n});\n\napp.use('\u002Fapi\u002F', apiLimiter);\n```\n\n**Step 3: Validate all inputs**\n```typescript\nimport { z } from 'zod';\n\nconst CreateUserSchema = z.object({\n  email: z.string().email().max(255),\n  name: z.string().min(1).max(100),\n  age: z.number().int().positive().optional()\n});\n\n\u002F\u002F Use in route handler\nconst data = CreateUserSchema.parse(req.body);\n```\n\n**Step 4: Load test with attack patterns**\n```bash\n# Test rate limiting\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Flogin \\\n  --concurrency 200 --duration 10 --expect-rate-limit\n\n# Test input validation\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fusers \\\n  --method POST \\\n  --body '{\"email\": \"not-an-email\"}' \\\n  --expect-status 400\n```\n\n**Step 5: Review security headers**\n```typescript\nimport helmet from 'helmet';\n\napp.use(helmet({\n  contentSecurityPolicy: true,\n  crossOriginEmbedderPolicy: true,\n  crossOriginOpenerPolicy: true,\n  crossOriginResourcePolicy: true,\n  hsts: { maxAge: 31536000, includeSubDomains: true },\n}));\n```\n\n---\n\n## Reference Documentation\n\n| File | Contains | Use When |\n|------|----------|----------|\n| `references\u002Fapi_design_patterns.md` | REST vs GraphQL, versioning, error handling, pagination | Designing new APIs |\n| `references\u002Fdatabase_optimization_guide.md` | Indexing strategies, query optimization, N+1 solutions | Fixing slow queries |\n| `references\u002Fbackend_security_practices.md` | OWASP Top 10, auth patterns, input validation | Security hardening |\n\n---\n\n## Common Patterns Quick Reference\n\n### REST API Response Format\n```json\n{\n  \"data\": { \"id\": 1, \"name\": \"John\" },\n  \"meta\": { \"requestId\": \"abc-123\" }\n}\n```\n\n### Error Response Format\n```json\n{\n  \"error\": {\n    \"code\": \"VALIDATION_ERROR\",\n    \"message\": \"Invalid email format\",\n    \"details\": [{ \"field\": \"email\", \"message\": \"must be valid email\" }]\n  },\n  \"meta\": { \"requestId\": \"abc-123\" }\n}\n```\n\n### HTTP Status Codes\n| Code | Use Case |\n|------|----------|\n| 200 | Success (GET, PUT, PATCH) |\n| 201 | Created (POST) |\n| 204 | No Content (DELETE) |\n| 400 | Validation error |\n| 401 | Authentication required |\n| 403 | Permission denied |\n| 404 | Resource not found |\n| 429 | Rate limit exceeded |\n| 500 | Internal server error |\n\n### Database Index Strategy\n```sql\n-- Single column (equality lookups)\nCREATE INDEX idx_users_email ON users(email);\n\n-- Composite (multi-column queries)\nCREATE INDEX idx_orders_user_status ON orders(user_id, status);\n\n-- Partial (filtered queries)\nCREATE INDEX idx_orders_active ON orders(created_at) WHERE status = 'active';\n\n-- Covering (avoid table lookup)\nCREATE INDEX idx_users_email_name ON users(email) INCLUDE (name);\n```\n\n---\n\n## Common Commands\n\n```bash\n# API Development\npython scripts\u002Fapi_scaffolder.py openapi.yaml --framework express\npython scripts\u002Fapi_scaffolder.py src\u002Froutes\u002F --generate-spec\n\n# Database Operations\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL --analyze\npython scripts\u002Fdatabase_migration_tool.py --connection $DATABASE_URL --migrate file.sql\n\n# Performance Testing\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fendpoint --concurrency 50\npython scripts\u002Fapi_load_tester.py https:\u002F\u002Fapi.example.com\u002Fendpoint --compare baseline.json\n```\n",{"name":5,"description":7},"main","a318f48de3c5718e8ea2e9f6fae7790e8a759e85","upstream-sync\u002Fwork\u002Fclaude-skills\u002Fengineering-team\u002Fsenior-backend",0,"https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fo-abdelmaksoud\u002F","Full-Stack Engineer | AI Systems Architect | Building autonomous multi-agent systems","2026-03-08 21:23:03",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":81},[71,74,77],{"tool":72,"command":73},"npx","npx skills add oabdelmaksoud\u002FAgention --skill senior-backend",{"tool":75,"command":76},"bunx","bunx skills add oabdelmaksoud\u002FAgention --skill senior-backend",{"tool":78,"command":79},"pnpm","pnpm dlx skills add oabdelmaksoud\u002FAgention --skill senior-backend","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fclaude-skills\u002Fengineering-team\u002Fsenior-backend\u002FSKILL.md",true,[83,89,93,97,103,107],{"path":84,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":87,"sourceHtmlUrl":88},"references\u002Fapi_design_patterns.md","REFERENCE","参考文档",13639,"https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fclaude-skills\u002Fengineering-team\u002Fsenior-backend\u002Freferences\u002Fapi_design_patterns.md",{"path":90,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":91,"sourceHtmlUrl":92},"references\u002Fbackend_security_practices.md",25480,"https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fclaude-skills\u002Fengineering-team\u002Fsenior-backend\u002Freferences\u002Fbackend_security_practices.md",{"path":94,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fdatabase_optimization_guide.md",13949,"https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fclaude-skills\u002Fengineering-team\u002Fsenior-backend\u002Freferences\u002Fdatabase_optimization_guide.md",{"path":98,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":101,"sourceHtmlUrl":102},"scripts\u002Fapi_load_tester.py","SCRIPT","脚本",19800,"https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fclaude-skills\u002Fengineering-team\u002Fsenior-backend\u002Fscripts\u002Fapi_load_tester.py",{"path":104,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":105,"sourceHtmlUrl":106},"scripts\u002Fapi_scaffolder.py",21442,"https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fclaude-skills\u002Fengineering-team\u002Fsenior-backend\u002Fscripts\u002Fapi_scaffolder.py",{"path":108,"resourceType":99,"resourceTypeDesc":100,"sizeBytes":109,"sourceHtmlUrl":110},"scripts\u002Fdatabase_migration_tool.py",32200,"https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fclaude-skills\u002Fengineering-team\u002Fsenior-backend\u002Fscripts\u002Fdatabase_migration_tool.py",[112,134,147,176,201,221],{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":121,"publishedAt":55},"01M6G2QFCBNBYAJF2KTK85G9A6","visa-doc-translate","Translate visa application documents (images) to English and create a bilingual PDF with original and translation","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fvisa-doc-translate\u002FSKILL.md",[118],{"categoryNo":119,"categoryName":120,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000002","文档处理",[122,123,124,125,126,127,128,129,130,131,132,133],"translate","doc","visa doc translate","bilingual","with","english","application","PDF","translation","documents","create","images",{"skillNo":135,"name":136,"nameZh":6,"description":137,"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":55},"01M6G2QB09TSK6BY4ME5X20EVQ","verification-loop","A comprehensive verification system for Claude Code sessions.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fverification-loop\u002FSKILL.md",[],[141,142,143,144,51,145,146],"verification","loop","verification loop","sessions","claude code sessions","system",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":160,"publishedAt":55},"01M6G2Q6V2F7G03VAAF27FXPJR","tdd-workflow","Use this skill when writing new features, fixing bugs, or refactoring code. Enforces test-driven development with 80%+ coverage including unit, integration, and E2E tests.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Ftdd-workflow\u002FSKILL.md",[153,156,159],{"categoryNo":154,"categoryName":155,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":157,"categoryName":158,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[161,162,163,164,165,166,167,168,169,51,170,171,172,173,126,174,175],"workflow","tdd","tdd workflow","use","unit","coverage","refactoring","e2e","integration","development","e2e tests","tests","driven","test","writing",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":55},"01M6G2Q359YJRWAR2PFCEQAXF3","swiftui-patterns","SwiftUI architecture patterns, state management with @Observable, view composition, navigation, performance optimization, and modern iOS\u002FmacOS UI best practices.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fswiftui-patterns\u002FSKILL.md",[],[183,184,185,52,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,126],"patterns","swiftui","swiftui patterns","macos","performance","state management","best practices","state","ui","Optimization","ios","architecture patterns","Composition","performance optimization","view","management","swiftui architecture","navigation",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":208,"publishedAt":55},"01M6G2PY8B2FWZTWPZ84H83Y7C","swift-protocol-di-testing","Protocol-based dependency injection for testable Swift code — mock file system, network, and external APIs using focused protocols and Swift Testing.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fswift-protocol-di-testing\u002FSKILL.md",[207],{"categoryNo":154,"categoryName":155,"taxonomyType":21,"taxonomyTypeDesc":22},[209,210,211,212,51,213,214,215,216,146,217,218,219,220],"swift protocol di testing","protocol","swift","testing","protocols","file","network","injection","dependency","swift testing","dependency injection","mock",{"skillNo":222,"name":223,"nameZh":6,"description":224,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":225,"categories":226,"keywords":227,"publishedAt":55},"01M6G2PSCN2GXV9FFZDRRRWVB6","swift-concurrency-6-2","Swift 6.2 Approachable Concurrency — single-threaded by default, @concurrent for explicit background offloading, isolated conformances for main actor types.","https:\u002F\u002Fgithub.com\u002Foabdelmaksoud\u002FAgention\u002Fblob\u002Fmain\u002Fupstream-sync\u002Fwork\u002Fecc\u002Fskills\u002Fswift-concurrency-6-2\u002FSKILL.md",[],[228,229,230,211,231,60,232],"concurrency","swift concurrency","swift concurrency 6 2","default","types"]