-
Notifications
You must be signed in to change notification settings - Fork 1.6k
feat: introduce Skills system for specialized agent workflows #1315
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Introduces the **Skills** system to Qwen Code, enabling users to create, manage, and utilize reusable expert instructions. Skills empower the agent to reliably execute specific tasks by following structured workflows defined in `SKILL.md` files. Key changes: - **Core Logic**: Added `SkillManager` in `packages/core` to handle skill discovery, validation, loading, creation, updating, and deletion. - **CLI Commands**: Introduced `/skill create` and `/skill manage` commands for interactive skill management via a new UI wizard. - **Documentation**: Added comprehensive user documentation for Skills (`docs/users/features/skills.md`) and updated related docs. - **UI Components**: Implemented React components for the skill creation wizard and management dialog in `packages/cli`.
|
@kfxmvp Thank you very much for your excellent work on this PR — we really appreciate the time and effort you put into it. Overall, the implementation looks solid and well thought out. After reviewing it in detail, we found that the core design and implementation are largely aligned with an approach we have already implemented internally in this PR: Because of this overlap, and in order to avoid maintaining multiple parallel implementations of essentially the same solution, we’ve decided not to merge this PR at the moment. That said, this is genuinely good work, and your contribution is highly appreciated. Your implementation helped validate the design direction we chose, and we’re very grateful for your support and engagement with the project. We definitely hope to collaborate more with you in the future — please keep the contributions coming! 🙏 |
@tanzhenxin Thanks so much for your thorough review and valuable feedback! Just to clarify: this PR is primarily intended to share my concept for the Skills system and open it up for a collaborative discussion with the team—it’s not being submitted for a merge to the main branch at this stage. |
TLDR
This PR introduces the Skills system to Qwen Code, enabling users to create, manage, and utilize reusable expert instructions (skills). Skills empower the agent to reliably execute specific tasks by following structured workflows defined in
SKILL.mdfiles.Note: This feature is disabled by default. You must explicitly enable
skills.enabledin your configuration to access the/skillcommand and functionality.Key changes:
SkillManagerinpackages/coreto handle skill discovery, validation, loading, creation, updating, and deletion./skill createand/skill managecommands for interactive skill management via a new UI wizard.skills.enabledsetting (default: false).docs/users/features/skills.md) and updated related docs.packages/cli.Dive Deeper
The Skills system is designed to transform the agent from a general-purpose assistant into a specialized partner.
SKILL.md(metadata + instructions) and supporting files. To conserve context window usage, a lazy-loading mechanism is used—metadata is scanned first, and full content is loaded only upon activation..qwen/skills/for team sharing) or User level (~/.qwen/skills/for personal use), with project skills overriding global ones.SkillManagerclass acts as the Single Source of Truth for skill data, centralizing lifecycle management and persistence. It abstracts away filesystem complexities (directory scanning, Frontmatter parsing, Schema validation) and ensures consistency between disk state and memory, providing a unified data service for UI interactions and runtime agent calls./skill createcommand launches a step-by-step wizard supporting two modes:skillGenerator)./skill managecommand provides a dashboard to view and maintain existing skills.Reviewer Test Plan
Steps to validate this PR:
git checkout feat/skillnpm installnpm run buildnpm run start(or equivalent for your setup)."skills": { "enabled": true }in yoursettings.jsonor pass the configuration to enable the feature./skill create.git-commit-msg-generator), Description, and Instructions..qwen/skills/after saving.manual-test-skill), Description, and Instructions./skill manage.description(e.g., "Use this skill when...").Testing Matrix
Linked issues / bugs
Resolves #965