jvm-server-frameworks

jvm-server-frameworks is a skill for Claude Code, Codex from jxoesneon/Ciel. It costs 24 tokens per session (523 once invoked), scanned A, original, Apache-2.0.

A development guide for building Kotlin server applications with Ktor and storing data with Exposed, a Kotlin database library. It also defines database migrations, transactions, validation, authentication, and JSON handling.

In plain words
What is it for?
Use it to build Ktor APIs, define routes and services, query databases, run Flyway migrations, manage connection pools, and handle structured JSON data.
Why use it?
It provides consistent patterns for routing requests, safely changing database schemas, managing transactions, and organizing server-side code.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to build Ktor APIs, define routes and services, query databases, run Flyway migrations, manage connection pools, and handle structured JSON data.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/jxoesneon/ciel/jvm-server-frameworks
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add jxoesneon/Ciel --skill jvm-server-frameworks
Clone the repo
git clone --depth 1 https://github.com/jxoesneon/Ciel

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for jvm-server-frameworks

README.md
[![agentmods](https://agentmods.dev/badge/skills/jxoesneon/ciel/jvm-server-frameworks.svg)](https://agentmods.dev/skills/jxoesneon/ciel/jvm-server-frameworks)
Your own site
<a href="https://agentmods.dev/skills/jxoesneon/ciel/jvm-server-frameworks"><img src="https://agentmods.dev/badge/skills/jxoesneon/ciel/jvm-server-frameworks.svg" alt="Measured on agentmods" height="20"></a>
Per session 24 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 523 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00024 $0.00523
Opus 5 $0.00012 $0.00262
Sonnet 5 $0.00005 $0.00105
Haiku 4.5 $0.00002 $0.00052

Measured 4d ago against content hash 5b3075c9d9f7, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

jvm-server-frameworks scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/jvm-server-frameworks/SKILL.md · 52 lines

What it actually says

CIEL ADAPTATION: JVM Server Frameworks (Ktor & Exposed)

This skill formalizes the use of lightweight, DSL-driven frameworks on the JVM. It focuses on the Ktor + Exposed + Flyway stack.

Ktor Server Standards

  1. Plugin Discipline: Install ContentNegotiation, Authentication, and StatusPages in the central module.
  2. Routing DSL: Group routes by resource (/users, /orders). Extract logic to Services injected via Koin.
  3. Validation: Use require() blocks at the route boundary for fail-fast input checking.
  4. Serialization: Standardize on kotlinx.serialization with custom serializers for Instant.

Exposed ORM (Persistence)

  • Transaction Safety: All DB operations MUST run inside newSuspendedTransaction.
  • DSL vs DAO:
    • Use DSL style for complex joins and aggregations.
    • Use DAO style for entity lifecycle and simple CRUD.
  • JSONB: Use the jsonb column pattern with kotlinx.serialization for unstructured metadata.

Database Lifecycle

  • Migrations: Mandate Flyway for all schema changes. Versioned SQL scripts only.
  • Connection Pooling: Use HikariCP with TRANSACTION_READ_COMMITTED isolation.

Anti-Patterns

  • Implicit Nulls: Allowing explicitNulls = true in serialization (leads to large, sparse JSON).
  • Blocking Transactions: Running long-running I/O or network calls inside a transaction block.
  • Manual Table Creation: Using SchemaUtils.create in production instead of Flyway.
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 52 lines · 24 tokens per session scan A 5b3075c9d9f7

Subscribe to this mod's changes

jvm-server-frameworks is a skill published in the GitHub repository jxoesneon/Ciel (1 stars, last pushed today), licensed Apache-2.0. It adds 24 tokens to every session and 523 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.

Related

Other skills, from other repositories

backend-patterns

Backend architecture patterns, API design, database optimization, and server-side best practices for Node.js, Express, and Next.js API routes.

Kacper0199/Opencode-Ultrathinker · 31 tokens

supabase-cli

This skill should be used when user asks to "use supabase CLI", "supabase init", "supabase start", "run migrations", "deploy edge functions", "manage Supabase project", or works with the supabase command-line tool for local development and project management.

fcakyon/claude-codex-settings · 60 tokens

supabase-js

This skill should be used when user asks to "use supabase-js", "query Supabase database", "supabase auth", "supabase storage", "supabase realtime", "supabase edge functions", or works with the @supabase/supabase-js JavaScript/TypeScript SDK.

fcakyon/claude-codex-settings · 64 tokens

notion-tool

Notion integration tool for searching, reading, creating, and updating pages and databases via the API. Use when: editing Notion pages, adding database rows, or searching a workspace.

xuiltul/animaworks · 41 tokens

neo4j-getting-started-skill

Orchestrates zero-to-running-app in 8 stages — prerequisites → context → provision → model → load → explore → query → build. Each stage reads its own reference file. Supports HITL and fully autonomous operation. Use when starting a new Neo4j project from scratch, provisioning Aura, generating synthetic data, building…

neo4j-contrib/neo4j-skills · 157 tokens

neo4j-graphql-skill

Build and configure a GraphQL API backed by Neo4j using @neo4j/graphql v7 (current) or v5 (LTS). Covers Neo4jGraphQL constructor, getSchema(), assertIndexesAndConstraints(), type definitions with @node, @relationship (IN/OUT/UNDIRECTED), @cypher for custom resolvers, @authorization/@authentication for JWT/JWKS…

neo4j-contrib/neo4j-skills · 169 tokens