[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-qwen-dataviz":3,"mdc--9rfz47-key":34,"related-org-qwen-dataviz":285,"related-repo-qwen-dataviz":458},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":23,"repoUrl":24,"updatedAt":25,"license":26,"forks":27,"topics":28,"repo":29,"sourceUrl":32,"mdContent":33},"dataviz","design and validate data visualizations","Design guidance for charts, graphs, dashboards, maps, and data visualizations, including a local palette validator.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"qwen","Qwen","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fqwen.png","QwenLM",[13,17,20],{"name":14,"slug":15,"type":16},"Dashboards","dashboards","tag",{"name":18,"slug":19,"type":16},"Data Visualization","data-visualization",{"name":21,"slug":22,"type":16},"Charts","charts",26008,"https:\u002F\u002Fgithub.com\u002FQwenLM\u002Fqwen-code","2026-07-16T05:59:28.31755",null,2643,[],{"repoUrl":24,"stars":23,"forks":27,"topics":30,"description":31},[],"An open-source AI coding agent that lives in your terminal.","https:\u002F\u002Fgithub.com\u002FQwenLM\u002Fqwen-code\u002Ftree\u002FHEAD\u002Fpackages\u002Fcore\u002Fsrc\u002Fskills\u002Fbundled\u002Fdataviz","---\nname: dataviz\ndescription: Design guidance for charts, graphs, dashboards, maps, and data visualizations, including a local palette validator.\nwhen_to_use: When creating or revising charts, graphs, dashboards, maps, plots, inline SVG, D3, Plotly, Recharts, matplotlib, or any Artifact page that visualizes data.\nallowedTools:\n  - read_file\n---\n\n# Dataviz\n\nUse this skill before producing a chart, dashboard, map, or data visualization.\n\n## Workflow\n\n1. Identify the analytic task: comparison, trend, distribution, relationship,\n   ranking, part-to-whole, geography, or status monitoring.\n2. Choose the simplest chart form that answers that task. Read\n   `references\u002Fchoosing-a-form.md` when the form is not obvious.\n3. Write the finding into the title, subtitle, axis label, or direct annotation.\n   A viewer should know what changed, what is high or low, or what decision the\n   chart supports.\n4. Pick colors from `references\u002Fpalette.md`, or validate any custom palette with\n   the script below.\n5. Check `references\u002Fanti-patterns.md` before finalizing the design.\n\n## Palette Validation\n\nResolve paths relative to the skill base directory shown above this skill body.\nDo not assume `$QWEN_SKILL_ROOT` is set for normal shell commands.\n\nRun:\n\n```bash\nnode \u003Cskill-base-directory>\u002Fscripts\u002Fvalidate_palette.js '#1d4ed8,#b45309,#166534' --mode light\n```\n\nTreat `FAIL` as a required palette change. Treat `WARN` as acceptable only when\nthe chart also uses labels, shape, texture, ordering, or another secondary\nencoding.\n\n## Mark Rules\n\n- Use categorical palettes for unordered groups; use sequential or diverging\n  ramps only for ordered values.\n- Prefer direct labels over legends when the chart has a small number of series.\n- Keep gridlines subtle and fewer than the data marks.\n- Avoid dual axes unless both series share a clearly explained transformation.\n- Do not rely on color alone for critical distinctions.\n- Keep dashboards scan-friendly: align cards, use consistent number formats,\n  and reserve saturated color for important state changes.\n",{"data":35,"body":39},{"name":4,"description":6,"when_to_use":36,"allowedTools":37},"When creating or revising charts, graphs, dashboards, maps, plots, inline SVG, D3, Plotly, Recharts, matplotlib, or any Artifact page that visualizes data.",[38],"read_file",{"type":40,"children":41},"root",[42,50,56,63,118,124,137,142,218,239,245,279],{"type":43,"tag":44,"props":45,"children":46},"element","h1",{"id":4},[47],{"type":48,"value":49},"text","Dataviz",{"type":43,"tag":51,"props":52,"children":53},"p",{},[54],{"type":48,"value":55},"Use this skill before producing a chart, dashboard, map, or data visualization.",{"type":43,"tag":57,"props":58,"children":60},"h2",{"id":59},"workflow",[61],{"type":48,"value":62},"Workflow",{"type":43,"tag":64,"props":65,"children":66},"ol",{},[67,73,87,92,105],{"type":43,"tag":68,"props":69,"children":70},"li",{},[71],{"type":48,"value":72},"Identify the analytic task: comparison, trend, distribution, relationship,\nranking, part-to-whole, geography, or status monitoring.",{"type":43,"tag":68,"props":74,"children":75},{},[76,78,85],{"type":48,"value":77},"Choose the simplest chart form that answers that task. Read\n",{"type":43,"tag":79,"props":80,"children":82},"code",{"className":81},[],[83],{"type":48,"value":84},"references\u002Fchoosing-a-form.md",{"type":48,"value":86}," when the form is not obvious.",{"type":43,"tag":68,"props":88,"children":89},{},[90],{"type":48,"value":91},"Write the finding into the title, subtitle, axis label, or direct annotation.\nA viewer should know what changed, what is high or low, or what decision the\nchart supports.",{"type":43,"tag":68,"props":93,"children":94},{},[95,97,103],{"type":48,"value":96},"Pick colors from ",{"type":43,"tag":79,"props":98,"children":100},{"className":99},[],[101],{"type":48,"value":102},"references\u002Fpalette.md",{"type":48,"value":104},", or validate any custom palette with\nthe script below.",{"type":43,"tag":68,"props":106,"children":107},{},[108,110,116],{"type":48,"value":109},"Check ",{"type":43,"tag":79,"props":111,"children":113},{"className":112},[],[114],{"type":48,"value":115},"references\u002Fanti-patterns.md",{"type":48,"value":117}," before finalizing the design.",{"type":43,"tag":57,"props":119,"children":121},{"id":120},"palette-validation",[122],{"type":48,"value":123},"Palette Validation",{"type":43,"tag":51,"props":125,"children":126},{},[127,129,135],{"type":48,"value":128},"Resolve paths relative to the skill base directory shown above this skill body.\nDo not assume ",{"type":43,"tag":79,"props":130,"children":132},{"className":131},[],[133],{"type":48,"value":134},"$QWEN_SKILL_ROOT",{"type":48,"value":136}," is set for normal shell commands.",{"type":43,"tag":51,"props":138,"children":139},{},[140],{"type":48,"value":141},"Run:",{"type":43,"tag":143,"props":144,"children":149},"pre",{"className":145,"code":146,"language":147,"meta":148,"style":148},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","node \u003Cskill-base-directory>\u002Fscripts\u002Fvalidate_palette.js '#1d4ed8,#b45309,#166534' --mode light\n","bash","",[150],{"type":43,"tag":79,"props":151,"children":152},{"__ignoreMap":148},[153],{"type":43,"tag":154,"props":155,"children":158},"span",{"class":156,"line":157},"line",1,[159,165,171,177,183,188,193,198,203,208,213],{"type":43,"tag":154,"props":160,"children":162},{"style":161},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[163],{"type":48,"value":164},"node",{"type":43,"tag":154,"props":166,"children":168},{"style":167},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[169],{"type":48,"value":170}," \u003C",{"type":43,"tag":154,"props":172,"children":174},{"style":173},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[175],{"type":48,"value":176},"skill-base-director",{"type":43,"tag":154,"props":178,"children":180},{"style":179},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[181],{"type":48,"value":182},"y",{"type":43,"tag":154,"props":184,"children":185},{"style":167},[186],{"type":48,"value":187},">",{"type":43,"tag":154,"props":189,"children":190},{"style":173},[191],{"type":48,"value":192},"\u002Fscripts\u002Fvalidate_palette.js",{"type":43,"tag":154,"props":194,"children":195},{"style":167},[196],{"type":48,"value":197}," '",{"type":43,"tag":154,"props":199,"children":200},{"style":173},[201],{"type":48,"value":202},"#1d4ed8,#b45309,#166534",{"type":43,"tag":154,"props":204,"children":205},{"style":167},[206],{"type":48,"value":207},"'",{"type":43,"tag":154,"props":209,"children":210},{"style":173},[211],{"type":48,"value":212}," --mode",{"type":43,"tag":154,"props":214,"children":215},{"style":173},[216],{"type":48,"value":217}," light\n",{"type":43,"tag":51,"props":219,"children":220},{},[221,223,229,231,237],{"type":48,"value":222},"Treat ",{"type":43,"tag":79,"props":224,"children":226},{"className":225},[],[227],{"type":48,"value":228},"FAIL",{"type":48,"value":230}," as a required palette change. Treat ",{"type":43,"tag":79,"props":232,"children":234},{"className":233},[],[235],{"type":48,"value":236},"WARN",{"type":48,"value":238}," as acceptable only when\nthe chart also uses labels, shape, texture, ordering, or another secondary\nencoding.",{"type":43,"tag":57,"props":240,"children":242},{"id":241},"mark-rules",[243],{"type":48,"value":244},"Mark Rules",{"type":43,"tag":246,"props":247,"children":248},"ul",{},[249,254,259,264,269,274],{"type":43,"tag":68,"props":250,"children":251},{},[252],{"type":48,"value":253},"Use categorical palettes for unordered groups; use sequential or diverging\nramps only for ordered values.",{"type":43,"tag":68,"props":255,"children":256},{},[257],{"type":48,"value":258},"Prefer direct labels over legends when the chart has a small number of series.",{"type":43,"tag":68,"props":260,"children":261},{},[262],{"type":48,"value":263},"Keep gridlines subtle and fewer than the data marks.",{"type":43,"tag":68,"props":265,"children":266},{},[267],{"type":48,"value":268},"Avoid dual axes unless both series share a clearly explained transformation.",{"type":43,"tag":68,"props":270,"children":271},{},[272],{"type":48,"value":273},"Do not rely on color alone for critical distinctions.",{"type":43,"tag":68,"props":275,"children":276},{},[277],{"type":48,"value":278},"Keep dashboards scan-friendly: align cards, use consistent number formats,\nand reserve saturated color for important state changes.",{"type":43,"tag":280,"props":281,"children":282},"style",{},[283],{"type":48,"value":284},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":286,"total":457},[287,300,319,325,341,355,371,385,398,412,424,439],{"slug":288,"name":288,"fn":289,"description":290,"org":291,"tags":292,"stars":23,"repoUrl":24,"updatedAt":299},"batch","execute parallel batch operations on files","Execute batch operations on multiple files in parallel. Automatically discovers files, splits into chunks, and processes with parallel worker agents. Use `\u002Fbatch` followed by operation and file pattern.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[293,296],{"name":294,"slug":295,"type":16},"Automation","automation",{"name":297,"slug":298,"type":16},"Concurrency","concurrency","2026-07-20T05:58:45.650067",{"slug":301,"name":301,"fn":302,"description":303,"org":304,"tags":305,"stars":23,"repoUrl":24,"updatedAt":318},"cua-driver-rs","drive native GUI applications via MCP","Drive a native GUI app (macOS, Windows, Linux) via the cua-driver CLI (default) or MCP server — snapshot its accessibility tree, click\u002Ftype\u002Fscroll by element_index or pixel coords, verify via re-snapshot, all without bringing the target to the foreground. Use when the user asks you to operate, drive, automate, or perform a GUI task in a real application on the host.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[306,309,312,315],{"name":307,"slug":308,"type":16},"Accessibility","accessibility",{"name":310,"slug":311,"type":16},"Browser Automation","browser-automation",{"name":313,"slug":314,"type":16},"Desktop","desktop",{"name":316,"slug":317,"type":16},"MCP","mcp","2026-07-16T05:59:28.687299",{"slug":4,"name":4,"fn":5,"description":6,"org":320,"tags":321,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[322,323,324],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"slug":326,"name":326,"fn":327,"description":328,"org":329,"tags":330,"stars":23,"repoUrl":24,"updatedAt":340},"extension-creator","create Qwen Code extensions","Create, scaffold, customize, validate, and locally test Qwen Code extensions. Use when the user wants a new Qwen Code extension, needs help choosing an extension template, wants to add QWEN.md context, commands, skills, agents, MCP servers, settings, hooks, channels, or LSP servers, or asks how to link and test an extension locally. Invoke with `\u002Fextension-creator` followed by an extension path and optional template name.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[331,334,337],{"name":332,"slug":333,"type":16},"Coding","coding",{"name":335,"slug":336,"type":16},"Documentation","documentation",{"name":338,"slug":339,"type":16},"Plugin Development","plugin-development","2026-07-16T05:59:24.818967",{"slug":342,"name":342,"fn":343,"description":344,"org":345,"tags":346,"stars":23,"repoUrl":24,"updatedAt":354},"loop","run scheduled or self-paced prompt loops","Create a loop that runs a prompt now and follows up either on a fixed schedule or through self-paced wakeups. Usage - \u002Floop check the build, \u002Floop 5m check the build, \u002Floop check the PR every 30m. \u002Floop list to show jobs, \u002Floop clear to cancel all.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[347,348,351],{"name":294,"slug":295,"type":16},{"name":349,"slug":350,"type":16},"Productivity","productivity",{"name":352,"slug":353,"type":16},"Scheduling","scheduling","2026-07-16T05:59:25.50027",{"slug":356,"name":356,"fn":357,"description":358,"org":359,"tags":360,"stars":23,"repoUrl":24,"updatedAt":370},"new-app","build new applications from scratch","Workflow for creating new applications from scratch. Covers requirements gathering, tech stack selection, scaffolding, implementation, and delivery of a functional prototype.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[361,364,367],{"name":362,"slug":363,"type":16},"Engineering","engineering",{"name":365,"slug":366,"type":16},"Prototyping","prototyping",{"name":368,"slug":369,"type":16},"Web Development","web-development","2026-07-16T05:59:25.157573",{"slug":372,"name":372,"fn":373,"description":374,"org":375,"tags":376,"stars":23,"repoUrl":24,"updatedAt":384},"qc-helper","provide Qwen Code usage and configuration support","Answer any question about Qwen Code usage, features, configuration, and troubleshooting by referencing the official user documentation. Also helps users view or modify their settings.json. Invoke with `\u002Fqc-helper` followed by a question, e.g. `\u002Fqc-helper how do I configure MCP servers?` or `\u002Fqc-helper change approval mode to yolo`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[377,380,381],{"name":378,"slug":379,"type":16},"Configuration","configuration",{"name":335,"slug":336,"type":16},{"name":382,"slug":383,"type":16},"Reference","reference","2026-07-16T05:59:29.118413",{"slug":386,"name":386,"fn":387,"description":388,"org":389,"tags":390,"stars":23,"repoUrl":24,"updatedAt":397},"review","review code for quality and security","Review changed code for correctness, security, code quality, and performance. Use when the user asks to review code changes, a PR, or specific files. Invoke with `\u002Freview`, `\u002Freview \u003Cpr-number>`, `\u002Freview \u003Cfile-path>`, or `\u002Freview \u003Cpr-number> --comment` to post inline comments on the PR. Add `--effort low|medium|high` to trade depth for speed (defaults to high for PRs, medium for local changes).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[391,394],{"name":392,"slug":393,"type":16},"Code Review","code-review",{"name":395,"slug":396,"type":16},"Security","security","2026-07-30T05:30:17.682893",{"slug":399,"name":399,"fn":400,"description":401,"org":402,"tags":403,"stars":23,"repoUrl":24,"updatedAt":411},"simplify","clean up and simplify code changes","Review recent code changes for reuse, code quality, and efficiency, then directly apply straightforward cleanup improvements. Use when the user wants a post-implementation cleanup pass, pre-PR polish, or asks to simplify\u002Frefine recent changes. Invoke with `\u002Fsimplify` or `\u002Fsimplify \u003Cfocus>`.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[404,407,408],{"name":405,"slug":406,"type":16},"Code Analysis","code-analysis",{"name":362,"slug":363,"type":16},{"name":409,"slug":410,"type":16},"Performance","performance","2026-07-20T05:58:46.653811",{"slug":413,"name":413,"fn":414,"description":415,"org":416,"tags":417,"stars":23,"repoUrl":24,"updatedAt":423},"stuck","diagnose and debug stuck Qwen Code sessions","Diagnose frozen, stuck, or slow Qwen Code sessions on this machine. Scans for problematic processes, high CPU\u002Fmemory usage, hung subprocesses, and debug logs. Use \u002Fstuck or \u002Fstuck \u003CPID> to focus on a specific process.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[418,421,422],{"name":419,"slug":420,"type":16},"Debugging","debugging",{"name":362,"slug":363,"type":16},{"name":409,"slug":410,"type":16},"2026-07-16T05:59:25.838629",{"slug":425,"name":425,"fn":426,"description":427,"org":428,"tags":429,"stars":436,"repoUrl":437,"updatedAt":438},"open-computer-use","configure Open Computer Use MCP server","Platform-neutral guidance for using Open Computer Use, the open-source Computer Use MCP server and CLI for macOS, Linux, and Windows. Use when an agent needs to install, verify, troubleshoot, configure, or operate Open Computer Use through its native CLI, stdio MCP server, or direct Computer Use tool calls.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[430,431,434,435],{"name":294,"slug":295,"type":16},{"name":432,"slug":433,"type":16},"CLI","cli",{"name":313,"slug":314,"type":16},{"name":316,"slug":317,"type":16},176,"https:\u002F\u002Fgithub.com\u002FQwenLM\u002Fopen-computer-use","2026-07-16T05:59:22.010839",{"slug":440,"name":440,"fn":441,"description":442,"org":443,"tags":444,"stars":454,"repoUrl":455,"updatedAt":456},"auto-pr","automate pull request submission and review","Automated PR submission assistant, including code review, documentation generation, and PR creation",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[445,446,447,448,451],{"name":294,"slug":295,"type":16},{"name":392,"slug":393,"type":16},{"name":335,"slug":336,"type":16},{"name":449,"slug":450,"type":16},"GitHub","github",{"name":452,"slug":453,"type":16},"Pull Requests","pull-requests",136,"https:\u002F\u002Fgithub.com\u002FQwenLM\u002Fqwen-code-examples","2026-07-16T06:00:01.890524",21,{"items":459,"total":502},[460,465,472,478,484,490,496],{"slug":288,"name":288,"fn":289,"description":290,"org":461,"tags":462,"stars":23,"repoUrl":24,"updatedAt":299},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[463,464],{"name":294,"slug":295,"type":16},{"name":297,"slug":298,"type":16},{"slug":301,"name":301,"fn":302,"description":303,"org":466,"tags":467,"stars":23,"repoUrl":24,"updatedAt":318},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[468,469,470,471],{"name":307,"slug":308,"type":16},{"name":310,"slug":311,"type":16},{"name":313,"slug":314,"type":16},{"name":316,"slug":317,"type":16},{"slug":4,"name":4,"fn":5,"description":6,"org":473,"tags":474,"stars":23,"repoUrl":24,"updatedAt":25},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[475,476,477],{"name":21,"slug":22,"type":16},{"name":14,"slug":15,"type":16},{"name":18,"slug":19,"type":16},{"slug":326,"name":326,"fn":327,"description":328,"org":479,"tags":480,"stars":23,"repoUrl":24,"updatedAt":340},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[481,482,483],{"name":332,"slug":333,"type":16},{"name":335,"slug":336,"type":16},{"name":338,"slug":339,"type":16},{"slug":342,"name":342,"fn":343,"description":344,"org":485,"tags":486,"stars":23,"repoUrl":24,"updatedAt":354},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[487,488,489],{"name":294,"slug":295,"type":16},{"name":349,"slug":350,"type":16},{"name":352,"slug":353,"type":16},{"slug":356,"name":356,"fn":357,"description":358,"org":491,"tags":492,"stars":23,"repoUrl":24,"updatedAt":370},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[493,494,495],{"name":362,"slug":363,"type":16},{"name":365,"slug":366,"type":16},{"name":368,"slug":369,"type":16},{"slug":372,"name":372,"fn":373,"description":374,"org":497,"tags":498,"stars":23,"repoUrl":24,"updatedAt":384},{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[499,500,501],{"name":378,"slug":379,"type":16},{"name":335,"slug":336,"type":16},{"name":382,"slug":383,"type":16},10]