Bitwarden Designer
Bitwarden Dev Ops Engineer
Bitwarden Product Analyst
Bitwarden Tech Lead
Bitwarden Testing Tools
Claude Config Validator
Claude Retrospective
59 chapters · 270 min
Bitwarden Dev Ops Engineer
Chapter 33 of 59
Run the Bitwarden workflow linter (bwwl) against one or more repos and report findings.
1 minute · 256 words · 6 sections
Check if bwwl is available:
bwwl --versionIf the command is not found, stop and inform the user that bwwl must be installed before continuing. Do not attempt to install it.
Parse the user’s request to determine what to lint:
.github/workflows/build.yml or .github/workflows/): Operate on the current repo only.<base-dir>/<repo>. If a clone is not found, inform the user and skip that repo..github/workflows/ of the current directory.For each repo in scope, run:
bwwl lint -f .github/workflows/Capture both stdout and stderr. If operating on multiple repos, announce which repo is being linted.
From the linter output, produce a structured list of findings. Group by file and rule. Consult the bitwarden-workflow-linter-rules skill to categorize each finding:
Mechanical (can be auto-fixed):
name_capitalized, permissions_exist, pinned_job_runner, step_pinned, underscore_outputs, job_environment_prefix, check_pr_targetrun_actionlint findings (single-line shell fixes)Judgment (requires user input):
name_exists, step_approved, complex run_actionlint findingsOutput a summary table per repo:
| File | Finding | Rule | Category |
|---|---|---|---|
| … | … | … | … |
Include totals: mechanical findings, judgment findings, and repos with no issues.
Inform the user that they can use the workflow-fix skill to apply fixes based on these findings.
Install this repository
npx skills add bitwarden/ai-plugins/plugin marketplace add bitwarden/ai-pluginsSkills install per repository, not per chapter — the CLI has no documented per-skill form, so we do not print one.
Run the Bitwarden workflow linter (bwwl) against one or more repos and report findings. Strictly read-only — does not modify any files. Categorizes findings as mechanical or judgment using the bitwarden-workflow-linter-rules skill. Supports single repo, multiple repos, or single file/directory scope. <example> User: Run the workflow linter on the server repo Action: Trigger workflow-audit for that repo </example> <example> User: Lint the workflows across server, clients, and android Action: Trigger workflow-audit in multi-repo mode </example>
The verbatim description from this skill’s front matter — the string an agent matches on to decide whether to load it.
Read,Glob,Grep,Skill,Bash(bwwl:*)plugins/bitwarden-devops-engineer/skills/workflow-audit/SKILL.mdmain, last pushed 10 August 2026.SKILL.md, not by matching a directory convention. 13 distinct layouts observed: plugins/bitwarden-atlassian-tools/skills/*/SKILL.md, plugins/bitwarden-code-review/skills/*/SKILL.md, plugins/bitwarden-delivery-tools/skills/*/SKILL.md, plugins/bitwarden-design-tools/skills/*/SKILL.md, plugins/bitwarden-designer/skills/*/SKILL.md, plugins/bitwarden-devops-engineer/skills/*/SKILL.md, plugins/bitwarden-product-analyst/skills/*/SKILL.md, plugins/bitwarden-security-engineer/skills/*/SKILL.md, plugins/bitwarden-shepherd/skills/*/SKILL.md, plugins/bitwarden-tech-lead/skills/*/SKILL.md, plugins/bitwarden-testing-tools/skills/*/SKILL.md, plugins/claude-config-validator/skills/*/SKILL.md, plugins/claude-retrospective/skills/*/SKILL.md..claude-plugin/marketplace.json by Bitwarden, declaring 16 plugins. It is read for editorial metadata only — never as the skill index, which is always the repository tree./bitwarden/ai-plugins.md, and each chapter at its own .md URL.