feat(skills): auto-bundle skills referenced in a skill's prose for cloud runs#3400
Conversation
|
React Doctor found no issues in the changed files. 🎉 Reviewed by React Doctor for commit |
There was a problem hiding this comment.
Additive, well-tested change: prose-based skill references are matched only against the pre-built set of known skill names, preventing false positives from paths or arbitrary prose. Logic is correct, allSkills is available before knownSkillNames is constructed, and the tests cover the key edge cases.
|
…oud runs Dependency auto-bundling (#3057) only follows the frontmatter dependencies: list, but most skills point at each other in prose — "run /other-skill next" or [[other-skill]]. A referenced skill that was never declared stayed on the user's machine, so the sandbox agent couldn't load it when the parent skill invoked it. resolveSkillBundleDependencies now also scans each SKILL.md body for /skill-name and [[skill-name]] tokens. Matches are filtered against the known local skill names, resolution prefers a skill beside the referencing one (then same source) so a repo skill referencing /helper gets its sibling, and uppercase frontmatter names are recognized. The transitive expansion, bundled-skill skip, cycle guard, and 50-skill ceiling apply unchanged.
3aaeb2b to
5db545b
Compare
New commits pushed (delta classified non_linear_history) — stamphog approval dismissed; re-review running automatically.
There was a problem hiding this comment.
Additive feature in the right layer (workspace-server), well-tested, and both bot concerns raised on older commits are addressed in this diff: the scoping fix (directory-then-source priority) resolves the name-collision issue, and the test suite covers prose references, URL/path false-positives, and same-named skills across sources.
|
/trunk merge |
Problem
Cloud runs can't follow skill-to-skill references unless every dependency is declared by hand. Dependency auto-bundling (#3057) only reads the frontmatter
dependencies:list, but most skills reference each other in prose — "run/other-skillnext" or[[other-skill]]. A referenced skill that was never declared stays on the user's machine, so in the sandbox the parent skill points at something that doesn't exist. This is half of the reported "cloud tasks only see the first skill; skills referenced inside it can't be found" behavior (the adapter half is #3399).Changes
add
parseSkillReferences(content, knownNames)to detect/skill-nameand[[skill-name]]references inSKILL.mdfiles. Only known local skill names are accepted, preventing false matches such as paths, URLs, or unrelated slash-prefixed text.extend dependency resolution to include skill references found in documentation alongside declared
dependencies:before transitive expansion. Existing cycle protection, bundled-skill deduplication, and the 50-skill limit remain unchanged across both initial and follow-up uploads.