plugins/review/skills/database-review/SKILL.md
Reviews database code for N+1 queries, missing indexes, transaction handling, connection pooling, and query patterns across SQL and ORM layers. Use when optimizing slow queries, reviewing database changes, debugging performance issues, preparing for scaling, or as part of deep-review. Trigger phrases include "review database code", "check queries", "DB performance", "find N+1". Not for database schema design or migrations — focused on code-level query patterns and performance.
npx skillsauth add petrogurcak/skills database-reviewInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Problem:
# N+1 - jeden query + N queries pro relationships
users = db.query(User).all()
for user in users:
print(user.posts) # Query pro kazdeho usera!
Fix:
# Eager loading - 2 queries total
users = db.query(User).options(selectinload(User.posts)).all()
Checklist:
Checklist:
Neindexovat:
Checklist:
# Spravne
async with session.begin():
session.add(order)
session.add(payment)
# Obe nebo nic
Checklist:
Checklist:
| Issue | Severity | Detection | | -------------- | -------- | ------------------------------- | | N+1 queries | HIGH | Slow page, many queries in logs | | Missing index | HIGH | EXPLAIN shows seq scan | | No transaction | MEDIUM | Partial data on error | | SELECT * | LOW | Unnecessary data transfer |
development
Builds a pre-launch social proof strategy through structured beta programs using D'Souza Brain Audit interviews. Use when launching new products/services and need compelling testimonials, planning a beta cohort, designing interview questions to harvest objection-busting social proof, improving video testimonials for landing pages, or designing case studies with metrics. Trigger phrases include "beta tester program for testimonials", "pre-launch social proof", "Brain Audit testimonial framework", "case study harvest", "reverse testimonial", "video testimonial mechanics", "social proof landing page", "sběr referencí", "beta tester program", "testimonial pro landing page", "social proof před launchem", "rozhovor s klientem", "case study sběr", "reference před spuštěním". NOT for ongoing case study production (use growth-hacking case-study approach), offer design (use offer-creation), or conversion optimization (use ux-optimization).
development
Use when planning a product launch and the product type is unclear or could be either generic (SaaS/app/physical) or info-product. Routes between marketing:launch-strategy (generic launches) and marketing:info-product-launch (courses, memberships, ebooks, cohorts, communities). Trigger phrases - "launch", "spuštění", "go-to-market", "product launch", "release strategy", "uvedení na trh", "launch plan", "spuštění produktu", "launch sequence", "launch strategy". Do NOT trigger when product type is already clear (use specific skill directly).
testing
Specialized 8-week launch cadence for info-products — online courses, cohort programs, memberships, communities, ebooks, masterminds. Combines Jeff Walker's Product Launch Formula (Seed/Internal/JV variants, PLC sequence, open-cart day-by-day) with Stu McLaren's membership mechanics (closed cart, Success Path) and Hormozi Grand Slam Offer stacking. Use when planning "launch online kurzu", "info-product launch", "PLF launch", "course launch", "membership launch", "cohort launch", "ebook launch", "open cart close cart", "8-week launch of online course", "beta cohort to launch sequence", "spuštění kurzu", "launch členské sekce", "open cart strategie". Differentiates from marketing:launch-strategy (generic SaaS/app launches) — info-product-specific. NOT for SaaS launches, physical products, or services.
development
Use when releasing an Expo/React Native mobile app to App Store and Google Play - covers eas submit, ASC "Submit for Review", Play promote Internal→Production, OTA update, and decoding common silent failures (Apple agreement expiry, missing English locale, Background Location declaration, web bundle failure on react-native-maps).