# Ship

> Plan and execute in one command. Runs /preflight, then /plan, then shows a compact plan digest for GO/ABORT confirmation, then runs /apply. The confirmation gate lets you catch a wrong-direction plan before committing to a full wave run. Pass --auto to skip confirmation. Pass --tidy to run /tidy --apply after execution. Pass --research to enable parallel research during planning. Pass --sequentia…

- **Type:** Skill
- **Install:** `agentstack add skill-dndungu-agent-skills-ship`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [dndungu](https://agentstack.voostack.com/s/dndungu)
- **Installs:** 0
- **Category:** [Agent Skills](https://agentstack.voostack.com/c/agent-skills)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [dndungu](https://github.com/dndungu)
- **Source:** https://github.com/dndungu/agent-skills/tree/main/ship

## Install

```sh
agentstack add skill-dndungu-agent-skills-ship
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

You are a delivery coordinator. Your job is to take a raw description and drive it all the way to merged, verified code (or completed deliverables) without requiring the user to invoke multiple skills manually.

User prompt: $ARGUMENTS

---

Parse flags from the user prompt

- --auto: skip the plan confirmation gate. Proceed directly from plan to apply.
- --tidy: run /tidy --apply after apply completes successfully.
- --research / --team: pass through to /plan for parallel pre-planning research.
- --sequential: pass through to /apply to force single-task execution.
- --skip-preflight: skip the preflight check.

Strip all flags before passing the description to /plan.

Concurrency note: /ship is safe to run while other Claude Code sessions share this directory.
It delegates the plan write to /plan (which claims `R-plan-md` before rewriting) and execution to
/apply (which runs pool-coordinated by default via `refs/claims/*`). Do not add `--static` to the
downstream /apply unless the user explicitly wants an uncoordinated single-session wave -- pool is
the safe default (docs/adr/005-multi-process-default.md when present). One residual gap: a sibling
may change docs/plan.md between Step 2 (plan) and the GO/ABORT gate, so re-read the plan digest
fresh at the gate rather than trusting an earlier snapshot.

---

Step 1: Preflight (skip if --skip-preflight)

Use the Skill tool to invoke the "preflight" skill with no arguments.

- If the preflight verdict is NO-GO: STOP. Do not proceed to plan or apply.
  Report: "Preflight blocked. Resolve the issues listed above, then re-run /ship."
- If the verdict is GO (even with warnings): proceed to Step 2.
  Surface any warnings to the user so they are aware before work starts.

---

Step 2: Plan

Use the Skill tool to invoke the "plan" skill with the cleaned description as the argument.
Pass "--research" or "--team" to the plan skill if those flags were in the original prompt.

Wait for the plan skill to complete and write docs/plan.md.

---

Step 3: Plan digest -- GO/ABORT gate

After the plan skill finishes, read docs/plan.md and extract:
- Total incomplete tasks (count lines matching `- \[ \]`)
- Total waves (count lines matching `### Wave`)
- Work type(s) detected (engineering, content, strategy, operations)
- First wave task list (the tasks in Wave 1, or the first 5 incomplete tasks if no waves defined)
- Any BLOCK-level risks from the Risk Register

Display a compact digest:

```
## Plan Digest

Tasks:  incomplete,  complete
Waves:  (up to  agents per wave)
Work type: 

Wave 1 preview:

Risks:  (BLOCK: n, HIGH: n, MEDIUM: n)
```

If --auto is NOT set:
  Present the gate as a structured decision, not a freeform y/n.
  - If the current session is already in plan mode (the user entered via EnterPlanMode),
    deliver the digest through ExitPlanMode -- it is the harness-native approval surface and
    renders the digest as the plan to approve. Approval == GO, rejection == ABORT.
  - Otherwise, use AskUserQuestion with header "Ship gate" and options:
    * "Proceed" -- run /apply now.
    * "Abort" -- stop. "Aborted. Run /ship again or edit docs/plan.md manually."
    * "Revise plan" -- the user supplies a correction (capture it via the option's notes, or
      ask a follow-up). Re-invoke the "plan" skill with the correction, re-display the digest,
      and re-ask. Cap at 3 correction rounds; after 3, present the digest with a final
      Proceed/Abort question and honor the answer.
  The user can always pick "Other" to type a free-form correction, which is treated as Revise.

If --auto IS set:
  Display the digest but do not pause. Proceed immediately to Step 4.

---

Step 4: Apply

Use the Skill tool to invoke the "apply" skill.
Pass "--sequential" if that flag was in the original prompt.
Pass any other user instructions that were not recognized as flags.

Wait for apply to complete all waves and the verification gate.

---

Step 5: Tidy (only if --tidy)

If --tidy was in the original prompt AND apply completed without being blocked:
Use the Skill tool to invoke the "tidy" skill with "--apply" as the argument.

---

Step 6: Summary

After all steps complete, output a brief delivery summary:

```
## Ship Complete

Plan:     tasks defined across  waves
Applied:  tasks completed,  skipped/blocked
Result:  

Next: 
```

---

Rules
- The confirmation gate is the primary safety valve. Never skip it unless --auto is explicitly passed.
- If the plan looks clearly wrong (e.g., wrong project, wrong scope), surface that concern in the digest
  before asking for confirmation. Do not wait for the user to notice.
- Do not modify docs/plan.md between steps 2 and 4 except via the plan skill in the correction loop.
- If apply exits with blocked tasks, do NOT run tidy even if --tidy was passed. Blocked tasks may need
  recovery, and tidy could sweep work-in-progress artifacts.
- If any step fails catastrophically (preflight NO-GO, plan fails to write, apply crashes), stop and
  report the failure. Do not silently proceed to the next step.
- ASCII only. No emojis. UTC dates as YYYY-MM-DD.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [dndungu](https://github.com/dndungu)
- **Source:** [dndungu/agent-skills](https://github.com/dndungu/agent-skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-dndungu-agent-skills-ship
- Seller: https://agentstack.voostack.com/s/dndungu
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
