[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71BCM0RS6QJZP0G3RHRZFFE":3,"skill-same:01M71BCM0RS6QJZP0G3RHRZFFE":66},{"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":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":48,"repositoryHtmlUrl":49,"repositoryHomepageUrl":6,"ownerHtmlUrl":50,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":51,"install":52,"resources":65},"01M71BCM0RS6QJZP0G3RHRZFFE","visualize",null,"Show an interactive prototype, chart, simulation or visual explanation directly in a conversation. Not for ordinary code examples or building a project page.","coldmint9\u002FSynax","coldmint9","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43433941?v=4","01M71BBX89PQS0XWQT8M59N1RT","01M71BBX91MWYYGRNF1SHTE1EF",14,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fcoldmint9\u002FSynax\u002Fblob\u002Fmain\u002Fservices\u002Flocal-node\u002Fskills\u002Fbuiltin\u002Fvisualize\u002FSKILL.md",[],[5,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"code","explorer","explanation","simulation","prototype","examples","planner","reviewer","interactive","visual","chart","page","project","for","executor","show","conversation","2026-11-10 10:12:30",false,"---\nname: visualize\ndescription: Show an interactive prototype, chart, simulation or visual explanation directly in a conversation. Not for ordinary code examples or building a project page.\nversion: 1.1.0\nsynax:\n  applies-to: [executor, planner, explorer, reviewer]\n  permission-hints: [none]\n---\n\n# Inline visualizations\n\nUse when the user needs to see or interact with a proposed interface or explanation. Use Markdown for a static table. Work on project files instead when the user asks to build an actual app. Attached documents do not authorize executable previews.\n\n## Output\n\nWrite one self-contained **HTML fragment** to an authorized, task-owned location inside the session workspace (for example `.synax\u002Fvisualizations\u002Fnavigation-demo.html`). This is preview content, not a project component or a published site. Read it back and check the primary interaction.\n\nEmit its reference on its own line at the intended position in the successful final answer. Use the absolute file path, optionally a concise title and `mode: \"wide\"` for a desktop app mockup:\n\n```text\nvisualize{\"path\":\"\u002Fabsolute\u002Fworkspace\u002F.synax\u002Fvisualizations\u002Fnavigation-demo.html\",\"title\":\"Navigation demo\",\"mode\":\"wide\"}\n```\n\nDo not wrap the reference in a code fence in the actual answer. Keep explanatory prose outside the fragment. The host reads the file once and saves the HTML with the reply, so subsequent file edits or deletion do not change an already displayed preview.\n\n- Maximum one preview per reply, 1,000,000 UTF-8 bytes. Use one unique root ID and scope custom CSS\u002FDOM queries to it.\n- Fragment only: no doctype, html\u002Fhead\u002Fbody tags, meta\u002Fbase\u002Flink tags, frames or embedded documents.\n- No React\u002FTSX compilation, build scripts, publishing or installation. Never point to credentials, arbitrary host files, remote URLs or files outside the authorized session roots.\n- Offline: inline all data, styles and scripts. No CDN, fetch\u002FXHR\u002FWebSocket, remote images\u002Ffonts, Node, host IPC, downloads or navigation. Native forms may update local DOM state without submitting. The Codex-only `Tweak` and `sendFollowUpMessage` APIs are not available in Synax.\n- The host sizes the frame to content. Avoid viewport-height layouts, fixed outer widths and unnecessary inner scrolling. Support 320px–736px (up to 1024px when wide); wrap or stack at narrow widths.\n- A complete top-level `synax-visualize` fence containing the literal HTML fragment is also supported when no file is needed. Do not emit both forms for the same preview. Normal code fences, quoted examples, user messages and incomplete replies never execute.\n\n## Appearance\n\nThe host has no card toolbar, title bar, tabs or outer border. Render only the requested product or visualization, not a second artifact-management shell. Product mockups own their surfaces and chrome; do not copy sample text\u002Fmetrics into unrelated previews.\n\nFor custom product mockups, use root-scoped colors such as `light-dark(#fff, #181e29)` so they track Synax's theme. Use restrained surfaces, readable text, rounded native controls and actual interactive states. Do not hardcode a permanently light UI.\n\nFor charts, explainers and small tools, the host supplies theme tokens:\n`--background`, `--foreground`, `--card`, `--card-foreground`, `--primary`, `--primary-foreground`, `--secondary`, `--secondary-foreground`, `--muted`, `--muted-foreground`, `--accent`, `--accent-foreground`, `--border`, `--input`, `--ring`, `--destructive`, `--viz-series-1` through `--viz-series-6`.\n\nShared utilities: `.card`, `.viz-grid`, `.viz-row`, `.viz-controls`, `.btn`, `.btn-primary`, `.btn-ghost`, `.btn-block`, `.form-label`, `.form-control`, `.form-select`, `.form-range`, `.form-check`, `.form-check-input`, `.progress`, `.progress-bar`, `.viz-badge`, `.table`, `.table-sm`, `.table-responsive`, `.text-small`, `.text-muted`, `.text-destructive`, `.text-end`, `.text-center`, `.text-nowrap`, `.tabular-nums`, `.sr-only`. Use transparent unframed layout unless a bounded surface is needed. Native button, input, select and textarea elements remain keyboard accessible. Do not make controls depend only on hover.\n\nTabs opt into runtime behavior with `.nav-pills[role=\"tablist\"]` and `.nav-link[role=\"tab\"]` native buttons with `aria-controls`, `aria-selected` and a matching `role=\"tabpanel\"`. Product-specific tabs can implement their own local handlers instead.\n\n## Icons and state\n\nUse `\u003Ci data-lucide=\"search\" aria-hidden=\"true\">\u003C\u002Fi>` for bundled Lucide icons. Supported names: sparkles, ellipsis, more-horizontal, wand-sparkles, arrow-up-right, arrow-right, arrow-left, arrow-up, arrow-down, check, layers-2, message-circle-plus, search, plus, x, chevron-down, chevron-right, menu, settings, sun, moon, git-branch, code-2, folder, file-text, copy, play, pause, refresh-cw, circle, circle-check, clock, sliders-horizontal, info. Call `lucide.createIcons()` after adding new placeholders. For other concepts use a clear text label, not a fake glyph.\n\nUse normal JavaScript variables for interaction state. The preview resets on reload. For simple fragment compatibility the local runtime also exposes `window.openai.widgetState` and `window.openai.setWidgetState({modelContent, privateContent})` (16 KiB JSON limit); these do **not** save to the server or send information to the model. `openai:set_globals` reports local state\u002Ftheme changes. No other `window.openai` APIs are available.\n","# Inline visualizations\n\nUse when the user needs to see or interact with a proposed interface or explanation. Use Markdown for a static table. Work on project files instead when the user asks to build an actual app. Attached documents do not authorize executable previews.\n\n## Output\n\nWrite one self-contained **HTML fragment** to an authorized, task-owned location inside the session workspace (for example `.synax\u002Fvisualizations\u002Fnavigation-demo.html`). This is preview content, not a project component or a published site. Read it back and check the primary interaction.\n\nEmit its reference on its own line at the intended position in the successful final answer. Use the absolute file path, optionally a concise title and `mode: \"wide\"` for a desktop app mockup:\n\n```text\nvisualize{\"path\":\"\u002Fabsolute\u002Fworkspace\u002F.synax\u002Fvisualizations\u002Fnavigation-demo.html\",\"title\":\"Navigation demo\",\"mode\":\"wide\"}\n```\n\nDo not wrap the reference in a code fence in the actual answer. Keep explanatory prose outside the fragment. The host reads the file once and saves the HTML with the reply, so subsequent file edits or deletion do not change an already displayed preview.\n\n- Maximum one preview per reply, 1,000,000 UTF-8 bytes. Use one unique root ID and scope custom CSS\u002FDOM queries to it.\n- Fragment only: no doctype, html\u002Fhead\u002Fbody tags, meta\u002Fbase\u002Flink tags, frames or embedded documents.\n- No React\u002FTSX compilation, build scripts, publishing or installation. Never point to credentials, arbitrary host files, remote URLs or files outside the authorized session roots.\n- Offline: inline all data, styles and scripts. No CDN, fetch\u002FXHR\u002FWebSocket, remote images\u002Ffonts, Node, host IPC, downloads or navigation. Native forms may update local DOM state without submitting. The Codex-only `Tweak` and `sendFollowUpMessage` APIs are not available in Synax.\n- The host sizes the frame to content. Avoid viewport-height layouts, fixed outer widths and unnecessary inner scrolling. Support 320px–736px (up to 1024px when wide); wrap or stack at narrow widths.\n- A complete top-level `synax-visualize` fence containing the literal HTML fragment is also supported when no file is needed. Do not emit both forms for the same preview. Normal code fences, quoted examples, user messages and incomplete replies never execute.\n\n## Appearance\n\nThe host has no card toolbar, title bar, tabs or outer border. Render only the requested product or visualization, not a second artifact-management shell. Product mockups own their surfaces and chrome; do not copy sample text\u002Fmetrics into unrelated previews.\n\nFor custom product mockups, use root-scoped colors such as `light-dark(#fff, #181e29)` so they track Synax's theme. Use restrained surfaces, readable text, rounded native controls and actual interactive states. Do not hardcode a permanently light UI.\n\nFor charts, explainers and small tools, the host supplies theme tokens:\n`--background`, `--foreground`, `--card`, `--card-foreground`, `--primary`, `--primary-foreground`, `--secondary`, `--secondary-foreground`, `--muted`, `--muted-foreground`, `--accent`, `--accent-foreground`, `--border`, `--input`, `--ring`, `--destructive`, `--viz-series-1` through `--viz-series-6`.\n\nShared utilities: `.card`, `.viz-grid`, `.viz-row`, `.viz-controls`, `.btn`, `.btn-primary`, `.btn-ghost`, `.btn-block`, `.form-label`, `.form-control`, `.form-select`, `.form-range`, `.form-check`, `.form-check-input`, `.progress`, `.progress-bar`, `.viz-badge`, `.table`, `.table-sm`, `.table-responsive`, `.text-small`, `.text-muted`, `.text-destructive`, `.text-end`, `.text-center`, `.text-nowrap`, `.tabular-nums`, `.sr-only`. Use transparent unframed layout unless a bounded surface is needed. Native button, input, select and textarea elements remain keyboard accessible. Do not make controls depend only on hover.\n\nTabs opt into runtime behavior with `.nav-pills[role=\"tablist\"]` and `.nav-link[role=\"tab\"]` native buttons with `aria-controls`, `aria-selected` and a matching `role=\"tabpanel\"`. Product-specific tabs can implement their own local handlers instead.\n\n## Icons and state\n\nUse `\u003Ci data-lucide=\"search\" aria-hidden=\"true\">\u003C\u002Fi>` for bundled Lucide icons. Supported names: sparkles, ellipsis, more-horizontal, wand-sparkles, arrow-up-right, arrow-right, arrow-left, arrow-up, arrow-down, check, layers-2, message-circle-plus, search, plus, x, chevron-down, chevron-right, menu, settings, sun, moon, git-branch, code-2, folder, file-text, copy, play, pause, refresh-cw, circle, circle-check, clock, sliders-horizontal, info. Call `lucide.createIcons()` after adding new placeholders. For other concepts use a clear text label, not a fake glyph.\n\nUse normal JavaScript variables for interaction state. The preview resets on reload. For simple fragment compatibility the local runtime also exposes `window.openai.widgetState` and `window.openai.setWidgetState({modelContent, privateContent})` (16 KiB JSON limit); these do **not** save to the server or send information to the model. `openai:set_globals` reports local state\u002Ftheme changes. No other `window.openai` APIs are available.\n",{"name":5,"synax":40,"version":44,"description":7},{"applies-to":41,"permission-hints":42},[32,24,19,25],[43],"none","1.1.0","main","6a1f5d61de07d710984024da5b756ee19fb0d2f0","services\u002Flocal-node\u002Fskills\u002Fbuiltin\u002Fvisualize",0,"https:\u002F\u002Fgithub.com\u002Fcoldmint9\u002FSynax","https:\u002F\u002Fgithub.com\u002Fcoldmint9","2026-11-02 08:53:00",{"source":8,"skillName":5,"commands":53,"prompt":63,"zipAvailable":64},[54,57,60],{"tool":55,"command":56},"npx","npx skills add coldmint9\u002FSynax --skill visualize",{"tool":58,"command":59},"bunx","bunx skills add coldmint9\u002FSynax --skill visualize",{"tool":61,"command":62},"pnpm","pnpm dlx skills add coldmint9\u002FSynax --skill visualize","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcoldmint9\u002FSynax\u002Fblob\u002Fmain\u002Fservices\u002Flocal-node\u002Fskills\u002Fbuiltin\u002Fvisualize\u002FSKILL.md",true,[],[67,88,105,130,146,158],{"skillNo":68,"name":69,"nameZh":6,"description":70,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":71,"categories":72,"keywords":73,"publishedAt":35},"01M71BCHW9WXJRBX6KF7VYEW6C","three-way-conflict-resolution","Analyze three-way text conflicts and create reviewable proposals.","https:\u002F\u002Fgithub.com\u002Fcoldmint9\u002FSynax\u002Fblob\u002Fmain\u002Fservices\u002Flocal-node\u002Fskills\u002Fbuiltin\u002Fthree-way-conflict-resolution\u002FSKILL.md",[],[74,75,76,77,78,79,80,81,82,83,32,84,85,86,87],"resolution","conflict","three","conflict resolution","three way conflict resolution","analyze","manager","git","read","diff","proposals","create","conflicts","text",{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":94,"publishedAt":35},"01M71BCG4430GKSHN5YWZXPKFV","synax-explore","Explore a codebase through repository documentation and read-only code evidence with cited paths.","https:\u002F\u002Fgithub.com\u002Fcoldmint9\u002FSynax\u002Fblob\u002Fmain\u002Fservices\u002Flocal-node\u002Fskills\u002Fbuiltin\u002Fsynax-explore\u002FSKILL.md",[],[95,96,97,98,99,32,100,82,101,102,103,104,19,18],"synax explore","explore","documentation","with","evidence","read-only","repository","codebase","paths","only",{"skillNo":106,"name":107,"nameZh":6,"description":108,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":109,"categories":110,"keywords":121,"publishedAt":35},"01M71BCEDMKDF1S7TT03XFH4C7","synax-design","为 Synax 设计工作区、页面、流程和交互方案。用户提出设计稿、UI\u002FUX、交互设计、页面改版或功能设计时使用。必须先确认关键交互细节，再输出图文并茂的设计稿；涉及 HTML 时只创建可直接打开的静态文件，不启动热开发服务器。","https:\u002F\u002Fgithub.com\u002Fcoldmint9\u002FSynax\u002Fblob\u002Fmain\u002Fservices\u002Flocal-node\u002Fskills\u002Fbuiltin\u002Fsynax-design\u002FSKILL.md",[111,116],{"categoryNo":112,"categoryName":113,"taxonomyType":114,"taxonomyTypeDesc":115},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":117,"categoryName":118,"taxonomyType":119,"taxonomyTypeDesc":120},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[122,123,25,124,24,32,125,126,127,128,19,129],"design","synax design","html","ux","图文","文件","ui","交互",{"skillNo":131,"name":132,"nameZh":6,"description":133,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":139,"publishedAt":35},"01M71BCCNNW5AAP2E5166HYV60","mr-verification-and-report","Report actual MR checks and publication evidence.","https:\u002F\u002Fgithub.com\u002Fcoldmint9\u002FSynax\u002Fblob\u002Fmain\u002Fservices\u002Flocal-node\u002Fskills\u002Fbuiltin\u002Fmr-verification-and-report\u002FSKILL.md",[136],{"categoryNo":137,"categoryName":138,"taxonomyType":119,"taxonomyTypeDesc":120},"01JBSEEDCAT000000000000034","行政与办公人员",[140,141,142,143,99,32,144,81,80,145],"report","mr","mr verification and report","verification","inspect","Publication",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":152,"publishedAt":35},"01M71BCAPMVX4M9SYHYMSFWTDP","mr-recovery","Explain recoverable MR states without rewriting history.","https:\u002F\u002Fgithub.com\u002Fcoldmint9\u002FSynax\u002Fblob\u002Fmain\u002Fservices\u002Flocal-node\u002Fskills\u002Fbuiltin\u002Fmr-recovery\u002FSKILL.md",[],[153,154,141,155,156,32,157,144,81,80],"recovery","mr recovery","explain","history","states",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":164,"publishedAt":35},"01M71BC8QREM2Y0BS0MQJ10GHM","local-mr-review","Review a frozen local MR and report grounded risks.","https:\u002F\u002Fgithub.com\u002Fcoldmint9\u002FSynax\u002Fblob\u002Fmain\u002Fservices\u002Flocal-node\u002Fskills\u002Fbuiltin\u002Flocal-mr-review\u002FSKILL.md",[],[165,141,166,167,168,156,32,83,144,82,140,81,80,169],"mr review","local","review","local mr review","compare"]