
Planning Android Implementation
- 24 installs
- 9.2k repo stars
- Updated August 4, 2026
- bitwarden/android
planning-android-implementation is a Claude Code skill that turns a refined Android spec into a phased implementation plan with architecture design, file inventory, and risk assessment.
About
This skill takes a refined specification and produces a phased implementation plan for Bitwarden Android work. It classifies the change type, finds pattern-anchor files, designs an architecture diagram, builds a file inventory of files to create and modify, and breaks the work into sequential phases with a risk assessment. A developer uses it after requirements are clear but before writing code.
- Turns a refined spec into a phased, independently-testable implementation plan
- Produces architecture diagrams, file inventories, and risk assessment for Android features
- Maps integration points (nav graph, Hilt DI, repositories, feature flags) for Bitwarden Android
Planning Android Implementation by the numbers
- 24 all-time installs (skills.sh)
- Ranked #1,972 of 3,282 Productivity & Planning skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
planning-android-implementation capabilities & compatibility
- Capabilities
- architecture design · implementation planning · requirements refinement · code review
- Works with
- github
- Use cases
- planning · project management
What planning-android-implementation says it does
produces a phased implementation plan with architecture design, file inventory, and risk assessment.
Break the work into sequential phases. Each phase should be independently testable and committable.
npx skills add https://github.com/bitwarden/android --skill planning-android-implementationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 24 |
|---|---|
| repo stars | ★ 9.2k |
| Last updated | August 4, 2026 |
| Repository | bitwarden/android ↗ |
What it does
Plan an Android feature by classifying the change, designing architecture, inventorying files, and sequencing implementation phases.
Who is it for?
Planning a new Android feature or enhancement in the Bitwarden Android MVVM/Compose codebase from a clear spec.
Skip if: Refining vague requirements (use refining-android-requirements first) or writing the actual code.
When should I use this skill?
When planning an Android feature, designing architecture, creating file inventories, or breaking a feature into phases.
What you get
A phased implementation plan with architecture diagram, file inventory, and risk table ready to hand to coding.
- Change-type classification
- Architecture diagram
- File inventory (create/modify)
By the numbers
- 6-step planning workflow
- 5 change-type classifications
- 3 risk levels (Low/Medium/High)
Files
Implementation Planning
This skill takes a refined specification (ideally from the refining-android-requirements skill) and produces a phased implementation plan with architecture design, file inventory, and risk assessment.
Prerequisite: A clear set of requirements. If requirements are vague or incomplete, invoke the refining-android-requirements skill first.
---
Step 1: Classify Change
Determine the change type to guide scope and planning depth:
| Type | Description | Typical Scope |
|---|---|---|
| New Feature | Entirely new functionality, screens, or flows | New files + modifications, multi-phase |
| Enhancement | Extending existing feature with new capabilities | Mostly modifications, 1-2 phases |
| Bug Fix | Correcting incorrect behavior | Targeted modifications, single phase |
| Refactoring | Restructuring without behavior change | Modifications only, migration-aware |
| Infrastructure | Build, CI, tooling, or dependency changes | Config files, minimal code changes |
State the classification and rationale before proceeding.
---
Step 2: Codebase Exploration
Search the codebase to find reference implementations and integration points. Use the discovery commands from the build-test-verify skill as needed.
Find Pattern Anchors
Identify 2-3 existing files that serve as templates for the planned work:
**Pattern Anchors:**
1. [file path] — [why this is a good reference]
2. [file path] — [why this is a good reference]
3. [file path] — [why this is a good reference]Map Integration Points
Identify files that must be modified to integrate the new work:
- Navigation: Nav graph registrations, route definitions
- Dependency Injection: Hilt modules,
@Provides/@Bindsfunctions - Data Layer: Repository interfaces, data source interfaces, Room DAOs
- API Layer: Retrofit service interfaces, request/response models
- Feature Flags: Feature flag definitions and checks
- Managers: Single-responsibility data layer classes (see
docs/ARCHITECTURE.mdManagers section) - Test Fixtures: Shared test utilities in
src/testFixtures/directories - Product Flavor Source Sets: Code in
src/standard/vssrc/main/for Play Services dependencies
Document Existing Patterns
Note the specific patterns used by the pattern anchors:
- State class structure (sealed class, data class fields)
- Action/Event naming conventions
- Repository method signatures and return types
- Test structure and assertion patterns
---
Step 3: Architecture Design
Produce an ASCII diagram showing component relationships for the planned work:
┌─────────────────┐
│ Screen │ ← Compose UI
│ (Composable) │
└────────┬────────┘
│ State / Action / Event
┌────────▼────────┐
│ ViewModel │ ← Business logic orchestration
└────────┬────────┘
│ Repository calls
┌────────▼────────┐
│ Repository │ ← Data coordination (sealed class results)
└───┬────┬────┬───┘
│ │ │
┌───▼───┐ │ ┌─▼──────┐
│Manager│ │ │Manager │ ← Single-responsibility (optional)
└───┬───┘ │ └─┬──────┘
│ │ │
┌───▼─────▼───▼────┐
│ Data Sources │ ← Raw data (Result<T>, never throw)
└─┬────┬────┬──────┘
│ │ │
Room Retrofit SDKAdapt the diagram to show the actual components planned. _Consult docs/ARCHITECTURE.md for full data layer patterns and conventions._
Design Decisions
Document key architectural decisions in a table:
| Decision | Resolution | Rationale |
|---|---|---|
| [What needed deciding] | [What was chosen] | [Why] |
---
Step 4: File Inventory
Files to Create
| File Path | Type | Pattern Reference |
|---|---|---|
| [full path] | [ViewModel / Screen / Repository / etc.] | [pattern anchor file] |
Include in file inventory:
...Navigation.ktfiles for new screens...Module.ktHilt module files for new DI bindings- Paired test files (
...Test.kt) for each new class
Files to Modify
| File Path | Change Description | Risk Level |
|---|---|---|
| [full path] | [what changes] | Low / Medium / High |
Risk levels:
- Low: Additive changes (new entries in nav graph, new bindings in Hilt module)
- Medium: Modifying existing logic (adding parameters, new branches)
- High: Changing interfaces, data models, or shared utilities
---
Step 5: Implementation Phases
Break the work into sequential phases. Each phase should be independently testable and committable.
Phase ordering principle: Foundation → SDK/Data → Network → UI (tests accompany each phase)
For each phase:
### Phase N: [Name]
**Goal**: [What this phase accomplishes]
**Files**:
- Create: [list]
- Modify: [list]
**Tasks**:
1. [Specific implementation task]
2. [Specific implementation task]
3. ...
**Verification**:
- [Test command or manual verification step]
**Skills**: [Which workflow skills apply — e.g., `implementing-android-code`, `testing-android-code`]Phase Guidelines
- Each phase should be small enough to be independently testable and committable
- Tests are written within the same phase as the code they verify (not deferred to a "testing phase")
- UI phases come after their data dependencies are in place
- If a phase has more than 5 tasks, consider splitting it
---
Step 6: Risk & Verification
Risk Assessment
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| [What could go wrong] | Low/Med/High | Low/Med/High | [How to prevent or handle] |
Verification Plan
Automated Verification:
- Unit test commands (from
build-test-verifyskill) - Lint/detekt commands
- Build verification
Manual Verification:
- [Specific manual test scenarios]
- [Edge cases to manually verify]
- Verify ViewModel state survives process death (test via
SavedStateHandlepersistence andDon't keep activitiesdeveloper option)