Skip to content
Automation
Skill

/skill-ship

Package and finalize completed work for delivery — use when a feature is done and ready to ship

From plugin
octo
4.1k70 skills49 agents53 commands18 hooks
Install
$ npx -y skills add nyldn/claude-octopus --skill skill-ship --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/skill-ship

Context preview

The summary Claude sees to decide when to auto-load this skill.

Package and finalize completed work for delivery — use when a feature is done and ready to ship

SKILL.md

skill-ship.SKILL.md
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

Step 2: Execute orchestrate.sh Security Audit

**You MUST execute this via native shell command tool:**

# Run Multi-AI security audit for delivery
"${HOME}/.claude-octopus/plugin/scripts/orchestrate.sh" ink "Security audit for delivery - comprehensive review of all code changes for production readiness"

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

# Find the latest validation file
VALIDATION_FILE=$(find ~/.claude-octopus/results -name "ink-validation-*.md" -mmin -10 2>/dev/null | head -n1)

if [[ -z "$VALIDATION_FILE" ]]; then
    echo "AUDIT FAILED: No validation file found"
    exit 1
fi

echo "AUDIT COMPLETE: $VALIDATION_FILE"

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 with your answers, or type "skip" to proceed without capturing lessons.*

**Wait for user response.**

Step 2: Append to LESSONS.md

If user provides lessons (not "skip"):

# Generate timestamp
TIMESTAMP=$(date '+%Y-%m-%d')

# Ensure LESSONS.md exists
touch .octo/LESSONS.md

# Append lessons
cat >> .octo/LESSONS.md << EOF

## ${TIMESTAMP} - Project Delivery

### What Went Well
- ${USER_WHAT_WENT_WELL}

### What Could Improve
- ${USER_WHAT_COULD_IMPROVE}

### Key Learnings
- ${USER_KEY_LEARNINGS}

EOF

**Count total lessons:**

LESSON_COUNT=$(grep -c "^## " .octo/LESSONS.md 2>/dev/null || echo "0")
echo "Total lessons captured: $LESSON_COUNT"

Phase 4: Archive Project State

Step 1: Create Archive Directory

# Generate timestamp for archive
ARCHIVE_TIMESTAMP=$(date +%Y%m%d-%H%M%S)
ARCHIVE_DIR=".octo/archive/${ARCHIVE_TIMESTAMP}"

# Create archive dir
Read more
Ships withocto

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

Get the whole plugin

Other skills on octo.