-
Notifications
You must be signed in to change notification settings - Fork 0
Agents
Specialized sub-agents invoked by skills or commands to handle focused tasks.
New to agents? See Getting Started for an introduction to how agents work.
| Agent | Purpose | Invoked By |
|---|---|---|
data-layer-agent |
Data layer (models, DataSource, Repository) | creating-kmp-feature |
ui-layer-agent |
UI layer (UiModel, ViewModel, Screens) | creating-kmp-feature |
integration-agent |
4 integration points + spec generation | creating-kmp-feature |
test-orchestrator |
Coordinates test generation | /feature-test |
test-fixtures |
Generates domain + UI fixtures | test-orchestrator |
test-datasource |
MockEngine DataSource tests | test-orchestrator |
test-repository |
Mokkery Repository tests | test-orchestrator |
test-viewmodel |
Turbine ViewModel tests | test-orchestrator |
test-ui |
Compose UI tests (ScreenRoot) | test-orchestrator |
test-integration |
E2E integration tests | test-orchestrator |
code-reviewer |
Architecture compliance review | /feature-review |
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.
Invoked via: /feature-test {featurename} command
What it does:
- Analyzes feature implementation
- Extracts models, DataSource, Repository, ViewModel, Screens
- Spawns 6 specialized test agents in parallel
- Runs tests and generates coverage report
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 | /feature-test command
Reviews feature implementations against architecture rules.
Invoked via: /feature-review {featurename} command
What 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 | /feature-review command
Back to Home | HOME