Agent skill
android-architecture
Guides Android development with MVI state management, repository pattern, and clean architecture. Activates when implementing Android features, ViewModels, repositories, or data layers.
Install this agent skill to your Project
npx add-skill https://github.com/ggz23/android-interview-plugin/tree/main/skills/android-architecture
SKILL.md
Android Architecture Guidelines
When implementing Android features, follow these patterns:
State Management (MVI)
- Use single immutable state object per screen
- State class should contain: data, isLoading, error, and any UI-relevant fields
- Actions represent user intents (sealed interface)
- Events for one-time effects like navigation or toasts (use Channel)
Repository Pattern
- Interface in domain layer, implementation in data layer
- Repository is the single source of truth
- Use suspend functions for one-shot operations (API calls)
- Use Flow only when observing changes over time (Room, WebSocket)
ViewModel
- Expose state via StateFlow
- Handle actions via onAction() method
- Use viewModelScope for coroutines
- Never expose MutableStateFlow directly
Data Layer
- DTOs for API responses (@Serializable)
- Entities for Room database (@Entity)
- Domain models for business logic
- Mappers: toEntity(), toDomain(), toDto()
Dependency Injection
- Use Hilt for DI
- Provide APIs via @Provides in NetworkModule
- Provide DAOs via @Provides in DatabaseModule
- Bind repositories with @Binds
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
interview-mode
Ensures proper requirements clarification before implementing features. Activates when asked to implement, build, create, or add features during what appears to be an interview or timed coding exercise.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
obsidian-vault
Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
scaffold-exercises
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
git-guardrails-claude-code
Set up Claude Code hooks to block dangerous git commands (push, reset --hard, clean, branch -D, etc.) before they execute. Use when user wants to prevent destructive git operations, add git safety hooks, or block git push/reset in Claude Code.
Didn't find tool you were looking for?