skill-ship について
skill-shipはプロジェクトを完了するためのClaude Octopusスキルです。準備状況を確認し、複数AIによるセキュリティ監査を必須としたうえで、教訓の記録、状態ファイルのアーカイブ、出荷チェックポイントの作成を行います。
主な機能
- 01プロジェクト準備状況の確認
- 02複数AIセキュリティ監査の必須化
- 03教訓の記録
- 04状態ファイルのアーカイブ
- 05出荷ステータスの更新とGitタグ作成
活用シーン
- 01納品前のプロジェクト状態確認
- 02教訓の記録とプロジェクト状態のアーカイブ
- 03出荷済みプロジェクトのチェックポイント作成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nyldn/ claude-octopus --skill skill-shipインストール後、Claude Code で/skill-shipを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
ホスト:Codex CLI — このスキルは Claude Code 向けに設計され、Codex 用に調整されています。 相互参照コマンドでは、
/octo:*スラッシュコマンドではなく、Codex にインストールされているスキル名を使用します。 アクティブな Codex シェルとサブエージェントツールを使用してください。現在のセッションで利用可能であることが確認できるまでは、プロバイダー、モデル、またはホストのサブエージェントが利用可能だと断言しないでください。 ホストツールの同等機能については、skills/blocks/codex-host-adapter.mdを参照してください。
プロジェクトを出荷する - マルチ AI デリバリー検証
マルチ AI セキュリティ監査、学びの記録、アーカイブを行い、完了した作業を最終化して納品します。
基本原則: 準備状況を確認 -> マルチ AI 監査 -> 学びを記録 -> アーカイブ -> 出荷。
使用するタイミング
ユーザーから次のように依頼された場合に、このスキルを使用します:
- 「プロジェクトを出荷して」または「完了です」
- 「これを最終化して」または「納品しましょう」
- 「プロジェクトを完了して」または「出荷準備完了」
- 「出荷済みにして」または「納品する時間です」
次の場合は使用しないでください:
- コードレビュー(/octo:review または flow-deliver を使用)
- 実装(/octo:develop を使用)
- 調査(/octo:research を使用)
手順
フェーズ 1:プロジェクトの出荷準備を確認する
ステップ 1:.octo/ が存在することを確認する
if [[ ! -d ".octo" ]]; then
echo "No project initialized"
exit 1
fi
.octo/ が存在しない場合:
## Cannot Ship
**Status:** No project initialized
No Claude Octopus project found in this directory.
Run `/octo:embrace [description]` to start a new project.
停止してください。先に進まないでください。
ステップ 2:STATE.md のステータスを読む
# 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"
ステップ 3:準備完了状態を検証する
次のいずれかに該当する場合、出荷できます:
status= "complete"、またはcurrent_phase= "4"(デリバリーフェーズ)、または- STATE.md の履歴に 4 つすべてのフェーズが記録されている
準備ができていない場合:
## 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)
ユーザーが「それでも出荷して」と言わない限り、停止してください。
フェーズ 2:マルチ AI セキュリティ監査
ステップ 1:視覚的なインジケーターを表示する
# 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"
出力:
## 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 USD
ステップ 2:orchestrate.sh のセキュリティ監査を実行する
これは必ずネイティブのシェルコマンドツール経由で実行してください:
# 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"
必須の遵守事項
重大:次の行為は禁止されています:
- マルチ AI 検証を省略する
- 代わりに単一プロバイダーによる分析を行う
- 監査を「シミュレーション」していると主張する
- orchestrate.sh を実行せずに先へ進む
ステップ 3:監査が完了したことを確認する
# 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"
ステップ 4:監査の概要を表示する
検証ファイルを読み、次の情報を提示します:
- 全体のステータス(PASSED / PASSED WITH WARNINGS / FAILED)
- 品質スコア
- 重大な問題(出荷前に必ず修正する必要があります)
- 警告(修正することが望ましい項目です)
重大な問題があり、FAILED の場合:
## 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.
重大な問題が見つかった場合は停止してください。
フェーズ 3:学んだことを記録する
ステップ 1:ユーザーに学びを尋ねる
## 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.*
ユーザーの応答を待ってください。
ステップ 2:LESSONS.md に追記する
ユーザーが学びを提供した場合(「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
学びの総数を数える:
LESSON_COUNT=$(grep -c "^## " .octo/LESSONS.md 2>/dev/null || echo "0")
echo "Total lessons captured: $LESSON_COUNT"
フェーズ 4:プロジェクトの状態をアーカイブする
ステップ 1:アーカイブディレクトリを作成する
# Generate timestamp for archive
ARCHIVE_TIMESTAMP=$(date +%Y%m%d-%H%M%S)
ARCHIVE_DIR=".octo/archive/${ARCHIVE_TIMESTAMP}"
# Create archive directory
mkdir -p "$ARCHIVE_DIR"
ステップ 2:状態ファイルをアーカイブにコピーする
# Archive STATE.md if exists
if [[ -f ".octo/STATE.md" ]]; then
cp .octo/STATE.md "$ARCHIVE_DIR/"
fi
# Archive PROJECT.md if exists
if [[ -f ".octo/PROJECT.md" ]]; then
cp .octo/PROJECT.md "$ARCHIVE_DIR/"
fi
# Archive ROADMAP.md if exists
if [[ -f ".octo/ROADMAP.md" ]]; then
cp .octo/ROADMAP.md "$ARCHIVE_DIR/"
fi
# Archive ISSUES.md if exists
if [[ -f ".octo/ISSUES.md" ]]; then
cp .octo/ISSUES.md "$ARCHIVE_DIR/"
fi
echo "Archived to: $ARCHIVE_DIR"
重要:LESSONS.md は絶対にアーカイブしないでください。学びはプロジェクト間で保持されます。
ステップ 3:アーカイブを検証する
# List archived files
ls -la "$ARCHIVE_DIR"
フェーズ 5:納品概要を作成する
ステップ 1:STATE.md を更新する
# Update status to shipped
sed -i '' 's/^status:.*/status: shipped/' .octo/STATE.md 2>/dev/null || \
sed -i 's/^status:.*/status: shipped/' .octo/STATE.md
# Append history entry
cat >> .octo/STATE.md << EOF
## History - $(date '+%Y-%m-%d %H:%M')
- **Event:** Project shipped
- **Archive:** .octo/archive/${ARCHIVE_TIMESTAMP}/
- **Validation:** ${VALIDATION_FILE}
EOF
ステップ 2:出荷済みチェックポイントを作成する
# Create git checkpoint tag
CHECKPOINT_TAG="octo-checkpoint-shipped-${ARCHIVE_TIMESTAMP}"
git tag -a "$CHECKPOINT_TAG" -m "Project shipped - $(date '+%Y-%m-%d %H:%M:%S')"
echo "Checkpoint created: $CHECKPOINT_TAG"
ステップ 3:メトリクスを数える
# Count resolved issues
ISSUES_RESOLVED=$(grep -c "^\- \[x\]" .octo/ISSUES.md 2>/dev/null || echo "0")
# Count total lessons
LESSONS_COUNT=$(grep -c "^## " .octo/LESSONS.md 2>/dev/null || echo "0")
echo "Issues resolved: $ISSUES_RESOLVED"
echo "Lessons captured: $LESSONS_COUNT"
フェーズ 6:完了を表示する
最終的な概要を提示します:
## Project Shipped!
**Delivered:** {timestamp}
**Phases Completed:** 4/4
**Issues Resolved:** {ISSUES_RESOLVED}
**Lessons Captured:** {LESSONS_COUNT}
### Multi-AI Audit Summary
- **Security Score:** {score}/100
- **Quality Score:** {score}/100
- **Providers Used:** Claude plus available external providers
### Archive
Location: `.octo/archive/{ARCHIVE_TIMESTAMP}/`
Contents:
- STATE.md
- PROJECT.md
- ROADMAP.md
- ISSUES.md
### Checkpoint
Tag: `{CHECKPOINT_TAG}`
Restore with: `/octo:rollback {CHECKPOINT_TAG}`
**To start a new project:** `/octo:embrace`
*Multi-AI validation powered by Claude Octopus*
*Providers: Codex | Antigravity | Claude*
エラー処理
| エラー | 解決策 |
|---|---|
| .octo/ ディレクトリがない | /octo:embrace を提案する |
| プロジェクトの準備ができていない | 残りのフェーズを表示する |
| orchestrate.sh の実行に失敗 | エラーログを表示し、再試行を提案する |
| 監査で重大な問題が見つかった | 出荷をブロックし、問題を表示する |
| Git タグの作成に失敗 | 警告するが続行する(ブロックしない) |
安全対策
| 対策 | 実装 |
|---|---|
| 出荷前監査 | orchestrate.sh によるマルチ AI 検証が必須 |
| 学びの保持 | LESSONS.md はアーカイブせず、常に保持する |
| 出荷前のアーカイブ | 状態ファイルをアーカイブディレクトリにコピーする |
| Git チェックポイント | ロールバックできるようタグを作成する |
| ファイルの削除なし | アーカイブはコピーを作成し、ソースファイルは削除しない |
他のスキルとの連携
/octo:deliver との連携
User runs /octo:deliver to validate
→ Deliver phase complete
→ User runs /octo:ship to finalize
/octo:rollback との連携
User ships project
→ Checkpoint created
→ Later: /octo:rollback octo-checkpoint-shipped-*
/octo:status との連携
After ship: status shows "shipped"
→ Suggests /octo:embrace for new project
危険な行為 — 絶対にしないこと
| 行為 | なぜ問題なのか |
|---|---|
| Multi-AI 監査を省略する | セキュリティ上の脆弱性を見逃します |
| LESSONS.md をアーカイブする | 蓄積されたプロジェクトの知見が失われます |
| ソースファイルを削除する | 移動ではなく、コピーするべきです |
| 準備完了の確認をせずにリリースする | 未完成の作業がリリースされます |
| チェックポイントの作成を省略する | ロールバックによる復旧手段がありません |
クイックリファレンス
| 手順 | コマンド | 目的 |
|---|---|---|
| 1 | Check .octo/STATE.md | リリース準備が整っていることを確認する |
| 2 | orchestrate.sh ink | Multi-AI セキュリティ監査 |
| 3 | Ask user | 得られた教訓を記録する |
| 4 | mkdir + cp | 状態ファイルをアーカイブする |
| 5 | Update STATE.md | リリース済みとしてマークする |
| 6 | git tag | リリース済みチェックポイントを作成する |
要点
Ship → Ready + Audit passed + Lessons captured + Archived + Checkpoint created
Otherwise → Not shipped
準備完了を確認します。Multi-AI 監査を実行します。教訓を記録します。状態をアーカイブします。チェックポイントを作成します。リリースします。