agentsclimarketplace

Release init

Skill RockyHong/super-bootstrap/plugins/super-bootstrap/skills/release-init

Detect project type and generate a tailored project-level /release skill. Run once per project to set up releasing.From its SKILL.md

Install
npx -y skills add RockyHong/super-bootstrap --skill release-init

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things 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.
  • runs commandsInstructs the agent to run 4 commands, including `git tag -l "v*"` and 3 more.

SKILL.md

5.6 KB, ~1.4k tokens by cl100k_base, 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:

MarkerType
ProjectSettings/ProjectSettings.asset (search recursively)unity
package.json + src-tauri/ directorytauri
package.jsonnode
*.xcodeproj or *.xcworkspace (in root)ios-native
build.gradle or build.gradle.kts (in root)android-native
None of the abovegeneric

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.jsonversion
  • src-tauri/tauri.conf.jsonversion
  • src-tauri/Cargo.tomlversion

node:

  • package.jsonversion

ios-native:

  • Find Info.plistCFBundleShortVersionString, CFBundleVersion

android-native:

  • build.gradle or build.gradle.ktsversionName, 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:

TypeSignalRecommendation
unityHas both Android + iOS build settings in ProjectSettingsMulti-platform: android, ios
unityOnly one platform targetSingle platform, no platform tags
tauriDesktop appSingle artifact, no platform tags
nodeWeb app / serverSingle deploy, no platform tags
ios-nativeiOS onlySingle platform, no platform tags
android-nativeAndroid onlySingle 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, or none (single-platform)
  • {{main_branch}} — from git branch --show-current or 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 for git 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.

What ships with it: 1 file

4.5 KB alongside SKILL.md

assets/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.