Analyzes PHP code for connection pool issues. Detects connection leaks, improper pool sizing, missing connection release, timeout issues.
From accnpx claudepluginhub dykyi-roman/awesome-claude-code --plugin accThis skill uses the workspace's default tool permissions.
references/patterns.mdAnalyze PHP code for connection pool issues and database connection management problems.
| ID | Pattern | What to Look For |
|---|---|---|
| CP-01 | Connection leak | new PDO without cleanup in exception/early-return paths |
| CP-02 | Connection in loop | new PDO/new Redis/new Client inside foreach/while |
| CP-03 | Missing timeout | PDO without ATTR_TIMEOUT, Redis without connect timeout |
| CP-04 | Persistent misuse | ATTR_PERSISTENT => true without shutdown cleanup |
| CP-05 | Pool exhaustion | Multiple connections opened without reuse |
| CP-06 | Missing finally | $pool->release() not in finally block |
| CP-07 | State not reset | Connection returned to pool with modified session state |
| CP-08 | Doctrine issues | EntityManager not cleared, long-held transactions |
| CP-09 | Worker stale conn | Long-running worker without connection refresh |
| CP-10 | HTTP no pooling | file_get_contents in loop, no keep-alive headers |
# New connection in loops
Grep: "foreach.*\{[^}]*new PDO|while.*\{[^}]*new PDO" --glob "**/*.php" --multiline
# Missing connection close
Grep: "new Redis\(\)" --glob "**/*.php"
# Persistent connections
Grep: "ATTR_PERSISTENT" --glob "**/*.php"
# Connection without timeout
Grep: "new PDO\s*\([^)]+\)\s*;" --glob "**/*.php"
# Static connection storage
Grep: "static.*PDO|static.*connection" --glob "**/*.php"
| Pattern | Severity |
|---|---|
| Connection in loop | Critical |
| Connection leak (no finally) | Critical |
| No connection timeout | Major |
| Pool exhaustion risk | Major |
| Missing connection health check | Major |
| Persistent connection misuse | Minor |
| Static connection storage | Minor |
### Connection Pool: [Description]
**Severity:** Critical/Major/Minor
**Location:** `file.php:line`
**Impact:** [Database overload, connection exhaustion, memory leak]
**Issue:**
[Description of the connection management problem]
**Code:**
[Problematic code snippet]
**Fix:**
[Proper connection management code]
**Expected Improvement:**
- Connection count: 100 -> 10 (pooled)
- Memory usage: -50% (connections reused)
- DB load: -80% (connection overhead eliminated)
references/patterns.md — detailed detection patterns with code examples, secure pool implementations, health check and worker refresh patternsProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.