[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698YQ9Q3M4W78EWV2KSCSVW":3,"skill-same:01M698YQ9Q3M4W78EWV2KSCSVW":84},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"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":51,"commitSha":52,"skillDirectory":53,"forksCount":54,"repositoryHtmlUrl":55,"repositoryHomepageUrl":56,"ownerHtmlUrl":57,"ownerBlogUrl":56,"ownerDescription":58,"updatedAt":59,"install":60,"resources":73},"01M698YQ9Q3M4W78EWV2KSCSVW","tmux",null,"Control tmux sessions\u002Fpanes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","openclaw\u002Fopenclaw","openclaw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F252820863?v=4","01M698P3FSAZ6B4R928ZF19KPT","01M698PDMDRVH56MV30D253NFP",394352,"MIT","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftmux\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35],"interactive","send","darwin","for","keys","paste","output","control","prompts","install","list","brew","capture","panes","text","monitor","sessions","linux","2026-11-10 10:12:30",false,"---\nname: tmux\ndescription: \"Control tmux sessions\u002Fpanes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.\"\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"emoji\": \"?\",\n        \"os\": [\"darwin\", \"linux\"],\n        \"requires\": { \"bins\": [\"tmux\"] },\n        \"install\":\n          [\n            {\n              \"id\": \"brew\",\n              \"kind\": \"brew\",\n              \"formula\": \"tmux\",\n              \"bins\": [\"tmux\"],\n              \"label\": \"Install tmux (brew)\",\n            },\n          ],\n      },\n  }\n---\n\n# tmux\n\nUse for existing interactive tmux sessions. For one-shot commands, use normal shell. For new non-interactive background jobs, use background execution.\n\n## Basics\n\n```bash\ntmux ls\ntmux list-windows -t shared\ntmux list-panes -t shared:0\ntmux capture-pane -t shared:0.0 -p\ntmux capture-pane -t shared:0.0 -p -S -\n```\n\nTarget format: `session:window.pane`, e.g. `shared:0.0`.\n\n## Send input\n\nLiteral text, then Enter:\n\n```bash\ntmux send-keys -t shared:0.0 -l -- \"Please continue\"\ntmux send-keys -t shared:0.0 Enter\n```\n\nSpecial keys:\n\n```bash\ntmux send-keys -t shared:0.0 C-c\ntmux send-keys -t shared:0.0 C-d\ntmux send-keys -t shared:0.0 Escape\n```\n\nUse `-l --` for arbitrary text. Split text and Enter to avoid paste\u002Fnewline surprises.\n\n## Sessions\n\n```bash\ntmux new-session -d -s worker\ntmux rename-session -t old new\ntmux kill-session -t worker\n```\n\n## Prompt checks\n\n```bash\ntmux capture-pane -t worker-3 -p | tail -20\ntmux capture-pane -t worker-3 -p | rg \"proceed|permission|Yes|No|❯\"\n```\n\nApprove\u002Fselect only when the prompt is understood:\n\n```bash\ntmux send-keys -t worker-3 -l -- \"y\"\ntmux send-keys -t worker-3 Enter\n```\n\n## Helpers\n\n- `scripts\u002Ffind-sessions.sh`: discover sessions.\n- `scripts\u002Fwait-for-text.sh`: wait until captured pane contents contain text.\n\n`wait-for-text.sh` searches echoed input and scrollback as well as process output. For command completion, use a unique marker whose full text is split across arguments in the command sent to tmux:\n\n```bash\nnonce=\"$(od -An -N8 -tx1 \u002Fdev\u002Furandom | tr -d ' \\n')\"\nmarker=\"OPENCLAW_DONE_${nonce}\"\ntmux send-keys -t shared:0.0 -l -- \"sleep 4; printf '%s%s\\n' 'OPENCLAW_DONE_' '$nonce'\"\ntmux send-keys -t shared:0.0 Enter\nscripts\u002Fwait-for-text.sh -t shared:0.0 -p \"$marker\" -F -T 30\n```\n\nThe echoed command never contains the complete marker, and the nonce prevents an older completion line from matching.\n\n## Notes\n\n- `capture-pane -p` prints to stdout for scripts.\n- `-S -` captures full scrollback.\n- tmux sessions persist across SSH disconnects.\n","# tmux\n\nUse for existing interactive tmux sessions. For one-shot commands, use normal shell. For new non-interactive background jobs, use background execution.\n\n## Basics\n\n```bash\ntmux ls\ntmux list-windows -t shared\ntmux list-panes -t shared:0\ntmux capture-pane -t shared:0.0 -p\ntmux capture-pane -t shared:0.0 -p -S -\n```\n\nTarget format: `session:window.pane`, e.g. `shared:0.0`.\n\n## Send input\n\nLiteral text, then Enter:\n\n```bash\ntmux send-keys -t shared:0.0 -l -- \"Please continue\"\ntmux send-keys -t shared:0.0 Enter\n```\n\nSpecial keys:\n\n```bash\ntmux send-keys -t shared:0.0 C-c\ntmux send-keys -t shared:0.0 C-d\ntmux send-keys -t shared:0.0 Escape\n```\n\nUse `-l --` for arbitrary text. Split text and Enter to avoid paste\u002Fnewline surprises.\n\n## Sessions\n\n```bash\ntmux new-session -d -s worker\ntmux rename-session -t old new\ntmux kill-session -t worker\n```\n\n## Prompt checks\n\n```bash\ntmux capture-pane -t worker-3 -p | tail -20\ntmux capture-pane -t worker-3 -p | rg \"proceed|permission|Yes|No|❯\"\n```\n\nApprove\u002Fselect only when the prompt is understood:\n\n```bash\ntmux send-keys -t worker-3 -l -- \"y\"\ntmux send-keys -t worker-3 Enter\n```\n\n## Helpers\n\n- `scripts\u002Ffind-sessions.sh`: discover sessions.\n- `scripts\u002Fwait-for-text.sh`: wait until captured pane contents contain text.\n\n`wait-for-text.sh` searches echoed input and scrollback as well as process output. For command completion, use a unique marker whose full text is split across arguments in the command sent to tmux:\n\n```bash\nnonce=\"$(od -An -N8 -tx1 \u002Fdev\u002Furandom | tr -d ' \\n')\"\nmarker=\"OPENCLAW_DONE_${nonce}\"\ntmux send-keys -t shared:0.0 -l -- \"sleep 4; printf '%s%s\\n' 'OPENCLAW_DONE_' '$nonce'\"\ntmux send-keys -t shared:0.0 Enter\nscripts\u002Fwait-for-text.sh -t shared:0.0 -p \"$marker\" -F -T 30\n```\n\nThe echoed command never contains the complete marker, and the nonce prevents an older completion line from matching.\n\n## Notes\n\n- `capture-pane -p` prints to stdout for scripts.\n- `-S -` captures full scrollback.\n- tmux sessions persist across SSH disconnects.\n",{"name":5,"metadata":41,"description":7},{"openclaw":42},{"os":43,"emoji":44,"install":45,"requires":49},[20,35],"?",[46],{"id":29,"bins":47,"kind":29,"label":48,"formula":5},[5],"Install tmux (brew)",{"bins":50},[5],"main","f1c93577085244aa96aa87b53a2df9b59d293bd7","skills\u002Ftmux",82861,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw","https:\u002F\u002Fopenclaw.ai","https:\u002F\u002Fgithub.com\u002Fopenclaw","Your personal, open source AI assistant.","2026-11-12 03:01:25",{"source":8,"skillName":5,"commands":61,"prompt":71,"zipAvailable":72},[62,65,68],{"tool":63,"command":64},"npx","npx skills add openclaw\u002Fopenclaw --skill tmux",{"tool":66,"command":67},"bunx","bunx skills add openclaw\u002Fopenclaw --skill tmux",{"tool":69,"command":70},"pnpm","pnpm dlx skills add openclaw\u002Fopenclaw --skill tmux","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftmux\u002FSKILL.md",true,[74,80],{"path":75,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":78,"sourceHtmlUrl":79},"scripts\u002Ffind-sessions.sh","SCRIPT","脚本",2983,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftmux\u002Fscripts\u002Ffind-sessions.sh",{"path":81,"resourceType":76,"resourceTypeDesc":77,"sizeBytes":82,"sourceHtmlUrl":83},"scripts\u002Fwait-for-text.sh",2294,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftmux\u002Fscripts\u002Fwait-for-text.sh",[85,91,111,129,151,175],{"skillNo":86,"name":87,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":36},"01M698VP84FNM6G9MR1HPX7MF7","lobster","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002FSKILL.md",[],[87],{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":36},"01M698YY8QGQ7S8TJNKJG6VTPH","xurl","xurl CLI for authenticated X posts, replies, reads\u002Fsearch, DMs, media upload, followers, auth status, or raw v2 API calls.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fxurl\u002FSKILL.md",[],[93,98,21,99,100,101,102,103,27,29,104,105,106,107,108,109,110],"Media","calls","replies","posts","upload","tap","node","api","search","npm","status","auth","cli",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":36},"01M698YWT1CJ0WK88WB909R9RT","weather","Current weather and forecasts with web_fetch, falling back to wttr.in curl for locations, rain, temperature, travel planning.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fweather\u002FSKILL.md",[],[113,118,119,120,121,27,122,29,123,124,21,125,126,127,128],"help","back","travel planning","travel","fetch","curl","https","planning","web","with","temperature",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":140,"publishedAt":36},"01M698YV2Q0R0JJKAWGFS21K0N","visualize","Create inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with show_widget.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fvisualize\u002FSKILL.md",[135],{"categoryNo":136,"categoryName":137,"taxonomyType":138,"taxonomyTypeDesc":139},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[131,141,142,143,21,127,144,145,146,147,148,149,9,150],"openclaw dashboard","author","inline","code","widget","show","create","visuals","dashboard","widgets",{"skillNo":152,"name":153,"nameZh":6,"description":154,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":155,"categories":156,"keywords":165,"publishedAt":36},"01M698YS2TRJH9ENG28HD9CD87","trello","Manage Trello boards, lists, and cards via the Trello REST API.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftrello\u002FSKILL.md",[157,162],{"categoryNo":158,"categoryName":159,"taxonomyType":160,"taxonomyTypeDesc":161},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":163,"categoryName":164,"taxonomyType":138,"taxonomyTypeDesc":139},"01JBSEEDCAT000000000000030","开发工程师",[153,124,166,167,168,169,170,171,27,29,172,123,105,173,174],"cloud","manage","via","rest api","token","atlassian","jq","REST","developer",{"skillNo":176,"name":177,"nameZh":6,"description":178,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":179,"categories":180,"keywords":181,"publishedAt":36},"01M698YNBFMQCEMTQB2F06J5W0","things-mac","Add, update, list, search, or inspect Things 3 todos, inbox, today, projects, areas, and tags on macOS.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fthings-mac\u002FSKILL.md",[],[182,183,184,185,20,186,187,188,189,27,28,190,124,106,191,192,193,194,110,195],"things mac","things","mac","projects","inspect","latest","add","tags","cmd","inbox","update","github","go","macos"]