consulting-adrs
Check a design, change, pull request, plan, or threat model against Bitwarden's Architecture Decision Records (ADRs), or locate…
Audit GitHub Actions action usage across an org. Searches for a specific action (incident mode) or sweeps all workflow files for non-compliant action references (audit mode). Produces a read-only report of findings with compliance status and resolved SHAs. Does not modify any
$ npx -y skills add bitwarden/ai-plugins --skill action-audit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/action-auditContext preview
The summary Claude sees to decide when to auto-load this skill.
Audit GitHub Actions action usage across an org. Searches for a specific action (incident mode) or sweeps all workflow files for non-compliant action references (audit mode). Produces a read-only report of findings with compliance status and resolved SHAs. Does not modify any
name: action-audit description: > Audit GitHub Actions action usage across an org. Searches for a specific action (incident mode) or sweeps all workflow files for non-compliant action references (audit mode). Produces a read-only report of findings with compliance status and resolved SHAs. Does not modify any files. <example> User: We need to check if any repos are using tj-actions/changed-files Action: Trigger action-audit in incident mode for that action </example> <example> User: Can you find all unpinned actions across the org? Action: Trigger action-audit in audit mode </example> allowed-tools: Read, Glob, Grep, Bash(gh search code:*), Bash(gh api:*)
Before classifying any action reference, read `${CLAUDE_PLUGIN_ROOT}/skills/bitwarden-workflow-linter-rules/SKILL.md` and apply the `step_pinned` rule as the compliance definition for all steps below. That skill is the single source of truth for what is and is not compliant.
Determine the mode from the user's request:
**Incident mode** — search for the specific action:
gh search code "uses: <action-name>" --owner <org> --path .github/workflows/ --limit 100
Also search without the `uses:` prefix to catch indirect references:
gh search code "<action-name>" --owner <org> --path .github/workflows/ --limit 100
**Audit mode** — find all workflow files and extract `uses:` references:
gh search code "uses:" --owner <org> --path .github/workflows/ --limit 100
Then apply the `step_pinned` compliance filter from `${CLAUDE_PLUGIN_ROOT}/skills/bitwarden-workflow-linter-rules/SKILL.md` to each reference.
> **Note:** GitHub code search indexes can lag by minutes to hours after a recent push. Results may not reflect the very latest commits. Flag this caveat in the output.
For each `uses:` reference (excluding local `./` paths), determine:
1. **Repo** and **file path** 2. **Current `uses:` value** (full line) 3. **Action type:**
4. **Pin status:**
5. **Compliant:** Apply the `step_pinned` rule from `${CLAUDE_PLUGIN_ROOT}/skills/bitwarden-workflow-linter-rules/SKILL.md` — ✅ if compliant, ❌ otherwise.
Display a table:
| Repo | File | Current Reference | Type | Pin Status | Compliant | | ---- | ---- | ----------------- | ---- | ---------- | --------- | | ... | ... | ... | ... | ... | ... |
In `incident` mode, include all rows. In `audit` mode, omit compliant (✅) rows.
If there are no non-compliant findings, inform the user and stop.
Apply the correct fix approach based on action type and mode. Do **not** treat all non-compliant references the same way.
**Incident mode — replacement action provided:**
If the user mentioned a replacement action in Step 1, do not resolve a SHA for the compromised action. Instead, resolve the SHA for the replacement action:
gh api repos/<owner>/<repo>/commits/<ref> --jq '.sha'
Present the resolved replacement SHA and a verification link (`https://github.com/<owner>/<repo>/commit/<sha>`) to the user. Ask for confirmation before finalizing.
**Internal actions** (`bitwarden/`):
**Third-party actions:**
gh api repos/<owner>/<repo>/commits/<ref> --jq '.sha'
Where `<owner>/<repo>` is the action's repo and `<ref>` is the target tag or `main`.
Present to the user:
Ask: "Does this SHA look correct? Type `yes` to confirm, or provide a different SHA."
Wait for confirmation before finalizing the report.
> In **audit mode**, group unique third-party actions and resolve each once rather than per-occurrence.
Output a final summary:
| Repo | File | Current Reference | Type | Compliant | Remediation | | ---- | ---- | ----------------- | ---- | --------- | ----------- | | ... | ... | ... | ... | ... | ... |
The **Remediation** column should contain:
Inform the user that they can use the `action-remediate` skill to apply fixes based on these findings.
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.…