Claude Skill

goga-cell-kotlin

Kotlin rules for implementing CODEMANIFEST contracts

LLM Mart · 0 points · 16 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download qarium-goga-goga_assets_skills_goga-cell-kotlin-f1257db.zip · 1 KB
qarium/goga 31 0 forks BSD-3-Clause Updated 7d ago
Part of qarium/goga — 72 skills

Install

skills CLI npx skills add https://github.com/qarium/goga/tree/1.2.x/goga/assets/skills/goga-cell-kotlin
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install qarium-goga@llmmart
Git git clone https://github.com/qarium/goga.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole qarium/goga collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

Kotlin: Contract Implementation Rules

Language skill for Kotlin.

Apply this specification within the context of the calling skill. Do not restate the content — use it for making decisions.

Invoked via the goga-lang-disp router.


Examples

Complete CODEMANIFEST example for Kotlin demonstrating all DSL constructs:

Imports:
  - Types:
      - UserModel
      - CacheConfig AS Config
    Usages:
      - caching
    From: path/to/cache_cell

Usages:
  conventions: .goga/usages/kotlin_conventions.md
  pattern: |
    Use data classes for models. Prefer immutable collections (List, Map) over mutable ones.
  testing: |
    Use JUnit 5. Each public method must have at least one test case.

Annotations: |
  Use `conventions` for code style.
  Use `testing` for test requirements.
  Use `caching` from Imports for cache invalidation patterns.

  Use `val` for all properties. Avoid `var` unless mutation is required by contract.

---

"calculateTotal(a: Int, b: Int) -> total: Int":
  location: calculator.kt
  annotations: |
    Calculate the sum of two integers.

    `a`: first operand
    `b`: second operand

    Use `pattern` for implementation.

"UserRepository(config: Config)":
  location: repository.kt
  annotations: |
    Repository for user data access with caching.

    `config`: repository configuration from `Config` type.

    Use `caching` from Imports for cache strategy.
    Use `conventions` for code style.
  properties:
    "tableName -> String": |
      Database table name for users.
    "cacheSize -> Int": |
      Maximum number of cached entries.
  methods:
    "findById(userId: String) -> user: UserModel?": |
      Find a user by ID.

      `userId`: unique user identifier
      `user`: found user or null

      Use `caching` from Imports for cache lookup.
    "deleteById(userId: String)": |
      Delete user by ID.

      `userId`: unique user identifier

"UserModel::AdminUser(userId: String)":
  location: admin.kt
  annotations: |
    Admin user extending UserModel with elevated permissions.

    `userId`: unique user identifier

    Use `caching` from Imports for permission cache.

->UserModel: {}

---

Author: Goga
CreatedAt: 22/05/26
Description: |
  Example CODEMANIFEST demonstrating all DSL constructs for Kotlin.

Cell

A cell is a package/module:

cell/
├── CODEMANIFEST
├── *.kt

Language Features

Facade: all public classes and top-level functions in the package define the facade. Private and internal declarations are not part of the contract.

Naming: camelCase for functions and properties, PascalCase for classes.

Constructors: Entity signature describes the primary constructor. Constructor parameters are the input data for obtaining an instance.

Nullability: T? — nullable, T — non-null. CODEMANIFEST represents these directly via T? and T.

Construct Mapping

Kotlin CODEMANIFEST Note
class / data class (public) Entity Primary constructor → Entity signature
Top-level fun Routine Public function at file level
val / var class property Property Type from declaration
Class method fun Method

Implementation

  • Public classes and functions
  • Use immutable types when possible

Signature Rules

Allowed:

String, Int, Double, Boolean
List<T>, Map<String, T>
T?

Forbidden:

Any
vararg
untyped collections

Files (goga)
  • SKILL.md 3.7 KB
    ---
    name: goga-cell-kotlin
    description: Kotlin rules for implementing CODEMANIFEST contracts
    ---
    # Kotlin: Contract Implementation Rules
    
    Language skill for Kotlin.
    
    Apply this specification within the context of the calling skill. Do not restate the content — use it
    for making decisions.
    
    Invoked via the `goga-lang-disp` router.
    
    ---
    
    ## Examples
    
    Complete CODEMANIFEST example for Kotlin demonstrating all DSL constructs:
    
    ```yaml
    Imports:
      - Types:
          - UserModel
          - CacheConfig AS Config
        Usages:
          - caching
        From: path/to/cache_cell
    
    Usages:
      conventions: .goga/usages/kotlin_conventions.md
      pattern: |
        Use data classes for models. Prefer immutable collections (List, Map) over mutable ones.
      testing: |
        Use JUnit 5. Each public method must have at least one test case.
    
    Annotations: |
      Use `conventions` for code style.
      Use `testing` for test requirements.
      Use `caching` from Imports for cache invalidation patterns.
    
      Use `val` for all properties. Avoid `var` unless mutation is required by contract.
    
    ---
    
    "calculateTotal(a: Int, b: Int) -> total: Int":
      location: calculator.kt
      annotations: |
        Calculate the sum of two integers.
    
        `a`: first operand
        `b`: second operand
    
        Use `pattern` for implementation.
    
    "UserRepository(config: Config)":
      location: repository.kt
      annotations: |
        Repository for user data access with caching.
    
        `config`: repository configuration from `Config` type.
    
        Use `caching` from Imports for cache strategy.
        Use `conventions` for code style.
      properties:
        "tableName -> String": |
          Database table name for users.
        "cacheSize -> Int": |
          Maximum number of cached entries.
      methods:
        "findById(userId: String) -> user: UserModel?": |
          Find a user by ID.
    
          `userId`: unique user identifier
          `user`: found user or null
    
          Use `caching` from Imports for cache lookup.
        "deleteById(userId: String)": |
          Delete user by ID.
    
          `userId`: unique user identifier
    
    "UserModel::AdminUser(userId: String)":
      location: admin.kt
      annotations: |
        Admin user extending UserModel with elevated permissions.
    
        `userId`: unique user identifier
    
        Use `caching` from Imports for permission cache.
    
    ->UserModel: {}
    
    ---
    
    Author: Goga
    CreatedAt: 22/05/26
    Description: |
      Example CODEMANIFEST demonstrating all DSL constructs for Kotlin.
    ```
    
    ## Cell
    
    A cell is a package/module:
    
    ```
    cell/
    ├── CODEMANIFEST
    ├── *.kt
    ```
    
    ## Language Features
    
    **Facade**: all `public` classes and top-level functions in the package define the facade.
    Private and `internal` declarations are not part of the contract.
    
    **Naming**: camelCase for functions and properties, PascalCase for classes.
    
    **Constructors**: Entity signature describes the primary constructor. Constructor parameters are the input data
    for obtaining an instance.
    
    **Nullability**: `T?` — nullable, `T` — non-null. CODEMANIFEST represents these directly via `T?` and `T`.
    
    ## Construct Mapping
    
    | Kotlin                          | CODEMANIFEST | Note                                   |
    |---------------------------------|--------------|----------------------------------------|
    | `class` / `data class` (public) | Entity       | Primary constructor → Entity signature |
    | Top-level `fun`                 | Routine      | Public function at file level          |
    | `val` / `var` class property    | Property     | Type from declaration                  |
    | Class method `fun`              | Method       |                                        |
    
    ## Implementation
    
    - Public classes and functions
    - Use immutable types when possible
    
    ## Signature Rules
    
    Allowed:
    ```
    String, Int, Double, Boolean
    List<T>, Map<String, T>
    T?
    ```
    
    Forbidden:
    ```
    Any
    vararg
    untyped collections
    ```
    
    ---
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related