-
Notifications
You must be signed in to change notification settings - Fork 0
Skills
Skills activate automatically based on context—no manual invocation needed.
Auto-activates when: User mentions "create feature", "new module", "add feature"
Complete Feature Generation Workflow:
- Detect PKG_PREFIX from feature/*/build.gradle.kts
- Find initKoin.kt path (contains startKoin)
- Find BaseAppNavHost.kt path (contains NavHost)
- Detect core module packages
- Analyze user prompt
- Generate Product Requirements Document
- Save to .claude/docs/{feature}/prd.txt
- ⏸️ Wait for user approval
- Break PRD into implementation tasks
- Assign tasks to agents (data, ui, integration)
- Save to .claude/docs/{feature}/tasks.md
- ⏸️ Wait for user approval
- 🔧 data-layer-agent (runs in parallel)
- Create models with @Serializable
- Create Ktor Resources (type-safe routes)
- Implement RemoteDataSource (interface + impl)
- Implement Repository (interface + impl)
- Validate build
- 🎨 ui-layer-agent (runs in parallel)
- Create UiModel (presentation models)
- Implement ViewModel with 4-state pattern
- Create Composable Screens with X-components
- Setup Navigation with type-safe routes
- Validate build
- 🔗 integration-agent (runs after data + ui)
- Create DI module with Koin
- Add to settings.gradle.kts
- Add dependency to composeApp
- Register in initKoin.kt
- Wire navigation in BaseAppNavHost.kt
- Generate living specification
- Validate full build
- Verify spec.md exists
- Remove prd.txt (ephemeral)
- Remove tasks.md (ephemeral)
- Remove task-*.md files (ephemeral)
Auto-activates when: User mentions "change feature", "modify feature", "update feature", "add to feature"
Spec-First Modification Workflow:
- Detect project structure
- Check for .claude/docs/{feature}/spec/*.md
- If missing: Generate spec using /generate-spec
- Load spec into context
- Parse spec for architecture patterns
- Identify data models, API contracts
- Understand state management
- Map navigation structure
- Determine affected layers (data/ui/integration)
- Load relevant architecture references
- Plan implementation approach
- Identify files to modify
- Apply changes following established patterns
- Maintain consistency with existing code
- Follow 10 critical rules
- Run incremental build
- Run ktlintFormat
- Fix any errors
- Regenerate spec from implementation
- Add changelog entry at top
- Preserve previous changelog entries
Auto-activates when: Working in feature/*/ui/ directories, creating Composables, mentions "UI", "screen", "component"
Design System Enforcement:
Ensures X-components are used instead of Material3, preventing design drift.
- Scaffold → XScaffold
- Button → XButton
- OutlinedButton → XOutlinedButton
- TextButton → XTextButton
- Text → XText
- TextField → XTextField
- OutlinedTextField → XOutlinedTextField
- Card → XCard
- Icon → XIcon
- IconButton → XIconButton
- Switch → XSwitch
- Checkbox → XCheckbox
- RadioButton → XRadioButton
- Divider → XDivider
- CircularProgressIndicator → XLoadingIndicator
Auto-activates when: User mentions "Swift bridge", "iOS integration", "native SDK"
Swift-to-Kotlin Integration Patterns:
Uses interface injection to integrate iOS-specific SDKs while maintaining Clean Architecture.
Pattern:
- Define Kotlin interface (commonMain)
- Implement in Kotlin (androidMain) - usually stub
- Implement in Swift (iosMain via expect/actual)
- Inject via Koin DI