add-viewmodel

add-viewmodel is a command for coding agents from rohitg00/awesome-claude-code-toolkit. It costs 0 tokens per session (276 once invoked), scanned A, original, Apache-2.0.

A command that creates an Android ViewModel, a component that holds screen state and handles user actions while the interface is displayed.

In plain words
What is it for?
Use it when adding an Android screen that needs state management, repository or use-case data, dependency injection, coroutine loading, and unit tests.
Why use it?
It sets up a consistent way to load data, report errors, handle retries, and keep screen state separate from the interface.

Command

Part of the android-developer plugin — 2 commands shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add commands/rohitg00/awesome-claude-code-toolkit/add-viewmodel
Clone the repo
git clone --depth 1 https://github.com/rohitg00/awesome-claude-code-toolkit

Or install android-developer, the plugin that ships this one along with the rest of its 2 commands.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for add-viewmodel

README.md
[![agentmods](https://agentmods.dev/badge/commands/rohitg00/awesome-claude-code-toolkit/add-viewmodel.svg)](https://agentmods.dev/commands/rohitg00/awesome-claude-code-toolkit/add-viewmodel)
Your own site
<a href="https://agentmods.dev/commands/rohitg00/awesome-claude-code-toolkit/add-viewmodel"><img src="https://agentmods.dev/badge/commands/rohitg00/awesome-claude-code-toolkit/add-viewmodel.svg" alt="Measured on agentmods" height="20"></a>
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 276 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.00276
Opus 5 $0.00000 $0.00138
Sonnet 5 $0.00000 $0.00055
Haiku 4.5 $0.00000 $0.00028

Measured 4d ago against content hash 76e5daf46924, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

add-viewmodel scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/android-developer/commands/add-viewmodel.md · 29 lines

What it actually says

/add-viewmodel - Add ViewModel

Create an Android ViewModel with proper state management and data flow.

Steps

  1. Ask the user for the ViewModel name and the data it manages
  2. Create the ViewModel class extending androidx.lifecycle.ViewModel
  3. Define sealed interfaces for UI state, UI events, and side effects
  4. Initialize StateFlow for the UI state with a sensible default
  5. Add repository or use case dependencies via constructor injection (Hilt)
  6. Implement event handling: map user actions to state changes
  7. Add error handling with proper error state propagation
  8. Implement data loading with coroutines in viewModelScope
  9. Add retry logic for failed network requests
  10. Create unit tests with fake repositories and TestDispatcher
  11. Add Hilt @Inject annotation and module binding
  12. Document the state machine: states, events, and transitions

Rules

  • Never expose mutable state directly; use private MutableStateFlow with public StateFlow
  • Use sealed interfaces for UI state to ensure exhaustive handling
  • Handle all coroutine exceptions with CoroutineExceptionHandler
  • Cancel ongoing operations in onCleared if needed
  • Use SavedStateHandle for surviving process death
  • Keep ViewModels thin; delegate business logic to use cases
  • Do not reference Activity, Context, or View classes in ViewModels
Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago First seen · 29 lines · 0 tokens per session scan A 76e5daf46924

Subscribe to this mod's changes

add-viewmodel is a command published in the GitHub repository rohitg00/awesome-claude-code-toolkit (2,585 stars, last pushed 3mo ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 276 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.