Skip to main content

Why two skill directories

Claude Code and Copilot do not share a skills directory: The same portable SKILL.md file runs in both — but it has to physically exist in both locations. Project-scope install therefore writes to both by default; that’s the one thing every install method below has in common. Cross-platform, no clone, always the latest published version:
The npm package is shipflow-skills (the bare name shipflow was already taken) — the installed command is shipflow, since the bin field is independent of the package name.
MCP config is central to how shipflow reads work items, so init seeds it by default rather than requiring a second flag. --no-mcp opts out. --global always skips it — there’s no target repo at personal scope to put .mcp.json in.

Bash installer (alternative)

Needs Git Bash or WSL on Windows. Run with your target repo as the working directory:
Both installers are kept behavior-identical on purpose — if you change a flag in one, change it in the other (scripts/validate.py runs both for real and checks the resulting tree matches).

What gets installed

shipflow (orchestrator), product-context, feature-context, feature-plan, feature-implement, feature-tests, feature-verify, feature-pr.
Only created if it doesn’t already exist — re-running init never overwrites your edits.
context.md, plan.md, pr-body.md, product.md.
Claude Code reads .mcp.json (key mcpServers); Copilot reads .vscode/mcp.json (key servers) — different file and different top-level key. See Connecting MCP servers.

After installing

  1. Add .shipflow/ to .gitignore — it’s shipflow’s per-work-item scratch space, not meant to be committed.
  2. Edit shipflow.config.md — see Configuration.
  3. Fill in the MCP server(s) you need — see Connecting MCP servers.
  4. Run /shipflow AB#1234 in Claude Code or Copilot chat.