fix(skills): always inject _builtin skills for native-skill backends#1718
Merged
kaizhou-lab merged 4 commits intoiOfficeAI:mainfrom Mar 26, 2026
Merged
Conversation
setupAssistantWorkspace() previously skipped setup entirely when enabledSkills was empty, and skipped 'cron' even when it was listed. This meant cron, office-cli, and aionui-skills were never symlinked into .codex/skills (or equivalent) for native-skill backends. Now the function: - removes the early return on empty enabledSkills - always reads _builtin/ and symlinks all three builtin skills first - then symlinks optional enabled skills, skipping any already covered Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add getAutoSkillsDir and readdir to test mocks - Update 'skip when empty' tests: skills dir is now always created for native backends even with no enabledSkills - Replace 'skip cron' test with a test that verifies builtin skills are symlinked from autoSkillsDir and deduplicated from enabledSkills Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Inner variable names in the vi.hoisted() callback shadowed the outer destructured names, triggering oxlint no-shadow on the changed file. Rename the internal variables (dirs, links, stats, etc.) so the factory body uses unique names and returns them under the original public keys. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
kaizhou-lab
approved these changes
Mar 26, 2026
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.
Problem
For native-skill backends (Codex, Claude, Gemini, etc.),
setupAssistantWorkspace()skipped workspace setup entirely whenenabledSkillswas empty, and explicitly skippedcroneven when it was listed. As a result, the three builtin skills (cron,office-cli,aionui-skills) were never symlinked into.codex/skills(or equivalent directories).This affected both:
enabledSkills)Fix
In
setupAssistantWorkspace():enabledSkills_builtin/and symlink all builtin skills firstenabledSkills, skipping any already covered by builtinsOnly one file changed:
src/process/utils/initAgent.tsTest
tsc --noEmit).codex/skills/cron,.codex/skills/office-cli,.codex/skills/aionui-skills🤖 Generated with Claude Code