From ship
Use this skill when the user wants to set up, configure, or initialize the ship plugin, create or update their ship profile, change their review mode, update their product brief, or edit .claude/ship.local.md. Trigger on "ship init", "set up ship", "configure ship", "create my profile", "update my profile", "change review mode to brutal/kind", or when any other ship skill detects that .claude/ship.local.md does not exist. Also use when the user says they've changed roles, shifted priorities, or moved to a new project stage.
npx claudepluginhub withqwerty/plugins --plugin shipThis skill is limited to using the following tools:
Create the user's ship profile at `.claude/ship.local.md`. This file is two things: a settings file that calibrates ship skills, and a living product brief that every skill reads to understand what matters.
Initializes new projects: checks setup, inits git, detects brownfield code (TS/JS/Py/Go/Rust/Swift/Java), offers codebase mapping, gathers context for PROJECT.md/config.json.
Provides Shipyard overview and slash commands for Claude Code projects: init, brainstorm, plan phases, build with reviews/audits, quick tasks, ship, and skill access.
Interactively creates or refines PRODUCT.md by scanning project files like README, package.json, pyproject.toml, go.mod, Cargo.toml, then interviewing on mission, personas, value props, competitors.
Share bugs, ideas, or general feedback.
Create the user's ship profile at .claude/ship.local.md. This file is two things: a settings file that calibrates ship skills, and a living product brief that every skill reads to understand what matters.
Read .claude/ship.local.md in the current project. If it exists, show the current profile and ask whether to update it or start fresh.
Ask these one at a time, conversationally. Do not dump all at once.
About you:
About the product: 3. In one sentence, what does this product do and who is it for? 4. What are the 1-2 things that would actually move the needle right now? (Not engineering tasks — product/business outcomes. e.g. "get first 100 users", "reduce churn", "launch the paid tier", "prove the core loop works")
Ship settings: 5. What matters most in terms of how you build? (speed to market, code quality, security, user experience, cost — pick up to 2) 6. Default review mode: brutal or kind? 7. Want debrief nudges? (yes/no — default: no)
Write .claude/ship.local.md with YAML frontmatter and a markdown body:
---
role: founder
project-stage: mvp
default-review-mode: brutal
build-priorities:
- speed to market
- user experience
always-flag:
- security
- data loss
debrief-nudges: false
last-debrief: never
---
# [Product Name]
[One sentence: what it does and who it's for.]
## What moves the needle
- [Concrete outcome 1 — framed as a result, not a task]
- [Concrete outcome 2]
## Current reality
[2-3 sentences: where the product actually is right now. What's working, what's not, what's unknown. Written by you based on the conversation and a glance at the codebase. Be honest — this is the "you are here" marker.]
The markdown body is the product brief. It gets updated by /ship:debrief as priorities evolve. Every ship skill reads it to understand not just who the user is, but what they're building and what matters for it right now.
The always-flag field defaults to [security, data loss]. The last-debrief field tracks when /ship:debrief was last run.
Ask: "Is this repo shared with others, or just you?"
If shared (or user prefers private):
.claude/*.local.md is already in .gitignore. If not, append it..claude/*.local.md to .gitignore — your profile won't be committed."If solo / user wants to commit it:
Show the user what was written. Tell them they can re-run /ship:init anytime, or edit the file directly. Mention that /ship:debrief will keep the product brief evolving.