Repository navigation
Conversation
rewriteSkillLoadPaths rewrote every project-local skill path to node_modules/<name>/... whenever that entry existed, even when it was a different copy of the package. When a workspace package installed its own version, list showed the nested skill but load looked for it in the root copy and failed. Use the node_modules/<name> path only when it realpaths to the same directory as the package root.
🦋 Changeset detectedLatest commit: c626085 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
🎯 Changes
What changed
rewriteSkillLoadPathsnow uses the root’snode_modulespath only if it points to the package copy where the skill was found; otherwise, it uses that copy’s path relative to the project root.Why
In a monorepo, there might be a case where we have the same dependency installed in the root directory, and in the child directories. The dependency could have a different version, which means, we have something like this:
Let's say,
@tanstack/queryv4 doesn't have afetchingskill, while@tanstack/queryv5 has it (like the example above).Right now, if we run
intent list --jsonfrom the root directory, it will list thefetchingskill frombar's copy of@tanstack/query(v5), which is an intended behavior (based on #79), but when we runintent load @tanstack/query#fetching, it will give us an error:Resolved skill file was not found: node_modules/@tanstack/query/skills/fetching/SKILL.mdbecause the path was resolved to the root'snode_modulesinstead of thebar'snode_modules.Anything reviewers should look at closely
Please check if the real path comparison is the right approach
✅ Checklist
pnpm run test:pr(runpnpm build:allfirst).🚀 Release Impact
Summary by CodeRabbit
intent loadnow selects a dependency’s nested copy when it differs from the project’s root copy, so skills load from the expected version.node_modulespaths.