From ai-toolkit
Enforces Kotlin best practices including null safety, Either error handling, coroutines, Exposed ORM patterns, transactions, and DTO conversions. Use when writing, reviewing, or learning Kotlin code.
npx claudepluginhub c0x12c/ai-toolkit --plugin ai-toolkitThis skill uses the workspace's default tool permissions.
`!!` is banned. Use `?.`, `?:`, or null check for smart cast.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
Designs, implements, and audits WCAG 2.2 AA accessible UIs for Web (ARIA/HTML5), iOS (SwiftUI traits), and Android (Compose semantics). Audits code for compliance gaps.
!! is banned. Use ?., ?:, or null check for smart cast.
See code-patterns.md for all null safety examples.
Managers return Either<ClientException, T> -- never throw. Controllers unwrap with .throwOrValue().
See code-patterns.md for manager + controller examples.
Never hardcode strings when an enum exists. Use EnumName.VALUE.value everywhere.
See code-patterns.md for enum definition and usage patterns.
Extend UUIDTable, use text() not varchar(). Always filter deletedAt.isNull(). Soft delete via timestamp update, never hard delete.
See code-patterns.md for table, query, and soft delete examples.
Reads use db.replica, writes use db.primary. Multi-table writes go in one transaction block -- all succeed or all rollback.
See code-patterns.md for transaction examples.
Put companion object { fun from(entity) } inside Response DTOs. Never create separate mapper files.
See code-patterns.md for the full pattern.
!! -- always use ?., ?:, or null check@Suppress -- fix the root causeEither.left() insteadVARCHAR in SQL -- use TEXTTable base class -- use UUIDTable