[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-openclaw-openclaw-skills-1password":3},{"error":4,"detail":5,"metadata":36,"markdownContent":38,"rawMarkdown":33},false,{"repo_full_name":6,"owner":7,"repo_name":7,"repo_forks":8,"skill_path":9,"repo_stars":10,"name":11,"category_id":12,"description":13,"file_tree":14,"skill_md_content":33,"skill_id":34,"skill_key":35},"openclaw/openclaw","openclaw",64359,"skills/1password",330752,"1password",9,"Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.",[15,20],{"name":16,"path":17,"size":18,"type":19},"SKILL.md","skills/1password/SKILL.md",2596,"file",{"name":21,"path":22,"type":23,"children":24},"references","skills/1password/references","folder",[25,29],{"name":26,"path":27,"size":28,"type":19},"cli-examples.md","skills/1password/references/cli-examples.md",720,{"name":30,"path":31,"size":32,"type":19},"get-started.md","skills/1password/references/get-started.md",994,"---\nname: 1password\ndescription: Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.\nhomepage: https://developer.1password.com/docs/cli/get-started/\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"emoji\": \"🔐\",\n        \"requires\": { \"bins\": [\"op\"] },\n        \"install\":\n          [\n            {\n              \"id\": \"brew\",\n              \"kind\": \"brew\",\n              \"formula\": \"1password-cli\",\n              \"bins\": [\"op\"],\n              \"label\": \"Install 1Password CLI (brew)\",\n            },\n          ],\n      },\n  }\n---\n\n# 1Password CLI\n\nFollow the official CLI get-started steps. Don't guess install commands.\n\n## References\n\n- `references/get-started.md` (install + app integration + sign-in flow)\n- `references/cli-examples.md` (real `op` examples)\n\n## Workflow\n\n1. Check OS + shell.\n2. Verify CLI present: `op --version`.\n3. Confirm desktop app integration is enabled (per get-started) and the app is unlocked.\n4. REQUIRED: create a fresh tmux session for all `op` commands (no direct `op` calls outside tmux).\n5. Sign in / authorize inside tmux: `op signin` (expect app prompt).\n6. Verify access inside tmux: `op whoami` (must succeed before any secret read).\n7. If multiple accounts: use `--account` or `OP_ACCOUNT`.\n\n## REQUIRED tmux session (T-Max)\n\nThe shell tool uses a fresh TTY per command. To avoid re-prompts and failures, always run `op` inside a dedicated tmux session with a fresh socket/session name.\n\nExample (see `tmux` skill for socket conventions, do not reuse old session names):\n\n```bash\nSOCKET_DIR=\"${OPENCLAW_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/openclaw-tmux-sockets}\"\nmkdir -p \"$SOCKET_DIR\"\nSOCKET=\"$SOCKET_DIR/openclaw-op.sock\"\nSESSION=\"op-auth-$(date +%Y%m%d-%H%M%S)\"\n\ntmux -S \"$SOCKET\" new -d -s \"$SESSION\" -n shell\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- \"op signin --account my.1password.com\" Enter\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- \"op whoami\" Enter\ntmux -S \"$SOCKET\" send-keys -t \"$SESSION\":0.0 -- \"op vault list\" Enter\ntmux -S \"$SOCKET\" capture-pane -p -J -t \"$SESSION\":0.0 -S -200\ntmux -S \"$SOCKET\" kill-session -t \"$SESSION\"\n```\n\n## Guardrails\n\n- Never paste secrets into logs, chat, or code.\n- Prefer `op run` / `op inject` over writing secrets to disk.\n- If sign-in without app integration is needed, use `op account add`.\n- If a command returns \"account is not signed in\", re-run `op signin` inside tmux and authorize in the app.\n- Do not run `op` outside tmux; stop and ask if tmux is unavailable.\n","fe414073-9fe1-5c16-9a78-f44ba4a5ef79","openclaw-openclaw-skills-1password",{"name":11,"description":13,"homepage":37},"https://developer.1password.com/docs/cli/get-started/","\u003Ch1>1Password CLI\u003C/h1>\n\u003Cp>Follow the official CLI get-started steps. Don&#39;t guess install commands.\u003C/p>\n\u003Ch2>References\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ccode>references/get-started.md\u003C/code> (install + app integration + sign-in flow)\u003C/li>\n\u003Cli>\u003Ccode>references/cli-examples.md\u003C/code> (real \u003Ccode>op\u003C/code> examples)\u003C/li>\n\u003C/ul>\n\u003Ch2>Workflow\u003C/h2>\n\u003Col>\n\u003Cli>Check OS + shell.\u003C/li>\n\u003Cli>Verify CLI present: \u003Ccode>op --version\u003C/code>.\u003C/li>\n\u003Cli>Confirm desktop app integration is enabled (per get-started) and the app is unlocked.\u003C/li>\n\u003Cli>REQUIRED: create a fresh tmux session for all \u003Ccode>op\u003C/code> commands (no direct \u003Ccode>op\u003C/code> calls outside tmux).\u003C/li>\n\u003Cli>Sign in / authorize inside tmux: \u003Ccode>op signin\u003C/code> (expect app prompt).\u003C/li>\n\u003Cli>Verify access inside tmux: \u003Ccode>op whoami\u003C/code> (must succeed before any secret read).\u003C/li>\n\u003Cli>If multiple accounts: use \u003Ccode>--account\u003C/code> or \u003Ccode>OP_ACCOUNT\u003C/code>.\u003C/li>\n\u003C/ol>\n\u003Ch2>REQUIRED tmux session (T-Max)\u003C/h2>\n\u003Cp>The shell tool uses a fresh TTY per command. To avoid re-prompts and failures, always run \u003Ccode>op\u003C/code> inside a dedicated tmux session with a fresh socket/session name.\u003C/p>\n\u003Cp>Example (see \u003Ccode>tmux\u003C/code> skill for socket conventions, do not reuse old session names):\u003C/p>\n\u003Cdiv class=\"md-code-block\">\u003Cdiv class=\"md-code-lang\">bash\u003C/div>\u003Cpre>\u003Ccode class=\"hljs language-bash\">SOCKET_DIR=\u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">${OPENCLAW_TMUX_SOCKET_DIR:-\u003Cspan class=\"hljs-variable\">${TMPDIR:-/tmp}\u003C/span>/openclaw-tmux-sockets}\u003C/span>&quot;\u003C/span>\n\u003Cspan class=\"hljs-built_in\">mkdir\u003C/span> -p \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SOCKET_DIR\u003C/span>&quot;\u003C/span>\nSOCKET=\u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SOCKET_DIR\u003C/span>/openclaw-op.sock&quot;\u003C/span>\nSESSION=\u003Cspan class=\"hljs-string\">&quot;op-auth-\u003Cspan class=\"hljs-subst\">$(date +%Y%m%d-%H%M%S)\u003C/span>&quot;\u003C/span>\n\ntmux -S \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SOCKET\u003C/span>&quot;\u003C/span> new -d -s \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SESSION\u003C/span>&quot;\u003C/span> -n shell\ntmux -S \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SOCKET\u003C/span>&quot;\u003C/span> send-keys -t \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SESSION\u003C/span>&quot;\u003C/span>:0.0 -- \u003Cspan class=\"hljs-string\">&quot;op signin --account my.1password.com&quot;\u003C/span> Enter\ntmux -S \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SOCKET\u003C/span>&quot;\u003C/span> send-keys -t \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SESSION\u003C/span>&quot;\u003C/span>:0.0 -- \u003Cspan class=\"hljs-string\">&quot;op whoami&quot;\u003C/span> Enter\ntmux -S \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SOCKET\u003C/span>&quot;\u003C/span> send-keys -t \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SESSION\u003C/span>&quot;\u003C/span>:0.0 -- \u003Cspan class=\"hljs-string\">&quot;op vault list&quot;\u003C/span> Enter\ntmux -S \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SOCKET\u003C/span>&quot;\u003C/span> capture-pane -p -J -t \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SESSION\u003C/span>&quot;\u003C/span>:0.0 -S -200\ntmux -S \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SOCKET\u003C/span>&quot;\u003C/span> kill-session -t \u003Cspan class=\"hljs-string\">&quot;\u003Cspan class=\"hljs-variable\">$SESSION\u003C/span>&quot;\u003C/span>\u003C/code>\u003C/pre>\u003C/div>\u003Ch2>Guardrails\u003C/h2>\n\u003Cul>\n\u003Cli>Never paste secrets into logs, chat, or code.\u003C/li>\n\u003Cli>Prefer \u003Ccode>op run\u003C/code> / \u003Ccode>op inject\u003C/code> over writing secrets to disk.\u003C/li>\n\u003Cli>If sign-in without app integration is needed, use \u003Ccode>op account add\u003C/code>.\u003C/li>\n\u003Cli>If a command returns &quot;account is not signed in&quot;, re-run \u003Ccode>op signin\u003C/code> inside tmux and authorize in the app.\u003C/li>\n\u003Cli>Do not run \u003Ccode>op\u003C/code> outside tmux; stop and ask if tmux is unavailable.\u003C/li>\n\u003C/ul>\n"]