From oh-my-claudecode
Use when the user wants to "quick init project", "bootstrap a new project", "recommend fullstack vs frontend vs backend", "initialize monorepo", "generate project scaffold", "project setup recommendation", or asks "快速初始化项目", "初始化 monorepo", "生成项目脚手架方案"
How this skill is triggered — by the user, by Claude, or both
Slash command
/oh-my-claudecode:quick-init-project <product requirement or idea><product requirement or idea>The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<Purpose>
<Use_When>
<Do_Not_Use_When>
plan skill instead)executor agent)<Why_This_Exists> Starting a new project involves critical early decisions: architecture mode, tech stack, repository structure, and tooling. Making wrong choices early can compound into significant technical debt. This skill uses data-driven decision making (Stack Overflow surveys, npm download stats, State of JS/CSS 2024) to recommend proven, well-supported stacks and provides executable commands to get started immediately. </Why_This_Exists>
Decision making is based on the following public signals:
typescript: 131,004,723react: 96,415,450tailwindcss: 60,494,373next: 36,026,759@nestjs/core: 7,290,173Extract at least the following inputs; use defaults when missing and note assumptions:
urgent (<1 week) / normal (2-4 weeks) / long (>4 weeks)Default assumptions: normal + small team + web-first + medium complexity
Check in order; if hit, select mode immediately:
demofrontend-onlybackend-onlyfull-stack)Dimension scoring range 1-5:
Mode target profiles:
full-stack: [4, 3, 4, 3, 4]frontend-only: [2, 4, 4, 3, 2]backend-only: [3, 3, 4, 4, 4]demo: [1, 5, 3, 1, 1]Calculation:
fit = 5 - abs(actual - target)modeScore = Σ(fit/5 * weight)Decision rules:
demo + output information gapsdelivery speed, team skill fitness, change surface in orderTypeScriptReact + Next.js (App Router) + Tailwind CSSNestJS (REST-first) + OpenAPIpnpmMonorepo (pnpm workspaces)Turborepo (default), upgrade to Nx when governance is requiredESLint + Prettier + Vitest + PlaywrightUpgrade from Turborepo to Nx when:
repo/
apps/
web/ # Next.js
api/ # NestJS
packages/
ui/ # React shared components
config/ # eslint/tsconfig/prettier shared config
types/ # shared DTO/types
sdk/ # typed API client
turbo.json
pnpm-workspace.yaml
tsconfig.base.json
Layering rules:
apps/* can depend on packages/*packages/ui cannot depend on apps/*packages/types must stay framework-agnosticrepo/
apps/web/
packages/
ui/
config/
types/
Default: use MSW or mock server to decouple backend availability.
repo/
apps/api/
packages/
config/
types/
contracts/ # OpenAPI schema + generated clients
Default: deliver OpenAPI first with health/readiness endpoints.
repo/
apps/demo/
packages/config/
Scope limit: single main flow + minimal dependencies + quick demo capability.
<Agent_Orchestration> Phase A (Requirement Parsing):
.omc/quick-init/requirements.mdPhase B (Mode Decision):
.omc/quick-init/decision.mdPhase C (Bootstrap Plan):
.omc/quick-init/bootstrap-plan.mdPhase D (Command Generation):
.omc/quick-init/init-commands.sh
</Agent_Orchestration>Full-stack or multi-package:
pnpm dlx create-turbo@latest
pnpm install
pnpm -r lint
pnpm -r test
pnpm -r build
Frontend-only (non-monorepo):
pnpm create next-app@latest web --ts --tailwind --eslint --app
cd web && pnpm test
Backend-only (non-monorepo):
pnpm add -g @nestjs/cli
nest new api
cd api && pnpm test
Every execution must return:
## Init Recommendation
- Selected Mode: <full-stack|frontend-only|backend-only|demo>
- Confidence: <HIGH|MEDIUM|LOW>
## Decision Evidence
- Hard Gate: <rule-id or none>
- Scores: full-stack=<n>, frontend-only=<n>, backend-only=<n>, demo=<n>
- Why: <3 bullets max>
## Recommended Stack
- Runtime: ...
- Frameworks: ...
- Repo Strategy: ...
## Bootstrap Commands
[exact commands here]
## Folder Blueprint
[tree here]
## 7-Day Plan
1. Day 1 ...
2. Day 3 ...
3. Day 7 ...
## Risks & Mitigations
- Risk: ...
- Mitigation: ...
Before claiming "ready to initialize", must satisfy:
<Tool_Usage>
Agent tool with appropriate subagent types for each phaseWrite tool to save outputs to .omc/quick-init/ directoryBash tool to execute verification commands (lint/test/build) if user requests immediate setupstate_write(mode="quick-init") to track progress across phasesnotepad_write_working to log key decisions for session context
</Tool_Usage><Execution_Policy>
.omc/quick-init/ for traceability<Escalation_And_Stop_Conditions>
npx claudepluginhub materialofair/oh-my-claudecodeCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.