/skill-ship
Package and finalize completed work for delivery — use when a feature is done and ready to ship
Claude Code
$ npx -y skills add nyldn/claude-octopus --skill skill-ship --agent claude-code
Codex
$ npx skills add nyldn/claude-octopus --skill skill-ship -a codex -y
Cursor
$ npx skills add nyldn/claude-octopus --skill skill-ship -a cursor -y
Gemini CLI
$ npx skills add nyldn/claude-octopus --skill skill-ship -a gemini-cli -y
GitHub Copilot
$ npx skills add nyldn/claude-octopus --skill skill-ship -a github-copilot -y
OpenCode
$ npx skills add nyldn/claude-octopus --skill skill-ship -a opencode -y
Windsurf
$ npx skills add nyldn/claude-octopus --skill skill-ship -a windsurf -y
SKILL.md
skill-ship.SKILL.mdname: skill-ship
description: "Package and finalize completed work for delivery — use when a feature is done and ready to ship"
disable-model-invocation: true
> **Host: Codex CLI** — This skill was designed for Claude Code and adapted for Codex. > Cross-reference commands use installed skill names in Codex rather than `/octo:*` slash commands. > Use the active Codex shell and subagent tools. Do not claim a provider, model, or host subagent is available until the current session exposes it. > For host tool equivalents, see `skills/blocks/codex-host-adapter.md`.
Ship Project - Multi-AI Delivery Validation
Finalize and deliver completed work with Multi-AI security audit, lessons capture, and archival.
**Core principle:** Verify ready -> Multi-AI audit -> Capture lessons -> Archive -> Ship.
When to Use
**Use this skill when user asks:**
- "Ship the project" or "We're done"
- "Finalize this" or "Let's deliver"
- "Complete the project" or "Ready to ship"
- "Mark as shipped" or "Time to deliver"
**Do NOT use for:**
- Code review (use /octo:review or flow-deliver)
- Implementation (use /octo:develop)
- Research (use /octo:research)
The Process
Phase 1: Verify Project Ready to Ship
Step 1: Check .octo/ Exists
if [[ ! -d ".octo" ]]; then
echo "No project initialized"
exit 1
fi**If .octo/ does not exist:**
## Cannot Ship
**Status:** No project initialized
No Claude Octopus project found in this directory.
Run `/octo:embrace [description]` to start a new project.
**STOP. Do not proceed.**
Step 2: Read STATE.md Status
# Check if STATE.md exists and read status
if [[ -f ".octo/STATE.md" ]]; then
# Read current status
STATUS=$(grep -E "^status:" .octo/STATE.md | cut -d':' -f2 | xargs || echo "unknown")
CURRENT_PHASE=$(grep -E "^current_phase:" .octo/STATE.md | cut -d':' -f2 | xargs || echo "unknown")
else
STATUS="unknown"
CURRENT_PHASE="unknown"
fi
echo "Status: $STATUS"
echo "Current Phase: $CURRENT_PHASE"Step 3: Validate Ready State
**Ship is allowed when:**
- `status` = "complete" OR
- `current_phase` = "4" (Deliver phase) OR
- All four phases have entries in STATE.md history
**If not ready:**
## Project Not Ready to Ship
**Current Status:** {status}
**Current Phase:** {current_phase}
### To prepare for shipping:
1. Complete remaining phases:
- [ ] Phase 1: Discover - Use `/octo:discover`
- [ ] Phase 2: Define - Use `/octo:define`
- [ ] Phase 3: Develop - Use `/octo:develop`
- [ ] Phase 4: Deliver - Use `/octo:deliver`
2. Or override with: "ship anyway" (not recommended)**STOP unless user says "ship anyway".**
Phase 2: Multi-AI Security Audit
Step 1: Display Visual Indicators
# Check provider availability
command -v codex &> /dev/null && codex_status="Available" || codex_status="Not installed"
command -v agy &> /dev/null && agy_status="Available" || agy_status="Not installed"
**Output:**
## Multi-AI Security Audit
**Providers:**
- Codex CLI: ${codex_status} - Code security analysis
- Antigravity CLI: ${agy_status} - Additional external-model challenge
- Claude: Available - Synthesis and final validation
**Estimated Time:** 3-5 minutes
**Estimated Cost:** 0.02-0.08 USDStep 2: Execute orchestrate.sh Security Audit
**You MUST execute this via native shell command tool:**
Use the installation that loaded this skill for both execution and validation. If `CLAUDE_PLUGIN_ROOT` is absent, replace the `OCTO_ROOT` fallback below with the absolute plugin root derived from this loaded skill's path. Do not infer it from the project directory or an existing stable link. The root helper refreshes installed copies while preserving another session's working root when called from an inferred development checkout.
# Run Multi-AI security audit for delivery
OCTO_ROOT="${CLAUDE_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-${HOME}/.claude-octopus/plugin}}"
bash "$OCTO_ROOT/scripts/helpers/ensure-plugin-root.sh" || exit 1
RUN_MARKER=$(mktemp) || exit 1
RUN_STATUS=0
OCTOPUS_WORKFLOW_INVOCATION_ID="${RUN_MARKER##*/}" "$OCTO_ROOT/scripts/orchestrate.sh" ink "Security audit for delivery - comprehensive review of all code changes for production readiness" || RUN_STATUS=$?
REPORT_STATUS=0
VALIDATION_FILE=$("$OCTO_ROOT/scripts/helpers/workflow-result.sh" ink "$RUN_MARKER" "$RUN_STATUS") || REPORT_STATUS=$?
rm -f "$RUN_MARKER"
[[ "$REPORT_STATUS" == 0 ]] || exit "$REPORT_STATUS"
echo "AUDIT COMPLETE: $VALIDATION_FILE"MANDATORY COMPLIANCE
**CRITICAL: You are PROHIBITED from:**
- Skipping Multi-AI validation
- Doing single-provider analysis instead
- Claiming you're "simulating" the audit
- Proceeding without running orchestrate.sh
Step 3: Verify Audit Completed
Step 2 must exit successfully and validate a fresh `delivery-*.md` report whose launcher status is `COMPLETE`. A report from a previous deliver run, a partial report, or a failed command cannot pass this audit. Use the exact validated path printed by Step 2 for the summary.
Step 4: Display Audit Summary
Read validation file and present:
- Overall status (PASSED / PASSED WITH WARNINGS / FAILED)
- Quality score
- Critical issues (must fix before ship)
- Warnings (should fix)
**If FAILED with critical issues:**
## Audit Failed - Cannot Ship
Critical issues must be resolved before shipping:
1. [Issue 1 from validation]
2. [Issue 2 from validation]
Resolve issues and run `/octo:ship` again.
**STOP if critical issues found.**
Phase 3: Capture Lessons Learned
Step 1: Ask User for Lessons
## Lessons Learned
Before finalizing, let's capture what we learned from this project.
**Please answer the following:**
1. **What went well?** (What worked better than expected?)
2. **What could improve?** (What would you do differently?)
3. **Key learnings?** (What insights will you carry forward?)
*Reply wit
Read more
name: skill-ship description: "Package and finalize completed work for delivery — use when a feature is done and ready to ship" disable-model-invocation: true
> **Host: Codex CLI** — This skill was designed for Claude Code and adapted for Codex. > Cross-reference commands use installed skill names in Codex rather than `/octo:*` slash commands. > Use the active Codex shell and subagent tools. Do not claim a provider, model, or host subagent is available until the current session exposes it. > For host tool equivalents, see `skills/blocks/codex-host-adapter.md`.
Ship Project - Multi-AI Delivery Validation
Finalize and deliver completed work with Multi-AI security audit, lessons capture, and archival.
**Core principle:** Verify ready -> Multi-AI audit -> Capture lessons -> Archive -> Ship.
When to Use
**Use this skill when user asks:**
- "Ship the project" or "We're done"
- "Finalize this" or "Let's deliver"
- "Complete the project" or "Ready to ship"
- "Mark as shipped" or "Time to deliver"
**Do NOT use for:**
- Code review (use /octo:review or flow-deliver)
- Implementation (use /octo:develop)
- Research (use /octo:research)
The Process
Phase 1: Verify Project Ready to Ship
Step 1: Check .octo/ Exists
if [[ ! -d ".octo" ]]; then
echo "No project initialized"
exit 1
fi**If .octo/ does not exist:**
## Cannot Ship **Status:** No project initialized No Claude Octopus project found in this directory. Run `/octo:embrace [description]` to start a new project.
**STOP. Do not proceed.**
Step 2: Read STATE.md Status
# Check if STATE.md exists and read status
if [[ -f ".octo/STATE.md" ]]; then
# Read current status
STATUS=$(grep -E "^status:" .octo/STATE.md | cut -d':' -f2 | xargs || echo "unknown")
CURRENT_PHASE=$(grep -E "^current_phase:" .octo/STATE.md | cut -d':' -f2 | xargs || echo "unknown")
else
STATUS="unknown"
CURRENT_PHASE="unknown"
fi
echo "Status: $STATUS"
echo "Current Phase: $CURRENT_PHASE"Step 3: Validate Ready State
**Ship is allowed when:**
- `status` = "complete" OR
- `current_phase` = "4" (Deliver phase) OR
- All four phases have entries in STATE.md history
**If not ready:**
## Project Not Ready to Ship
**Current Status:** {status}
**Current Phase:** {current_phase}
### To prepare for shipping:
1. Complete remaining phases:
- [ ] Phase 1: Discover - Use `/octo:discover`
- [ ] Phase 2: Define - Use `/octo:define`
- [ ] Phase 3: Develop - Use `/octo:develop`
- [ ] Phase 4: Deliver - Use `/octo:deliver`
2. Or override with: "ship anyway" (not recommended)**STOP unless user says "ship anyway".**
Phase 2: Multi-AI Security Audit
Step 1: Display Visual Indicators
# Check provider availability command -v codex &> /dev/null && codex_status="Available" || codex_status="Not installed" command -v agy &> /dev/null && agy_status="Available" || agy_status="Not installed"
**Output:**
## Multi-AI Security Audit
**Providers:**
- Codex CLI: ${codex_status} - Code security analysis
- Antigravity CLI: ${agy_status} - Additional external-model challenge
- Claude: Available - Synthesis and final validation
**Estimated Time:** 3-5 minutes
**Estimated Cost:** 0.02-0.08 USDStep 2: Execute orchestrate.sh Security Audit
**You MUST execute this via native shell command tool:**
Use the installation that loaded this skill for both execution and validation. If `CLAUDE_PLUGIN_ROOT` is absent, replace the `OCTO_ROOT` fallback below with the absolute plugin root derived from this loaded skill's path. Do not infer it from the project directory or an existing stable link. The root helper refreshes installed copies while preserving another session's working root when called from an inferred development checkout.
# Run Multi-AI security audit for delivery
OCTO_ROOT="${CLAUDE_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-${HOME}/.claude-octopus/plugin}}"
bash "$OCTO_ROOT/scripts/helpers/ensure-plugin-root.sh" || exit 1
RUN_MARKER=$(mktemp) || exit 1
RUN_STATUS=0
OCTOPUS_WORKFLOW_INVOCATION_ID="${RUN_MARKER##*/}" "$OCTO_ROOT/scripts/orchestrate.sh" ink "Security audit for delivery - comprehensive review of all code changes for production readiness" || RUN_STATUS=$?
REPORT_STATUS=0
VALIDATION_FILE=$("$OCTO_ROOT/scripts/helpers/workflow-result.sh" ink "$RUN_MARKER" "$RUN_STATUS") || REPORT_STATUS=$?
rm -f "$RUN_MARKER"
[[ "$REPORT_STATUS" == 0 ]] || exit "$REPORT_STATUS"
echo "AUDIT COMPLETE: $VALIDATION_FILE"MANDATORY COMPLIANCE
**CRITICAL: You are PROHIBITED from:**
- Skipping Multi-AI validation
- Doing single-provider analysis instead
- Claiming you're "simulating" the audit
- Proceeding without running orchestrate.sh
Step 3: Verify Audit Completed
Step 2 must exit successfully and validate a fresh `delivery-*.md` report whose launcher status is `COMPLETE`. A report from a previous deliver run, a partial report, or a failed command cannot pass this audit. Use the exact validated path printed by Step 2 for the summary.
Step 4: Display Audit Summary
Read validation file and present:
- Overall status (PASSED / PASSED WITH WARNINGS / FAILED)
- Quality score
- Critical issues (must fix before ship)
- Warnings (should fix)
**If FAILED with critical issues:**
## Audit Failed - Cannot Ship Critical issues must be resolved before shipping: 1. [Issue 1 from validation] 2. [Issue 2 from validation] Resolve issues and run `/octo:ship` again.
**STOP if critical issues found.**
Phase 3: Capture Lessons Learned
Step 1: Ask User for Lessons
## Lessons Learned Before finalizing, let's capture what we learned from this project. **Please answer the following:** 1. **What went well?** (What worked better than expected?) 2. **What could improve?** (What would you do differently?) 3. **Key learnings?** (What insights will you carry forward?) *Reply wit
Every AI model has blind spots. Claude Octopus supports twelve external provider integrations — Codex, Antigravity CLI, Copilot, Qwen, Ollama, Perplexity, OpenRouter, OrcaRouter, OpenCode, Cursor CLI, Grok, and Kimi Code — alongside the built-in Claude Code
Other skills on octo.
More skills from other plugins.
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…
Questions about skill-ship.
- Which coding agents can use skill-ship?
- skill-ship installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

