openpress-initlisted
Install: claude install-skill quan0715/open-press
# /create-press SOP
One skill, two branches. Run **detect** first. The branch decides whether the agent is bootstrapping a fresh workspace (Branch A) or adding another Press to one that already exists (Branch B).
Run as a low-freedom setup workflow. Do not write document content during this skill — that belongs to writing / design skills downstream.
## 0. Environment Preflight
```bash
node -v
npm -v
npx -v
```
- All commands work + Node ≥20 → continue.
- Missing `node` / `npm` / `npx` → stop, instruct user to install Node.js LTS, reopen terminal, rerun preflight.
- Node <20 → stop, instruct user to upgrade Node.js LTS, rerun preflight.
## 1. Detect the Branch
```bash
test -f press/index.tsx && grep -q "<Workspace" press/index.tsx && echo BRANCH_B || echo BRANCH_A
```
- `BRANCH_A` (no workspace) → bootstrap a fresh one. Go to §A.
- `BRANCH_B` (`<Workspace>` already in `press/index.tsx`) → add a new Press to it. Go to §B.
If `press/index.tsx` exists but does not wrap children in `<Workspace>` (legacy v0.x shape), tell the user to run `npx open-press upgrade` first, then re-invoke `/create-press`.
---
## A — Bootstrap a fresh workspace
### A.1 Target Check
- Use the user's target if provided. Use `.` only when the user explicitly wants the current directory.
- The CLI rejects non-empty targets automatically. A lone `.git/`, `.gitignore`, `.gitkeep`, or `.DS_Store` is fine. If the target has real content, ask the user to clean it first — there is no `--force` flag.