ワンクリックで
android-architecture
Use when implementing MVVM, clean architecture, dependency injection with Hilt, or structuring Android app layers.
メニュー
Use when implementing MVVM, clean architecture, dependency injection with Hilt, or structuring Android app layers.
"Multi-perspective academic paper review with dynamic reviewer personas. Simulates 5 independent reviewers (EIC + 3 peer reviewers + Devil's Advocate) with field-specific expertise. Supports full review, re-review (verification), quick assessment, methodology focus, Socratic guided, and calibration modes. Triggers on: review paper, peer review, manuscript review, referee report, review my paper, critique paper, simulate review, editorial review, calibrate reviewer, reviewer calibration, measure reviewer accuracy."
"12-agent academic paper writing pipeline. 10 modes (full/plan/outline/revision/revision-coach/abstract/lit-review/format-convert/citation-check/disclosure). 6 paper types, 5 citation formats, bilingual abstracts, LaTeX/DOCX-via-Pandoc/PDF output. Style Calibration + Writing Quality Check + Anti-Patterns with IRON RULE markers. Triggers: write paper, academic paper, guide my paper, parse reviews, AI disclosure, 寫論文, 學術論文, 引導我寫論文, 審查意見."
"Orchestrator for the full academic research pipeline: research -> write -> integrity check -> review -> revise -> re-review -> re-revise -> final integrity check -> finalize. Coordinates deep-research, academic-paper, and academic-paper-reviewer into a seamless 10-stage workflow with mandatory integrity verification, two-stage peer review, and reproducible quality gates. Triggers on: academic pipeline, research to paper, full paper workflow, paper pipeline, end-to-end paper, research-to-publication, complete paper workflow."
Adaptive Mode Mejorado - Orquestacin inteligente con DAG dinmico, feedback loops automticos y rollback inteligente. Coordina mltiples agentes con dependencias reales, permite ciclos de retroalimentacin (QA DEV QA) y ejecuta rollback automtico ante fallos crticos.
Trigger: enforce norms, learn norms, validate documentation placement, check adaptive rules, run norm enforcer, update learned norms. Autonomous norm enforcement and learning system with 5 self-healing layers.
Vercel AI SDK 5 patterns: streaming, AI objects, tools, messages. Trigger: "AI SDK", "AI SDK 5", "streamText", "generateText", "AI provider".
| name | android-architecture |
| user-invocable | false |
| description | Use when implementing MVVM, clean architecture, dependency injection with Hilt, or structuring Android app layers. |
| allowed-tools | ["Read","Write","Edit","Bash","Grep","Glob"] |
| metadata | {"source":"GV-native"} |
Modern Android architecture patterns following Google's recommended practices.
Model-View-ViewModel separates UI from business logic:
// UI State
data class UserUiState(
val user: User? = null,
val isLoading: Boolean = false,
val error: String? = null
)
// ViewModel
class UserViewModel(
private val userRepository: UserRepository
) : ViewModel() {
private val _uiState = MutableStateFlow(UserUiState())
val uiState: StateFlow<UserUiState> = _uiState.asStateFlow()
fun loadUser(userId: String) {
viewModelScope.launch {
_uiState.update { it.copy(isLoading = true, error = null) }
userRepository.getUser(userId)
.onSuccess { user ->
_uiState.update { it.copy(user = user, isLoading = false) }
}
.onFailure { error ->
_uiState.update { it.copy(error = error.message, isLoading = false) }
}
}
}
}
// Composable
@Composable
fun UserScreen(viewModel: UserViewModel = hiltViewModel()) {
val uiState by viewModel.uiState.collectAsStateWithLifecycle()
when {
uiState.isLoading -> LoadingIndicator()
uiState.error != null -> ErrorMessage(uiState.error!!)
uiState.user != null -> UserContent(uiState.user!!)
}
}
app/
data/
local/ # Room database, DataStore
dao/
entities/
remote/ # Retrofit, network
api/
dto/
repository/ # Repository implementations
domain/
model/ # Domain models
repository/ # Repository interfaces
usecase/ # Business logic
presentation/
ui/ # Composables
viewmodel/ # ViewModels
// Domain layer - interface
interface UserRepository {
fun getUser(id: String): Flow<User>
suspend fun saveUser(user: User): Result<Unit>
suspend fun deleteUser(id: String): Result<Unit>
}
// Data layer - implementation
class UserRepositoryImpl(
private val userApi: UserApi,
private val userDao: UserDao
) : UserRepository {
override fun getUser(id: String): Flow<User> = flow {
// Emit cached data first
userDao.getUser(id)?.let { emit(it.toDomain()) }
// Fetch fresh data
try {
val remoteUser = userApi.getUser(id)
userDao.insertUser(remoteUser.toEntity())
---
> **Referencia detallada**: [
eferences/detail.md](references/detail.md)