-
Notifications
You must be signed in to change notification settings - Fork 0
fix(install): migrate skills from agents/skills/ to skills/ #18
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?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -102,12 +102,12 @@ export function writeManifest( | |
| } | ||
| } | ||
| } | ||
| // Include skills in manifest (agents/skills/<skill-name>/*) | ||
| const skillsManifestDir = path.join(agentsDir, 'skills'); | ||
| // Include skills in manifest (skills/<skill-name>/*) | ||
| const skillsManifestDir = path.join(configDir, 'skills'); | ||
| if (fs.existsSync(skillsManifestDir)) { | ||
| const skillHashes = generateManifest(skillsManifestDir); | ||
| for (const [rel, hash] of Object.entries(skillHashes)) { | ||
| manifest.files['agents/skills/' + rel] = hash; | ||
| manifest.files['skills/' + rel] = hash; | ||
| } | ||
|
Comment on lines
+105
to
111
|
||
| } | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
|
|
@@ -118,6 +118,39 @@ export function verifyFileInstalled(filePath: string, description: string): bool | |||||||
| return true; | ||||||||
| } | ||||||||
|
|
||||||||
| /** | ||||||||
| * Built-in MAXSIM skill names — used during install, uninstall, and orphan cleanup | ||||||||
| * to identify MAXSIM-owned skill directories (preserving user custom skills). | ||||||||
| */ | ||||||||
| export const BUILT_IN_SKILLS = [ | ||||||||
| 'tdd', | ||||||||
| 'systematic-debugging', | ||||||||
| 'verification-before-completion', | ||||||||
| 'code-review', | ||||||||
| 'simplify', | ||||||||
| 'memory-management', | ||||||||
| 'using-maxsim', | ||||||||
| 'batch-execution', | ||||||||
| 'subagent-driven-development', | ||||||||
| 'writing-plans', | ||||||||
|
Comment on lines
+133
to
+135
|
||||||||
| 'batch-execution', | |
| 'subagent-driven-development', | |
| 'writing-plans', |
Copilot
AI
Mar 2, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removeBuiltInSkills() uses fs.rmSync(..., { recursive: true }) even though this module already provides safeRmDir() specifically to handle cross-platform removal issues (e.g., Windows EPERM/read-only files). Consider using the same removal helper here (or fs.rmSync with the options needed for Windows) so uninstall/cleanup doesn't fail on Windows when deleting skill directories.
| fs.rmSync(skillDir, { recursive: true }); | |
| safeRmDir(skillDir); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
installedSkillDirscounts all subdirectories under the sharedskills/directory, including pre-existing user skills. This makes the “Installed X skills” message inaccurate and can mask an install problem (e.g., if MAXSIM skills failed to copy but user skills already exist, the count is still > 0). Consider validating/counting only the MAXSIM-installed skills (the built-in list) when reporting success/failure.