Release init
Skill RockyHong/super-bootstrap/plugins/super-bootstrap/skills/release-init
Claude Code plugin: one command scaffolds CLAUDE.md, picks skills/MCPs for your stack, and adds a route-aware workflow with doc-sync commit gate.
npx -y skills add RockyHong/super-bootstrap --skill release-initAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Detect project type and generate a tailored project-level /release skill. Run once per project to set up releasing.
SKILL.md
5.6 KB, as published. Nobody here has run it
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→versionsrc-tauri/tauri.conf.json→versionsrc-tauri/Cargo.toml→version
node:
package.json→version
ios-native:
- Find
Info.plist→CFBundleShortVersionString,CFBundleVersion
android-native:
build.gradleorbuild.gradle.kts→versionName,versionCode
generic:
- Ask user: "Where does your version live? (file path and field name)"
4. Detect platforms and recommend tagging approach
Determine if multi-platform based on project type and evidence:
| Type | Signal | Recommendation |
|---|---|---|
unity | Has both Android + iOS build settings in ProjectSettings | Multi-platform: android, ios |
unity | Only one platform target | Single platform, no platform tags |
tauri | Desktop app | Single artifact, no platform tags |
node | Web app / server | Single deploy, no platform tags |
ios-native | iOS only | Single platform, no platform tags |
android-native | Android only | Single platform, no platform tags |
Present the recommendation WITH reasoning.
Wait for confirmation. User may correct platforms (e.g., "also shipping to Steam") or remove some.
5. Handle greenfield / untracked repos
Check git tag -l "v*":
-
Tags exist — note the latest tag, continue.
-
No tags exist — ask:
No version tags found in git. Is this a first release, or has this project shipped before without tags?
-
First release — suggest starting at
1.0.0(user can override). -
Previously shipped — ask for current live versions:
What are the current live versions? (e.g., "Android 4.0.5 build 41, iOS 1.2.9 build 12")
Create a baseline tag on the current commit so future releases have a reference point. For multi-platform, also create platform baseline tags.
-
6. Present full summary for confirmation
Show everything in one block:
Project type: unity
Version files:
- PuzzleSnake/ProjectSettings/ProjectSettings.asset
- bundleVersion (display version): 4.0.5
- AndroidBundleVersionCode: 40
- buildNumber.iPhone: 1
Platforms: android, ios
Tagging: v{version} + v{version}-android, v{version}-ios
Qualification: clean git, on master
Git baseline: v4.0.5 (to be created)
Generate .claude/skills/release/SKILL.md with these settings?
Wait for user approval.
7. Generate the project-level skill
Read assets/template.md (sibling to this SKILL.md) and fill all {{placeholders}} per the map in step 8 below, then write to .claude/skills/release/SKILL.md.
8. Fill the template
Replace all {{placeholders}} with detected values:
{{project_type}}— detected type{{version_files_list}}— bullet list of file paths and field names with current values{{platforms_or_none}}— comma-separated platform list, ornone (single-platform){{main_branch}}— fromgit branch --show-currentor detect default{{bump_instructions}}— project-specific Edit instructions for each version file. Format: one Edit call per file showing the old version string and new version string. Example:Edit `package.json`: change `"version": "1.2.3"` → `"version": "{new_version}"` Edit `src-tauri/tauri.conf.json`: change `"version": "1.2.3"` → `"version": "{new_version}"`{{version_file_paths}}— space-separated paths forgit add{{platform_build_number_instructions}}— how to read each platform's build number. Format: one read instruction per platform file. Example:Read `ProjectSettings/ProjectSettings.asset` → `AndroidBundleVersionCode` for android; `buildNumber.iPhone` for ios.- Remove the
{{#if platforms}}...{{/if}}block entirely if single-platform
The generated skill should be clean markdown with no template syntax remaining.
9. Commit
git add .claude/skills/release/SKILL.md
git commit -m "chore: add project release skill"
10. Report
Project release skill generated at
.claude/skills/release/SKILL.md. From now on, just run/release.
Then offer to push this commit: "Push now? (y / skip)" — push only on yes, skip by default if silent.
Rules
- Push only on explicit confirmation — offer after the commit, never force, never unannounced.
- Always confirm detection results before generating.
- Surface ambiguous detection with the candidate interpretations before proceeding.
- Verify all
{{placeholders}}are replaced before writing the file.