[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FSXRVESBZK4TTYJKEQ1QQV":3,"skill-same:01M6FSXRVESBZK4TTYJKEQ1QQV":85},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":36,"linkOnly":37,"markdownContent":38,"markdownBody":39,"frontMatter":40,"refName":58,"commitSha":59,"skillDirectory":60,"forksCount":61,"repositoryHtmlUrl":62,"repositoryHomepageUrl":6,"ownerHtmlUrl":63,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":64,"install":65,"resources":78},"01M6FSXRVESBZK4TTYJKEQ1QQV","bitwarden",null,"Set up and use Bitwarden CLI (bw). Use when installing the CLI, unlocking vault, or reading\u002Fgenerating secrets via bw. Handles session management with BW_SESSION.","kbarbel640-del\u002Fskills","kbarbel640-del","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F255315490?v=4","01M6CJPPQGCCESXMG3K7BBGQ5J","01M6CJPPX2PB2BCZERFVM2C2B3",1,"MIT","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjimihford\u002Fopenclaw-bitwarden\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"session","reading","with","session management","via","bitwarden cli","up","use","install","cli","management","brew","secrets","vault","SET","https","help","tmux","2026-11-10 10:12:30",false,"---\nname: bitwarden\ndescription: Set up and use Bitwarden CLI (bw). Use when installing the CLI, unlocking vault, or reading\u002Fgenerating secrets via bw. Handles session management with BW_SESSION.\nhomepage: https:\u002F\u002Fbitwarden.com\u002Fhelp\u002Fcli\u002F\nmetadata: {\"openclaw\":{\"emoji\":\"?\",\"requires\":{\"bins\":[\"bw\",\"tmux\"]},\"install\":[{\"id\":\"brew-bw\",\"kind\":\"brew\",\"formula\":\"bitwarden-cli\",\"bins\":[\"bw\"],\"label\":\"Install Bitwarden CLI (brew)\"},{\"id\":\"brew-tmux\",\"kind\":\"brew\",\"formula\":\"tmux\",\"bins\":[\"tmux\"],\"label\":\"Install tmux (brew)\"}]}}\n---\n\n# Bitwarden CLI\n\nManage passwords and secrets via the Bitwarden CLI.\n\n## References\n\n- `references\u002Fget-started.md` (install + login + unlock flow)\n- `references\u002Fcli-examples.md` (real `bw` examples)\n\n## Workflow\n\n1. Check CLI present: `bw --version`.\n2. Check login status: `bw status` (returns JSON with status field).\n3. If not logged in: `bw login` (stores API key, prompts for master password).\n4. REQUIRED: create a fresh tmux session for all `bw` commands.\n5. Unlock vault inside tmux: `bw unlock` (outputs session key).\n6. Export session key: `export BW_SESSION=\"\u003Ckey>\"`.\n7. Verify access: `bw sync` then `bw list items --search test`.\n\n## REQUIRED tmux session\n\nThe Bitwarden CLI requires the BW_SESSION environment variable for authenticated commands. To persist the session across commands, always run `bw` inside a dedicated tmux session.\n\nExample (see `tmux` skill for socket conventions):\n\n```bash\nSOCKET_DIR=\"${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-\u002Ftmp}\u002Fopenclaw-tmux-sockets}\"\nmkdir -p \"$SOCKET_DIR\"\nSOCKET=\"$SOCKET_DIR\u002Fopenclaw-bw.sock\"\nSESSION=\"bw-auth-$(date +%Y%m%d-%H%M%S)\"\n\ntmux -S \"$SOCKET\" new -d -s \"$SESSION\" -n shell\n\n# Unlock and capture session key\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- 'export BW_SESSION=$(bw unlock --raw)' Enter\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- 'bw sync' Enter\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- 'bw list items --search github' Enter\n\n# Capture output\ntmux -S \"$SOCKET\" capture-pane -p -J -t \"$SESSION\":0.0 -S -200\n\n# Cleanup when done\ntmux -S \"$SOCKET\" kill-session -t \"$SESSION\"\n```\n\n## Common Commands\n\n| Command | Description |\n|---------|-------------|\n| `bw status` | Check login\u002Flock status (JSON) |\n| `bw login` | Login with email\u002Fpassword or API key |\n| `bw unlock` | Unlock vault, returns session key |\n| `bw lock` | Lock vault |\n| `bw sync` | Sync vault with server |\n| `bw list items` | List all items |\n| `bw list items --search \u003Cquery>` | Search items |\n| `bw get item \u003Cid-or-name>` | Get specific item (JSON) |\n| `bw get password \u003Cid-or-name>` | Get just the password |\n| `bw get username \u003Cid-or-name>` | Get just the username |\n| `bw get totp \u003Cid-or-name>` | Get TOTP code |\n| `bw generate -ulns --length 32` | Generate password |\n\n## Guardrails\n\n- Never paste secrets into logs, chat, or code.\n- Always use tmux to maintain BW_SESSION across commands.\n- Prefer `bw get password` over parsing full item JSON when only password needed.\n- If command returns \"Vault is locked\", re-run `bw unlock` inside tmux.\n- Do not run authenticated `bw` commands outside tmux; the session won't persist.\n- Lock vault when done: `bw lock`.\n\n## Testing with Vaultwarden\n\nThis skill includes a Docker Compose setup for local testing with [Vaultwarden](https:\u002F\u002Fgithub.com\u002Fdani-garcia\u002Fvaultwarden) (self-hosted Bitwarden-compatible server).\n\n### Quick Start\n\n```bash\n# Install mkcert and generate local certs (one-time)\nbrew install mkcert\nmkcert -install\ncd \u002Fpath\u002Fto\u002Fopenclaw-bitwarden\nmkdir -p certs && cd certs\nmkcert localhost 127.0.0.1 ::1\ncd ..\n\n# Start Vaultwarden + Caddy\ndocker compose up -d\n\n# Configure bw CLI to use local server\nbw config server https:\u002F\u002Flocalhost:8443\n\n# Create a test account via web UI at https:\u002F\u002Flocalhost:8443\n# Or run the setup script:\n.\u002Fscripts\u002Fsetup-test-account.sh\n\n# Test the skill workflow\n.\u002Fscripts\u002Ftest-skill-workflow.sh\n```\n\n### Test Credentials\n\n- **Server URL:** https:\u002F\u002Flocalhost:8443\n- **Admin Panel:** https:\u002F\u002Flocalhost:8443\u002Fadmin (token: `test-admin-token-12345`)\n- **Suggested test account:** test@example.com \u002F TestPassword123!\n\n### Node.js CA Trust\n\nThe bw CLI requires the mkcert CA to be trusted. Export before running bw commands:\n\n```bash\nexport NODE_EXTRA_CA_CERTS=\"$(mkcert -CAROOT)\u002FrootCA.pem\"\n```\n\nOr add to your shell profile for persistence.\n\n### Cleanup\n\n```bash\ndocker compose down -v  # Remove container and data\n```\n","# Bitwarden CLI\n\nManage passwords and secrets via the Bitwarden CLI.\n\n## References\n\n- `references\u002Fget-started.md` (install + login + unlock flow)\n- `references\u002Fcli-examples.md` (real `bw` examples)\n\n## Workflow\n\n1. Check CLI present: `bw --version`.\n2. Check login status: `bw status` (returns JSON with status field).\n3. If not logged in: `bw login` (stores API key, prompts for master password).\n4. REQUIRED: create a fresh tmux session for all `bw` commands.\n5. Unlock vault inside tmux: `bw unlock` (outputs session key).\n6. Export session key: `export BW_SESSION=\"\u003Ckey>\"`.\n7. Verify access: `bw sync` then `bw list items --search test`.\n\n## REQUIRED tmux session\n\nThe Bitwarden CLI requires the BW_SESSION environment variable for authenticated commands. To persist the session across commands, always run `bw` inside a dedicated tmux session.\n\nExample (see `tmux` skill for socket conventions):\n\n```bash\nSOCKET_DIR=\"${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-\u002Ftmp}\u002Fopenclaw-tmux-sockets}\"\nmkdir -p \"$SOCKET_DIR\"\nSOCKET=\"$SOCKET_DIR\u002Fopenclaw-bw.sock\"\nSESSION=\"bw-auth-$(date +%Y%m%d-%H%M%S)\"\n\ntmux -S \"$SOCKET\" new -d -s \"$SESSION\" -n shell\n\n# Unlock and capture session key\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- 'export BW_SESSION=$(bw unlock --raw)' Enter\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- 'bw sync' Enter\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- 'bw list items --search github' Enter\n\n# Capture output\ntmux -S \"$SOCKET\" capture-pane -p -J -t \"$SESSION\":0.0 -S -200\n\n# Cleanup when done\ntmux -S \"$SOCKET\" kill-session -t \"$SESSION\"\n```\n\n## Common Commands\n\n| Command | Description |\n|---------|-------------|\n| `bw status` | Check login\u002Flock status (JSON) |\n| `bw login` | Login with email\u002Fpassword or API key |\n| `bw unlock` | Unlock vault, returns session key |\n| `bw lock` | Lock vault |\n| `bw sync` | Sync vault with server |\n| `bw list items` | List all items |\n| `bw list items --search \u003Cquery>` | Search items |\n| `bw get item \u003Cid-or-name>` | Get specific item (JSON) |\n| `bw get password \u003Cid-or-name>` | Get just the password |\n| `bw get username \u003Cid-or-name>` | Get just the username |\n| `bw get totp \u003Cid-or-name>` | Get TOTP code |\n| `bw generate -ulns --length 32` | Generate password |\n\n## Guardrails\n\n- Never paste secrets into logs, chat, or code.\n- Always use tmux to maintain BW_SESSION across commands.\n- Prefer `bw get password` over parsing full item JSON when only password needed.\n- If command returns \"Vault is locked\", re-run `bw unlock` inside tmux.\n- Do not run authenticated `bw` commands outside tmux; the session won't persist.\n- Lock vault when done: `bw lock`.\n\n## Testing with Vaultwarden\n\nThis skill includes a Docker Compose setup for local testing with [Vaultwarden](https:\u002F\u002Fgithub.com\u002Fdani-garcia\u002Fvaultwarden) (self-hosted Bitwarden-compatible server).\n\n### Quick Start\n\n```bash\n# Install mkcert and generate local certs (one-time)\nbrew install mkcert\nmkcert -install\ncd \u002Fpath\u002Fto\u002Fopenclaw-bitwarden\nmkdir -p certs && cd certs\nmkcert localhost 127.0.0.1 ::1\ncd ..\n\n# Start Vaultwarden + Caddy\ndocker compose up -d\n\n# Configure bw CLI to use local server\nbw config server https:\u002F\u002Flocalhost:8443\n\n# Create a test account via web UI at https:\u002F\u002Flocalhost:8443\n# Or run the setup script:\n.\u002Fscripts\u002Fsetup-test-account.sh\n\n# Test the skill workflow\n.\u002Fscripts\u002Ftest-skill-workflow.sh\n```\n\n### Test Credentials\n\n- **Server URL:** https:\u002F\u002Flocalhost:8443\n- **Admin Panel:** https:\u002F\u002Flocalhost:8443\u002Fadmin (token: `test-admin-token-12345`)\n- **Suggested test account:** test@example.com \u002F TestPassword123!\n\n### Node.js CA Trust\n\nThe bw CLI requires the mkcert CA to be trusted. Export before running bw commands:\n\n```bash\nexport NODE_EXTRA_CA_CERTS=\"$(mkcert -CAROOT)\u002FrootCA.pem\"\n```\n\nOr add to your shell profile for persistence.\n\n### Cleanup\n\n```bash\ndocker compose down -v  # Remove container and data\n```\n",{"name":5,"homepage":41,"metadata":42,"description":7},"https:\u002F\u002Fbitwarden.com\u002Fhelp\u002Fcli\u002F",{"openclaw":43},{"emoji":44,"install":45,"requires":56},"?",[46,52],{"id":47,"bins":48,"kind":29,"label":50,"formula":51},"brew-bw",[49],"bw","Install Bitwarden CLI (brew)","bitwarden-cli",{"id":53,"bins":54,"kind":29,"label":55,"formula":35},"brew-tmux",[35],"Install tmux (brew)",{"bins":57},[49,35],"main","e7e336ac628c3e3bd771aff1aaa469c93778f94a","skills\u002Fjimihford\u002Fopenclaw-bitwarden",0,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del","2026-08-23 22:39:37",{"source":8,"skillName":5,"commands":66,"prompt":76,"zipAvailable":77},[67,70,73],{"tool":68,"command":69},"npx","npx skills add kbarbel640-del\u002Fskills --skill bitwarden",{"tool":71,"command":72},"bunx","bunx skills add kbarbel640-del\u002Fskills --skill bitwarden",{"tool":74,"command":75},"pnpm","pnpm dlx skills add kbarbel640-del\u002Fskills --skill bitwarden","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjimihford\u002Fopenclaw-bitwarden\u002FSKILL.md",true,[79],{"path":80,"resourceType":81,"resourceTypeDesc":82,"sizeBytes":83,"sourceHtmlUrl":84},"_meta.json","REFERENCE","参考文档",282,"https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fjimihford\u002Fopenclaw-bitwarden\u002F_meta.json",[86,115,143,163,169,189],{"skillNo":87,"name":88,"nameZh":6,"description":89,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":97,"publishedAt":36},"01M6G8J55967D6281ACMKAKTEQ","crowd-prompting","A marketplace where AI agents improve prompts, system instructions, tool descriptions, and other text-based content with domain expertise from real-world operations — and earn tokens for valuable contributions.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzzadrian\u002Fcrowd-prompting\u002FSKILL.md",[92],{"categoryNo":93,"categoryName":94,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[98,99,100,20,101,102,103,104,105,106,107,108,109,110,111,112,33,113,114],"crowd prompting","prompting","api","tokens","domain","world","prompts","operations","instructions","text","tool","system","improve","productivity","marketplace","content","ai agents",{"skillNo":116,"name":117,"nameZh":6,"description":118,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":119,"categories":120,"keywords":126,"publishedAt":36},"01M6G8J0PKPAYVET6BWE8W4C26","dilemm-ai","Compete in DilemmAI, the prisoner's dilemma AI arena at dilemm.ai. Use when an OpenClaw agent wants to create an account, design and submit strategy prompts for their bot, enter matchmaking, analyze historical matches and leaderboards, and iterate on bot strategy. Requires headless browser automation (no API available yet).","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzyori\u002Fdilemm-ai\u002FSKILL.md",[121],{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[127,100,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,104,25],"dilemm ai","arena","analyze","browser","openclaw agent","create","automation","browser automation","bot","openclaw","design","strategy","headless","compete","submit","matchmaking",{"skillNo":144,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":152,"publishedAt":36},"01M6G8HWAF3K9SW7NP3Z83CPJ6","arxiv-paper-reviews","Interact with arXiv Crawler API to fetch papers, read reviews, and submit comments. Use when working with arXiv papers, fetching paper lists by date\u002Fcategory\u002Finterest, viewing paper details with comments, or submitting paper reviews via API at http:\u002F\u002F150.158.152.82:8000.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Fweak-accept\u002FSKILL.md",[149],{"categoryNo":150,"categoryName":151,"taxonomyType":124,"taxonomyTypeDesc":125},"01JBSEEDCAT000000000000021","资料检索与研究",[153,154,155,156,157,158,159,20,160,141,25,161,100,162,22],"arxiv paper reviews","reviews","arxiv","paper","crawler","papers","comments","fetch","read","http",{"skillNo":164,"name":145,"nameZh":6,"description":146,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":165,"categories":166,"keywords":168,"publishedAt":36},"01M6G8HQJ7N7WMY6YV7D7SSJ16","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzxrys\u002Farxiv-paper-reviews\u002FSKILL.md",[167],{"categoryNo":150,"categoryName":151,"taxonomyType":124,"taxonomyTypeDesc":125},[156,155,154,153,22,158,159,20,157,141,25,160,161,100,162],{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":175,"publishedAt":36},"01M6G8HM95Y64JNVFC2HN4E2BG","git-summary","Get a quick summary of the current Git repository including status, recent commits, branches, and contributors.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fzweack\u002Fgit-summary\u002FSKILL.md",[],[176,177,178,179,180,181,182,183,184,185,186,187,188],"git","summary","git summary","commits","repository","win32","status","linux","contributors","true","quick","get","branches",{"skillNo":190,"name":191,"nameZh":6,"description":192,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":193,"categories":194,"keywords":199,"publishedAt":36},"01M6G8HGEGF05CNEJCGVYFSC4R","agent-constitution","Interact with AgentConstitution governance contracts on Base Sepolia. Check compliance, read rules, log actions, query governance state.","https:\u002F\u002Fgithub.com\u002Fkbarbel640-del\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fztsalexey\u002Fagent-constitution\u002FSKILL.md",[195,196],{"categoryNo":122,"categoryName":123,"taxonomyType":124,"taxonomyTypeDesc":125},{"categoryNo":197,"categoryName":198,"taxonomyType":95,"taxonomyTypeDesc":96},"01JBSEEDCAT000000000000037","律师与法务",[200,201,202,203,20,204,205,58,206,161,207,208,209,210,211,33,212,213,214],"agent constitution","constitution","contracts","tree","query","base","log","check","Rules","projects","compliance","actions","state","governance","github"]