From octo
Runs a full build-and-ship pipeline from a natural language spec, including parsing, scenario generation, cross-provider evaluation, and satisfaction scoring. Useful for hands-off project generation and automated spec-to-delivery workflows.
How this skill is triggered — by the user, by Claude, or both
Slash command
/octo:skill-factoryThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> **Host: Codex CLI** — This skill was designed for Claude Code and adapted for Codex.
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, seeskills/blocks/codex-host-adapter.md.
DO NOT call Skill() again. Execute directly.
Ask via AskUserQuestion BEFORE any other action:
If spec path provided inline with the command, use it but still ask remaining questions. If user says "skip", use defaults and proceed. DO NOT proceed to Step 2 until answered.
Check providers:
command -v codex &> /dev/null && codex_status="Available" || codex_status="Not installed"
command -v gemini &> /dev/null && gemini_status="Available" || gemini_status="Not installed"
command -v agy &> /dev/null && agy_status="Available" || agy_status="Not installed"
Display banner:
🐙 CLAUDE OCTOPUS ACTIVATED - Dark Factory Mode
Pipeline: Parse → Scenarios → Embrace → Holdout → Score → Report
Providers:
Codex CLI - <status> — Scenario generation + holdout evaluation
Gemini CLI - <status> — Cross-provider diversity
Antigravity CLI - <status> — Additional external-model challenge
Claude - Orchestration + satisfaction scoring
Spec: <path>
Estimated: $0.50-2.00 / 15-45 min
Validation: All external providers unavailable → continue with Claude-only (warn user about reduced diversity). At least one available → proceed normally.
if [[ ! -f "<spec_path>" ]]; then
echo "ERROR: Spec file not found at <spec_path>"
exit 1
fi
# Check minimum content
word_count=$(wc -w < "<spec_path>")
if [[ $word_count -lt 20 ]]; then
echo "WARNING: Spec is very thin ($word_count words). Results may be limited."
fi
If spec file missing → STOP, ask user for correct path. If spec is thin (< 50 words) → WARN but proceed. DO NOT proceed past this gate if file does not exist.
"${HOME}/.claude-octopus/plugin/scripts/state-manager.sh" init_state 2>/dev/null || true
"${HOME}/.claude-octopus/plugin/scripts/state-manager.sh" set_current_workflow "factory" "factory" 2>/dev/null || true
Failure → continue without state, warn user.
Before committing to the expensive embrace phase (~$0.50-2.00), verify that generated scenarios actually cover the spec's edge cases. A quick cross-provider challenge here can prevent wasting an entire factory run on incomplete scenario coverage.
After orchestrate.sh parses the spec (Phase 1-2) and before embrace execution (Phase 4), dispatch a scenario coverage review:
If a second provider is available, dispatch the challenge through Octopus routing:
# Read the spec to extract behaviors and constraints
SPEC_CONTENT=$(<"<spec_path>")
review_provider=""
command -v codex >/dev/null 2>&1 && review_provider="codex"
[[ -z "$review_provider" ]] && command -v agy >/dev/null 2>&1 && review_provider="agy"
[[ -z "$review_provider" ]] && command -v gemini >/dev/null 2>&1 && review_provider="gemini"
if [[ -n "$review_provider" ]]; then
"${HOME}/.claude-octopus/plugin/scripts/orchestrate.sh" spawn "$review_provider" \
"You are a QA adversary. Given this specification and generated scenarios, identify coverage gaps.
SPECIFICATION:
${SPEC_CONTENT}
Answer:
1. Which spec BEHAVIORS have no scenario testing them?
2. Which EDGE CASES from the spec constraints are untested?
3. Which FAILURE MODES are not covered (network failures, invalid input, concurrent access)?
4. Rate overall coverage: SUFFICIENT / GAPS-FOUND / CRITICAL-GAPS
Be specific — cite the behavior or constraint ID that lacks coverage." 2>/dev/null || true
fi
After receiving the challenge response:
/octo:spec before proceedingThis is a lightweight gate — it adds ~30 seconds but can save a $2.00 factory run on a spec with poor scenario coverage.
Skip with --fast or when user explicitly requests speed over thoroughness.
${HOME}/.claude-octopus/plugin/scripts/orchestrate.sh factory --spec "<spec_path>"
With optional flags based on Step 1 answers:
--holdout-ratio <value> if custom ratio requested--max-retries <value> if custom retry count--ci if user approved non-interactive modeREPORT_FILE=$(find .octo/factory -name "factory-report.md" -mmin -60 2>/dev/null | sort -r | head -1)
if [[ -z "$REPORT_FILE" ]]; then
echo "ERROR: Factory report not found"
exit 1
fi
cat "$REPORT_FILE"
If validation fails: report error, show logs from ~/.claude-octopus/logs/, DO NOT proceed, DO NOT substitute.
SCORES_FILE=$(find .octo/factory -name "satisfaction-scores.json" -mmin -60 2>/dev/null | sort -r | head -1)
if [[ -n "$SCORES_FILE" ]]; then
cat "$SCORES_FILE"
fi
Present to user:
"${HOME}/.claude-octopus/plugin/scripts/state-manager.sh" record_decision "factory" "Factory run completed: <verdict> (<score>/<target>)" 2>/dev/null || true
Present next-step suggestions based on verdict:
holdout-results.md for specific failures. Consider:
/octo:spec--max-retries 2Include attribution footer:
Dark Factory Mode powered by Claude Octopus v8.25.0
Pipeline: Spec → Scenarios → Embrace → Holdout → Score → Report
Providers: Codex | Gemini | Antigravity | Claude
npx claudepluginhub nyldn/claude-octopus --plugin octoAuthors structured specifications (NLSpec) via multi-AI research and consensus gathering. Useful for complex requirement definition.
Implements approved specs by having Claude design and run parallel subagent workflows. Prefer for large or parallelizable specs where linear TDD is slow.
Enforces a gated Spec → Plan → Build → Test → Review → Ship lifecycle for multi-file features and projects, preventing AI coding agents from skipping specification and verification steps.