Reviewing Changes - Android Additions
This skill provides Android-specific workflow additions that complement the base bitwarden-code-reviewer agent standards.
Instructions
IMPORTANT: Use structured thinking throughout your review process. Plan your analysis in <thinking> tags before providing final feedback.
Step 1: Retrieve Additional Details
Retrieve any additional information linked to the pull request using available tools (JIRA MCP, GitHub API).
If pull request title and message do not provide enough context, request additional details from the reviewer:
- Link a JIRA ticket
- Associate a GitHub issue
- Link to another pull request
- Add more detail to the PR title or body
Step 2: Detect Change Type with Android Refinements
Use the base change type detection from the agent, with Android-specific refinements:
Android-specific patterns:
- Feature Addition: New
ViewModel, new Repository, new @Composable functions, new *Screen.kt files
- UI Refinement: Changes only in
*Screen.kt, *Composable.kt, ui/ package files
- Infrastructure: Changes to
.github/workflows/, gradle/, build.gradle.kts, libs.versions.toml
- Dependency Update: Changes only to
libs.versions.toml or build.gradle.kts with version bumps
Step 3: Load Appropriate Checklist
Based on detected type, read the relevant checklist file:
- Dependency Update →
checklists/dependency-update.md (expedited review)
- Bug Fix →
checklists/bug-fix.md (focused review)
- Feature Addition →
checklists/feature-addition.md (comprehensive review)
- UI Refinement →
checklists/ui-refinement.md (design-focused review)
- Refactoring →
checklists/refactoring.md (pattern-focused review)
- Infrastructure →
checklists/infrastructure.md (tooling-focused review)
The checklist provides:
- Multi-pass review strategy
- Type-specific focus areas
- What to check and what to skip
- Structured thinking guidance
Step 4: Execute Review Following Checklist
Follow the checklist's multi-pass strategy, thinking through each pass systematically.
Step 5: Consult Android Reference Materials As Needed
Load reference files only when needed for specific questions:
- Issue prioritization →
reference/priority-framework.md (Critical vs Suggested vs Optional)
- Phrasing feedback →
reference/review-psychology.md (questions vs commands, I-statements)
- Architecture questions →
reference/architectural-patterns.md (MVVM, Hilt DI, module org, error handling)
- Security questions (quick reference) →
reference/security-patterns.md (common patterns and anti-patterns)
- Security questions (comprehensive) →
docs/ARCHITECTURE.md#security (full zero-knowledge architecture)
- Testing questions →
reference/testing-patterns.md (unit tests, mocking, null safety)
- UI questions →
reference/ui-patterns.md (Compose patterns, theming)
- Style questions →
docs/STYLE_AND_BEST_PRACTICES.md
Core Principles
- Appropriate depth: Match review rigor to change complexity and risk
- Specific references: Always use
file:line_number format for precise location
- Actionable feedback: Say what to do and why, not just what's wrong
- Efficient reviews: Use multi-pass strategy, skip what's not relevant
- Android patterns: Validate MVVM, Hilt DI, Compose conventions, Kotlin idioms
1---2name: reviewing-changes3description: Android-specific code review workflow additions for Bitwarden Android. Provides change type refinements, checklist loading, and reference material organization. Complements bitwarden-code-reviewer agent's base review standards.4---56# Reviewing Changes - Android Additions78This skill provides Android-specific workflow additions that complement the base `bitwarden-code-reviewer` agent standards.910## Instructions1112**IMPORTANT**: Use structured thinking throughout your review process. Plan your analysis in `<thinking>` tags before providing final feedback.1314### Step 1: Retrieve Additional Details1516<thinking>17Determine if more context is available for the changes:181. Are there JIRA tickets or GitHub Issues mentioned in the PR title or body?192. Are there other GitHub pull requests mentioned in the PR title or body?20</thinking>2122Retrieve any additional information linked to the pull request using available tools (JIRA MCP, GitHub API).2324If pull request title and message do not provide enough context, request additional details from the reviewer:25- Link a JIRA ticket26- Associate a GitHub issue27- Link to another pull request28- Add more detail to the PR title or body2930### Step 2: Detect Change Type with Android Refinements3132<thinking>33Analyze the changeset systematically:341. What files were modified? (code vs config vs docs)352. What is the PR/commit title indicating?363. Is there new functionality or just modifications?374. What's the risk level of these changes?38</thinking>3940Use the base change type detection from the agent, with Android-specific refinements:4142**Android-specific patterns:**43- **Feature Addition**: New `ViewModel`, new `Repository`, new `@Composable` functions, new `*Screen.kt` files44- **UI Refinement**: Changes only in `*Screen.kt`, `*Composable.kt`, `ui/` package files45- **Infrastructure**: Changes to `.github/workflows/`, `gradle/`, `build.gradle.kts`, `libs.versions.toml`46- **Dependency Update**: Changes only to `libs.versions.toml` or `build.gradle.kts` with version bumps4748### Step 3: Load Appropriate Checklist4950Based on detected type, read the relevant checklist file:5152- **Dependency Update** → `checklists/dependency-update.md` (expedited review)53- **Bug Fix** → `checklists/bug-fix.md` (focused review)54- **Feature Addition** → `checklists/feature-addition.md` (comprehensive review)55- **UI Refinement** → `checklists/ui-refinement.md` (design-focused review)56- **Refactoring** → `checklists/refactoring.md` (pattern-focused review)57- **Infrastructure** → `checklists/infrastructure.md` (tooling-focused review)5859The checklist provides:60- Multi-pass review strategy61- Type-specific focus areas62- What to check and what to skip63- Structured thinking guidance6465### Step 4: Execute Review Following Checklist6667<thinking>68Before diving into details:691. What are the highest-risk areas of this change?702. Which architectural patterns need verification?713. What security implications exist?724. How should I prioritize my findings?735. What tone is appropriate for this feedback?74</thinking>7576Follow the checklist's multi-pass strategy, thinking through each pass systematically.7778### Step 5: Consult Android Reference Materials As Needed7980Load reference files only when needed for specific questions:8182- **Issue prioritization** → `reference/priority-framework.md` (Critical vs Suggested vs Optional)83- **Phrasing feedback** → `reference/review-psychology.md` (questions vs commands, I-statements)84- **Architecture questions** → `reference/architectural-patterns.md` (MVVM, Hilt DI, module org, error handling)85- **Security questions (quick reference)** → `reference/security-patterns.md` (common patterns and anti-patterns)86- **Security questions (comprehensive)** → `docs/ARCHITECTURE.md#security` (full zero-knowledge architecture)87- **Testing questions** → `reference/testing-patterns.md` (unit tests, mocking, null safety)88- **UI questions** → `reference/ui-patterns.md` (Compose patterns, theming)89- **Style questions** → `docs/STYLE_AND_BEST_PRACTICES.md`9091## Core Principles9293- **Appropriate depth**: Match review rigor to change complexity and risk94- **Specific references**: Always use `file:line_number` format for precise location95- **Actionable feedback**: Say what to do and why, not just what's wrong96- **Efficient reviews**: Use multi-pass strategy, skip what's not relevant97- **Android patterns**: Validate MVVM, Hilt DI, Compose conventions, Kotlin idioms