Integration Patterns
Designs and implements robust integration patterns for APIs, databases, and services, enhancing system connectivity and resilience.
Install this skill
Security score
The Integration Patterns skill was audited on Feb 12, 2026 and we found 49 security issues across 4 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 107 | self: `/api/users?page=${result.page}&limit=${result.limit}`, |
Template literal with variable interpolation in command context
| 109 | ? `/api/users?page=${result.page + 1}&limit=${result.limit}` |
Template literal with variable interpolation in command context
| 112 | ? `/api/users?page=${result.page - 1}&limit=${result.limit}` |
Template literal with variable interpolation in command context
| 137 | self: `/api/users/${user.id}`, |
Template literal with variable interpolation in command context
| 138 | posts: `/api/users/${user.id}/posts`, |
Template literal with variable interpolation in command context
| 139 | comments: `/api/users/${user.id}/comments`, |
Template literal with variable interpolation in command context
| 152 | .location(`/api/users/${user.id}`) |
Template literal with variable interpolation in command context
| 156 | self: `/api/users/${user.id}`, |
Template literal with variable interpolation in command context
| 473 | pubsub.publish(`COMMENT_ADDED_${input.postId}`, { commentAdded: comment }); |
Template literal with variable interpolation in command context
| 486 | pubsub.asyncIterator([`COMMENT_ADDED_${postId}`]), |
Template literal with variable interpolation in command context
| 626 | params.push(`%${options.search}%`); |
Template literal with variable interpolation in command context
| 629 | query += ` ORDER BY ${options.sort} ${options.order}`; |
Template literal with variable interpolation in command context
| 630 | query += ` LIMIT $${params.length + 1} OFFSET $${params.length + 2}`; |
Template literal with variable interpolation in command context
| 777 | console.error(`Job ${job.id} failed:`, error); |
Template literal with variable interpolation in command context
| 781 | console.log(`Job ${job.id} completed`); |
Template literal with variable interpolation in command context
| 828 | throw new Error(`Unknown email type: ${type}`); |
Template literal with variable interpolation in command context
| 888 | console.log(`Unhandled event type: ${event.type}`); |
Template literal with variable interpolation in command context
| 934 | console.log(`Attempt ${attempt} failed, retrying in ${delay}ms...`); |
Webhook reference - potential data exfiltration
| 3 | description: Expertise in API design, database integration, and service connectivity. Activates when working with "API", "database", "webhook", "service", "integrate", "connect", or system architectur |
Webhook reference - potential data exfiltration
| 11 | Design and implement robust integration patterns for connecting services, databases, and external systems. This skill encompasses RESTful and GraphQL API design, database connection management, event- |
Webhook reference - potential data exfiltration
| 835 | **Implement Webhook Processing:** |
Webhook reference - potential data exfiltration
| 837 | Handle incoming webhooks with retry logic: |
Webhook reference - potential data exfiltration
| 840 | // src/webhooks/webhook.handler.ts |
Webhook reference - potential data exfiltration
| 844 | export class WebhookHandler { |
Webhook reference - potential data exfiltration
| 845 | async handleStripeWebhook(req: Request, res: Response): Promise<void> { |
Webhook reference - potential data exfiltration
| 849 | // Verify webhook signature |
Webhook reference - potential data exfiltration
| 859 | console.error('Webhook error:', error); |
Webhook reference - potential data exfiltration
| 860 | res.status(400).json({ error: 'Webhook validation failed' }); |
Webhook reference - potential data exfiltration
| 865 | const secret = process.env.STRIPE_WEBHOOK_SECRET!; |
Path traversal pattern
| 25 | import { validateRequest } from '../../middleware/validation'; |
Path traversal pattern
| 26 | import { authenticate } from '../../middleware/auth'; |
Path traversal pattern
| 27 | import { rateLimit } from '../../middleware/rate-limit'; |
Access to .env file
| 270 | message: process.env.NODE_ENV === 'development' ? err.message : 'An unexpected error occurred', |
Access to .env file
| 535 | host: config.host || process.env.DB_HOST, |
Access to .env file
| 536 | port: config.port || Number(process.env.DB_PORT) || 5432, |
Access to .env file
| 537 | database: config.database || process.env.DB_NAME, |
Access to .env file
| 538 | user: config.user || process.env.DB_USER, |
Access to .env file
| 539 | password: config.password || process.env.DB_PASSWORD, |
Access to .env file
| 557 | host: config.host || process.env.DB_HOST, |
Access to .env file
| 558 | port: config.port || Number(process.env.DB_PORT) || 3306, |
Access to .env file
| 559 | database: config.database || process.env.DB_NAME, |
Access to .env file
| 560 | user: config.user || process.env.DB_USER, |
Access to .env file
| 561 | password: config.password || process.env.DB_PASSWORD, |
Access to .env file
| 749 | host: process.env.REDIS_HOST || 'localhost', |
Access to .env file
| 750 | port: Number(process.env.REDIS_PORT) || 6379, |
Access to .env file
| 865 | const secret = process.env.STRIPE_WEBHOOK_SECRET!; |
External URL reference
| 969 | - **REST API Best Practices** - https://restfulapi.net |
External URL reference
| 970 | - **GraphQL Documentation** - https://graphql.org |
External URL reference
| 971 | - **Database Design Patterns** - https://www.postgresql.org/docs/ |