-
Notifications
You must be signed in to change notification settings - Fork 0
Agents
Specialized agents invoked by skills or manually.
New to agents? See Getting Started for an introduction to how agents work.
Implements the data layer for KMP features.
Invoked by: creating-kmp-feature skill (Phase 3)
Generates:
- Domain models with
@Serializable - Ktor Resources (type-safe API routes)
- RemoteDataSource (interface + implementation)
- Repository (interface + implementation)
- Either error handling
See: data-layer-agent
Implements the UI layer for KMP features.
Invoked by: creating-kmp-feature skill (Phase 3)
Generates:
- UiModel (presentation models)
- ViewModel with 4-state pattern
- Composable Screens with X-components
- Navigation with type-safe routes
- setState { } for state updates
See: ui-layer-agent
Completes the 4 integration points and generates living specification.
Invoked by: creating-kmp-feature skill (Phase 3, after data + ui)
Completes 4 Integration Points:
- settings.gradle.kts - Include module
- composeApp/build.gradle.kts - Add dependency
- initKoin.kt - Register DI module
- BaseAppNavHost.kt - Wire navigation
See: integration-agent
Coordinates test generation across all layers.
Manual Invocation:
> Use test-orchestrator agent to generate complete test suite for the login featureWhat it does:
- Analyzes feature implementation
- Extracts models, DataSource, Repository, ViewModel, Screens
- Spawns 6 specialized test agents in parallel
- Ensures test consistency
Spawns:
-
test-fixtures- Generate model fixtures -
test-datasource- Generate DataSource tests -
test-repository- Generate Repository tests -
test-viewmodel- Generate ViewModel tests -
test-ui- Generate UI tests -
test-integration- Generate E2E tests
See: test-orchestrator
Reviews feature implementations against architecture rules.
Manual Invocation:
> Use code-reviewer agent to review the login featureWhat it validates:
10 Critical Rules:
- Interface + Impl pairs for DataSource/Repository
- Either for all fallible operations
- setState { } for state updates (never direct assignment)
- 4-state UI: Uninitialized/Loading/Success/Failed
- X-components only (no Material3)
- ImmutableList for collections
- Callback parameters for navigation
- Lowercase packages (no hyphens/underscores)
- @Serializable on all models
- Type-safe navigation routes
4 Integration Points:
- settings.gradle.kts includes module
- composeApp/build.gradle.kts has dependency
- initKoin.kt registers DI module
- BaseAppNavHost.kt wires navigation
See: code-reviewer
Back to Home | HOME