Kotlin context parameters (`context(...)`) for scoped dependencies, DSL scopes, and migrations from context receivers. Use when designing, reviewing, or refactoring Kotlin code that uses implicit contextual values.
Instalación
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Kotlin context parameters (`context(...)`) for scoped dependencies, DSL scopes, and migrations from context receivers. Use when designing, reviewing, or refactoring Kotlin code that uses implicit contextual values.
Kotlin Context Parameters
Quick start
Declare dependencies with context(name: Type) before a function or property.
Introduce values at boundaries with context(value) { ... } or from an existing implicit receiver such as with(value) { ... }.
Use named context parameters for services you call directly; use _ for marker/scope capabilities used only for resolution.
Prefer small, explicit contexts. Avoid having multiple same-typed values available at the same scope level.
Read references/context-parameters.md before writing examples or migration advice.
Workflow
Identify the contextual capability: service dependency, DSL/scope marker, typeclass-like evidence, or migration from context receivers.
Decide names: named parameter when code needs the value; _ plus bridge functions when the context should only unlock operations.
Add a boundary that supplies the context (context(...) {} or a wrapper accepting a context(Type) () -> A block).
Check restrictions: no constructor/class contexts, no context-property initializers/backing fields/delegation.
Compile-test syntax with the target Kotlin version.
Rules of thumb
Context resolution is by type at the call site, not by parameter name.
Context values come from in-scope context parameters and implicit receivers.
If two compatible values are available at the same scope level, expect ambiguity.
Do not present proposal-only features as available unless verified with the user's Kotlin version.
For contextual function references and explicit context arguments, use lambdas or compile-test first; support has lagged the proposal in tested Kotlin builds.
Output expectations
Show call sites, not just declarations.
Prefer examples that compile on the target Kotlin version, or clearly mark untested/proposal-only behavior.
References
Load references/context-parameters.md for examples, restrictions, migration notes, and test prompts.