Skip to content
Ali Sadeghi edited this page Jan 6, 2026 · 11 revisions

Agents

Specialized agents invoked by skills or manually.

Feature Development Agents

data-layer-agent

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


ui-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


integration-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:

  1. settings.gradle.kts - Include module
  2. composeApp/build.gradle.kts - Add dependency
  3. initKoin.kt - Register DI module
  4. BaseAppNavHost.kt - Wire navigation

See: integration-agent


Testing Agents

test-orchestrator

Coordinates test generation across all layers.

Manual Invocation:

> Use test-orchestrator agent to generate complete test suite for the login feature

What it does:

  1. Analyzes feature implementation
  2. Extracts models, DataSource, Repository, ViewModel, Screens
  3. Spawns 6 specialized test agents in parallel
  4. 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


Code Quality Agents

code-reviewer

Reviews feature implementations against architecture rules.

Manual Invocation:

> Use code-reviewer agent to review the login feature

What it validates:

10 Critical Rules:

  1. Interface + Impl pairs for DataSource/Repository
  2. Either for all fallible operations
  3. setState { } for state updates (never direct assignment)
  4. 4-state UI: Uninitialized/Loading/Success/Failed
  5. X-components only (no Material3)
  6. ImmutableList for collections
  7. Callback parameters for navigation
  8. Lowercase packages (no hyphens/underscores)
  9. @Serializable on all models
  10. Type-safe navigation routes

4 Integration Points:

  1. settings.gradle.kts includes module
  2. composeApp/build.gradle.kts has dependency
  3. initKoin.kt registers DI module
  4. BaseAppNavHost.kt wires navigation

See: code-reviewer


Back to Home | Skills

Clone this wiki locally