[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M698YV2Q0R0JJKAWGFS21K0N":3,"skill-same:01M698YV2Q0R0JJKAWGFS21K0N":63},{"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":22,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":40,"commitSha":41,"skillDirectory":42,"forksCount":43,"repositoryHtmlUrl":44,"repositoryHomepageUrl":45,"ownerHtmlUrl":46,"ownerBlogUrl":45,"ownerDescription":47,"updatedAt":48,"install":49,"resources":62},"01M698YV2Q0R0JJKAWGFS21K0N","visualize",null,"Create inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with show_widget.","openclaw\u002Fopenclaw","openclaw","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F252820863?v=4","01M698P3FSAZ6B4R928ZF19KPT","01M698PDMDRVH56MV30D253NFP",394302,"MIT","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fvisualize\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000033","数据分析师","PROFESSION","适用职业",[5,9,23,24,25,26,27,28,29,30,31,32,33,34],"dashboard","visuals","create","code","show","widget","widgets","with","for","inline","author","openclaw dashboard","2026-11-10 10:12:30",false,"---\nname: visualize\ndescription: \"Create inline visuals for code and explanations, or author persistent OpenClaw dashboard widgets with show_widget.\"\n---\n\n# Visualize\n\nUse `show_widget` when seeing or interacting with a result helps the user reason\nabout it. This includes code architecture, execution traces, performance,\ncomparisons, simulations, UI mockups, and session dashboards. Use prose, a normal\nMarkdown table, or a supported Mermaid block when that already explains the\nanswer. A request to implement an application still needs changes in its project;\na widget can illustrate the design but does not complete the implementation.\n\n## Choose the surface\n\n- **Code work and one-off explanations:** prefer inline when available this turn.\n  Show the actual owners, relationships, measured values, or states relevant to the question.\n  Distinguish proposed designs and illustrative data from observed behavior.\n  Several diagrams for a code task do not by themselves call for a dashboard.\n- **Persistent dashboards:** use `pin: true` for an explicit dashboard request\n  or multiple non-code visualizations that belong together. Read the current\n  board first and reuse its names and tabs. Use the `control-ui` skill when\n  organizing sessions, tabs, placement, or dashboard presentation.\n- **Native reports:** prefer the tool's `report` input with `pin: true` for\n  dashboard text, metrics, tables, simple charts, and links. Omit `widget_code`,\n  `kind`, `capabilities`, and `presentation.target`. Reports do not render inline.\n- **Custom widgets:** use `widget_code` for interactive HTML\u002FSVG. Reuse an\n  explicit `name` with `pin: true` to replace a pinned widget's content. A same-name\n  update cannot change its content owner; inspect before converting HTML to a report.\n\nUse only tools, source kinds, and presentation targets advertised in this turn.\nOn a pinned-only surface, set `pin: true` and omit `presentation.target`. If the\ntool is unavailable, explain the limitation instead of inventing a render call.\nRestart recovery can be pinned-only even when the original turn supported inline\nwidgets; follow the current tool schema instead of earlier delivery instructions.\n\n## Author the content\n\nSend the markup itself in `widget_code`. Use an HTML or SVG fragment, optionally\nincluding `\u003Cstyle>` and `\u003Cscript>`; OpenClaw supplies the document shell, theme,\nand host bridges. Do not send a file path, Markdown fence, full HTML document, or\nanother application's visualization directive. `title` is host metadata: start\nwith useful content rather than repeating the title or drawing dashboard chrome.\n\nKeep a useful initial state in the markup. Use local JavaScript for selections,\nfilters, parameter changes, and animation. Give the root a unique ID and scope\nstyles and selectors to it. Insert labels and external data with `textContent`\ninstead of interpolating untrusted strings into markup or executable code.\n\nKeep source compact: `widget_code` is limited to 262,144 characters, pinned HTML\nto 256 KiB after wrapping, and Discord source to 48 KiB. Aggregate large datasets\nand load a suitable library instead of embedding its distribution in the call.\n\n## Libraries and fonts\n\nScripts, ES modules, stylesheets, and fonts can load from these HTTPS origins:\n\n- `https:\u002F\u002Fcdnjs.cloudflare.com`\n- `https:\u002F\u002Fcdn.jsdelivr.net`\n- `https:\u002F\u002Fesm.sh`\n- `https:\u002F\u002Funpkg.com`\n- `https:\u002F\u002Ffonts.googleapis.com`\n- `https:\u002F\u002Ffonts.gstatic.com`\n- `https:\u002F\u002Ffonts.bunny.net`\n\nUse version-pinned library URLs. For example, load D3 with\n`\u003Cscript src=\"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002Fd3@7.9.0\u002Fdist\u002Fd3.min.js\" crossorigin=\"anonymous\">\u003C\u002Fscript>`\nbefore the inline script that uses `d3`. Use a module script for ESM imports.\nTransitive imports, font files, and redirects must also stay on allowed origins.\nNo library, icon set, or font is preloaded. Choose native SVG\u002FCSS for simple\nvisuals; load a library when its scales, layout, or interaction justify it.\n\nProvide readable fallback content and a visible failure state if an asset fails\nto load. Avoid eval-based libraries; `unsafe-eval`, remote frames, and arbitrary\nresource hosts remain unavailable. Images must be embedded as data URLs or drawn\nlocally. CDN URLs are for public assets, never private data or credentials.\n\nCDN loading does not grant `fetch`, WebSocket, or host API access. Retrieve data\nwith the agent's available tools and embed the needed observations for inline\nvisuals. Use dashboard capabilities for refreshable data, as described below.\n\n## Composition and theme\n\nFor code explanations, emphasize the relationship being discussed: aligned lanes\nfor concurrent work, labeled edges for ownership and data flow, or shared scales\nfor performance comparisons. Keep source details that support the conclusion;\navoid decorative metrics or diagrams of unrelated modules.\n\nFor dashboards, make each widget useful on its own and keep related measures\ncomparable. Show data freshness, units, loading, empty, and error states where\nthey affect interpretation. Preserve the last successful data when refresh fails.\nUse a mockup's product context for its inner controls while retaining the host's\ntheme for the surrounding surface.\n\nOpenClaw styles native headings, controls, tables, and code. It provides `.card`,\n`.row`, `.metric`, `.muted`, `.badge` with `.ok`\u002F`.warn`\u002F`.danger`\u002F`.info`, and\n`button.primary`. Use these when they fit; do not assume another host's classes.\nColors and typography use `--text`, `--text-strong`, `--muted`, `--surface`,\n`--card`, `--elevated`, `--border`, `--border-strong`, `--accent`, `--accent-fill`,\n`--accent-fg`, `--ok`, `--warn`, `--danger`, `--info`, `--radius`, `--font-body`,\nand `--font-mono`. Keep the outer background transparent and avoid extra cards\naround a whole plot. Pair colors with labels or shapes. Canvas libraries need\nresolved computed colors and redraws when the host theme changes.\n\nFit the actual container, including narrow chat and resized dashboard columns.\nUse fluid widths, wrapping controls, and stacked panels; reserve horizontal\nscrolling for code, tables, or diagrams that require exact geometry. Size SVGs\nfrom their container and keep labels readable instead of shrinking a desktop\nlayout. Include axes and units for plots, accessible names, visible control\nlabels, keyboard operation, and touch targets. Honor reduced-motion preferences.\n\n## Conversation and dashboard actions\n\nKeep presentation-only changes local. A clearly labeled user-clicked control can\ncall `openclaw.prompt.send(text)` to ask the agent to investigate selected values.\nInclude those values and the requested action. In the Control UI, prompts need a\nreal user activation in the visible, focused widget; text must be nonempty, at\nmost 4,000 characters, and cannot start with `\u002F`. Do not trigger prompts on load\nor on every filter change, and do not assume the widget can read the agent reply.\nNative renderers do not provide the Control UI conversation bridge.\n\nOnly pinned dashboard widgets have the ticket-bound data and action APIs:\n\n- `openclaw.data.read(bindingId, params?)` reads an advertised Gateway binding.\n- `openclaw.action.run(actionId, params?)` invokes an advertised action.\n- `openclaw.cron.trigger(jobId)` requires `cron.trigger:\u003CjobId>`.\n- `openclaw.state.emit(payload)` emits a bounded session notice.\n\nUse the current tool schema for binding\u002Faction IDs and their parameter shapes.\nDeclare required grants in `capabilities.tools`. For browser API fetches, declare\nexact HTTPS origins in `capabilities.netOrigins`; the browser still requires\nCORS. Use host bindings for authenticated data; never embed tokens in HTML.\nInline previews do not inherit dashboard grants. Check `capabilityState` and\nreport pending or rejected access; saving a widget does not prove a data read.\nUpdated content may require approval again.\n\nUse normal dashboard links with `target=\"_blank\" rel=\"noopener noreferrer\"`.\n`window.open` and nested external iframes do not work. For Control UI links,\nread `openclaw.host.controlUiBaseUrl` at click time; it is null before dashboard\ninitialization and outside that host.\n\n## Verify and deliver\n\nFix reported inline-script syntax errors and call the tool again. Script errors\nthrown after an inline widget renders in the Control UI are reported back to this\nsession. Agent browser tools normally run a separate profile without the viewer's\nControl UI session, so opening the chat there reaches sign-in, not the widget; do\nnot use them to inspect inline widgets. When a browser or device tool can load the\nrendered surface itself, verify libraries and fonts loaded, important controls\nwork, and content fits the intended width and theme. For live dashboards, exercise\nthe data read in the actual pinned frame.\nStrict embed mode disables scripts. Report any concrete visual or platform\nverification gap; successful hosting alone proves neither rendering nor data access.\n\nFollow `result.presentation` when present. A `status: \"pinned\"` result means the\nwidget is on the session dashboard. Use the available dashboard tool to focus its\ntab in the current session. Do not navigate to widget hosting URLs in the Browser\npanel as a substitute for presentation.\n\nKeep the final prose focused on the useful conclusion or remaining limitation,\nwithout repeating the entire visual. Do not promise PNG exports preserve externally\nloaded styles or fonts without checking the exported image.\n","# Visualize\n\nUse `show_widget` when seeing or interacting with a result helps the user reason\nabout it. This includes code architecture, execution traces, performance,\ncomparisons, simulations, UI mockups, and session dashboards. Use prose, a normal\nMarkdown table, or a supported Mermaid block when that already explains the\nanswer. A request to implement an application still needs changes in its project;\na widget can illustrate the design but does not complete the implementation.\n\n## Choose the surface\n\n- **Code work and one-off explanations:** prefer inline when available this turn.\n  Show the actual owners, relationships, measured values, or states relevant to the question.\n  Distinguish proposed designs and illustrative data from observed behavior.\n  Several diagrams for a code task do not by themselves call for a dashboard.\n- **Persistent dashboards:** use `pin: true` for an explicit dashboard request\n  or multiple non-code visualizations that belong together. Read the current\n  board first and reuse its names and tabs. Use the `control-ui` skill when\n  organizing sessions, tabs, placement, or dashboard presentation.\n- **Native reports:** prefer the tool's `report` input with `pin: true` for\n  dashboard text, metrics, tables, simple charts, and links. Omit `widget_code`,\n  `kind`, `capabilities`, and `presentation.target`. Reports do not render inline.\n- **Custom widgets:** use `widget_code` for interactive HTML\u002FSVG. Reuse an\n  explicit `name` with `pin: true` to replace a pinned widget's content. A same-name\n  update cannot change its content owner; inspect before converting HTML to a report.\n\nUse only tools, source kinds, and presentation targets advertised in this turn.\nOn a pinned-only surface, set `pin: true` and omit `presentation.target`. If the\ntool is unavailable, explain the limitation instead of inventing a render call.\nRestart recovery can be pinned-only even when the original turn supported inline\nwidgets; follow the current tool schema instead of earlier delivery instructions.\n\n## Author the content\n\nSend the markup itself in `widget_code`. Use an HTML or SVG fragment, optionally\nincluding `\u003Cstyle>` and `\u003Cscript>`; OpenClaw supplies the document shell, theme,\nand host bridges. Do not send a file path, Markdown fence, full HTML document, or\nanother application's visualization directive. `title` is host metadata: start\nwith useful content rather than repeating the title or drawing dashboard chrome.\n\nKeep a useful initial state in the markup. Use local JavaScript for selections,\nfilters, parameter changes, and animation. Give the root a unique ID and scope\nstyles and selectors to it. Insert labels and external data with `textContent`\ninstead of interpolating untrusted strings into markup or executable code.\n\nKeep source compact: `widget_code` is limited to 262,144 characters, pinned HTML\nto 256 KiB after wrapping, and Discord source to 48 KiB. Aggregate large datasets\nand load a suitable library instead of embedding its distribution in the call.\n\n## Libraries and fonts\n\nScripts, ES modules, stylesheets, and fonts can load from these HTTPS origins:\n\n- `https:\u002F\u002Fcdnjs.cloudflare.com`\n- `https:\u002F\u002Fcdn.jsdelivr.net`\n- `https:\u002F\u002Fesm.sh`\n- `https:\u002F\u002Funpkg.com`\n- `https:\u002F\u002Ffonts.googleapis.com`\n- `https:\u002F\u002Ffonts.gstatic.com`\n- `https:\u002F\u002Ffonts.bunny.net`\n\nUse version-pinned library URLs. For example, load D3 with\n`\u003Cscript src=\"https:\u002F\u002Fcdn.jsdelivr.net\u002Fnpm\u002Fd3@7.9.0\u002Fdist\u002Fd3.min.js\" crossorigin=\"anonymous\">\u003C\u002Fscript>`\nbefore the inline script that uses `d3`. Use a module script for ESM imports.\nTransitive imports, font files, and redirects must also stay on allowed origins.\nNo library, icon set, or font is preloaded. Choose native SVG\u002FCSS for simple\nvisuals; load a library when its scales, layout, or interaction justify it.\n\nProvide readable fallback content and a visible failure state if an asset fails\nto load. Avoid eval-based libraries; `unsafe-eval`, remote frames, and arbitrary\nresource hosts remain unavailable. Images must be embedded as data URLs or drawn\nlocally. CDN URLs are for public assets, never private data or credentials.\n\nCDN loading does not grant `fetch`, WebSocket, or host API access. Retrieve data\nwith the agent's available tools and embed the needed observations for inline\nvisuals. Use dashboard capabilities for refreshable data, as described below.\n\n## Composition and theme\n\nFor code explanations, emphasize the relationship being discussed: aligned lanes\nfor concurrent work, labeled edges for ownership and data flow, or shared scales\nfor performance comparisons. Keep source details that support the conclusion;\navoid decorative metrics or diagrams of unrelated modules.\n\nFor dashboards, make each widget useful on its own and keep related measures\ncomparable. Show data freshness, units, loading, empty, and error states where\nthey affect interpretation. Preserve the last successful data when refresh fails.\nUse a mockup's product context for its inner controls while retaining the host's\ntheme for the surrounding surface.\n\nOpenClaw styles native headings, controls, tables, and code. It provides `.card`,\n`.row`, `.metric`, `.muted`, `.badge` with `.ok`\u002F`.warn`\u002F`.danger`\u002F`.info`, and\n`button.primary`. Use these when they fit; do not assume another host's classes.\nColors and typography use `--text`, `--text-strong`, `--muted`, `--surface`,\n`--card`, `--elevated`, `--border`, `--border-strong`, `--accent`, `--accent-fill`,\n`--accent-fg`, `--ok`, `--warn`, `--danger`, `--info`, `--radius`, `--font-body`,\nand `--font-mono`. Keep the outer background transparent and avoid extra cards\naround a whole plot. Pair colors with labels or shapes. Canvas libraries need\nresolved computed colors and redraws when the host theme changes.\n\nFit the actual container, including narrow chat and resized dashboard columns.\nUse fluid widths, wrapping controls, and stacked panels; reserve horizontal\nscrolling for code, tables, or diagrams that require exact geometry. Size SVGs\nfrom their container and keep labels readable instead of shrinking a desktop\nlayout. Include axes and units for plots, accessible names, visible control\nlabels, keyboard operation, and touch targets. Honor reduced-motion preferences.\n\n## Conversation and dashboard actions\n\nKeep presentation-only changes local. A clearly labeled user-clicked control can\ncall `openclaw.prompt.send(text)` to ask the agent to investigate selected values.\nInclude those values and the requested action. In the Control UI, prompts need a\nreal user activation in the visible, focused widget; text must be nonempty, at\nmost 4,000 characters, and cannot start with `\u002F`. Do not trigger prompts on load\nor on every filter change, and do not assume the widget can read the agent reply.\nNative renderers do not provide the Control UI conversation bridge.\n\nOnly pinned dashboard widgets have the ticket-bound data and action APIs:\n\n- `openclaw.data.read(bindingId, params?)` reads an advertised Gateway binding.\n- `openclaw.action.run(actionId, params?)` invokes an advertised action.\n- `openclaw.cron.trigger(jobId)` requires `cron.trigger:\u003CjobId>`.\n- `openclaw.state.emit(payload)` emits a bounded session notice.\n\nUse the current tool schema for binding\u002Faction IDs and their parameter shapes.\nDeclare required grants in `capabilities.tools`. For browser API fetches, declare\nexact HTTPS origins in `capabilities.netOrigins`; the browser still requires\nCORS. Use host bindings for authenticated data; never embed tokens in HTML.\nInline previews do not inherit dashboard grants. Check `capabilityState` and\nreport pending or rejected access; saving a widget does not prove a data read.\nUpdated content may require approval again.\n\nUse normal dashboard links with `target=\"_blank\" rel=\"noopener noreferrer\"`.\n`window.open` and nested external iframes do not work. For Control UI links,\nread `openclaw.host.controlUiBaseUrl` at click time; it is null before dashboard\ninitialization and outside that host.\n\n## Verify and deliver\n\nFix reported inline-script syntax errors and call the tool again. Script errors\nthrown after an inline widget renders in the Control UI are reported back to this\nsession. Agent browser tools normally run a separate profile without the viewer's\nControl UI session, so opening the chat there reaches sign-in, not the widget; do\nnot use them to inspect inline widgets. When a browser or device tool can load the\nrendered surface itself, verify libraries and fonts loaded, important controls\nwork, and content fits the intended width and theme. For live dashboards, exercise\nthe data read in the actual pinned frame.\nStrict embed mode disables scripts. Report any concrete visual or platform\nverification gap; successful hosting alone proves neither rendering nor data access.\n\nFollow `result.presentation` when present. A `status: \"pinned\"` result means the\nwidget is on the session dashboard. Use the available dashboard tool to focus its\ntab in the current session. Do not navigate to widget hosting URLs in the Browser\npanel as a substitute for presentation.\n\nKeep the final prose focused on the useful conclusion or remaining limitation,\nwithout repeating the entire visual. Do not promise PNG exports preserve externally\nloaded styles or fonts without checking the exported image.\n",{"name":5,"description":7},"main","f1c93577085244aa96aa87b53a2df9b59d293bd7","skills\u002Fvisualize",82862,"https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw","https:\u002F\u002Fopenclaw.ai","https:\u002F\u002Fgithub.com\u002Fopenclaw","Your personal, open source AI assistant.","2026-11-11 08:46:30",{"source":8,"skillName":5,"commands":50,"prompt":60,"zipAvailable":61},[51,54,57],{"tool":52,"command":53},"npx","npx skills add openclaw\u002Fopenclaw --skill visualize",{"tool":55,"command":56},"bunx","bunx skills add openclaw\u002Fopenclaw --skill visualize",{"tool":58,"command":59},"pnpm","pnpm dlx skills add openclaw\u002Fopenclaw --skill visualize","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Fvisualize\u002FSKILL.md",true,[],[64,70,92,109,133,155],{"skillNo":65,"name":66,"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":67,"categories":68,"keywords":69,"publishedAt":35},"01M698VP84FNM6G9MR1HPX7MF7","lobster","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fextensions\u002Flobster\u002FSKILL.md",[],[66],{"skillNo":71,"name":72,"nameZh":6,"description":73,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":74,"categories":75,"keywords":76,"publishedAt":35},"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",[],[72,77,31,78,79,80,81,82,83,84,85,86,87,88,89,90,91],"api","calls","replies","posts","upload","tap","install","brew","node","Media","search","npm","status","auth","cli",{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":98,"publishedAt":35},"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",[],[94,99,100,83,101,84,102,103,104,105,106,107,31,30,108],"web","travel","fetch","curl","https","help","planning","temperature","travel planning","back",{"skillNo":110,"name":111,"nameZh":6,"description":112,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":113,"categories":114,"keywords":123,"publishedAt":35},"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",[115,120],{"categoryNo":116,"categoryName":117,"taxonomyType":118,"taxonomyTypeDesc":119},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":121,"categoryName":122,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000030","开发工程师",[111,124,125,126,127,128,83,84,129,130,77,131,132,103,102],"via","rest api","token","manage","atlassian","jq","developer","REST","cloud",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":35},"01M698YQ9Q3M4W78EWV2KSCSVW","tmux","Control tmux sessions\u002Fpanes for interactive CLIs: list, capture output, send keys, paste text, monitor prompts.","https:\u002F\u002Fgithub.com\u002Fopenclaw\u002Fopenclaw\u002Fblob\u002Fmain\u002Fskills\u002Ftmux\u002FSKILL.md",[],[135,140,141,142,143,144,145,31,146,147,148,149,83,150,151,84,152,153,154],"sessions","linux","monitor","output","send","darwin","keys","paste","control","prompts","interactive","list","capture","panes","text",{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":35},"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",[],[162,163,164,165,145,166,167,168,169,83,151,170,103,87,171,172,173,174,91,175],"things mac","things","mac","cmd","inspect","latest","add","tags","projects","inbox","update","github","go","macos"]