-
Notifications
You must be signed in to change notification settings - Fork 14
[PM-35116] feat: POC - Add architect, delivery-tools, and workflows plugins #85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
51091b8
feat(architect): add generic architect agent plugin
SaintPatrck 8dbb004
fix(architect): require Skill tool invocation, not file reads
SaintPatrck 4e5a99e
feat(delivery-tools): add generic delivery workflow skills plugin
SaintPatrck 7f1505c
feat(software-engineer): add autonomous lifecycle and dynamic skill dβ¦
SaintPatrck fd1d0c6
feat(architect): add generic plan-implement-review orchestration command
SaintPatrck dacd18b
refactor(architect): trim plan-implement-review and add per-repo implβ¦
SaintPatrck b112d28
refactor: move plan-implement-review to bitwarden-workflows plugin
SaintPatrck 374bb44
Strip redundant tokens and deduplicate delivery skills
SaintPatrck 43480f6
refactor(architect): migrate planning logic to architecting-solutionsβ¦
SaintPatrck 9ec976b
Merge remote-tracking branch 'refs/remotes/origin/main' into llm/geneβ¦
SaintPatrck 60c6990
refactor(architect): split creating-implementation-plan from architecβ¦
SaintPatrck 40ae01c
feat(architect): add creating-work-breakdown skill and audit plugin fβ¦
SaintPatrck 7dfaa99
docs(architect): add Workflow section guiding Think β Plan β Break down
SaintPatrck File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
41 changes: 41 additions & 0 deletions
41
plugins/bitwarden-architect/skills/creating-implementation-plan/SKILL.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,41 @@ | ||
| --- | ||
| name: creating-implementation-plan | ||
| description: This skill should be used when the user asks to "create an implementation plan", "produce a plan for PM-XXXX", "write an implementation plan", "break this feature into phases", or otherwise requests a structured plan artifact ready for handoff to an implementer. Produces a markdown plan with pattern anchors, blast radius, phased task breakdown, risks, and open questions. | ||
| when_to_use: Use after `bitwarden-architect:architecting-solutions`, or when a solution has already been identified and needs to be planned. Architectural decisions are made and a structured plan artifact is required, Handoff to an implementer is imminent, Converting a refined spec into a phased engineering plan | ||
| argument-hints: Jira ticket key (e.g., PM-XXXX), Architectural decisions or design notes from prior reasoning, Target repository slug (server, clients, sdk-internal, android, etc.), Confluence page URL or plain-text feature description | ||
| --- | ||
|
|
||
| ## Scope | ||
|
|
||
| This skill produces one artifact: an implementation plan at `${CLAUDE_PLUGIN_DATA}/plans/{slug}-IMPLEMENTATION-PLAN.md`. Derive the slug from ticket + target (e.g., `pm-32009-new-item-types-server`). Create the output directory if needed. | ||
|
|
||
| It does not do architectural thinking. If the design has not yet been reasoned through β principles, blast radius, trade-offs β invoke `bitwarden-architect:architecting-solutions` first and carry its conclusions into the plan. | ||
|
|
||
| ## Per-Repo Planning Skills Take Precedence | ||
|
|
||
| Before using the default template, look in `<repo>/.claude/skills/` for a planning-related skill. If one exists, defer the artifact shape to it β invoke via the `Skill` tool if available, otherwise read the `SKILL.md` directly. Per-repo planning skills own platform-specific phase conventions, test commands, and definition-of-done. | ||
|
|
||
| ## Default Template | ||
|
|
||
| ```markdown | ||
| # Implementation Plan: [Feature Name] | ||
|
|
||
| ## Current State | ||
| What's already shipped (verify against the working tree, not the ticket). Pattern anchors with `file:line`. | ||
|
|
||
| ## Blast Radius | ||
| Affected modules β Primary / Secondary / No-change-verified. | ||
|
|
||
| ## Design | ||
| Type model, interfaces, data flow. | ||
|
|
||
| ## Phases | ||
| Dependency-ordered, each one PR. Per phase: tasks, files, acceptance. | ||
|
|
||
| ## Risks & Open Questions | ||
| Likelihood Γ impact + mitigation. Tech debt surfaced (don't silently fix). Questions for the human (don't invent answers). | ||
| ``` | ||
|
|
||
| ## Downstream Handoff | ||
|
|
||
| When phases are ready to become tickets, invoke `bitwarden-architect:creating-work-breakdown`. |
42 changes: 42 additions & 0 deletions
42
plugins/bitwarden-architect/skills/creating-work-breakdown/SKILL.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| --- | ||
| 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) | ||
| --- | ||
|
|
||
| ## Scope | ||
|
|
||
| This skill produces one artifact: a work-breakdown document under `${CLAUDE_PLUGIN_DATA}/plans/`. If the user supplies an output filename, use it verbatim. Otherwise default to `{slug}-WORK-BREAKDOWN.md`, reusing the same slug as the corresponding implementation plan so the two files pair up. | ||
|
|
||
| It does not do implementation planning. If no plan exists yet, invoke `bitwarden-architect:creating-implementation-plan` first. | ||
|
|
||
| ## Template | ||
|
|
||
| ```markdown | ||
| # Work Breakdown: [Feature Name] | ||
|
|
||
| **Plan:** `{slug}-IMPLEMENTATION-PLAN.md` | ||
| **Parent ticket:** [Jira epic or parent, if known] | ||
|
|
||
| ## Task: [Short imperative title] | ||
| **Phase:** [Phase N from the plan] | ||
| **Files:** [paths that this task touches] | ||
| **Depends on:** [task titles or "none"] | ||
| **Acceptance:** | ||
| - [ ] [observable, verifiable criterion] | ||
| - [ ] [another criterion] | ||
| **Notes:** [optional β non-obvious context, risks surfaced during decomposition] | ||
|
|
||
| ## Task: [next] | ||
| ... | ||
| ``` | ||
|
|
||
| ## Decomposition Rules | ||
|
|
||
| - **One task, one PR.** If a task is too large to review in a single PR, split it. | ||
| - **Order by dependency.** A task that depends on another must come later in the list. Make the dependency explicit in the `Depends on` field. | ||
| - **Every task cites files.** "Updates the thing" is not a task. "Updates `src/Foo/Bar.cs:42` and its tests" is. | ||
| - **Acceptance criteria are observable.** Prefer "unit test X passes", "endpoint Y returns 200", "flag Z toggles feature" over "works correctly". | ||
| - **Preserve the plan's phase boundaries.** A task belongs to exactly one phase. If decomposition reveals a phase that should split, flag it as a plan-level issue rather than papering over it here. | ||
| - **Inherit risks from the plan.** Do not re-enumerate plan-level risks per task. If a risk is task-specific (e.g., "depends on external SDK release"), note it in `Notes`. | ||
12 changes: 12 additions & 0 deletions
12
plugins/bitwarden-delivery-tools/.claude-plugin/plugin.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| { | ||
| "name": "bitwarden-delivery-tools", | ||
| "version": "1.0.0", | ||
| "description": "Generic delivery workflow skills for committing, PR creation, preflight checks, and change labeling across any Bitwarden repository.", | ||
| "author": { | ||
| "name": "Bitwarden", | ||
| "url": "https://github.com/bitwarden" | ||
| }, | ||
| "homepage": "https://github.com/bitwarden/ai-marketplace/tree/main/plugins/bitwarden-delivery-tools", | ||
| "repository": "https://github.com/bitwarden/ai-marketplace", | ||
| "keywords": ["delivery", "commit", "pull-request", "preflight", "labeling"] | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| # Changelog | ||
|
|
||
| All notable changes to the `bitwarden-delivery-tools` plugin will be documented in this file. | ||
|
|
||
| The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | ||
| and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||
|
|
||
| ## [1.0.0] - 2026-04-08 | ||
|
|
||
| ### Added | ||
|
|
||
| - Generic `committing-changes` skill for commit message format and staging workflow | ||
| - Generic `creating-pull-request` skill for PR creation and draft workflow | ||
| - Generic `labeling-changes` skill for conventional commit type keywords and label mapping | ||
| - Generic `perform-preflight` skill for pre-commit quality gate checklist | ||
| - All skills are platform-agnostic and reference the repo's CLAUDE.md for platform-specific details |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @Banrion
No,
${CLAUDE_PLUGIN_DATA}is one of the built-in Claude Code environment variables available to plugins.Environment variables talks more about them.