feat(skills): support extends: bundled in SKILL.md#2502
Open
Br1an67 wants to merge 1 commit intoQwenLM:mainfrom
Open
feat(skills): support extends: bundled in SKILL.md#2502Br1an67 wants to merge 1 commit intoQwenLM:mainfrom
Br1an67 wants to merge 1 commit intoQwenLM:mainfrom
Conversation
Closes QwenLM#2379 Add an 'extends: bundled' mechanism to the skill system, allowing users to append content to a bundled skill without replacing it entirely. This enables teams to add custom review dimensions (e.g., Accessibility, API Compatibility) while automatically inheriting future updates to the bundled skill. Usage in .qwen/skills/review/SKILL.md: --- name: review description: Extended code review extends: bundled --- ### Agent 5: Accessibility Focus areas: ARIA attributes, keyboard navigation, screen reader compat Changes: - types.ts: Add optional 'extends' field to SkillConfig - skill-manager.ts: Parse 'extends' from frontmatter, add resolveExtends() that merges extending skill body with bundled base - skill-manager.test.ts: Add 4 new tests for extends parsing, merging, invalid value rejection, and missing bundled skill error
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TLDR
Closes #2379.
Adds an
extends: bundledmechanism to the skill system, allowing users to append content to a bundled skill without replacing it entirely.Dive Deeper
Problem
Users who want to add custom review dimensions (e.g., Accessibility, API Compatibility) currently have to copy the entire bundled
SKILL.mdinto.qwen/skills/review/SKILL.mdand maintain it — a full override with no composition. Future updates to the bundled skill are lost.Solution
A new optional
extends: bundledfield in SKILL.md frontmatter. When set, the extending skill's body is appended to the bundled skill's body during loading.Example (
.qwen/skills/review/SKILL.md):When
/reviewis invoked, the user sees the bundled content plus the custom dimensions.Changes
types.ts: Added optionalextends?: 'bundled'field toSkillConfigskill-manager.ts:extendsfrom YAML frontmatter (with validation — only'bundled'is accepted)resolveExtends()that loads the bundled base skill and concatenates bodiesloadSkillpaths callresolveExtends()before returningskill-manager.test.ts: 4 new tests covering parsing, merging, error handlingWhat this does NOT change
settings.jsonschemaTesting Matrix
extends: bundledfrom frontmatterconfig.extends === 'bundled'extends: user(invalid value)extends: bundledextends: bundledreferencing non-existent bundled skill