Agent skill

Release

by lycorp-jp in lycorp-jp/sim-use

Cut a sim-use release end-to-end. An agent skill from lycorp-jp/sim-use.

Apache-2.0Auto-check passedTesting & QA

Install Release

skills CLI
$ npx skills add lycorp-jp/sim-use --skill release -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install lycorp-jp/sim-use release --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/lycorp-jp/sim-use.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release .claude/skills/release && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
release
GitHub stars
1.4k
Token cost
~1.7k tokens
SKILL.md length
750 words
Files
1
Skills in repo
4
Repo updated
First seen
Licence
Apache-2.0

At a glance

Cut a sim-use release end-to-end. An agent skill from lycorp-jp/sim-use.

  • Works in 8 steps: Pre-flight → Determine version and draft CHANGELOG → Confirm with the user (single gate) → …
  • The user runs /release
  • SKILL.md covers Step 1: Pre-flight, Step 2: Determine version and…, Step 3: Confirm with the user… and Step 4: Apply changes and commit, plus 6 more sections
  • Calls git, make and brew

What it does

Release is an agent skill from lycorp-jp/sim-use. Cut a sim-use release end-to-end. Use when the user runs /release or asks to "ship a release", "publish a version", "cut a release", or "release to homebrew". Drives scripts/local-release.sh; never reimplement its build/sign/tarball logic.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Testing & QA, covering End-to-end testing. It works with Homebrew, Android, iOS and Git. The repository describes itself as: Give your AI agent eyes and hands on iOS Simulator and Android emulator/devices. The licence is Apache-2.0.

When your agent uses it

  • The user runs /release
  • Asks to ship a release
  • Publish a version
  • Release to homebrew

Example prompts

  • “ship a release”
  • “publish a version”
  • “cut a release”
  • “/release”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Pre-flight
  2. Determine version and draft CHANGELOG
  3. Confirm with the user (single gate)
  4. Apply changes and commit
  5. Tag
  6. Run the release pipeline
  7. Commit and push the tap
  8. Report

What it can do on your machine

Read from SKILL.md and the folder at commit 3cd5070. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • make
    • brew
    • gh
    • xcrun
    • claude

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and gh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Release loads about 1.7k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 750 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from lycorp-jp/sim-use at commit 3cd5070, republished under its Apache-2.0 licence (© lycorp-jp). 750 words, ~1,705 tokens.

Download SKILL.mdSave it as .claude/skills/release/SKILL.md (or your agent's skills folder).
name
release
description
Cut a sim-use release end-to-end. Use when the user runs `/release` or asks to "ship a release", "publish a version", "cut a release", or "release to homebrew". Drives scripts/local-release.sh; never reimplement its build/sign/tarball logic.

This skill ships a new version of sim-use. The human types /release and you handle everything: version, CHANGELOG, one confirmation, then drive every command through to the homebrew-tap commit.

Run from the sim-use repo root (git rev-parse --show-toplevel).

The build/sign/tarball/formula logic lives in scripts/local-release.sh. Do not duplicate it. Your job is orchestration: state checks, version arithmetic, CHANGELOG rendering, user confirmation, git/tap operations, error recovery.

Step 1: Pre-flight

Run these checks. Abort with a clear error if any fails.

  1. Current branch is main.
  2. Working tree is clean (git status --porcelain returns nothing).
  3. Local main is in sync with origin (git fetch origin main then compare HEADs). If local is ahead, ask to push first; if behind, abort.
  4. gh auth status succeeds (github.com).
  5. build_products/Frameworks/ exists. If missing, run scripts/build.sh dev to build them.
  6. The homebrew-tap clone exists at ../lycorp-jp-homebrew-tap. If missing:
    bash
    git clone git@github.com:lycorp-jp/homebrew-tap.git ../lycorp-jp-homebrew-tap
    If it exists, verify it's clean and pull latest.
  7. Android bridge toolchain: scripts/build-bridge.sh --check succeeds. 7.5. E2E confidence suites are green (see docs/ai/xxxx-e2e-confidence-suite/):
    bash
    make e2e            # iOS + Android scripted E2E vs Playground, in sequence
    (make e2e-ios / make e2e-android run one platform each.) A full green iOS pass alone is ~15 min, so budget ~20+ min. It prints a full pass/fail map and keeps going past failures. Any red suite blocks the release unless the user explicitly waives it at Step 3. Optional but recommended when skill prose changed this release (real claude -p cost): make eval ARGS="-y -t quick" — the /run-evals skill covers environment prep (Device Hub closed, fixtures installed) and pinning which sim-use binary is under test.
  8. Signing + notarization readiness:
    bash
    security find-identity -v -p codesigning | grep -F "NAVER Japan K.K. (GFPYJQXRSN)"
    xcrun notarytool history --keychain-profile sim-use-notary >/dev/null 2>&1
    If either fails, surface the gap at Step 3 — don't silently switch to ad-hoc.

Step 2: Determine version and draft CHANGELOG

  1. Find latest tag: git tag --list 'v*' --sort=-v:refname | head -1.
  2. Read commits since last tag: git log <last-tag>..HEAD --pretty=format:'%h %s'.
  3. Auto-bump based on conventional commits:
    • feat!: / BREAKING CHANGE → major
    • feat: → minor
    • Only fix: / chore: / docs: → patch
  4. Draft CHANGELOG entry from commits. Group by: ### Added / ### Changed / ### Fixed / ### Removed. Omit pure refactor/chore/test commits. Match existing CHANGELOG style.
  5. Backlink every entry to its pull request(s) and thank external contributors. This is part of how the project builds its contributor community — never skip it.
    • Append the PR reference(s) at the end of each entry: (#NN). When the work arrived through an original PR plus an internal hardening/follow-up PR, reference both: (#NN, #MM).
    • When any referenced PR was authored by an external contributor (not the maintainer), turn the reference into thanks: (#NN — thanks @user!). Entries whose PRs involve only the maintainer keep the bare number.
    • Mapping technique: git blame the [Unreleased] lines, then git log --merges --ancestry-path <sha>..main — the earliest merge is the introducing PR. Watch for externally-authored PRs that GitHub marked merged because their commits landed via an internal branch (no own merge commit); credit the original PR alongside the one that carried it.
    • Cross-check the reverse direction: every merged PR with user-facing impact should have an entry. A contributor's fix missing from the CHANGELOG means missing credit — add the entry.
  6. Also prepare the bridge/app/build.gradle.kts version bump: versionName → new version, versionCode += 1.

If the user specified a version (e.g. /release 0.10.0), use that verbatim.

Show full SKILL.md (246 more words)Show less

Step 3: Confirm with the user (single gate)

Show:

  • Previous tag → next version
  • Commit list (one line each)
  • Proposed CHANGELOG diff (entries must carry their PR backlinks and contributor thanks from Step 2.5)
  • Release shape: notarized (default) or ad-hoc fallback (if Step 1.8 failed)

Ask: "Ship vX.Y.Z with this CHANGELOG?"

Accept: yes / no / version override / CHANGELOG edit / "use ad-hoc fallback".

Step 4: Apply changes and commit

  1. Edit CHANGELOG.md: leave ## [Unreleased] empty, insert ## [X.Y.Z] - YYYY-MM-DD below it.
  2. Edit bridge/app/build.gradle.kts: bump versionName and versionCode.
  3. Commit:
    bash
    git add CHANGELOG.md bridge/app/build.gradle.kts
    git commit -m "chore(release): vX.Y.Z"
    git push origin main

Step 5: Tag

bash
git tag vX.Y.Z
git push origin vX.Y.Z

Step 6: Run the release pipeline

Notarized (default):

bash
scripts/local-release.sh \
  --version X.Y.Z \
  --codesign-identity "Developer ID Application: NAVER Japan K.K. (GFPYJQXRSN)" \
  --notarize \
  --notary-profile sim-use-notary \
  --gh-release \
  --tap-dir ../lycorp-jp-homebrew-tap

Ad-hoc fallback (only if user explicitly opted in):

bash
scripts/local-release.sh \
  --version X.Y.Z \
  --gh-release \
  --tap-dir ../lycorp-jp-homebrew-tap

If the script fails midway:

  • Bridge build failed → scripts/build-bridge.sh --check, see AGENTS.md Android pitfalls
  • Notarization rejected → check dist/notary-vX.Y.Z.log
  • GitHub release create failed → re-run (script falls back to gh release upload --clobber)
  • Smoke test failed → surface exact error, don't paper over

Step 7: Commit and push the tap

bash
cd ../lycorp-jp-homebrew-tap
git add Formula/sim-use.rb
git commit -m "sim-use vX.Y.Z"
git push origin main
cd -

Step 8: Report

Show:

  • Version released
  • GitHub release URL: https://github.com/lycorp-jp/sim-use/releases/tag/vX.Y.Z
  • Tap commit
  • Install command:
    brew tap lycorp-jp/tap
    brew install sim-use

Dry-run mode

If the user passes dry-run or "preview", run Steps 1-3 only. Show what would happen, then stop.

Things to NOT do

  • Don't modify build scripts as part of a release run — build behavior changes go through their own commit.
  • Don't auto-resolve git conflicts on CHANGELOG.md.
  • Don't force-push tags.
  • Don't brew install the fresh formula on the developer machine.

© lycorp-jp, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/release of lycorp-jp/sim-use.

Open the folder on GitHubat commit 3cd5070

Compare with similar skills

Release next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release this skilllycorp-jp/sim-use1.4k—~1.7kAutomated safety check: PassApache-2.0
MAUI UI Test Writerdotnet/maui23k—~3kAutomated safety check: PassMIT
Test PRmrzmyr/pixy-mood-tracker-app153—~391Automated safety check: PassMIT
E2Egronxb/hot-updater1.8k—~1.6kAutomated safety check: PassCustom licence
E2E Current PRgronxb/hot-updater1.8k—~1kAutomated safety check: PassCustom licence
Kane CLI Browser TestingLambdaTest/kane-cli247—~8.4kAutomated safety check: PassApache-2.0

Similar skills

  • Official

    Writes UI tests that reproduce a GitHub issue in .NET MAUI and keeps iterating until the tests actually fail, proving they catch the bug.

    23k GitHub stars~3k tokensUpdated today
    Testing & QAAuto-check passed
  • Test PR

    mrzmyr/pixy-mood-tracker-app

    Run changed e2e flows for a pull request and note the result.

    153 GitHub stars~391 tokensUpdated today
    Testing & QAAuto-check passed
  • E2E

    gronxb/hot-updater

    Run end-to-end OTA verification for examples/v0.85.0 with agent-device.

    1.8k GitHub stars~1.6k tokensUpdated today
    Testing & QAAuto-check passed
  • E2E Current PR

    gronxb/hot-updater

    Generate and execute PR-aware OTA E2E scenarios for examples/v0.85.0 by diffing the checked-out branch against its PR base branch or default branch, inferring the affected runtime, rollout, and…

    1.8k GitHub stars~1k tokensUpdated today
    Testing & QAAuto-check passed
  • Kane CLI Browser Testing

    LambdaTest/kane-cli

    Drives a real browser through the kane-cli tool and designs requirement-linked test suites from a PRD or a plain description, with mobile and cloud-grid runs.

    247 GitHub stars~8.4k tokensUpdated 2 days ago
    Testing & QAAuto-check passed
  • E2E Default

    gronxb/hot-updater

    Run a fixed OTA regression flow for examples/v0.85.0 with agent-device.

    1.8k GitHub stars~3.1k tokensUpdated today
    Testing & QAAuto-check passed

More from lycorp-jp/sim-use

  • Sim Use

    lycorp-jp/sim-use

    Drive iOS Simulator, Android emulator/device, and physical iPhone/iPad screens for AI agents.

    1.4k GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • Bump Version Dev

    lycorp-jp/sim-use

    Build a release-shaped sim-use binary and install it locally for testing.

    1.4k GitHub stars~1k tokensUpdated yesterday
    Auto-check passed
  • Run Evals

    lycorp-jp/sim-use

    Prepare the environment and run the LLM-driven agent evals (e2e/agent-evals/) against a chosen sim-use binary.

    1.4k GitHub stars~1.4k tokensUpdated yesterday
    Auto-check passed

Questions about Release

What does Release do?

Cut a sim-use release end-to-end. An agent skill from lycorp-jp/sim-use. Release is an agent skill from lycorp-jp/sim-use. Cut a sim-use release end-to-end.

When should I use Release?

Release fits situations like: the user runs /release; asks to ship a release; publish a version; release to homebrew.

How do I install Release in Claude Code?

Run `npx skills add lycorp-jp/sim-use --skill release -a claude-code`. Or copy the skill folder (.agents/skills/release in lycorp-jp/sim-use) into .claude/skills/release in your project. Claude Code loads it when a task matches its description.

How do I install Release in Codex?

Run `npx skills add lycorp-jp/sim-use --skill release -a codex`. Or copy the skill folder (.agents/skills/release in lycorp-jp/sim-use) into .agents/skills/release in your project. Codex loads it when a task matches its description.

Can I use Release in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add lycorp-jp/sim-use --skill release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release, .gemini/skills/release, .github/skills/release and .opencode/skills/release in your project.

What does Release need to run?

Going by SKILL.md and its folder, Release needs the command-line tools its instructions call (git, make, brew, gh, xcrun and claude).

Does Release access the network?

SKILL.md contains no URLs. Its commands use git and gh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Release safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Release use?

Release is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Release use?

About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Release?

Skills that share tags, products or a category with Release: MAUI UI Test Writer (dotnet/maui, 23k stars), Test PR (mrzmyr/pixy-mood-tracker-app, 153 stars), E2E (gronxb/hot-updater, 1.8k stars) and E2E Current PR (gronxb/hot-updater, 1.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release?

lycorp-jp (a GitHub organization) maintains it in lycorp-jp/sim-use, which has 1,393 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on October 6, 2026.

Source: lycorp-jp/sim-use on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.