kotlin-multiplatform-kotlin-rpc
Installation
SKILL.md
Pre-implementation check (run before writing any :data layer code)
grep -r "RemoteService\|@Rpc\|withRpc\|KtorRPCClient\|rpcClient\|\.rpc(" \
<project_root>/*/src --include="*.kt" -l
If files match → kRPC is already wired in this project. Before adding any safeRequest
or HttpClient call to the Kotlin backend:
- Identify which service interface owns the operation (check
shared/rpc/or equivalent) - If the operation is already exposed on an RPC service → call it through the existing RPC client; do not add a parallel HTTP call
- If the operation is not yet on any service interface → extend the existing service interface with a new method; do not create a second transport
If nothing matches → kRPC is not in use. Decide: is this a Kotlin-to-Kotlin boundary?
If yes and both sides are controlled, consider kRPC before defaulting to REST. If the backend
is third-party or non-Kotlin, use kotlin-multiplatform-network-layer.