project-addlisted
Install: claude install-skill AirMile/claude-config
# Project Add
Adds a project — create a new project or clone an existing GitHub repo — with symlinks (macOS) or junctions (Windows) to the shared claude-config.
## Trigger
`/project-add [name]` or `/project-add`
## Process
### PHASE 0: Pre-flight Checks
**Detect platform:**
```bash
# Detect OS
case "$(uname -s)" in
Darwin) PLATFORM="macos" ;;
Linux) PLATFORM="linux" ;;
MINGW*|CYGWIN*|MSYS*) PLATFORM="windows" ;;
*) echo "Unsupported platform: $(uname -s)" >&2; exit 1 ;;
esac
```
Use the detected platform to resolve `{projects_root}` and `{config_repo}` from `paths.yaml` (see Configuration section below).
**Before anything is created, validate:**
```bash
# Check claude-config exists and is complete
test -d "{config_repo}"
test -d "{config_repo}/scripts"
# Check gh CLI authenticated (needed for clone mode and publish)
gh auth status
```
**If config check fails:**
```
❌ claude-config not found or incomplete
Expected: {config_repo}
With folders: agents/, skills/, scripts/
Solution:
1. Clone claude-config repo to {config_repo}
2. Or set path via CLAUDE_CONFIG_REPO environment variable
```
→ Stop command, do NOT create any folders
**If gh auth fails:**
→ Store: `GH_AVAILABLE=false`. Show: `gh not available — clone mode and GitHub publish skipped.`
**If checks pass:**
→ Continue to PHASE 1
### PHASE 1: Mode Selection
**If name provided via `/project-add [name]`:**
→ Assume: **new project** mode. Validate the name immediately