复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
Then, install the skills:
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
/plugin marketplace add jeffallan/claude-skills
Then, install the skills:
/plugin install fullstack-dev-skills@jeffallan
For all installation methods and first steps, see the Quick Start Guide.
Full documentation: jeffallan.github.io/claude-skills
See Skills Guide for the full list, decision trees, and workflow combinations.
Skills activate automatically based on your request:
# Backend Development
"Implement JWT authentication in my NestJS API"
→ Activates: NestJS Expert → Loads: references/authentication.md
# Frontend Development
"Build a React component with Server Components"
→ Activates: React Expert → Loads: references/server-components.md
Complex tasks combine multiple skills:
Feature Development: Feature Forge → Architecture Designer → Fullstack Guardian → Test Master → DevOps Engineer
Bug Investigation: Debugging Wizard → Framework Expert → Test Master → Code Reviewer
Security Hardening: Secure Code Guardian → Security Reviewer → Test Master
Surface and validate Claude's hidden assumptions about your project with /common-ground. See the Common Ground Guide for full documentation.
The 9 workflow commands manage epics from discovery through retrospectives, integrating with Jira and Confluence. See Workflow Commands Reference for the full command reference and lifecycle diagrams.
[!TIP] Setup: Workflow commands require an Atlassian MCP server. See the Atlassian MCP Setup Guide.
/common-groundSee Contributing for guidelines on adding skills, writing references, and submitting pull requests.
See Changelog for full version history and release notes.
MIT License - See LICENSE file for details.
Built by jeffallan
Principal Consultant at Synergetic Solutions
Fullstack engineering, security engineering, compliance, and technical due diligence.
Built for Claude Code | 9 Workflows | 366 Reference Files | 66 Skills
name: kotlin-specialist
description: 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. Invoke for Flow API, KMP projects, Ktor servers, DSL design, sealed classes, suspend function, Android Kotlin, Kotlin Multiplatform.
license: MIT
metadata:
author: https://github.com/Jeffallan
version: "1.1.0"
domain: language
triggers: Kotlin, coroutines, Kotlin Multiplatform, KMP, Jetpack Compose, Ktor, Flow, Android Kotlin, suspend function
role: specialist
scope: implementation
output-format: code
related-skills: test-masterSenior Kotlin developer with deep expertise in coroutines, Kotlin Multiplatform (KMP), and modern Kotlin 1.9+ patterns.
detekt and ktlint; verify coroutine cancellation handling and null safety
runTest, Turbine)Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Coroutines & Flow | references/coroutines-flow.md | Async operations, structured concurrency, Flow API |
| Multiplatform | references/multiplatform-kmp.md | Shared code, expect/actual, platform setup |
| Android & Compose | references/android-compose.md | Jetpack Compose, ViewModel, Material3, navigation |
| Ktor Server | references/ktor-server.md | Routing, plugins, authentication, serialization |
| DSL & Idioms | references/dsl-idioms.md | Type-safe builders, scope functions, delegates |
sealed class UiState<out T> {
data object Loading : UiState<Nothing>()
data class Success<T>(val data: T) : UiState<T>()
data class Error(val message: String, val cause: Throwable? = null) : UiState<Nothing>()
}
// Consume exhaustively — compiler enforces all branches
fun render(state: UiState<User>) = when (state) {
is UiState.Loading -> showSpinner()
is UiState.Success -> showUser(state.data)
is UiState.Error -> showError(state.message)
}
// Use structured concurrency — never GlobalScope
class UserRepository(private val api: UserApi, private val scope: CoroutineScope) {
fun userUpdates(id: String): Flow<UiState<User>> = flow {
emit(UiState.Loading)
try {
emit(UiState.Success(api.fetchUser(id)))
} catch (e: IOException) {
emit(UiState.Error("Network error", e))
}
}.flowOn(Dispatchers.IO)
private val _user = MutableStateFlow<UiState<User>>(UiState.Loading)
val user: StateFlow<UiState<User>> = _user.asStateFlow()
}
// Anti-pattern — blocks the calling thread; avoid in production
// runBlocking { api.fetchUser(id) }
// Prefer safe calls and elvis operator
val displayName = user?.profile?.name ?: "Anonymous"
// Use let to scope nullable operations
user?.email?.let { email -> sendNotification(email) }
// !! only when the null case is a true contract violation and documented
val config = requireNotNull(System.getenv("APP_CONFIG")) { "APP_CONFIG must be set" }
// apply — configure an object, returns receiver
val request = HttpRequest().apply {
url = "https://api.example.com/users"
headers["Authorization"] = "Bearer $token"
}
// let — transform nullable / introduce a local scope
val length = name?.let { it.trim().length } ?: 0
// also — side-effects without changing the chain
val user = createUser(form).also { logger.info("Created user ${it.id}") }
?, ?., ?:, !! only when contract guarantees non-null)sealed class for state modelingsuspend functions for async operationsFlow for reactive streamslet, run, apply, also, with)detekt and ktlint before committingrunBlocking in production code!! without documented justificationGlobalScope.launch (use structured concurrency)When implementing Kotlin features, provide:
Kotlin 1.9+, Coroutines, Flow API, StateFlow/SharedFlow, Kotlin Multiplatform, Jetpack Compose, Ktor, Arrow.kt, kotlinx.serialization, Detekt, ktlint, Gradle Kotlin DSL, JUnit 5, MockK, Turbine
评论 (0)
暂无评论,成为第一个评论者吧!