android-camera
Guidance for implementing and reviewing Android camera features in VTuber Camera.
When & Why to Use This Skill
This Claude skill provides expert guidance for implementing and reviewing Android camera features within the VTuber Camera project. It leverages modern Android development standards, including Kotlin, Jetpack Compose, and CameraX, to ensure high-performance, maintainable, and lifecycle-aware camera integrations.
Use Cases
- CameraX Integration: Implementing core camera functionalities such as preview, capture, lens switching, and zoom using the CameraX API.
- Modern UI Patterns: Developing camera-related user interfaces using Jetpack Compose, focusing on state hoisting and efficient UI updates.
- Architecture & DI: Structuring camera logic with Hilt dependency injection and StateFlow-driven MVVM patterns for better testability and scalability.
- Lifecycle & Permission Handling: Managing complex Android permissions and MediaStore storage while ensuring camera resources are correctly handled during lifecycle changes.
| name | android-camera |
|---|---|
| description | Guidance for implementing and reviewing Android camera features in VTuber Camera. |
Skill Instructions
Focus Areas
- Kotlin + Jetpack Compose UI patterns for camera flows
- CameraX integration (preview, capture, lens switching, zoom, flash)
- Hilt DI, repository pattern, and StateFlow-driven MVVM
- Android permissions, storage (MediaStore), and lifecycle handling
Code Expectations
- Prefer Kotlin idioms (sealed classes, data classes, coroutines/Flow)
- Use Compose best practices (state hoisting, remember, derivedStateOf)
- Keep camera-related logic in
data/repositories and expose ViewModel state - Add new UI in
ui/componentsorui/screenswith string resources - Keep performance in mind (avoid heavy work on main thread)
Testing & Quality
- Favor unit tests for ViewModels and repositories when feasible
- Follow existing Gradle tasks and VSCode task definitions for tests
- Update documentation in
docs/when adding developer workflows