project-init · git:20261023.652c011 · 2026-10-23 · sha256 8820b9e918398a42
project-init git:20261023.652c011A
Immutable. This exact content never changes and is served at /api/v1/blob/8820b9e918398a42.
---
name: "project-init"
description: "Full project scaffolding orchestrator - zero to GitHub repo in one command"
---
<!-- GENERATED by claude-power-pack - scripts/codex-skill-sync.py; edit .claude/commands/project/init.md instead -->
## Codex harness adaptations
Generated from a Claude Code command. Where the procedure references these Claude-only surfaces, adapt as follows:
- `AskUserQuestion` tool: ask the user directly in the conversation and wait for their answer.
- `CLAUDE.md` references: read `AGENTS.md` first - it is the Codex entry point. Where it defers to `CLAUDE.md`, follow that pointer and `CLAUDE.md` is the rules; where it does not, `AGENTS.md` is. Where the repository has no `AGENTS.md`, read `CLAUDE.md`.
- Helper scripts are bundled under `scripts/` in this skill directory (byte-identical copies from the claude-power-pack checkout). Commands run them as `"${CPP_SKILL_DIR:-/dev/null}"/scripts/<name>`: `CPP_SKILL_DIR` is the absolute directory containing THIS SKILL.md - the location the skills catalog gives, with any alias such as `r0` expanded. A shell resolves a bare `scripts/<name>` against your working directory (the target project), never this skill, so substitute that directory, or set it in the same command (`CPP_SKILL_DIR=/abs/skill/dir; ...`) - each command is a fresh shell. "Not a directory" on `/dev/null/scripts/<name>` (exit 126, or 127 in some shells) means `CPP_SKILL_DIR` is unset: set it and re-run; never run the target project's own `scripts/<name>` in its place. Read every "exit 127" fallback in this skill as "exit 127, or 126 Not a directory": set the variable and re-run before falling back. A helper whose verdict gates a step and that prints no verdict line after the whole fallback chain did not run - for the finish gate, no `FLOW_FINISH_GATE:` verdict line: STOP, never read it as skipped, never commit on it (issue #1547). A bare `scripts/<name>` inside a command is a CPP-checkout operation that the text says so about; in prose, `scripts/<name>` NAMES the bundled helper. Some helpers expect sibling repo resources, so prefer a full checkout when one is available.
- Canonical guidance linked as `docs/<path>` is bundled under `docs/` in this skill directory (byte-identical copies from the claude-power-pack checkout). The source-relative `../../../docs/...` link in the command body resolves outside an installed skill, so the generated copy points at the bundled path instead. docs/ remains the only writable source.
- Network: this skill's bundled helpers appear to call the network (`gh`, `git fetch`/`push`, `curl`, `aws`, HTTP). Codex's workspace sandbox has no network, and an allow rule for `gh` covers only a top-level `gh` command, never one a helper runs. Run these helpers with escalated permissions. From inside the sandbox, "error connecting to api.github.com" means no network, not a GitHub outage or a bad login.
# /project-init - Full Project Scaffolding
Full project scaffolding orchestrator - zero to GitHub repo in one command
## Full procedure
Read `reference.md` in this skill directory for the complete, authoritative procedure before acting on this skill.