Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/arbazkhan971/godmode --skill orm명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
Turn on Godmode. 135 skills, 7 subagents, zero configuration. Routes to the right skill automatically.
Backup and disaster recovery. backup strategy, disaster recovery, RPO/RTO, data integrity, durability, runbook.
Changelog and release notes management. Keep a Changelog format, Conventional Commits auto-generation, breaking change communication, migration guides, audience-specific notes.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | orm |
| description | ORM and data access optimization. |
/godmode:orm, "which ORM", "Prisma vs Drizzle"grep -r "prisma\|drizzle-orm\|typeorm\|sqlalchemy" \
package.json requirements.txt go.mod 2>/dev/null
grep -r "include:\|select_related\|joinedload" \
--include="*.ts" --include="*.py" -l 2>/dev/null
Language: <TS|Python|Go|Ruby|Java>
ORM: <Prisma|Drizzle|TypeORM|SQLAlchemy|Django|GORM>
Database: <PostgreSQL|MySQL|SQLite>
Connection: <direct|pooler|serverless>
TypeScript/JavaScript:
Python: SQLAlchemy 2.0 (FastAPI), Django ORM. Go: GORM, Ent, sqlc. Ruby: ActiveRecord.
IF edge/serverless: Drizzle (smallest bundle). IF max type safety: Prisma.
Enable query logging, load list page, count queries. If count = 1 + N, you have N+1.
// BAD (N+1): queries in loop
const posts = await prisma.post.findMany();
for (const p of posts) {
await prisma.user.findUnique({
where: { id: p.authorId }
});
}
// GOOD (1 query with JOIN)
const posts = await prisma.post.findMany({
include: { author: true }
});
ORM equivalents: Django select_related/prefetch,
SQLAlchemy joinedload/selectinload,
Rails includes/eager_load, GORM Preload/Joins.
Formula: pool_size = (core_count * 2) + 1
Typical: 10-20 connections per instance
| Dev | Prod
min | 1 | 5
max | 5 | 20
idle_timeout | 30s | 300s
WARNING: PostgreSQL degrades above ~100 connections.
Use PgBouncer/RDS Proxy for multiplexing.
Coordinate: pool * instances < max_conn * 0.8.
IF pool utilization > 80%: alert and investigate.
Interactive transactions (Prisma $transaction,
SQLAlchemy Session). Optimistic locking for
concurrent updates. Set isolation level for financial.
Nested (savepoints): inner failure does not roll back outer. For non-critical side effects.
Distributed (saga): cross-service ops. Each step has execute + compensate. Compensate in reverse on failure.
Composable conditions: and(...conditions).
Cap pagination: min(limit, 100).
Raw SQL escape hatch: Prisma $queryRaw,
Drizzle sql, SQLAlchemy text().
ALWAYS use parameterized queries.
[ ] Pool configured [ ] Query logging in dev
[ ] N+1 fixed [ ] Slow query threshold (>1s)
[ ] Statement timeout [ ] Retry transient failures
[ ] Migration up+down+up [ ] Schema matches DB
Append .godmode/orm-results.tsv:
timestamp orm models_audited n1_found n1_fixed pool_configured query_reduction_pct status
KEEP if: queries under target latency AND no N+1
AND tests pass.
DISCARD if: query regression OR N+1 introduced
OR pool issues.
STOP when ALL of:
- p50 < 50ms, p99 < 200ms
- No N+1 queries detected
- Pool sized correctly
On failure: git reset --hard HEAD~1. Never pause.
| Failure | Action |
|---|---|
| N+1 persists | Verify include on correct relation |
| Pool exhausted | Check leaks, increase with caution |
| Migration fails | Check data deps, add backfill |
| Deadlock | Consistent lock ordering, reduce scope |
| Query timeout | EXPLAIN ANALYZE, add index, paginate |