Skip to content

[PM-35116] feat: Add architect, delivery-tools, and workflows plugins#85

Draft
SaintPatrck wants to merge 13 commits intomainfrom
llm/generic-architect-plugin
Draft

[PM-35116] feat: Add architect, delivery-tools, and workflows plugins#85
SaintPatrck wants to merge 13 commits intomainfrom
llm/generic-architect-plugin

Conversation

@SaintPatrck
Copy link
Copy Markdown
Contributor

@SaintPatrck SaintPatrck commented Apr 15, 2026

🎟️ Tracking

PM-35116: Cross-repo PIR workflow
PM-35361: Delivery tools
PM-35362: Workflows plugin

📔 Objective

WIP — Active development. Publishing early to share direction and
prevent duplicate work across the team.

Introduces an architect agent and supporting plugins that discover platform
context dynamically at runtime, plus a workflows plugin that demonstrates how
to compose marketplace agents into multi-agent pipelines.

New plugins

bitwarden-architect — Software architect agent with three bundled skills
covering the planning lifecycle: architecting-solutions (think: security
posture, blast radius, trade-offs), creating-implementation-plan (produce the
plan artifact), and creating-work-breakdown (decompose phases into
ticket-ready tasks). Agent workflow defaults to stopping after the "think"
step unless the human explicitly asks for a plan or tickets. Discovers
planning-related skills under <repo>/.claude/skills/ and defers to them when
present; otherwise uses the plugin's built-in templates.

bitwarden-delivery-tools — Generic delivery skills (committing-changes,
creating-pull-request, labeling-changes, perform-preflight) that derive
platform-specific details from each repo's CLAUDE.md.

bitwarden-workflows — Multi-agent orchestration workflows composed from
marketplace agents via Teams and task dependencies. Ships with
plan-implement-review as the first workflow: an end-to-end pipeline
(requirements → per-repo architecture → implementation → 4-reviewer gauntlet)
that dynamically creates per-repo architects and implementers based on what the
requirements spec identifies as in scope.

Updated plugins

bitwarden-software-engineer — Adjusted to be more generic: adds context
discovery via CLAUDE.md, autonomous implementation lifecycle with self-review
protocol, and decision-making framework. All skills discovered dynamically at
runtime.

Design principle

Agents own process. Repos own platform specifics. The plan-implement-review
workflow in bitwarden-workflows is both a functional pipeline and a reference
for how to compose agents into complex, multi-step, multi-repo workflows using
Teams and task dependencies.

Follow-up: relocate repo-specific skills

The bitwarden-software-engineer plugin currently contains 5 skills that are
repo-specific implementation conventions rather than process:
writing-server-code, writing-client-code, writing-database-queries,
implementing-dapper-queries, implementing-ef-core. Per the design principle,
these belong in their respective repos' .claude/skills/ directories (server,
clients) — not the marketplace. Relocating them makes the software-engineer
a pure process agent with zero repo-specific content, consistent with how the
architect and delivery-tools plugins already work. This will be a separate PR
touching the server and clients repos.


Testing

Prerequisites

Install all plugins from this branch. Verify with /reload-plugins:

  • bitwarden-architect, bitwarden-delivery-tools, bitwarden-workflows (new)
  • bitwarden-software-engineer (updated)
  • bitwarden-product-analyst, bitwarden-security-engineer, bitwarden-code-review, bitwarden-atlassian-tools (existing, required by the pipeline)

Ensure bitwarden-atlassian-tools is configured and functional (Jira/Confluence access required for ticket-based workflows).

Test 1: Architect workflow (Think → Plan → Break down)

The architect agent bundles three skills auto-loaded into context: architecting-solutions, creating-implementation-plan, creating-work-breakdown. Default behavior stops after the "think" step; plan and work-breakdown artifacts are only produced on explicit request.

Think-only (default):

  1. Open a new session in a target repo directory
  2. Dispatch bitwarden-architect:architect with a brief feature request (no mention of planning or tickets)
  3. Observe: agent reads CLAUDE.md, explores the codebase for pattern anchors, and returns architectural reasoning (security posture, blast radius, trade-offs, red flags). It should not produce a plan or work-breakdown document.

Think + Plan:

  1. Repeat with a request that explicitly asks for an implementation plan
  2. Observe: agent applies architecting-solutions, then produces ${CLAUDE_PLUGIN_DATA}/plans/{slug}-IMPLEMENTATION-PLAN.md with the template sections (Current State / Blast Radius / Design / Phases / Risks & Open Questions)

Think + Plan + Break down:

  1. Repeat with a request that explicitly asks for the plan to be broken into tickets
  2. Observe: agent produces both {slug}-IMPLEMENTATION-PLAN.md and {slug}-WORK-BREAKDOWN.md, paired by slug

Per-repo planning skill precedence:

  1. Run in a repo that has its own planning-related skill under .claude/skills/ (e.g., android's planning-android-implementation)
  2. Observe: agent defers the plan artifact's shape to the repo skill rather than using the plugin's default template

Fallback test:

  1. Run in a repo with CLAUDE.md but no repo-local planning skill (e.g., server, sdk-internal)
  2. Observe: agent uses the default template from creating-implementation-plan
Test 2: Software-engineer context discovery
  1. Open a new session in a repo with implementation skills
  2. Dispatch bitwarden-software-engineer:bitwarden-software-engineer with a small implementation task
  3. Observe: does it read CLAUDE.md, find the Skills & Commands table, and invoke the implementation skill via Skill tool?
Test 3: Delivery skills
  1. Make a small change in any repo
  2. Invoke bitwarden-delivery-tools:committing-changes — verify it follows the commit format and invokes labeling-changes for type selection
  3. Invoke bitwarden-delivery-tools:creating-pull-request — verify it prompts for AI review label via AskUserQuestion and creates a draft PR
Test 4: End-to-end pipeline

Setup

Create an isolated experiment workspace with worktrees on the companion PR branches (android, ios) and origin/main for other repos. This prevents agents from discovering old local agents in the main checkouts.

mkdir -p ~/development/bitwarden/experiment

# Repos with companion PRs — branch from the PR branch
cd ~/development/bitwarden/android
git worktree add ~/development/bitwarden/experiment/android \
  -b llm/pm-XXXXX-experiment llm/generic-architect-updates

cd ~/development/bitwarden/ios
git worktree add ~/development/bitwarden/experiment/ios \
  -b llm/pm-XXXXX-experiment llm/generic-architect-updates

# Other repos — branch from origin/main
for repo in server clients sdk-internal; do
  cd ~/development/bitwarden/$repo
  git fetch origin main
  git worktree add ~/development/bitwarden/experiment/$repo \
    -b llm/pm-XXXXX-experiment origin/main
done

Execution

  1. Open a new session (fresh context) with working directory ~/development/bitwarden/experiment/
  2. Run: Skill(bitwarden-workflows:plan-implement-review) <Jira ticket or task description>
  3. Do not intervene unless the pipeline crashes. If gated-mode prompts appear, approve.

Single-blind protocol: The agents are the test subjects. They receive only the task — no mention of testing, no evaluation criteria, no expected outcomes. The evaluator reviews artifacts after the run.

Evaluation criteria

Category What to check
Context discovery Did agents read CLAUDE.md and invoke skills via Skill tool (not file reads)?
Multi-repo awareness Did the pipeline identify multiple in-scope repos and create per-repo agents?
Plan quality Do plans reference specific existing files, follow platform patterns, include concrete tasks?
Implementation quality Does code follow the plan, include tests, pass builds?
Pipeline mechanics Were teams/tasks created correctly, did reviewers wait for commits?

Cleanup

Remove experiment worktrees after evaluation. Verify no commits were pushed to remotes.

Introduces bitwarden-architect plugin with a platform-agnostic architect
agent that dynamically discovers repo context via CLAUDE.md Skills &
Commands tables and repo-local planning skills. Replaces per-repo
architect agents (android-architect, ios-architect) with a single
generic process engine.
Agents were reading SKILL.md files directly instead of invoking
via the Skill tool. Made instructions explicit: use Skill tool
by name, do not read the file directly.
Introduces bitwarden-delivery-tools plugin with 4 platform-agnostic
delivery skills: committing-changes, creating-pull-request,
labeling-changes, and perform-preflight. Skills define the delivery
process while referencing each repo's CLAUDE.md for platform-specific
details. Replaces per-repo delivery skills in Android and iOS.
…iscovery

Merges per-repo implementer behavior into the generic agent: self-review
protocol, decision-making framework, context discovery via CLAUDE.md
Skills & Commands table, and critical rules. Removes preloaded skill
frontmatter in favor of dynamic discovery. Bumps to 0.4.0.
Moves the plan-implement-review pipeline from the Android repo to the
architect plugin. Strips Android-specific references — all agent
references are now marketplace plugins. Bumps to 0.2.0.
…ementers

Reduces command from 322 to 133 lines by removing prescriptive
templates, obvious team-lead behavior, and restated guidelines.
Adds per-repo implementers matching the per-repo architect pattern
— each WBD phase dispatches implementer-{repo} instead of a single
shared implementer.
PIR is an orchestration workflow that composes multiple agent types,
not an architect-owned command. New bitwarden-workflows plugin
establishes the pattern for multi-agent pipeline composition.
Also migrates output paths to ${CLAUDE_PLUGIN_DATA}.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 15, 2026

Logo
Checkmarx One – Scan Summary & Details4e486384-5c3f-4210-8a96-cf79a370f45c

Great job! No new security vulnerabilities introduced in this pull request

Skills and agents were spending ~25-40% of their token budget
re-teaching Claude things the system prompt or model already
knows (git hygiene, generic code smells, basic planning steps).

- Remove system prompt overlap from committing-changes and
  creating-pull-request (staging practices, secrets avoidance,
  pre-commit checklists all covered by system prompt)
- Deduplicate perform-preflight vs committing-changes: preflight
  is now the single quality gate, both consumers reference it
- Embed labeling table directly in committing-changes and
  creating-pull-request to eliminate extra skill load per commit/PR
- Trim generic methodology from architect agent (requirements
  elicitation, architecture design steps Claude already knows)
- Remove Decision-Making Framework, Communication Style, and
  Critical Rules from software-engineer (standard behavior)
- Add ambiguous-case examples to labeling-changes
- Add failure handling guidance to perform-preflight
@theMickster theMickster added the ai-review Request a Claude code review label Apr 17, 2026
… skill

Refactors the architect agent by extracting the core architectural process into a dedicated, reusable skill. This change separates the agent's identity and guardrails from the specific technical methodology used to plan Bitwarden solutions.

- Create `architecting-solutions` skill to encapsulate the four-step planning process: Context Discovery, Requirements Refinement, Technical Gap Analysis, and Architecture Design
- Move detailed Bitwarden-specific constraints into the new skill, including zero-knowledge security requirements and the V+/-2 API versioning matrix
- Standardize deliverable templates for `{slug}-IMPLEMENTATION-PLAN.md` and `{slug}-WORK-BREAKDOWN.md` within the skill definition
- Define `${CLAUDE_PLUGIN_DATA}/plans/` as the standard output directory for all architectural artifacts
- Simplify `AGENT.md` by removing redundant process instructions and explicitly referencing the `architecting-solutions` skill
- Update agent metadata: bump version to 0.3.0 and change UI color to cyan
- Retain core behavioral guardrails (DO/DON'T) within the main agent definition to ensure consistent persona execution
…ric-architect-plugin

# Conflicts:
#	.claude-plugin/marketplace.json
#	plugins/bitwarden-architect/.claude-plugin/plugin.json
#	plugins/bitwarden-architect/CHANGELOG.md
#	plugins/bitwarden-architect/README.md
#	plugins/bitwarden-architect/agents/AGENT.md
#	plugins/bitwarden-architect/skills/architecting-solutions/SKILL.md
#	plugins/bitwarden-software-engineer/.claude-plugin/plugin.json
#	plugins/bitwarden-software-engineer/CHANGELOG.md
@SaintPatrck SaintPatrck removed the ai-review Request a Claude code review label Apr 17, 2026
@SaintPatrck SaintPatrck force-pushed the llm/generic-architect-plugin branch from 5022f44 to 5638cf0 Compare April 17, 2026 21:16
…ting-solutions

`architecting-solutions` narrowed to architectural thinking (principles,
security mindset, judgment, red flags). Plan-artifact production extracted
to a new `creating-implementation-plan` skill so the thinking can be
invoked independently (reviews, trade-off discussions) without implying an
artifact, and so the plan-producing workflow is reusable across consumers
beyond the architect agent.

Adds named companion-skill pointers in `architecting-solutions` and
`when_to_use` / `argument-hints` frontmatter on both skills to improve
triggering accuracy. Work Breakdown Document and Architecture Review
sections removed — downstream flows route to
`bitwarden-product-analyst:work-breakdown` and
`bitwarden-security-engineer:reviewing-security-architecture`
respectively.
@SaintPatrck SaintPatrck force-pushed the llm/generic-architect-plugin branch from 5638cf0 to 60c6990 Compare April 17, 2026 21:20
…or accuracy

Adds `creating-work-breakdown` — decomposes an implementation plan's
phases into ticket-ready tasks with file touchpoints, dependency ordering,
and observable acceptance criteria. Pairs by slug with the corresponding
plan and accepts an optional output filename.

Refactors `creating-implementation-plan` to stop duplicating principles
already in `architecting-solutions` (section-guidance restated "blast
radius", "tech debt", etc.) and to point its downstream handoff at the
new plugin-local skill instead of `bitwarden-product-analyst:work-breakdown`,
keeping the planning flow cohesive within the architect plugin.

Audits the rest of the plugin post-extraction: README Skills table lists
all three architect skills; Deliverables section drops the "Architecture
Review" artifact (delegated to `bitwarden-security-engineer:reviewing-security-architecture`);
architect AGENT.md `skills:` frontmatter registers the two new skills so
they are discoverable. CHANGELOG 1.1.0 entry updated to reflect the
work-breakdown addition (still in development on this release).
Describes the sequential progression across the three architect skills
(already loaded into the agent's context via frontmatter), with explicit
skip conditions so the agent doesn't produce a plan or work breakdown
when the human only asked for a decision or review. Clarifies that
cross-plugin skills (threat-modeling, security-context, writing-server-code,
etc.) are invoked via the `Skill` tool since they are not in the agent's
frontmatter.
name: creating-work-breakdown
description: This skill should be used when the user asks to "break this plan into tickets", "create a work breakdown", "generate Jira tasks from the plan", "prepare tickets for this feature", or otherwise requests a ticket-ready decomposition of an implementation plan. Converts an implementation plan's phases into discrete, dependency-ordered tasks with file touchpoints and acceptance criteria.
when_to_use: Use after `bitwarden-architect:creating-implementation-plan`, or when an implementation plan already exists and needs to be split into tickets. Preparing work for sprint planning or Jira import, Handing phases off to multiple implementers, Capturing dependencies between tasks explicitly
argument-hints: Path to an existing implementation plan (e.g., ${CLAUDE_PLUGIN_DATA}/plans/pm-32009-new-item-types-server-IMPLEMENTATION-PLAN.md), Jira epic or parent ticket key, Target repository slug, Optional output filename (defaults to {slug}-WORK-BREAKDOWN.md)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❓ Is this an environment variable to be setup

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants