{
  "schemaVersion": "1.0",
  "item": {
    "slug": "bitwarden-vault",
    "name": "Bitwarden Vault CLI",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/StartupBros/bitwarden-vault",
    "canonicalUrl": "https://clawhub.ai/StartupBros/bitwarden-vault",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/bitwarden-vault",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=bitwarden-vault",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/cli-examples.md",
      "references/get-started.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/bitwarden-vault"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/bitwarden-vault",
    "agentPageUrl": "https://openagent3.xyz/skills/bitwarden-vault/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bitwarden-vault/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bitwarden-vault/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Bitwarden CLI Skill",
        "body": "The Bitwarden command-line interface (CLI) provides full access to your Bitwarden vault for retrieving passwords, secure notes, and other secrets programmatically."
      },
      {
        "title": "Workflow Requirements",
        "body": "CRITICAL: Always run bw commands inside a dedicated tmux session. The CLI requires a session key (BW_SESSION) for all vault operations after authentication. A tmux session preserves this environment variable across commands."
      },
      {
        "title": "Required Workflow",
        "body": "Verify CLI installation: Run bw --version to confirm the CLI is available\nCreate a dedicated tmux session: tmux new-session -d -s bw-session\nAttach and authenticate: Run bw login or bw unlock inside the session\nExport session key: After unlock, export BW_SESSION as instructed by the CLI\nExecute vault commands: Use bw get, bw list, etc. within the same session"
      },
      {
        "title": "Authentication Methods",
        "body": "MethodCommandUse CaseEmail/Passwordbw loginInteractive sessions, first-time setupAPI Keybw login --apikeyAutomation, scripts (requires separate unlock)SSObw login --ssoEnterprise/organization accounts\n\nAfter bw login with email/password, your vault is automatically unlocked. For API key or SSO login, you must subsequently run bw unlock to decrypt the vault."
      },
      {
        "title": "Session Key Management",
        "body": "The unlock command outputs a session key. You must export it:\n\n# Bash/Zsh\nexport BW_SESSION=\"<session_key_from_unlock>\"\n\n# Or capture automatically\nexport BW_SESSION=$(bw unlock --raw)\n\nSession keys remain valid until you run bw lock or bw logout. They do not persist across terminal windows—hence the tmux requirement."
      },
      {
        "title": "Reading Secrets",
        "body": "# Get password by item name\nbw get password \"GitHub\"\n\n# Get username\nbw get username \"GitHub\"\n\n# Get TOTP code\nbw get totp \"GitHub\"\n\n# Get full item as JSON\nbw get item \"GitHub\"\n\n# Get specific field\nbw get item \"GitHub\" | jq -r '.fields[] | select(.name==\"api_key\") | .value'\n\n# List all items\nbw list items\n\n# Search items\nbw list items --search \"github\""
      },
      {
        "title": "Security Guardrails",
        "body": "NEVER expose secrets in logs, code, or command output visible to users\nNEVER write secrets to disk unless absolutely necessary\nALWAYS use bw lock when finished with vault operations\nPREFER reading secrets directly into environment variables or piping to commands\nIf you receive \"Vault is locked\" errors, re-authenticate with bw unlock\nIf you receive \"You are not logged in\" errors, run bw login first\nStop and request assistance if tmux is unavailable on the system"
      },
      {
        "title": "Environment Variables",
        "body": "VariablePurposeBW_SESSIONSession key for vault decryption (required for all vault commands)BW_CLIENTIDAPI key client ID (for --apikey login)BW_CLIENTSECRETAPI key client secret (for --apikey login)BITWARDENCLI_APPDATA_DIRCustom config directory (enables multi-account setups)"
      },
      {
        "title": "Self-Hosted Servers",
        "body": "For Vaultwarden or self-hosted Bitwarden:\n\nbw config server https://your-bitwarden-server.com"
      },
      {
        "title": "Reference Documentation",
        "body": "Get Started Guide - Installation and initial setup\nCLI Examples - Common usage patterns and advanced operations"
      }
    ],
    "body": "Bitwarden CLI Skill\n\nThe Bitwarden command-line interface (CLI) provides full access to your Bitwarden vault for retrieving passwords, secure notes, and other secrets programmatically.\n\nWorkflow Requirements\n\nCRITICAL: Always run bw commands inside a dedicated tmux session. The CLI requires a session key (BW_SESSION) for all vault operations after authentication. A tmux session preserves this environment variable across commands.\n\nRequired Workflow\nVerify CLI installation: Run bw --version to confirm the CLI is available\nCreate a dedicated tmux session: tmux new-session -d -s bw-session\nAttach and authenticate: Run bw login or bw unlock inside the session\nExport session key: After unlock, export BW_SESSION as instructed by the CLI\nExecute vault commands: Use bw get, bw list, etc. within the same session\nAuthentication Methods\nMethod\tCommand\tUse Case\nEmail/Password\tbw login\tInteractive sessions, first-time setup\nAPI Key\tbw login --apikey\tAutomation, scripts (requires separate unlock)\nSSO\tbw login --sso\tEnterprise/organization accounts\n\nAfter bw login with email/password, your vault is automatically unlocked. For API key or SSO login, you must subsequently run bw unlock to decrypt the vault.\n\nSession Key Management\n\nThe unlock command outputs a session key. You must export it:\n\n# Bash/Zsh\nexport BW_SESSION=\"<session_key_from_unlock>\"\n\n# Or capture automatically\nexport BW_SESSION=$(bw unlock --raw)\n\n\nSession keys remain valid until you run bw lock or bw logout. They do not persist across terminal windows—hence the tmux requirement.\n\nReading Secrets\n# Get password by item name\nbw get password \"GitHub\"\n\n# Get username\nbw get username \"GitHub\"\n\n# Get TOTP code\nbw get totp \"GitHub\"\n\n# Get full item as JSON\nbw get item \"GitHub\"\n\n# Get specific field\nbw get item \"GitHub\" | jq -r '.fields[] | select(.name==\"api_key\") | .value'\n\n# List all items\nbw list items\n\n# Search items\nbw list items --search \"github\"\n\nSecurity Guardrails\nNEVER expose secrets in logs, code, or command output visible to users\nNEVER write secrets to disk unless absolutely necessary\nALWAYS use bw lock when finished with vault operations\nPREFER reading secrets directly into environment variables or piping to commands\nIf you receive \"Vault is locked\" errors, re-authenticate with bw unlock\nIf you receive \"You are not logged in\" errors, run bw login first\nStop and request assistance if tmux is unavailable on the system\nEnvironment Variables\nVariable\tPurpose\nBW_SESSION\tSession key for vault decryption (required for all vault commands)\nBW_CLIENTID\tAPI key client ID (for --apikey login)\nBW_CLIENTSECRET\tAPI key client secret (for --apikey login)\nBITWARDENCLI_APPDATA_DIR\tCustom config directory (enables multi-account setups)\nSelf-Hosted Servers\n\nFor Vaultwarden or self-hosted Bitwarden:\n\nbw config server https://your-bitwarden-server.com\n\nReference Documentation\nGet Started Guide - Installation and initial setup\nCLI Examples - Common usage patterns and advanced operations"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/StartupBros/bitwarden-vault",
    "publisherUrl": "https://clawhub.ai/StartupBros/bitwarden-vault",
    "owner": "StartupBros",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/bitwarden-vault",
    "downloadUrl": "https://openagent3.xyz/downloads/bitwarden-vault",
    "agentUrl": "https://openagent3.xyz/skills/bitwarden-vault/agent",
    "manifestUrl": "https://openagent3.xyz/skills/bitwarden-vault/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/bitwarden-vault/agent.md"
  }
}