the signals and their derived score are provisional and subject to change.
validate manually before sharing.
aca4009b6e767907eecb5c96989620d0ad958d1a7dae605644242 weeks agoClaude-Session: https://claude.ai/code/session_01XATQLbtRgFGN5N2bEVWx8205b54ece3e762 weeks agoClaude-Session: https://claude.ai/code/session_01XATQLbtRgFGN5N2bEVWx822de194fe11be1 month agoClaude-Session: https://claude.ai/code/session_01XATQLbtRgFGN5N2bEVWx82f8674a4d48071 month agoClaude-Session: https://claude.ai/code/session_01LnWeHimjFP5RHhF5tnCNm8f0108dd8ed061 month agoClaude-Session: https://claude.ai/code/session_01RZD33TcnTkW4RMUiknb5mne5b81616ecc43 months agoCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>---
name: unit-testing
description: Guidelines, patterns, and best practices for writing Kotlin unit tests for ViewModels, Repositories, and Utilities in the Flow Android project.
---
# Kotlin Unit Testing Guidelines & Best Practices for Flow
This skill outlines the standards and conventions for writing unit tests in the Flow codebase (`io.github.aedev.flow`).
## 1. Naming Conventions
### Test Class Naming
- Test class names MUST mirror the target class with a `Test` suffix.
- Example: `LikedVideosVie# Working with Flow as an AI agent
Flow (`io.github.aedev.flow`) is an Android music/video app written in Kotlin with Jetpack Compose, Hilt, and Media3/ExoPlayer. It plays YouTube content via a native InnerTube client with a NewPipe-based fallback extraction path, supports local media playback, offline downloads, casting, lyrics, a device-to-device sync feature, and an on-device recommendation engine (FlowNeuroEngine). It follows Material 3 design guidelines closely.
Product flavors: `github` (default, in.gitignoreclaude-code.claude/