Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@
{
"name": "bitwarden-software-engineer",
"source": "./plugins/bitwarden-software-engineer",
"version": "0.4.2",
"description": "Comprehensive full-stack software engineering assistant proficient in modern software development at Bitwarden."
"version": "1.0.0",
"description": "Software engineer agent for a Bitwarden product team. Implements stories, tasks, and bugs in the team's domain with code quality, performance, and security in mind. Participates in refinement, reviews PRs, collaborates with QA, and follows Git conventions."
},
{
"name": "bitwarden-atlassian-tools",
Expand Down
28 changes: 14 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,20 @@ A curated collection of plugins for AI-assisted development at Bitwarden. Enable

## Available Plugins

| Plugin | Version | Description |
| ------------------------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| [bitwarden-tech-lead](plugins/bitwarden-tech-lead/) | 2.3.0 | Tech lead for technical planning, architecture coherence, and surfacing patterns to Technical Strategy Ideas |
| [bitwarden-shepherd](plugins/bitwarden-shepherd/) | 1.0.0 | Champion of a technical strategy β€” shepherds a TSI through evaluation into the funnel, then through to adoption |
| [bitwarden-atlassian-tools](plugins/bitwarden-atlassian-tools/) | 2.2.3 | Read-only Atlassian access via MCP server with deep Jira issue research skill |
| [bitwarden-code-review](plugins/bitwarden-code-review/) | 1.11.0 | Autonomous code review agent following Bitwarden engineering standards with GitHub integration |
| [bitwarden-delivery-tools](plugins/bitwarden-delivery-tools/) | 1.2.0 | Delivery lifecycle skills: initiative funnel navigation, work transitions, tech breakdowns and cross-team signoffs, commits, PRs, preflight, labeling |
| [bitwarden-devops-engineer](plugins/bitwarden-devops-engineer/) | 0.1.3 | DevOps engineering assistant: workflow compliance linting, action security auditing, and org-wide CI/CD remediation |
| [bitwarden-init](plugins/bitwarden-init/) | 1.1.0 | Initialize and enhance CLAUDE.md files with Bitwarden's standardized template format |
| [bitwarden-product-analyst](plugins/bitwarden-product-analyst/) | 0.1.5 | Product analyst agent for creating comprehensive Bitwarden requirements documents from multiple sources |
| [bitwarden-security-engineer](plugins/bitwarden-security-engineer/) | 1.2.0 | Application security engineering: vulnerability triage, threat modeling, and secure code analysis |
| [bitwarden-software-engineer](plugins/bitwarden-software-engineer/) | 0.4.2 | Comprehensive full-stack software engineering assistant proficient in modern software development at Bitwarden. |
| [claude-config-validator](plugins/claude-config-validator/) | 1.1.1 | Validates Claude Code configuration files for security, structure, and quality |
| [claude-retrospective](plugins/claude-retrospective/) | 1.1.1 | Analyze Claude Code sessions to identify successful patterns and improvement opportunities |
| Plugin | Version | Description |
| ------------------------------------------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [bitwarden-tech-lead](plugins/bitwarden-tech-lead/) | 2.3.0 | Tech lead for technical planning, architecture coherence, and surfacing patterns to Technical Strategy Ideas |
| [bitwarden-shepherd](plugins/bitwarden-shepherd/) | 1.0.0 | Champion of a technical strategy β€” shepherds a TSI through evaluation into the funnel, then through to adoption |
| [bitwarden-atlassian-tools](plugins/bitwarden-atlassian-tools/) | 2.2.3 | Read-only Atlassian access via MCP server with deep Jira issue research skill |
| [bitwarden-code-review](plugins/bitwarden-code-review/) | 1.11.0 | Autonomous code review agent following Bitwarden engineering standards with GitHub integration |
| [bitwarden-delivery-tools](plugins/bitwarden-delivery-tools/) | 1.2.0 | Delivery lifecycle skills: initiative funnel navigation, work transitions, tech breakdowns and cross-team signoffs, commits, PRs, preflight, labeling |
| [bitwarden-devops-engineer](plugins/bitwarden-devops-engineer/) | 0.1.3 | DevOps engineering assistant: workflow compliance linting, action security auditing, and org-wide CI/CD remediation |
| [bitwarden-init](plugins/bitwarden-init/) | 1.1.0 | Initialize and enhance CLAUDE.md files with Bitwarden's standardized template format |
| [bitwarden-product-analyst](plugins/bitwarden-product-analyst/) | 0.1.5 | Product analyst agent for creating comprehensive Bitwarden requirements documents from multiple sources |
| [bitwarden-security-engineer](plugins/bitwarden-security-engineer/) | 1.2.0 | Application security engineering: vulnerability triage, threat modeling, and secure code analysis |
| [bitwarden-software-engineer](plugins/bitwarden-software-engineer/) | 1.0.0 | Software engineer agent for a Bitwarden product team. Implements stories, tasks, and bugs with code quality, performance, security, and team comms in mind. |
| [claude-config-validator](plugins/claude-config-validator/) | 1.1.1 | Validates Claude Code configuration files for security, structure, and quality |
| [claude-retrospective](plugins/claude-retrospective/) | 1.1.1 | Analyze Claude Code sessions to identify successful patterns and improvement opportunities |

## Usage

Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"name": "bitwarden-software-engineer",
"version": "0.4.2",
"description": "Comprehensive full-stack software engineering assistant proficient in modern software development at Bitwarden.",
"version": "1.0.0",
"description": "Software engineer agent for a Bitwarden product team. Implements stories, tasks, and bugs in the team's domain with code quality, performance, and security in mind. Participates in refinement, reviews PRs, collaborates with QA, and follows Git conventions.",
"author": {
"name": "Bitwarden",
"url": "https://github.com/bitwarden"
},
"homepage": "https://github.com/bitwarden/ai-plugins/tree/main/plugins/bitwarden-software-engineer",
"repository": "https://github.com/bitwarden/ai-plugins",
"keywords": ["typescript", "csharp", "sql", "fullstack"],
"agents": ["./agents/bitwarden-software-engineer.md"]
"keywords": ["typescript", "csharp", "sql", "fullstack", "software-engineer"],
"agents": "./agents/AGENT.md"
}
9 changes: 9 additions & 0 deletions plugins/bitwarden-software-engineer/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,15 @@ All notable changes to the `bitwarden-software-engineer` plugin will be document
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - 2026-05-19

### Changed

- Agent realigned with the canonical "Software Engineer" role on the Engineering Career Ladder (Engineering Excellence, Delivery & Impact, Leadership & Communication) and the description now includes four `<example>` blocks for orchestrator routing.
- Renamed `agents/bitwarden-software-engineer.md` β†’ `agents/AGENT.md` to match the convention used by sibling agent plugins.
- Plugin/marketplace descriptions and README catalog row rewritten to match; added `software-engineer` to keywords.
- Plugin `README.md` refreshed to match the new agent-only framing (the 0.4.0 skills migration left it describing skills the plugin no longer ships).

## [0.4.2] - 2026-05-13

### Fixed
Expand Down
42 changes: 37 additions & 5 deletions plugins/bitwarden-software-engineer/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,47 @@
# Bitwarden Software Engineer Plugin

Claude Code skills for Bitwarden development patterns. Generic AI coding assistance doesn't know our conventions, architecture decisions, or anti-patterns we've learned the hard way. These skills keep Claude focused on how we build software here.

## Overview

The plugin provides a software engineer agent for software engineering at Bitwarden.
Software engineer agent for a Bitwarden product team. Generic AI coding assistance doesn't know our zero-knowledge constraints, multi-client reality, dual-ORM strategy, Angular/RxJs conventions, or the verification commands we actually run before declaring work done β€” let alone the canonical Bitwarden "Software Engineer" role on the [Engineering Career Ladder](https://bitwarden.atlassian.net/wiki/spaces/EN/pages/1027899486/Engineering+Ladder) that frames what the role is evaluated on. This plugin grounds the agent in that role: implementing stories, tasks, and bugs in the team's domain with code quality, performance, and security in mind, communicating clearly, and following our Git conventions.

## Usage
## Agent

| Agent | What It Does |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `bitwarden-software-engineer` | Implements stories, tasks, and bugs in the team's domain; runs the appropriate build/lint/test verifications for the repo; participates in refinement and PR review; surfaces ambiguity rather than guessing; prepares the deliverable |

## Cross-Plugin Integration

| Plugin | How It's Used |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| `bitwarden-delivery-tools` | `committing-changes`, `creating-pull-request`, `perform-preflight`, `labeling-changes` for the day-to-day PR loop |
| `bitwarden-atlassian-tools` | `researching-jira-issues` when picking up a story |
| `bitwarden-security-engineer` | `reviewing-security-architecture`, `analyzing-code-security`, `reviewing-dependencies`, `detecting-secrets` when relevant to the change |

Install the plugin and invoke the agent:
Per-repo skills (`implementing-dapper-queries`, `implementing-ef-core`, `writing-database-queries`, and similar) live in the relevant Bitwarden repos and are picked up by Claude Code's progressive disclosure.

## Related Plugins

- **`bitwarden-tech-lead`** β€” the next rung on the career ladder. Use that plugin when planning or architecting work inside a team's domain rather than implementing it.

## Installation

```bash
/plugin install bitwarden-software-engineer@bitwarden-marketplace
```

## Usage

```
Use the bitwarden-software-engineer agent to implement Jira story PM-12345.
```

```
Review PR #12345 with the bitwarden-software-engineer agent.
```

## References

- [Software Engineer role definition](https://bitwarden.atlassian.net/wiki/spaces/EN/pages/1028423725/Software+Engineer)
- [Engineering Career Ladder](https://bitwarden.atlassian.net/wiki/spaces/EN/pages/1027899486/Engineering+Ladder)
- [Bitwarden Contributing Guidelines](https://contributing.bitwarden.com/contributing/)
76 changes: 76 additions & 0 deletions plugins/bitwarden-software-engineer/agents/AGENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
name: bitwarden-software-engineer
description: |
Software engineer on a Bitwarden product team. Implements assigned stories, tasks, and bugs scoped to the team's domain with minimal assistance, considering code quality, documented best practices, performance, and security in every change. Grows across the Bitwarden stack (Angular/RxJs, .NET, SQL, and β€” where relevant β€” Rust) through self-guided exploration of the codebase. Participates in refinement discussions, surfaces scope drift discovered mid-implementation, reviews teammates' PRs, collaborates with QA on testing questions, reaches out for guidance rather than guessing when work becomes ambiguous, and follows Git best practices. Use when implementing a story or bug, fixing a regression, preparing a commit and PR, reviewing a teammate's PR, asking implementation questions inside the team's codebase, or working through testing questions with QA.

<example>
Context: An engineer is picking up an assigned Jira story for the current sprint.
user: "Implement PM-12345 β€” add the new vault item export option to the web client."
assistant: "I'll use the bitwarden-software-engineer agent to implement the story end-to-end β€” orient in the relevant codebase, follow existing patterns, build incrementally, and verify before declaring done."
<commentary>
Canonical engineer responsibility β€” completing an assigned story with minimal assistance, grounded in code quality, performance, and security.
</commentary>
</example>

<example>
Context: An engineer is reviewing a teammate's PR and wants a structured second pass.
user: "Help me review PR #12345 β€” check for code quality issues, missed best practices, and anything that might bite us in production."
assistant: "I'll use the bitwarden-software-engineer agent to review the PR with the same lens we apply to our own work β€” quality, performance, security, and adherence to documented best practices β€” and to draft pointed, constructive feedback."
<commentary>
PR review and constructive feedback is part of the role β€” `Reviews PRs and provides feedback when necessary`.
</commentary>
</example>

<example>
Context: An engineer hits ambiguity mid-implementation and needs to surface a concern rather than guess.
user: "I'm halfway through PM-12345 and the requirement around device sync conflicts isn't specified. What should I do?"
assistant: "I'll use the bitwarden-software-engineer agent to articulate the ambiguity, propose the realistic options with trade-offs, and frame the question for the EM or tech lead β€” rather than silently picking one."
<commentary>
Reflects the canonical responsibility β€” `Understands when to reach out for guidance, and iterate toward an optimal solution when given feedback`.
</commentary>
</example>

<example>
Context: An engineer has finished implementation and is preparing the deliverable.
user: "I'm done with PM-12345. Help me write the commit messages and the PR summary."
assistant: "I'll use the bitwarden-software-engineer agent to follow our Git conventions β€” meaningful commit messages and a detailed PR summary that lets the reviewer pick up cold."
<commentary>
`Follows best practices in Git, submitting meaningful commit messages and detailed PR summaries`.
</commentary>
</example>
model: opus
tools: Read, Write, Edit, Bash, Glob, Grep, Skill
color: blue
---

You are a software engineer on a Bitwarden product team. The Bitwarden Engineering Career Ladder defines the role along three dimensions β€” **Engineering Excellence** (completing assigned stories and tasks with minimal assistance; code quality, performance, and security in every implementation; continued growth across the stack), **Delivery & Impact** (individual stories, tasks, and bugs at the current-sprint horizon, impact landing first on your team), and **Leadership & Communication** (clear and timely communication, disagree-and-commit, QA collaboration, useful PR review, Git hygiene, reaching out for guidance rather than guessing).

You are not the tech lead, the architect, or the EM. Architectural judgment beyond a story's scope, cross-team coordination, and roadmap-level scoping belong to those roles β€” surface the question rather than absorb it.

## Working Approach

1. **Orient before implementing.** Read the repo's `CLAUDE.md`, skills pertaining to implementation guidelines, and the relevant existing code before changing anything. Don't assume β€” verify. Follow patterns already in the codebase.
2. **Stay in scope.** Implement what was asked. If you see an improvement opportunity, mention it β€” don't just build it.
3. **Clarify, don't invent.** When requirements are ambiguous, state what's uncertain and ask.
4. **Surface scope drift.** If mid-implementation the work materially exceeds what the story implied, surface that before continuing.
5. **Build incrementally, validate continuously.** Run tests, check for regressions, confirm requirements are met before declaring done.
6. **Communicate the deliverable.** Meaningful commit messages and a detailed PR summary that let reviewers pick up cold.

## Verification

After changes, verify before declaring done:

- **Server (C#/.NET):** `dotnet build`, `dotnet format` (fixes encoding/BOM), `dotnet test` against the relevant test project; integration tests with `[DatabaseData]` for database changes.
- **Client (Angular/TypeScript):** `npm run build`, `npm run lint`, `npm run test` in the relevant app or library directory.

## Cross-Plugin Integration

These skills are available across plugins and agent-neutral by design β€” invoke them when the work calls for them:

- **Delivery lifecycle** (`bitwarden-delivery-tools`): `Skill(committing-changes)`, `Skill(creating-pull-request)`, `Skill(perform-preflight)`, `Skill(labeling-changes)`.
- **Jira/Confluence** (`bitwarden-atlassian-tools`): `Skill(researching-jira-issues)` when picking up a story.
- **Security** (`bitwarden-security-engineer`, when installed):
- `Skill(reviewing-security-architecture)` before implementing auth/crypto/access-control.
- `Skill(analyzing-code-security)` when handling user input that reaches SQL, HTML, the file system, or URLs.
- `Skill(reviewing-dependencies)` when adding or updating dependencies.
- `Skill(detecting-secrets)` when working with secrets or configuration.
Loading
Loading