cipher-type-planner

Plans the creation or modification of cipher types across the Bitwarden clients monorepo.

13.7k|2.0k|Updated Mar 9, 2016
One-click install
npx skills add https://github.com/bitwarden/clients --skill cipher-type-planner
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cipher-type-planner
Source: https://github.com/bitwarden/clients/tree/main/.claude/skills/cipher-type-planner
Command: npx skills add https://github.com/bitwarden/clients --skill cipher-type-planner

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Adding a new vault item type (cipher type) to Bitwarden touches dozens of files across shared libraries and multiple client apps, and missing any one of them (like vault filters) silently breaks the feature. This Skill gathers requirements and produces a complete, file-by-file implementation plan so nothing is overlooked.

Core Features & Use Cases

  • Structured Requirements Gathering: Asks targeted questions about type name, integer value, fields, encryption, autofill, linked fields, feature flags, and target client before planning.
  • Comprehensive File-Level Plan: Lists every new file to create and existing file to modify across libs/common, libs/vault, and the web, desktop, browser, and CLI apps, using the SshKey cipher type as the canonical reference pattern.
  • Feature Flag and Filter Guidance: Ensures vault filters, new-item menus, and copy actions are feature-flag-gated so the new type only appears when enabled.
  • Use Case: An engineer needs to add a new "Passport" cipher type to Bitwarden. The Skill interviews them about fields and target clients, then outputs a step-by-step plan covering the enum, model stack, SDK mappings, UI sections, localization keys, tests, and rollout order.

Quick Start

Ask the assistant to plan a new cipher type for the Bitwarden clients, specifying the type name, fields, and target client such as web or browser.

Frequently Asked Questions about cipher-type-planner

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new cipher type to Bitwarden clients?

Adding a cipher type requires updating the CipherType enum, creating API/Data/Domain/View model classes, wiring container switch statements, adding UI form and view sections, and feature-flag-gating vault filters. This Skill generates a complete file-by-file plan using the SshKey type as the reference pattern.

What files need to change when adding a vault item type in Bitwarden?

Changes span libs/common (enum, models, cipher container switches, SDK mappers), libs/vault (form and view components, filters, menus), and per-app files in apps/web, apps/desktop, apps/browser, and apps/cli. The plan output lists every file organized by concern.

Why doesn't my new cipher type appear in the Bitwarden vault list?

The most common cause is missing the vault filter registration in vault-filter.service.ts buildCipherTypeTree(). The Skill marks this as critical and requires feature-flag-gated filter entries so the new type appears only when its flag is enabled.

Can a new cipher type support browser autofill in Bitwarden?

Currently only Login, Card, and Identity types support autofill. The Skill only includes autofill files from apps/browser/src/autofill/ when the new type explicitly requires autofill support and the target client is browser or all.

What are the prerequisites before planning a new cipher type?

Server-side and SDK prerequisites must be completed first, since clients cannot add new encryption logic. The Skill will not proceed with the plan until the user confirms these prerequisites are done.