From app-dev
Add new services to DIContainer, create protocol-based implementations, set up singletons or factories for Leavn app dependency injection
npx claudepluginhub willsigmon/sigstack --plugin app-devThis skill is limited to using the following tools:
Add new services to Leavn's DIContainer:
Generates design tokens/docs from CSS/Tailwind/styled-components codebases, audits visual consistency across 10 dimensions, detects AI slop in UI.
Records polished WebM UI demo videos of web apps using Playwright with cursor overlay, natural pacing, and three-phase scripting. Activates for demo, walkthrough, screen recording, or tutorial requests.
Delivers idiomatic Kotlin patterns for null safety, immutability, sealed classes, coroutines, Flows, extensions, DSL builders, and Gradle DSL. Use when writing, reviewing, refactoring, or designing Kotlin code.
Add new services to Leavn's DIContainer:
Create service protocol:
// Services/MyDomain/MyServiceProtocol.swift
public protocol MyServiceProtocol {
func doSomething() async throws -> Result
}
Create implementation:
// Services/MyDomain/MyServiceLive.swift
public final class MyServiceLive: MyServiceProtocol {
public init() { }
public func doSomething() async throws -> Result {
// Implementation
}
}
Register in DIContainer:
// For singletons (stateful services):
private lazy var _myService = MyServiceLive()
var myService: MyServiceProtocol {
_myService
}
// For factories (stateless services):
var myService: MyServiceProtocol {
MyServiceLive()
}
Use in ViewModels:
let service = DIContainer.shared.myService
Use this skill when: Creating new service, adding dependency, setting up DI, refactoring to protocol-oriented design