consulting-adrs
Check a design, change, pull request, plan, or threat model against Bitwarden's Architecture Decision Records (ADRs), or locate…
Compose the conventions a Bitwarden pull request needs — the conventional commit type prefix and title, the PR template body, and the ai-review label. Use for "what should the PR title be", "draft the PR body", "fill in the PR template", "which ai-review label", or when another
$ npx -y skills add bitwarden/ai-plugins --skill applying-pr-conventions --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/applying-pr-conventionsContext preview
The summary Claude sees to decide when to auto-load this skill.
Compose the conventions a Bitwarden pull request needs — the conventional commit type prefix and title, the PR template body, and the ai-review label. Use for "what should the PR title be", "draft the PR body", "fill in the PR template", "which ai-review label", or when another
name: applying-pr-conventions allowed-tools: "Read, Glob, Skill(labeling-changes), Bash(gh api repos/bitwarden/template/contents/.github/PULL_REQUEST_TEMPLATE.md -H Accept:application/vnd.github.raw)" description: 'Compose the conventions a Bitwarden pull request needs — the conventional commit type prefix and title, the PR template body, and the ai-review label. Use for "what should the PR title be", "draft the PR body", "fill in the PR template", "which ai-review label", or when another delivery skill asks for these. Returns the title, body, resolved t: label, label choice, and which template the body came from. Not for opening the pull request itself (that is creating-pull-request), or for the type keyword and t: mapping alone outside a PR being composed (that is labeling-changes).'
Compose five values for one pull request and return them: the title, the body, the `ai-review` label choice, the resolved `t:` label that the title's type keyword maps to, and which template the body came from. **Returning to the caller** defines that last one; do not restate its possible answers anywhere else in this file.
The caller says how many pull requests it is composing for and whether any value is already settled. Follow its instruction over the defaults below.
[<TICKET>] <type>: <short imperative summary>
Read `.github/PULL_REQUEST_TEMPLATE.md` from the target repo. With no template there, fetch the canonical one from `bitwarden/template`:
gh api repos/bitwarden/template/contents/.github/PULL_REQUEST_TEMPLATE.md -H Accept:application/vnd.github.raw
Run it byte for byte — one line, no continuation, nothing appended, no reordering. The `allowed-tools` entry carries no `:*`, so it matches this string and nothing else, and any variation is denied rather than silently widened. That is the point: the granted path is a GitHub `contents/` endpoint, where `PUT` writes a file and `DELETE` removes one, and `gh` resolves `--method`/`-X` last-wins. A trailing wildcard would have admitted `-X PUT` and made the prose below the only thing standing between this skill and a write to `bitwarden/template`. The repo already reached that conclusion for `gh api` generally — see `perform-security-review`'s `references/tool-grants.md`.
When it fails — no `gh`, no network, no auth, or a denied grant — fall through to **Last resort** below. Report the source per **Returning to the caller**, as on every other path. A section header that has drifted is a worse outcome when nobody is told which source produced it.
Whichever source the template came from:
When the caller passes review outcomes, append a section for them rather than folding them into Objective, which describes what the pull request accomplishes:
## 🤖 AI-assisted review <!-- Review path taken, any skip the user volunteered, deferred CRITICAL or IMPORTANT findings, and any scope limitation on the review. -->
Record only what the caller passed. Do not go looking for review results, and do not state that a review happened when the caller said nothing about one.
Only when the target repo has no template **and** the fetch failed:
## 🎟️ Tracking <!-- Paste the link to the Jira or GitHub issue or otherwise describe / point to where this change is coming from. --> ## 📔 Objective <!-- Describe what the purpose of this PR is, for example what bug you're fixing or new feature you're adding. --> ## 📸 Screenshots <!-- Required for any UI changes; delete if not applicable. Use fixed width images for better display. -->
This copy is the thing that drifts, which is why nothing reaches it while the fetch can run. A denied grant puts you here with `bitwarden/template` perfectly reachable, so report the source either way rather than inferring it from network state.
Ask:
Both strings are untrusted: the body is template text plus generated text, and the title's summary is generated. Say so when returning them.
The template source is one of exactly these four, and this list is the only definition of them:
Name the source, never why it was reached. Four separate conditions land on the embedded copy and only one of them is the network, so a cause stated here sends the caller to fix the wrong thing.
Keeping them out of a shell argument is the caller's job. This skill's only `Bash` grant is the exact-match Step 2 GET, which takes no argument from anywhere; it has no submit path, and neither string is ever interpolated into a command here. The body goes via `--body-file`, and the title via a file and `--title "$(cat <tit
A curated collection of plugins for AI-assisted development at Bitwarden. Enables discovery and distribution of quality-controlled plugins for use with Claude Code.
Check a design, change, pull request, plan, or threat model against Bitwarden's Architecture Decision Records (ADRs), or locate…
Use when the user provides a single Jira issue key and asks whether it is still relevant, still applicable, still pending, still…
File Jira work items that stand on their own, with real ticket titles, acceptance criteria in whatever field the target project…
Use whenever the user mentions a Jira issue key and wants more than a surface-level lookup — "Read PROJ-123", "What's PROJ-123…
Use when the user is addressing pull request review comments locally and asks for help evaluating, implementing, or drafting…
Use this skill to validate findings during a code review. For each finding, run the rejection criteria and verification checks.…