release-initlisted
Install: claude install-skill RockyHong/super-bootstrap
# Release Init
## Protocol
### 1. Check for existing project skill
Look for `.claude/skills/release/SKILL.md` in the repo root.
If it exists, ask:
> Project release skill already exists. Overwrite with fresh detection? (y/n)
Stop if user declines.
### 2. Detect project type
Scan the working directory. First match wins:
| Marker | Type |
|---|---|
| `ProjectSettings/ProjectSettings.asset` (search recursively) | `unity` |
| `package.json` + `src-tauri/` directory | `tauri` |
| `package.json` | `node` |
| `*.xcodeproj` or `*.xcworkspace` (in root) | `ios-native` |
| `build.gradle` or `build.gradle.kts` (in root) | `android-native` |
| None of the above | `generic` |
### 3. Discover version files and current values
Read current version values from the detected files:
**unity:**
- Find `ProjectSettings/ProjectSettings.asset` (may be nested, e.g. `ProjectName/ProjectSettings/`)
- Read: `bundleVersion` (display version), `AndroidBundleVersionCode`, `buildNumber.iPhone`
- Report all three values
**tauri:**
- `package.json` → `version`
- `src-tauri/tauri.conf.json` → `version`
- `src-tauri/Cargo.toml` → `version`
**node:**
- `package.json` → `version`
**ios-native:**
- Find `Info.plist` → `CFBundleShortVersionString`, `CFBundleVersion`
**android-native:**
- `build.gradle` or `build.gradle.kts` → `versionName`, `versionCode`
**generic:**
- Ask user: "Where does your version live? (file path and field name)"
### 4. Detect platforms and recommend tagging approach
Determ