From shipyard
Bundle the project and selected skills into .shipyard/build/ for distribution
npx claudepluginhub runbear-io/skills --plugin shipyardThis skill uses the workspace's default tool permissions.
Bundle the project with selected skills into `.shipyard/build/`.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
Bundle the project with selected skills into .shipyard/build/.
Create .shipyard/build/ under the project root. If it already exists, remove all its contents first.
rm -rf "$PROJECT_ROOT/.shipyard/build" && mkdir -p "$PROJECT_ROOT/.shipyard/build"
Use rsync to copy all files from the project root to .shipyard/build/, excluding:
.shipyard/ (the build output itself).claude/settings.local.json (Claude local scope settings).gitignorersync -a --exclude='.shipyard' --filter=':- .gitignore' --exclude='.claude/settings.local.json' "$PROJECT_ROOT/" "$PROJECT_ROOT/.shipyard/build/"
After copying, list what was copied so the user can see the project files included.
Read .claude-plugin/marketplace.json to find the project's own skills (listed in the plugins[].skills array). These are project scope skills and are always included.
Then collect all other available skills from these sources:
~/.claude/plugins/ for globally installed plugins and look at their marketplace.json files$PROJECT_ROOT/.claude/skills/ for local scope skills (skill folders with a SKILL.md file)shipyard plugin (i.e., this plugin's own skills like bundle)Tell the user which project scope skills are always included, then use the AskUserQuestion tool with multiSelect: true to let the user pick additional skills:
{
"questions": [
{
"question": "Which additional skills do you want to bundle?",
"header": "Skills",
"multiSelect": true,
"options": [
{ "label": "<skill-name>", "description": "<skill description from SKILL.md frontmatter>" }
]
}
]
}
Build the options array dynamically from the discovered non-project skills. Each option's label should be the skill name and description should come from the skill's SKILL.md frontmatter description field.
If there are no additional skills available, skip this step and inform the user.
For each selected external skill, copy its entire folder into .shipyard/build/.claude/skills/.
cp -R <source-skill-path> "$PROJECT_ROOT/.shipyard/build/.claude/skills/<skill-name>"
After copying, list the final contents of .shipyard/build/ and confirm the bundle is ready.