Official agent skill

Build Test Verify

by bitwarden in bitwarden/ios

Build the project, run tests, lint, format, spell check, generate mocks, or verify the build passes for Bitwarden iOS.

OfficialGPL-3.0Auto-check passedDevelopment

Install Build Test Verify

skills CLI
$ npx skills add bitwarden/ios --skill build-test-verify -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install bitwarden/ios build-test-verify --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/bitwarden/ios.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/build-test-verify .claude/skills/build-test-verify && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
build-test-verify
GitHub stars
695
Token cost
~1.3k tokens
SKILL.md length
313 words
Files
1
Skills in repo
11
Repo updated
First seen
Licence
GPL-3.0

At a glance

Build the project, run tests, lint, format, spell check, generate mocks, or verify the build passes for Bitwarden iOS.

  • Check if it compiles
  • SKILL.md covers Initial Setup, Project Generation, Building and Running Tests, plus 5 more sections
  • Calls brew and xcodebuild
  • Run swiftformat

What it does

Build Test Verify is an agent skill from bitwarden/ios, published by the product's own GitHub organization. Build the project, run tests, lint, format, spell check, generate mocks, or verify the build passes for Bitwarden iOS. Use when asked to "build", "run tests", "lint", "format", "verify build", "check if it compiles", "run swiftlint", "run swiftformat", "generate mocks", or to execute any part of the build/test/verify pipeline.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Linting and formatting. It works with iOS. The repository describes itself as: Bitwarden mobile apps (Password Manager and Authenticator) for iOS. The licence is GPL-3.0.

When your agent uses it

  • Check if it compiles
  • Run swiftformat
  • Execute any part of the build/test/verify pipeline

Example prompts

  • “run tests”
  • “format”
  • “verify build”
  • “/build-test-verify”

What it can do on your machine

Read from SKILL.md and the folder at commit 6399b1d. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • brew
    • xcodebuild

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Build Test Verify loads about 1.3k tokens when it runs. Until then it costs about 87 tokens; SKILL.md has 313 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~87
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from bitwarden/ios at commit 6399b1d, republished under its GPL-3.0 licence (© bitwarden). 313 words, ~1,338 tokens.

Download SKILL.mdSave it as .claude/skills/build-test-verify/SKILL.md (or your agent's skills folder).
name
build-test-verify
description
Build the project, run tests, lint, format, spell check, generate mocks, or verify the build passes for Bitwarden iOS. Use when asked to "build", "run tests", "lint", "format", "verify build", "check if it compiles", "run swiftlint", "run swiftformat", "generate mocks", or to execute any part of the build/test/verify pipeline.

Build, Test, and Verify — Bitwarden iOS

Initial Setup

bash
brew bundle                  # Install Homebrew dependencies
./Scripts/bootstrap.sh       # Generate Xcode projects, install Mint packages, set up git hooks

Git hooks set up by bootstrap.sh:

  • post-checkout / post-merge — automatically re-run bootstrap.sh

Project Generation

.xcodeproj files are gitignored and must be generated before building:

bash
mint run xcodegen --spec project-pm.yml    # Password Manager
mint run xcodegen --spec project-bwa.yml   # Authenticator
mint run xcodegen --spec project-bwk.yml   # BitwardenKit
mint run xcodegen --spec project-bwth.yml  # Test Harness

Or run all at once via ./Scripts/bootstrap.sh.

Building

bash
./Scripts/build.sh project-pm.yml Bitwarden Simulator       # PM for simulator
./Scripts/build.sh project-bwa.yml Authenticator Simulator   # Authenticator for simulator
./Scripts/build.sh project-bwth.yml TestHarness Simulator    # Test Harness for simulator
./Scripts/build.sh project-pm.yml Bitwarden Device           # PM for device

Running Tests

Always read the simulator config files before running tests:

bash
DEVICE=$(tr -d '\n' < .test-simulator-device-name)
OS=$(tr -d '\n' < .test-simulator-ios-version)

Then run tests with:

bash
xcodebuild test \
  -workspace Bitwarden.xcworkspace \
  -scheme Bitwarden \
  -testPlan Bitwarden-Default \
  -destination "platform=iOS Simulator,name=$DEVICE,OS=$OS"

Current values (as of last update): device iPhone 17 Pro, OS 26.5. Do not hardcode these — always read from .test-simulator-device-name and .test-simulator-ios-version at runtime, as they change when the project upgrades its simulator target.

CI runs all -Default test plans on PRs to main, commits to main, and release branches. Test execution order is randomized (randomExecutionOrder: true).

Snapshot tests are currently disabled. Do not run or re-record them. If you encounter a snapshot test, prefix the function name with disable (e.g., disabletest_snapshot_defaultState).

Lint, Format, Spell Check

bash
mint run swiftlint                        # Lint (custom rules: todo_without_jira, weak_navigator, style_guide_font)
mint run swiftformat .                    # Auto-fix formatting (4-space indent, Swift 6.2)
mint run swiftformat --lint --lenient .   # Check formatting without fixing
typos                                     # Spell check

SwiftLint and SwiftFormat run automatically as post-compile scripts (configured in project-pm.yml).

Code Generation

Run automatically in pre-build phases; trigger manually when needed:

bash
# Mock generation — run from an Xcode build phase (BUILD_DIR is set automatically by Xcode)
# To run standalone, supply BUILD_DIR manually — see the script header for the one-liner
./Scripts/generate-mocks.sh BitwardenShared    # default if argument omitted
./Scripts/generate-mocks.sh AuthenticatorShared
./Scripts/generate-mocks.sh BitwardenKit

# Asset/localization code generation
mint run swiftgen config run --config swiftgen-bwr.yml   # BitwardenResources (most common)
mint run swiftgen config run --config swiftgen-pm.yml    # Password Manager
mint run swiftgen config run --config swiftgen-bwa.yml   # Authenticator
mint run swiftgen config run --config swiftgen-bwth.yml  # Test Harness

Tooling Reference

ToolConfigPurpose
XcodeGenproject-*.ymlGenerates .xcodeproj from YAML specs
MintMintfileSwift tool package manager
SwiftLint.swiftlint.ymlLinting with custom rules
SwiftFormat.swiftformatCode formatting
Sourcery*/Sourcery/sourcery.ymlMock generation (AutoMockable)
SwiftGenswiftgen-*.ymlAsset/localization code generation
typosproject configSpell checking
Fastlanefastlane/FastfileCI/CD automation

Common Failures

ProblemCauseFix
.xcodeproj not foundFiles are gitignoredRun ./Scripts/bootstrap.sh
MockXxx not foundSourcery not runAdd // sourcery: AutoMockable, run Sourcery or build
Snapshot test runsSnapshots are currently disabledPrefix function name with disable (e.g., disabletest_snapshot_defaultState)
Extension crash on unlockArgon2id KDF > 64 MBCheck maxArgon2IdMemoryBeforeExtensionCrashing in Constants.swift
SwiftLint TODO warningMissing JIRA ticket// TODO: PM-12345 - description

Debug Tips

  • Error reporting: ErrorReporter protocol + OSLogErrorReporter for development
  • Flight recorder: In-app logging for debugging production issues
  • SDK diagnostics: Xcode console errors prefixed BitwardenSdk
  • Network debugging: Set breakpoints in APIService implementations in Networking/
  • State debugging: print(subject.state) in processor tests to inspect state changes

© bitwarden, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/build-test-verify of bitwarden/ios.

Open the folder on GitHubat commit 6399b1d

Compare with similar skills

Build Test Verify next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Build Test Verify compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Build Test Verify this skillbitwarden/ios695—~1.3kAutomated safety check: PassGPL-3.0
Dep Validateblokadaorg/blokada3.3k—~5.7kAutomated safety check: NotesMPL-2.0
Lintwoocommerce/woocommerce-ios358—~140Automated safety check: NotesGPL-2.0
iOS Reviewplayer-ui/player101—~1.6kAutomated safety check: PassMIT
Coding Assistantwpsnote/wpsnote-skills179—~1.1kAutomated safety check: PassNone
Kotlin LintingGerardPaligot/Confily152—~708Automated safety check: PassApache-2.0

Similar skills

  • Dep Validate

    blokadaorg/blokada

    A skill your agent uses to validate risky dependency bumps end to end as a local or cloud-launched agent.

    3.3k GitHub stars~5.7k tokensUpdated yesterday
    DevelopmentAuto-check: notes
  • Lint

    woocommerce/woocommerce-ios

    Run SwiftLint on the WooCommerce iOS project. An agent skill from woocommerce/woocommerce-ios.

    358 GitHub stars~140 tokensUpdated today
    DevelopmentAuto-check: notes
  • iOS Review

    player-ui/player

    Review Swift/iOS code against team conventions. An agent skill from player-ui/player.

    101 GitHub stars~1.6k tokensUpdated 2 days ago
    MobileAuto-check passed
  • Coding Assistant

    wpsnote/wpsnote-skills

    多平台编码助手。遵循各平台官方文档做编码规范、单测与编译/lint;协助将核心技术梳理为完整 WPS 笔记技术文档。生成的笔记必须包含 7 个二级标题(核心技术、核心代码、关键技术点、核心类和职责、调用链、架构概览、注意事项);其中架构、核心技术、调用链的图示优先用 WPS 笔记的 generateimage 根据描述生成图片再用 insertimage…

    179 GitHub stars~1.1k tokensUpdated 4 mo ago
    MobileAuto-check passed
  • Kotlin Linting

    GerardPaligot/Confily

    A skill your agent uses whenever you write or modify Kotlin files in this project.

    152 GitHub stars~708 tokensUpdated 11 days ago
    MobileAuto-check passed
  • Hyperframes CLI

    OpenMinis/MinisSkills

    HyperFrames CLI and Minis rendering. An agent skill from OpenMinis/MinisSkills.

    444 GitHub stars~3.5k tokensUpdated yesterday
    Media & CreativeAuto-check passed

More from bitwarden/ios

All 11 skills in this repo
  • Testing iOS Code

    bitwarden/ios

    Official

    Write tests, add test coverage, unit test, or add missing tests for Bitwarden iOS.

    695 GitHub stars~1.8k tokensUpdated yesterday
    Auto-check passed
  • Official

    Build the Bitwarden iOS app, capture all compiler and lint warnings, categorize them into Swift 6 concurrency vs actionable, and interactively fix the actionable ones.

    695 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Official

    Convert a hand-written bespoke mock to a Sourcery AutoMockable-generated mock.

    695 GitHub stars~3.5k tokensUpdated yesterday
    Auto-check passed
  • Official

    Evaluates a bitwarden/ios "Update SDK to" PR against the sdk-swift commit range for compile-time, runtime and serialization breaking changes, maps affected symbols to iOS call sites, and applies…

    695 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Fixing Flaky Tests

    bitwarden/ios

    Official

    Diagnose and fix flaky (intermittently failing) tests in Bitwarden iOS.

    695 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Official

    Implement, write code, add a new screen, create a feature, new view, new processor, or wire up a new service in Bitwarden iOS.

    695 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Build Test Verify

What does Build Test Verify do?

Build the project, run tests, lint, format, spell check, generate mocks, or verify the build passes for Bitwarden iOS. Build Test Verify is an agent skill from bitwarden/ios, published by the product's own GitHub organization. Build the project, run tests, lint, format, spell check, generate mocks, or verify the build passes for Bitwarden iOS.

When should I use Build Test Verify?

Build Test Verify fits situations like: check if it compiles; run swiftformat; execute any part of the build/test/verify pipeline.

How do I install Build Test Verify in Claude Code?

Run `npx skills add bitwarden/ios --skill build-test-verify -a claude-code`. Or copy the skill folder (.claude/skills/build-test-verify in bitwarden/ios) into .claude/skills/build-test-verify in your project. Claude Code loads it when a task matches its description.

How do I install Build Test Verify in Codex?

Run `npx skills add bitwarden/ios --skill build-test-verify -a codex`. Or copy the skill folder (.claude/skills/build-test-verify in bitwarden/ios) into .agents/skills/build-test-verify in your project. Codex loads it when a task matches its description.

Can I use Build Test Verify in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add bitwarden/ios --skill build-test-verify -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/build-test-verify, .gemini/skills/build-test-verify, .github/skills/build-test-verify and .opencode/skills/build-test-verify in your project.

What does Build Test Verify need to run?

Going by SKILL.md and its folder, Build Test Verify needs the command-line tools its instructions call (brew and xcodebuild).

Does Build Test Verify access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Build Test Verify safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Build Test Verify use?

Build Test Verify is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Build Test Verify use?

About 1.3k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Build Test Verify?

Skills that share tags, products or a category with Build Test Verify: Dep Validate (blokadaorg/blokada, 3.3k stars), Lint (woocommerce/woocommerce-ios, 358 stars), iOS Review (player-ui/player, 101 stars) and Coding Assistant (wpsnote/wpsnote-skills, 179 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Build Test Verify?

bitwarden (a GitHub organization, an official publisher) maintains it in bitwarden/ios, which has 695 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 7, 2026.

Source: bitwarden/ios on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.