---
name: "kysely-type-safe-sql-query-builder"
description: "Construct raw SQL queries with complete end-to-end compile-time type safety via Kysely."
metadata:
  author: "Kysely"
  version: "1.0.0"
  runtime_compatibility:
    - "codex"
    - "claude-code"
    - "cursor"
    - "windsurf"
triggers:
  - "write kysely query"
  - "kysely type safe innerjoin"
  - "define kysely database interface"
permissions:
  fs_read: true
  fs_write: "workspace"
  shell_exec: false
  net_access: false
---

# Kysely Pure Type-Safe SQL Query Builder for TypeScript

Develops database operations with Kysely: defining Database interfaces, fluent query building (selectFrom, innerJoin, where, execute), dialect drivers (PostgresDialect, MysqlDialect), and raw sql tagged template literals.

## When to Invoke
Invoke this skill whenever you need to:
- write kysely query
- kysely type safe innerjoin
- define kysely database interface

## Execution SOP & Rules
1. Define Database interface: interface Database { users: UserTable; orders: OrderTable }.
2. Initialize Kysely instance: const db = new Kysely<Database>({ dialect: new PostgresDialect(...) }).
3. Execute query: const rows = await db.selectFrom('users').innerJoin('orders', 'orders.user_id', 'users.id').selectAll().execute().
4. Use sql`` helper for vendor-specific SQL expressions while preserving type safety on parameters.

## Verification Checklist
- Run local linting, syntax validation, and type-checks before reporting completion.
- Ensure all created or modified files adhere to workspace boundaries and avoid uncommitted secrets.
- Verify tests or build commands exit cleanly with return code 0.
