Qwen Code is an open-source AI coding agent that runs in a terminal and helps developers work with code through language models. It supports multiple model providers and can also be used through IDEs, desktop software, SDKs, and messaging bots.
Getting it into your agent
It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.
git clone --depth 1 https://github.com/QwenLM/qwen-codenpx agentmods add skills/qwenlm/qwen-code/desktop-brand-builderWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/qwenlm/qwen-code/desktop-brand-builder)<a href="https://agentmods.dev/skills/qwenlm/qwen-code/desktop-brand-builder"><img src="https://agentmods.dev/badge/skills/qwenlm/qwen-code/desktop-brand-builder/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/qwenlm/qwen-code/desktop-brand-builder"><img src="https://agentmods.dev/badge/skills/qwenlm/qwen-code/desktop-brand-builder.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- Snyk pass
- NVIDIA SkillSpector warn
SkillSpector: 5 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Rogue Agent · line 10 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium MCP Rug Pull · line 142 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
- medium MCP Rug Pull · line 154 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
- medium MCP Rug Pull · line 166 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
- medium MCP Rug Pull · line 187 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00069 | $0.02147 |
| Opus 5 | $0.00034 | $0.01073 |
| Sonnet 5 | $0.00014 | $0.00429 |
| Haiku 4.5 | $0.00007 | $0.00215 |
Grade A, and why
desktop-brand-builder scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 223 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Desktop Brand Builder (Tauri shell)
Goal
Create a branded desktop package from packages/desktop-shell with the least
user input possible. The user should usually provide only:
brandId: acme-ai
logo: /absolute/path/to/logo.png
website: https://acme.ai
website is optional. Do not ask for app name, app id, artifact name,
copyright, or updater endpoints unless the user explicitly asks to override
them.
This skill replaces the Electron-era brand builder that lived in the removed
packages/desktop. The Tauri shell is the only desktop implementation now;
branding hooks are src-tauri/tauri.conf.json, src-tauri/icons/, and the
bootstrap/ startup UI.
Input Rules
Required fields:
brandId: must match^[a-z][a-z0-9-]*$logo: local file path; must exist;.pngrecommended (square, >= 1024px)
Optional overrides:
websiteappNameappId(Tauri bundle identifier)artifactPrefixupdaterEndpoints(JSON array; empty array disables in-app updates)updaterPubkey(base64 public key; required whenupdaterEndpointsis non-empty — must match theTAURI_SIGNING_PRIVATE_KEYused to sign your updater artifacts)target:mac,win,linux, orall
If required input is missing, ask once:
请提供:
brandId: 例如 acme-ai,只能小写字母、数字、短横线
logo: 本地 logo 文件路径(建议 1024x1024 PNG)
website: 可选
Once the required fields are present, proceed without a confirmation step.
Derived Defaults
Infer missing values deterministically:
appName: title-case the hyphen-separatedbrandId;acme-aibecomesAcme AIartifactPrefix: title-case the hyphen-separatedbrandIdand join with hyphens;acme-aibecomesAcme-AIappId: ifwebsitehas a valid host, reverse the host labels and append.desktop;https://acme.aibecomesai.acme.desktop- fallback
appId:app.<brandId>.desktop updaterEndpoints: empty by default. A branded build must never poll the official Qwen Code updater feed, and the official feed must never update a branded build. Only set endpoints when the user supplies their own feed.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 223 lines · 69 tokens per session scan A 1ae895313cb7
desktop-brand-builder is a skill published in the GitHub repository QwenLM/qwen-code (27,707 stars, last pushed yesterday), licensed Apache-2.0. It adds 69 tokens to every session and 2,147 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
canvas-design
A design workflow for creating original visual artwork as PNG images or PDF documents, guided by a written visual style or philosophy.
deck-graphify-dark
A dark slide-deck template for AI tools, developer tools, and knowledge graphs, using gradients, floating blurred shapes, graph diagrams, code styling, and glass-like cards.
deck-hermes-cyber
A visual template for presentation slides about command-line tools, coding agents, or developer products. It uses a dark terminal-inspired style with scan lines, a command prompt, large mint text, charts, and colored status labels.
novel-workshop
A workspace for writing novels with an AI assistant, covering outlines, characters, chapters, multiple viewpoints, editing, and book assembly. It treats the author’s files and instructions as the source of truth.
design-loop
Use when something must be built well and there is a real reference it should beat: turn what makes the reference good into measured mechanisms, then run a builder and three fresh-context critics until all three pass. Fires on 'design loop', 'make it as good as ', 'it looks generic'. NOT keeping an already-won look…
frontend-ux-engineer
Use for frontend features, Next.js/React/Vue/Svelte UI, accessibility, responsive layout, design polish, state handling, forms, visual QA, or product workflow improvements.