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 skills add umuterturk/kotlin-renamer --skill claude-codegit clone --depth 1 https://github.com/umuterturk/kotlin-renamerWrote 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/skills/umuterturk/kotlin-renamer/claude-code)<a href="https://agentmods.dev/skills/umuterturk/kotlin-renamer/claude-code"><img src="https://agentmods.dev/badge/skills/umuterturk/kotlin-renamer/claude-code/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/umuterturk/kotlin-renamer/claude-code"><img src="https://agentmods.dev/badge/skills/umuterturk/kotlin-renamer/claude-code.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00063 | $0.01443 |
| Opus 5 | $0.00032 | $0.00722 |
| Sonnet 5 | $0.00013 | $0.00289 |
| Haiku 4.5 | $0.00006 | $0.00144 |
Grade B, and why
kr scanned grade B with 2 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 8d 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.
Asks for rootmediumPrivilege escalation
A mod that escalates privileges can change anything on the machine, not only the project.
allowed-tools: Bash(kr *), Bash(which kr), Bash(brew install *), Bash(brew tap *), Bash(curl *), Bash(tar *), Bash(sudo mv *), Bash(chmod *) Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
allowed-tools: Bash(kr *), Bash(which kr), Bash(brew install *), Bash(brew tap *), Bash(curl *), Bash(tar *), Bash(sudo mv *), Bash(chmod *) How it starts
The opening of the file, as written. The whole thing — 148 lines — stays where its author put it; the contents beside it link to each section on GitHub.
kr — Kotlin Renamer & Analyzer
Always use kr for renaming in Kotlin files or moving Kotlin files to other packages.
Use kr analysis commands to understand project structure before reading files.
kr uses word-boundary matching — renaming User never touches UserService.
Pre-flight: ensure kr is installed
Before running any kr command, check that it is available:
which kr
If kr is not found, install it:
# macOS / Linux (preferred)
brew install umuterturk/tap/kr
# OR download binary (macOS Apple Silicon)
curl -L https://github.com/umuterturk/kotlin-renamer/releases/latest/download/kr_darwin_arm64.tar.gz | tar xz
sudo mv kr /usr/local/bin/
# OR download binary (macOS Intel)
curl -L https://github.com/umuterturk/kotlin-renamer/releases/latest/download/kr_darwin_amd64.tar.gz | tar xz
sudo mv kr /usr/local/bin/
# OR download binary (Linux amd64)
curl -L https://github.com/umuterturk/kotlin-renamer/releases/latest/download/kr_linux_amd64.tar.gz | tar xz
sudo mv kr /usr/local/bin/
Rename Capabilities
| Type | What it renames | Example |
|---|---|---|
class / interface / object |
Declarations, usages, imports, generics, casts, annotations | kr rename --type class User UserAccount --project ./src |
method |
fun declaration, call sites, ::methodRef |
kr rename --type method calculateTotal computeTotal --project ./src |
property |
val/var declaration, .prop access, assignments |
kr rename --type property userId accountId --file UserService.kt |
parameter |
Signature + body only, never leaks outside the function | kr rename --type parameter userId accountId --file UserService.kt |
move |
Package decl, all imports project-wide, file location on disk | kr move UserService.kt com.example.services --project . |
Analysis Capabilities
| Command | What it does | Example |
|---|---|---|
beans |
Scan for Spring beans (@Service, @Repository, @Controller, @Component, @Bean) |
kr beans --project ./src |
find |
Find symbol definition, usages, and implementations | kr find --type class UserService --project ./src |
outline |
Structural summary (classes, methods, properties with signatures) | kr outline --project ./src |
deps |
Import dependencies (what a file imports, what imports it) | kr deps --file UserService.kt --project ./src |
hierarchy |
Type inheritance tree | kr hierarchy BaseRepository --project ./src |
unused |
Unused classes, methods, and properties | kr unused --project ./src |
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.
- 8d ago First seen · 148 lines · 63 tokens per session scan B 0b0d16199941
kr is a skill published in the GitHub repository umuterturk/kotlin-renamer (5 stars, last pushed 6mo ago), licensed MIT. It adds 63 tokens to every session and 1,443 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it B with 2 findings (asks for root, makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
kotlin-specialist
Provides idiomatic Kotlin implementation patterns including coroutine concurrency, Flow stream handling, multiplatform architecture, Compose UI construction, Ktor server setup, and type-safe DSL design. Use when building Kotlin applications requiring coroutines, multiplatform development, or Android with Compose.…
swiftui-dev
Use this skill for SwiftUI development, architecture, structure, performance, and Apple native app profiling. It combines.
axiom-concurrency
Use when writing ANY async code, actors, threads, or seeing ANY concurrency error. Covers Swift 6 concurrency, @MainActor, Sendable, data races, async/await patterns.
developing-genkit-dart
Generates code and provides documentation for the Genkit Dart SDK. Use when the user asks to build AI agents in Dart, use Genkit flows, or integrate LLMs into Dart/Flutter applications.
wax
Swift framework guidance for Wax on-device memory/RAG. Use when writing Swift code with the public Memory facade, experimental PhotoMemory / VideoMemory, BuiltInMultimodalEmbeddings, embedding providers, retrieval modes, or hybrid search. For agent operators using the Wax MCP server tools, use the separate wax-mcp…
mobiai-kmp
Use when working on a Kotlin Multiplatform project — shared code, expect/actual declarations, platform-specific implementations, building and testing.