Qwen Code Rust ships 10 built-in skills. They are always available without installation and can be loaded by the agent via the GetSkill tool during a conversation.
User-provided skills with the same name always take precedence over built-ins.
Skills are loaded lazily. The system prompt lists skill names and descriptions; full instructions are fetched on demand:
GetSkill { "name": "spec-driven-development" }
In practice, you do not call GetSkill manually. The agent loads skills automatically when it recognizes your request matches a skill. You can also use the slash command shorthand if a skill defines one:
/spec → loads spec-driven-development
/batch → loads batch
/simplify → loads simplify
/verify → loads verify
Skill name: spec-driven-development
Tags: planning, spec, workflow
Structured five-phase pipeline for building complex features:
- Requirements — gather and document requirements
- Design — produce a technical design document
- Tasks — break down into implementation tasks
- Execution — implement each task
- E2E Verification — run the
e2e-fixskill to verify the implementation end-to-end
Includes auto-continue rules, review checkpoints at each phase, and a Phase 5 verification gate that loops until all issues are resolved.
When to use: Any feature that benefits from upfront planning rather than diving straight into code. Particularly useful for multi-file changes, API additions, or features that touch multiple system layers.
Example:
/spec Add a webhook notification system that fires on order status changes
What it produces: requirements.md, design.md, tasks.md in .kiro/specs/<feature>/, then the implemented code with verification.
Multi-feature support: When a request involves 2+ distinct features, the agent creates one spec per feature and runs each through the full pipeline before moving to the next.
Skill name: batch
Tags: parallel, worktree, orchestration
Decomposes large changes into 5-30 independent work units and executes them in parallel across isolated git worktrees. Each unit runs as a separate background agent.
When to use: Large-scale refactors, migrations, or repetitive changes across many files where the work units are independent (e.g., renaming a symbol across 20 files, adding tests to 15 modules).
Example:
/batch Add unit tests to every handler in src/api/
What it produces: One branch per work unit with its changes, ready for review and merge.
Skill name: simplify
Tags: review, quality, cleanup
Launches three parallel review agents on the current diff:
- Reuse agent — finds duplicated code and suggests consolidation
- Quality agent — checks for bugs, error handling, edge cases
- Efficiency agent — identifies performance issues and unnecessary complexity
After all three report, their findings are synthesized and fixes are applied.
When to use: After implementing a feature, before opening a PR. Catches issues that a single-pass review would miss.
Example:
/simplify
What it produces: A synthesized review report and applied code fixes.
Skill name: verify
Tags: verification, testing, adversarial
Spawns a read-only verification agent that tries to break the implementation rather than confirm it works. The agent:
- Reads the code and tests
- Tries edge cases, invalid inputs, race conditions
- Runs existing tests and writes new ones
- Outputs a PASS / FAIL / PARTIAL verdict with evidence
When to use: Before shipping changes to production or merging a complex PR. Especially valuable for security-sensitive code, data handling, or concurrent systems.
Example:
/verify
What it produces: A structured verdict (PASS/FAIL/PARTIAL) with command evidence showing what was tested.
Skill name: agent-browser
Tags: browser, automation, web
Headless browser automation via the agent-browser CLI. Supports page navigation, element interaction, form filling, screenshots, and multi-session workflows.
When to use: Testing web UIs, scraping data, filling forms, or any task that requires interacting with a website.
Example:
Open https://example.com, take a screenshot, then click the login button
Skill name: dogfood
Tags: testing, qa, browser
Systematic exploratory testing of a web application. The agent navigates the app like a real user, looking for bugs, broken links, UX issues, and unexpected behavior.
When to use: QA testing a web app before release. The agent explores the app systematically and produces a structured bug report.
What it produces: A structured report with screenshots, reproduction steps, and severity ratings for each issue found.
Skill name: e2e-fix
Tags: testing, fix, browser, e2e
Runs an end-to-end user flow through a web app, finds bugs, fixes them in code, then re-runs the exact reproduction steps to verify each fix. Loops until all issues are resolved.
When to use: As a verification gate after implementing a feature (Phase 5 of spec-driven development), or any time you want to ensure a user flow works end-to-end.
Skill name: electron
Tags: electron, desktop, automation
Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) via Chrome DevTools Protocol.
When to use: Testing or automating desktop apps built on Electron.
Skill name: slack
Tags: slack, messaging, browser
Interact with Slack workspaces using browser automation: read channels, send messages, search conversations, or automate any Slack task.
When to use: Checking unread messages, sending notifications, or searching Slack history.
Skill name: vercel-sandbox
Tags: vercel, sandbox, browser
Run agent-browser and Chrome inside Vercel Sandbox microVMs for browser automation from Vercel-deployed apps.
When to use: Browser automation in Vercel's serverless/sandbox environment.
When multiple skills share the same name, the first match in this order wins:
- Project plugin skills —
.qcr/plugins/<plugin>/skills/ - Global plugin skills —
~/.qcr/plugins/<plugin>/skills/ - Project skills —
.qcr/skills/ - Built-in skills — always available, never overwrite user skills
To override a built-in skill, create a .md file with the same name in .qcr/skills/ or in a plugin's skills/ directory.
Skills can declare a paths field in their frontmatter to activate only when matching files are accessed:
---
name: rust-patterns
paths: [*.rs, src/**/*.rs]
---This skill only activates during a session where .rs files are read or written.