Imported from shipshitdev/skills (
skills/project-init-orchestrator/SKILL.md). Install upstream withnpx skills add shipshitdev/skills --skill project-init-orchestrator. Copyright stays with the author.
Project Init Orchestrator
Choose the smallest safe setup route. For new Shipshit.dev product repos, prefer npx @shipshitdev/v0
as the primary scaffolder. Use the lower-level init skills for existing repos,
repairs, or project types not covered by v0.
Authorized Scope
Apply this engine only within the user's requested task and existing explicit authorization. Loading or delegating to it grants no additional authority. Preserve report-only restrictions and the caller's target, host, provider, and cost limits. Existing approval satisfies a gate only for the same actions and scope; obtain approval before expanding them. Forward these limits to delegates.
Contract
Inputs:
- Target project path and project name
- Project type: new Shipshit.dev product, existing repo, docs-only, library, or custom
- Desired app surfaces, routes, agent platform support, and GitHub setup
Outputs:
- Selected initialization route
- List of delegated skills or v0 command used
- Files/directories created or modified
- Verification status and remaining manual setup
Creates/Modifies:
- New product repos through
npx @shipshitdev/v0 - Existing repo
.agents/,.claude/,.codex/, lint, test, and scaffold files when delegated
External Side Effects:
- May install dependencies when using v0 or delegated setup skills
- May create a GitHub repo or issue only when the v0 command is run with GitHub flags
Confirmation Required:
- Before creating a GitHub repo or issue
- Before running setup outside the current workspace
- Before overwriting existing agent/config files
Delegates To:
fullstack-workspace-initfor v0-backed Shipshit.dev product scaffoldingagent-folder-initfor existing repos that only need AI project contextlinter-formatter-init,testing-cicd-init, andhusky-test-coveragefor repo repairscaffoldfor small module/component additions inside an existing codebase
When to Use
This skill activates automatically when users:
- Start a new project from scratch
- Want full Shipshit.dev product setup with one command
- Need AI-first development infrastructure + code quality tools
- Say "initialize project", "set up new project", "bootstrap project"
- Want consistent setup across multiple projects
Skills Orchestrated
| Order | Skill | Purpose | Required |
|---|---|---|---|
| 1 | fullstack-workspace-init / npx @shipshitdev/v0 |
New Shipshit.dev product repo | Conditional |
| 2 | agent-folder-init |
AI documentation & standards for existing repos | Conditional |
| 3 | linter-formatter-init |
ESLint/Biome + formatter + pre-commit repair | Conditional |
| 4 | testing-cicd-init / husky-test-coverage |
Test and CI gates | Optional |
| 5 | scaffold |
Incremental module/component additions | Optional |
Route Selection
Use this order:
- New Shipshit.dev product repo: run
npx @shipshitdev/v0. - New non-product repo: scaffold only the requested repo structure, then add agent docs and gates.
- Existing repo missing AI context: run
agent-folder-init. - Existing repo with weak quality gates: run linter/test/CI skills only.
- Existing repo needing one feature/module: run
scaffoldafter finding 3+ examples.
For v0-backed setup, use interactive mode unless the user provides all inputs:
npx @shipshitdev/v0 <project-directory>
For non-interactive Shipshit.dev product setup:
npx @shipshitdev/v0 <project-directory> \
--scope "<product scope>" \
--agent codex \
--apps web,app,desktop,mobile,extension,cli \
--routes overview,new-task,search,inbox,activities \
--no-github
Usage
Quick Start (Recommended)
When user says "initialize my project" or "set up new project":
1. Ask for project context:
- Project path (default: current directory)
- New Shipshit.dev product or existing repo repair?
- Product scope if using v0
- App surfaces and routes if non-default
- Agent to hand off to: codex or claude
- Need existing-repo repair or incremental scaffolding?
2. Execute phases in order:
v0 route OR existing-repo phases → verification
Existing-Repo Repair
Use lower-level skills only after deciding v0 is not the right route:
agent-folder-initfor AI docs and agent config.linter-formatter-initfor lint/format drift.testing-cicd-initorhusky-test-coveragefor test and CI gates.scaffoldfor a requested module, endpoint, component, or package.
Route Matrix
| Request | Primary Route | Notes |
|---|---|---|
| New Shipshit.dev product repo | npx @shipshitdev/v0 |
Default route. Includes app surfaces and agent setup. |
| New non-product repo | Minimal scaffold + agent-folder-init |
Keep setup proportional to the requested repo. |
| Existing repo AI context | agent-folder-init |
No application source generation. |
| Existing repo quality gates | Linter/test/CI skills | Repair only the missing gates. |
| Existing repo feature/module | scaffold |
Find 3+ local examples first. |
Best Practices
Sequencing
- For new Shipshit.dev products, run v0 first.
- For existing repos, add AI docs before repo-specific repair work.
- Run linter and formatter setup before test hooks when both are missing.
- Run
scaffoldonly after the target codebase patterns are known.
Customization
- Each phase can be skipped if already configured
- Phases are idempotent (safe to re-run)
- Configuration can be customized after orchestration
Verification Checklist
After orchestration, verify:
- The selected route matches the user request
- New product repos were created through v0 unless explicitly exempted
- Existing repo changes are limited to the delegated repair/addition
-
bun lint,bun test, or the repo's documented equivalents work when present
Example Interaction
User: "Set up my new product at ~/projects/my-saas"
Orchestrator Response:
Route: new Shipshit.dev product repo → v0.
npx @shipshitdev/v0 ~/projects/my-saas --agent codex --no-github
Troubleshooting
Phase fails to complete
- Check if dependencies are installed (
node,python3) - Verify write permissions to project directory
- Check if conflicting configs exist
Linting errors after setup
- Run
bun run lint:fixto auto-fix - Check
.eslintrc.jsmatches your stack - Verify TypeScript config if using TS
Pre-commit hook not running
- Run
bunx husky installmanually - Check
.husky/pre-commitexists and is executable - Verify
preparescript in package.json