consulting-adrs
Check a design, change, pull request, plan, or threat model against Bitwarden's Architecture Decision Records (ADRs), or locate…
Retrieves a link from Mailcatcher. Use when a local testing or debugging flow needs a link from an email, such as account verification links, magic-link logins, trial activations, organization invites, emergency access, and other email-driven flows. Preferred over the
$ npx -y skills add bitwarden/ai-plugins --skill reading-mailcatcher-api --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/reading-mailcatcher-apiContext preview
The summary Claude sees to decide when to auto-load this skill.
Retrieves a link from Mailcatcher. Use when a local testing or debugging flow needs a link from an email, such as account verification links, magic-link logins, trial activations, organization invites, emergency access, and other email-driven flows. Preferred over the
name: reading-mailcatcher-api
description: Retrieves a link from Mailcatcher. Use when a local testing or debugging flow needs a link from an email, such as account verification links, magic-link logins, trial activations, organization invites, emergency access, and other email-driven flows. Preferred over the Mailcatcher browser UI in automation, where Playwright's CORS blocks a direct fetch. Do NOT use it to configure SMTP, start Mailcatcher, or debug delivery.
argument-hint: "--recipient <email> [--pattern <subject-keyword>] [--link-filter <regex>]"
allowed-tools: "Read(/${CLAUDE_PLUGIN_ROOT}/skills/reading-mailcatcher-api/references/**), Bash(${CLAUDE_PLUGIN_ROOT}/skills/reading-mailcatcher-api/scripts/read_mailcatcher.py:*), Bash(${CLAUDE_PLUGIN_ROOT}/skills/reading-mailcatcher-api/scripts/get_admin_email.py:*)"For all programmatic uses (test runs, ad-hoc fetches, debugging), call the co-located script directly.
${CLAUDE_PLUGIN_ROOT}/skills/reading-mailcatcher-api/scripts/read_mailcatcher.py --recipient <email> [--pattern <subject-keyword>] [--link-filter <regex>]For example, to pull a verification link:
${CLAUDE_PLUGIN_ROOT}/skills/reading-mailcatcher-api/scripts/read_mailcatcher.py --recipient testuser-s1@example.com --pattern "Verify"| Exit | Meaning | Correct response | | ---- | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | 0 | matching URL printed on stdout | use it | | 1 | `NO_MATCH: no email for recipient …` — no matching message arrived (the script retried once after a 3s sleep) | if the email may not have arrived yet (a slow async send), re-invoke the script once more — a single fresh call, not a loop; the script's own 3-second retry supplies the delay. Otherwise the filters are too narrow: re-check `--recipient`, then widen or drop `--pattern`. | | 1 | matched a message, but no URL matched `--link-filter` (no retry; stderr: `matched but contained no URL filtered by …`) | the link is there but the filter missed it; loosen or fix `--link-filter` | | 1 | matched URLs, but none is on the local dev allowlist (no retry; stderr: `none of the N filter-matched URL(s) is a local dev host`) | stderr names the rejected host(s). This is an environment change outside the skill: ask the user to add the host to `MAILCATCHER_ALLOWED_HOSTS` in their shell (see Prerequisites), then retry. Do not prefix the assignment onto the script invocation — that falls outside the skill's Bash grant and re-prompts every call. | | 2 | usage error (bad or missing arguments) | fix the invocation | | 3 | Mailcatcher unreachable or returned invalid JSON | Mailcatcher is not running or unreachable. Starting it falls outside this skill's Bash grant: ask the user to start it (see Prerequisites), then retry. |
The script already retries once after a 3-second sleep on the first miss; callers don't need their own retry loop. See `${CLAUDE_PLUGIN_ROOT}/skills/reading-mailcatcher-api/references/manual-api-walkthrough.md` for the underlying Mailcatcher API the script wraps — consult it when modifying the script or debugging unexpected output.
A second granted helper, `${CLAUDE_PLUGIN_ROOT}/skills/reading-mailcatche
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.…