pluginagentmarketplace/custom-plugin-android · Archived

fundamentals

Master Kotlin syntax, OOP principles, SOLID practices, functional programming, and data structures.

First seen Jan 29, 2026

Installation

$ npx skills add pluginagentmarketplace/custom-plugin-android --skill fundamentals

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from pluginagentmarketplace/custom-plugin-android.

npx skills add pluginagentmarketplace/custom-plugin-android

Browse all from pluginagentmarketplace/custom-plugin-android

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 5
License LICENSE
Default branch main
Open issues 2
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version2.0.0

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,075 B
  • docs SUMMARY.md 119 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 5 installs

SKILL.md

Kotlin Fundamentals Skill

Quick Start

// Variables
val immutable = "constant"
var mutable = "variable"

// Functions
fun greet(name: String): String = "Hello, $name"

// Classes
data class User(val id: Int, val name: String)

// Null safety
val user: User? = null
user?.name // safe call
user?.name ?: "Unknown" // elvis operator

Key Concepts

Null Safety

  • ? for nullable types
  • !! for non-null assertion (avoid)
  • ?: elvis operator for defaults
  • ?.let { } for null-safe blocks

Extension Functions

fun String.isValidEmail(): Boolean = contains("@")
val valid = "[email protected]".isValidEmail()

Scope Functions

  • apply: Configure object
  • let: Transform
  • run: Execute with context
  • with: Receiver operations
  • also: Side effects

Coroutines

viewModelScope.launch {
    val data = withContext(Dispatchers.IO) {
        fetchData()
    }
}

SOLID Principles Summary

  1. SRP: One responsibility per class
  2. OCP: Open for extension, closed for modification
  3. LSP: Substitutable subtypes
  4. ISP: Specific interfaces
  5. DIP: Depend on abstractions

Learning Resources