Manages credentials and API keys from Vaultwarden. Auto-triggers when credentials are needed. Use for "vault 조회", "API 키 가져와", "비밀번호 저장", "secret 등록" requests.
Credentials live at the approved self-hosted Vaultwarden origin https://vault.jiun.dev, reachable through the bw CLI and this skill's validated field-only helpers.
The server must remain on Vaultwarden 1.37.0 or newer when using Bitwarden clients 2026.7.0 or newer. Older servers emit legacy compatibility fields that these clients cannot decode.
There is no vault MCP server. If you look for one and find nothing, that is expected — it does not mean the credential is unavailable. Use the status helper before concluding anything is missing.
./scripts/vault-status.sh check
| status | What to do |
|:--|:--|
| unlocked | Proceed. |
| locked | Ask the user to run ! ./scripts/vault-status.sh unlock; do not attempt it yourself. |
| unauthenticated | Ask the user to run ! ./scripts/vault-status.sh login. |
check also decodes active and trashed item lists. An unlocked session is not considered ready when item decoding fails.
./scripts/vault-get-field.sh "<item-name>" "<field-name>" | consumer-command
./scripts/vault-get-field.sh "<login-item>" login.password | consumer-command
Fallback when you need to search rather than name an item exactly:
./scripts/vault-list-fields.sh "<term>"
Secrets are usually in custom fields, not in login.password. An item can look empty if you only check the login block. Enumerate field names first:
./scripts/vault-list-fields.sh "<term>"
| Item | Field | Used for |
|:--|:--|:--|
| <registry-item> | <publish-token-field> | Package publishing |
| <dns-provider-item> | <api-token-field>, <zone-id-field> | DNS automation |
| <service-item> | <credential-field> | Service access |
Full inventory: ~/.agents/VAULT.md. Keep its contents private and access-controlled.
A 401 Unauthorized can mean a local credential is stale. Refresh only the required field from the vault directly into a consumer that supports secret input on stdin.
./scripts/vault-get-field.sh "<registry-item>" "<password-field>" |
docker login registry.example.org --username "<account-name>" --password-stdin
Helper scripts live in this skill's own scripts/ directory:
printf '%s\n' "$PASSWORD" | ./scripts/vault-set.sh login "Service" --username app --password-stdin
printf '%s\n' "$API_KEY" | ./scripts/vault-set.sh note "API Key" --field-stdin api_key
./scripts/vault-status.sh check
./scripts/vault-status.sh sync
The IaC folder is the default destination. Override it only with --folder <id> or BW_FOLDER_ID. Sync keeps one protected pre-sync CLI cache backup and restores it automatically if sync or item decoding fails.
If creation reports an uncertain result, do not retry immediately. List matching item names first because the server may have committed the item before the client failed to decode its response.
DO
--password-stdin / --field-stdin when writing.DON'T
npx skills add jiunbae/managing-vault-secrets下载完整 Skill 目录,包含 SKILL.md 及所有相关文件
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer