workflow-audit

Vérifier si bwwl est disponible :

npx skills add https://github.com/bitwarden/ai-plugins --skill workflow-audit

Rules

  • This skill is strictly read-only. Do not modify, create, or delete any files.
  • Flag uncertainty. If a finding is ambiguous, note it in the report rather than guessing.

Step 1: Verify Prerequisites

Check if bwwl is available:

bwwl --version

If the command is not found, stop and inform the user that bwwl must be installed before continuing. Do not attempt to install it.

Step 2: Determine Scope

Parse the user's request to determine what to lint:

  • Single file or directory (e.g., .github/workflows/build.yml or .github/workflows/): Operate on the current repo only.
  • Multiple repos (e.g., "server, clients, android"): Operate on each repo sequentially. Ask the user for the base directory where their repos are cloned. For each repo, look for its local clone at <base-dir>/<repo>. If a clone is not found, inform the user and skip that repo.
  • No specific target: Lint all files in .github/workflows/ of the current directory.

Step 3: Run the Linter

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.

Step 4: Parse and Categorize Findings

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_target
  • Simple run_actionlint findings (single-line shell fixes)

Judgment (requires user input):

  • name_exists, step_approved, complex run_actionlint findings

Step 5: Report

Output a summary table per repo:

FileFindingRuleCategory
............

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.

Plus de skills de bitwarden

figma-to-angular
bitwarden
Cette compétence transforme un cahier des charges Figma en un composant Angular entièrement implémenté avec des stories Storybook dans le monorepo Bitwarden Clients. Le résultat doit correspondre visuellement au design tout en respectant toutes les conventions du codebase.
force-multiplier
bitwarden
Appliquez une intention unique à de nombreuses cibles à la fois — une flotte de dépôts à travers l’écosystème Bitwarden, ou de nombreux projets au sein d’un monorepo — comme N cohérents, …
analyzing-git-sessions
bitwarden
Analyse les commits et modifications Git dans un intervalle de temps ou une plage de commits, fournissant des résumés structurés pour la revue de code, les rétrospectives, les journaux de travail ou les sessions…
coordinating-cross-team-breakdown
bitwarden
Coordonner la revue et l'approbation inter-équipes pour un Bitwarden Tech Breakdown. Utiliser lors de l'identification des équipes concernées, de la construction du tableau d'approbation de la Partie 3, de la relance…
assessing-jira-issue-relevance
bitwarden
À utiliser lorsque l'utilisateur fournit une clé de ticket Jira unique et demande si elle est toujours pertinente, toujours applicable, toujours en attente, toujours un bug, a été corrigée, ou peut…
assessing-test-coverage
bitwarden
À utiliser pour déterminer quelle couverture de tests EXISTE déjà pour un changement spécifique (une PR, une clé Jira, un document Tech Breakdown, un CSV Testmo, des chemins modifiés ou des éléments nommés…
retrospecting
bitwarden
Effectue une analyse complète des sessions Claude Code, en examinant l'historique git, les journaux de conversation, les modifications de code, et en recueillant les retours utilisateurs pour générer…
reviewing-incremental-changes
bitwarden
Utilisez cette compétence lors de la re-vérification d'une PR qui contient déjà des commentaires ou lors de la réponse aux modifications du développeur après la vérification initiale. Appliquez-la lorsque des fils de discussion de PR existent ou…