fix(sandbox): copy complete bundled skill directories#655
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughThe PR enhances the skill installation process to copy complete skill directory trees instead of only the ChangesSkill Directory Installation Enhancement
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
.opencode/skills, instead of copying only itsSKILL.mdSKILL.mdare installed__pycache__,*.pyc, and.DS_StoreWhy this is useful
Bundled skills are a platform extension point, but the current installer only copies the top-level
SKILL.md. That means any skill which needs companion files, such as helper scripts, references, templates, or assets, is silently incomplete inside the sandbox even though those files are present in the runtime image.Copying the full validated skill directory makes bundled skills self-contained and lets future skills grow beyond a single markdown file without each one needing custom installer logic. The change keeps the existing safety boundary: loose files in the skills root and directories without
SKILL.mdare still ignored.Prior upstream work checked
upstream/mainbefore creating this branch.upstream/mainfor_install_skills,.opencode/skills,shutil.copy(skill_file, andcopytree(skill_dir._install_skills,.opencode/skills, bundled skills, andcopytree. The matching PRs added or documented skills, but did not change the installer to copy complete skill directories.Test plan
cd packages/sandbox-runtime && ./.venv/bin/ruff check .cd packages/sandbox-runtime && ./.venv/bin/ruff format --check .cd packages/sandbox-runtime && ./.venv/bin/pytest tests/test_tool_installation.py -qcd packages/sandbox-runtime && ./.venv/bin/pytest tests/ -qgit diff --check upstream/main...HEADThe full sandbox-runtime test suite passes with the existing RuntimeWarnings in
tests/test_bridge_git_identity.py.Summary by CodeRabbit