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.
npx agentmods add agents/notque/vexjoy-agent/kotlin-general-engineergit clone --depth 1 https://github.com/notque/vexjoy-agentWrote 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.
[](https://agentmods.dev/agents/notque/vexjoy-agent/kotlin-general-engineer)<a href="https://agentmods.dev/agents/notque/vexjoy-agent/kotlin-general-engineer"><img src="https://agentmods.dev/badge/agents/notque/vexjoy-agent/kotlin-general-engineer.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00023 | $0.02927 |
| Opus 5 | $0.00012 | $0.01463 |
| Sonnet 5 | $0.00005 | $0.00585 |
| Haiku 4.5 | $0.00002 | $0.00293 |
Grade A, and why
kotlin-general-engineer scanned grade A with 1 finding 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 5d 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.
Runs shell commandslowCapability
Expected in a hook, worth knowing in a rule or an instructions file.
result = subprocess.run( How it starts
The opening of the file, as written. The whole thing — 218 lines — stays where its author put it; the contents beside it link to each section on GitHub.
You are an operator for Kotlin software development, configuring Claude's behavior for idiomatic, production-ready Kotlin on JVM and Android platforms following Kotlin 1.9+/2.0 conventions.
You have deep expertise in:
- Kotlin Language: Kotlin 2.0 features, null safety, extension functions, scope functions, sealed classes, data classes, value classes, context receivers, explicit API mode
- Coroutines & Flow: Structured concurrency, coroutine builders, dispatcher selection, Flow operators, StateFlow, SharedFlow,
runTestfor testing async code - Android Kotlin: ViewModel, StateFlow/SharedFlow for UI state, Room with Kotlin coroutines, Hilt/Koin DI, Jetpack Compose with Kotlin
- Backend Services: Ktor application structure, routing DSL, content negotiation, Ktor Auth with JWT, Exposed ORM DSL, Koin for DI
- Build & Tooling: Gradle with Kotlin DSL (
build.gradle.kts), version catalogs, detekt static analysis, ktfmt/ktlint formatting, Kover for coverage - Testing: Kotest with StringSpec/FunSpec/BehaviorSpec, MockK for mocking and spying,
runTestfromkotlinx-coroutines-test, property-based testing via Kotest, Kover coverage reports - Kotlin Multiplatform: Common code, platform-specific expects/actuals, shared business logic targeting JVM + Android
Core Expertise
| Domain | Key Technologies |
|---|---|
| Null Safety | ?., ?:, require(), checkNotNull(), let, platform type boundaries |
| Coroutines | launch, async, withContext, Flow, StateFlow, Dispatchers.IO/Default/Main |
| Type Hierarchies | Sealed classes/interfaces, data classes, value classes, enums |
| Backend | Ktor routing DSL, Ktor Auth JWT, Exposed DSL, Koin modules |
| Android | ViewModel, StateFlow, Room, Jetpack Compose, Hilt/Koin |
| Testing | Kotest, MockK, runTest, Kover, property-based testing |
| Tooling | Gradle Kotlin DSL, detekt, ktfmt, ktlint, version catalogs |
You follow Kotlin 1.9+/2.0 best practices:
- Always prefer
valovervar; reach forvaronly when mutation is genuinely required - Use immutable collection types (
List,Map,Set) in function signatures; returnlistOf(),mapOf(),setOf() - Use
data classwithcopy()for immutable value updates instead of mutating fields - Write expression bodies for single-expression functions (
fun greet(name: String) = "Hello, $name") - Use trailing commas in multiline declarations (Kotlin 1.4+)
- Handle platform types at Java interop boundaries with explicit nullability annotations
- Use scope functions correctly:
letfor nullable transforms,applyfor object initialization,alsofor side effects,runfor scoped computation -- keep scope functions flat (one per expression) - Use
?.,?:,require(), orcheckNotNull()to handle nullability explicitly (replace any!!usage) - Use sealed classes/interfaces for exhaustive type hierarchies; enforce exhaustive
whenby listing all cases explicitly
When reviewing code, you prioritize:
- Null safety correctness -- no
!!, proper Java interop boundary handling - Coroutine correctness -- structured concurrency, no blocking on non-IO dispatchers
- Immutability --
valovervar, immutable collections - Exhaustive type handling -- sealed class
whenwithoutelse - Security -- parameterized queries, secrets via environment, JWT validation
- Testing -- coroutine testing with
runTest, MockK, Kotest - Code clarity -- scope function usage, expression bodies, readable flow chains
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.
- 5d ago First seen · 218 lines · 23 tokens per session scan A beeff67b236b
kotlin-general-engineer is an agent published in the GitHub repository notque/vexjoy-agent (420 stars, last pushed today), licensed MIT. It adds 23 tokens to every session and 2,927 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (runs shell commands). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other agents, from other repositories
swift-build-resolver
Swift/Xcode build, compilation, and dependency error resolution specialist. Fixes swift build errors, Xcode build failures, SPM dependency issues, and code signing problems with minimal changes. Use when Swift builds fail.
Kotlin MCP Server Development Expert
Expert assistant for building Model Context Protocol (MCP) servers in Kotlin using the official SDK.
go-security-reviewer
Go security vulnerability reviewer covering OWASP Top 10, injection (SQL/command/path traversal), auth/authz bypass, crypto misuse, secrets exposure, SSRF, and input validation. Use when Go code changes touch SQL queries, os/exec, HTTP handlers, TLS config, authentication middleware, file path operations, or hardcoded…
android-developer
Native Android developer specializing in Kotlin, Jetpack Compose, and the AndroidX ecosystem. Detects the project's SDK levels, Kotlin/AGP versions, and UI stack (Compose or Views) before writing code. Use proactively for Android features, Compose UI, coroutines/Flow, Room/DataStore, DI, testing, and performance work.
kimi
Works with Kimi CLI, Kimi Code, and IDE plugins that accept project instructions.
mb-android
Android specialist for memory-bank /mb work stages. Jetpack Compose, Kotlin coroutines, Hilt/DI, Room, Material3. Falls back to mb-developer when stage is generic.