Agent skill

Release App

by MartinStyk in MartinStyk/apk-analyzer

A skill your agent uses to cut a release of ApkAnalyzer — pick the MAJOR.MINOR.PATCH version, draft release notes, get them approved, and create the annotated tag that drives the release pipeline.

GPL-3.0Auto-check passedDevelopment

Install Release App

skills CLI
$ npx skills add MartinStyk/apk-analyzer --skill release-app -a claude-code

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

GitHub CLI
$ gh skill install MartinStyk/apk-analyzer release-app --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/MartinStyk/apk-analyzer.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/release-app .claude/skills/release-app && 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-app
GitHub stars
369
Token cost
~1.2k tokens
SKILL.md length
612 words
Files
1
Skills in repo
18
Repo updated
First seen
Licence
GPL-3.0

At a glance

A skill your agent uses to cut a release of ApkAnalyzer — pick the MAJOR.MINOR.PATCH version, draft release notes, get them approved, and create the annotated tag that drives the release pipeline.

  • Works in 7 steps: Pick the version → Confirm what is being released → Draft the release notes → …
  • Cut a release of ApkAnalyzer — pick the MAJOR.MINOR.PATCH version
  • SKILL.md covers Step 1 — Pick the version, Step 2 — Confirm what is being…, Step 3 — Draft the release notes and Step 4 — Get approval, always, plus 3 more sections
  • Calls git

What it does

Release App is an agent skill from MartinStyk/apk-analyzer. Use to cut a release of ApkAnalyzer — pick the MAJOR.MINOR.PATCH version, draft release notes, get them approved, and create the annotated tag that drives the release pipeline. Triggered by phrases like "release the app", "cut a release", "ship 3.6.0", "tag a release", "make a new version", "release notes for the next version", "publish to the Play Store", "promote the release to production".

Its SKILL.md is about 1.2k 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 Development, covering Changelog and release notes and App store release. The repository describes itself as: The most downloaded APK analysis app on Google Play. Detailed reports of every app on your device. No root, no ads, nothing leaves the phone. The licence is GPL-3.0.

When your agent uses it

  • Cut a release of ApkAnalyzer — pick the MAJOR.MINOR.PATCH version
  • Draft release notes
  • Get them approved
  • Create the annotated tag that drives the release pipeline

Example prompts

  • “release the app”
  • “cut a release”
  • “ship 3.6.0”
  • “/release-app”

Workflow steps

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

  1. Pick the version
  2. Confirm what is being released
  3. Draft the release notes
  4. Get approval, always
  5. Create the annotated tag
  6. Push the tag
  7. Watch the run and promote

What it can do on your machine

Read from SKILL.md and the folder at commit d807559. 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

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

  • Network

    No URLs in SKILL.md. Its commands use git, 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 App loads about 1.2k tokens when it runs. Until then it costs about 102 tokens; SKILL.md has 612 words of instructions outside code blocks.

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

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 MartinStyk/apk-analyzer at commit d807559, republished under its GPL-3.0 licence (© MartinStyk). 612 words, ~1,175 tokens.

Download SKILL.mdSave it as .claude/skills/release-app/SKILL.md (or your agent's skills folder).
name
release-app
description
Use to cut a release of ApkAnalyzer — pick the MAJOR.MINOR.PATCH version, draft release notes, get them approved, and create the annotated tag that drives the release pipeline. Triggered by phrases like "release the app", "cut a release", "ship 3.6.0", "tag a release", "make a new version", "release notes for the next version", "publish to the Play Store", "promote the release to production".

Skill: Cut a Release

The tag is the entire release input. It supplies the version name, the version code, and the release notes, so the tag must be annotated and its annotation must never be empty — release.yml fails its first job on a lightweight tag, and a tag that already reached GitHub is painful to replace.

Nothing in the repository records the version. gradle.properties stays at version.name=dev; there is no version-bump commit to make.

Step 1 — Pick the version

The tag is exactly MAJOR.MINOR.PATCH — three numbers, no v prefix, no suffix. Anything else does not match the workflow trigger and silently releases nothing.

bash
git fetch --tags
git tag --sort=-v:refname | head -5

Propose the next version from the change set and let the user correct it: patch for fixes only, minor for new user-visible behaviour, major for a break in how the app is used. versionCode is derived as MAJOR * 10000 + MINOR * 100 + PATCH, so the new tag must sort above the last one under that formula — Play rejects a lower code.

Step 2 — Confirm what is being released

bash
git status --short
git log --oneline -5 origin/develop

Release from develop at a commit that is pushed, clean, and green in CI. If CI for that commit failed or is still running, say so and stop — the release workflow re-runs the same gates and will fail the same way after the tag is public.

Step 3 — Draft the release notes

bash
git log --oneline <previous-tag>..origin/develop

Turn the log into notes for users of the app, not for contributors:

  • Follow the User-Facing Copy rules in AGENTS.md — active voice, present tense, sentence case, name the concrete thing.
  • Group into short bullets: new features first, then improvements, then fixes.
  • Drop anything a user cannot observe — refactors, dependency bumps, CI and agent-context changes.
  • Never surface class names, module names, PR numbers, or Android API names.
  • Keep it short. The same text becomes the GitHub release body and is read on a phone.

Step 4 — Get approval, always

Never create the tag from a draft the user has not approved. Print the proposed version and the full notes verbatim as plain text in the response itself — not only inside a question tool's option text, where the user may not see it — then ask for approval or edits. Repeat until the user approves. If the user supplies their own notes, use them as given rather than rewriting them.

Approving the notes also approves creating and pushing the tag from them — steps 5 and 6 follow without a separate confirmation.

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

Step 5 — Create the annotated tag

Write the approved notes to a scratch file outside the repository and tag from it, so multi-line notes survive intact:

bash
git tag -a 3.6.0 -F /tmp/release-notes.txt <commit-sha>

Use -a (or -s). Never git tag 3.6.0 on its own, and never an empty or placeholder -m.

Verify before pushing — both checks must pass:

bash
git cat-file -t 3.6.0                                    # must print: tag
git for-each-ref --format='%(contents)' refs/tags/3.6.0  # must print the approved notes

If either check disagrees, delete the tag locally (git tag -d 3.6.0) and redo this step.

Step 6 — Push the tag

Pushing starts the release. The approval gate is Step 4 (notes) and Step 5 (tag verification) — once both are done, proceed to push:

bash
git push origin 3.6.0

If a bad tag was already pushed, do not force-move it. Delete it on the remote, delete the GitHub release it created, then push a corrected tag — or release the fix as the next patch version.

Step 7 — Watch the run and promote

The release run publishes to the Play beta track, never production. Follow it with the analyze-ci-failure skill if a job goes red.

Production is a separate, deliberate step: the Promote release to production workflow, run manually with the version and a rollout percentage. It promotes whatever currently sits on beta, so check the beta track first if the release run finished a while ago.

Full pipeline reference, including secrets and the promotion rules: ci-and-release.md.

© MartinStyk, GPL-3.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 .claude/skills/release-app of MartinStyk/apk-analyzer.

Open the folder on GitHubat commit d807559

Compare with similar skills

Release App 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 App compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release App this skillMartinStyk/apk-analyzer369—~1.2kAutomated safety check: PassGPL-3.0
Knockoff Release ShipperShpigford/chops1.9k—~1.2kAutomated safety check: NotesCustom licence
Mobile Releasebex-co/beancount-io295—~3.5kAutomated safety check: PassMIT
App Store Changelogsickn33/agentic-awesome-skills47k2 repos~831Automated safety check: PassMIT
Common Store ChangelogHoangNguyen0403/agent-skills-standard571—~850Automated safety check: PassMIT
App Store Changelogdiegosouzapw/awesome-omni-skills159—~3.1kAutomated safety check: PassMIT

Similar skills

  • Cuts a new Knockoff release by bumping the version, rolling release notes, tagging and shipping to the Chrome, Firefox and Apple stores with a per-store report.

    1.9k GitHub stars~1.2k tokensUpdated 1 mo ago
    DevelopmentAuto-check: notes
  • Mobile Release

    bex-co/beancount-io

    Summarize mobile changes since the previous release, bump the Beancount mobile version, prepare localized release notes and listings, and release to the Apple App Store and Google Play.

    295 GitHub stars~3.5k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • App Store Changelog

    sickn33/agentic-awesome-skills

    Generate user-facing App Store release notes from git history since the last tag.

    47k GitHub starsUsed in 2 repos~831 tokens
    DevelopmentAuto-check passed
  • Common Store Changelog

    HoangNguyen0403/agent-skills-standard

    Generate user-facing release notes for the App Store and Google Play from git history (App Store <=4000 chars, Google Play <=500).

    571 GitHub stars~850 tokensUpdated yesterday
    DevelopmentAuto-check passed
  • App Store Changelog

    diegosouzapw/awesome-omni-skills

    App Store Changelog workflow skill. An agent skill from diegosouzapw/awesome-omni-skills.

    159 GitHub stars~3.1k tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Release Asc CLI

    rorkai/App-Store-Connect-CLI

    Publish and verify a new release of the App-Store-Connect-CLI repository.

    7.7k GitHub stars~2.4k tokensUpdated today
    MobileAuto-check passed

More from MartinStyk/apk-analyzer

All 18 skills in this repo
  • Triage Crashes

    MartinStyk/apk-analyzer

    A skill your agent uses to review production Crashlytics crashes and non-fatals for the latest release and file a GitHub issue for each one that isn't tracked yet.

    369 GitHub stars~4.3k tokensUpdated 3 days ago
    Auto-check passed
  • Analyze CI Failure

    MartinStyk/apk-analyzer

    A skill your agent uses to check GitHub Actions build status or diagnose why a workflow run failed and propose a fix.

    369 GitHub stars~1.9k tokensUpdated 3 days ago
    Auto-check passed
  • Capture App Flow Media

    MartinStyk/apk-analyzer

    A skill your agent uses to record or convert ApkAnalyzer app flows into screenshots or GIFs for the README or product docs.

    369 GitHub stars~1.7k tokensUpdated 3 days ago
    Auto-check passed
  • Create Compose Component

    MartinStyk/apk-analyzer

    A skill your agent uses when creating a new reusable Compose UI component that should live in core:ui-library.

    369 GitHub stars~885 tokensUpdated 3 days ago
    Auto-check passed
  • Create Core Module

    MartinStyk/apk-analyzer

    A skill your agent uses when creating a new core or shared library module for domain logic, data access, repositories, managers, or utilities.

    369 GitHub stars~1.7k tokensUpdated 3 days ago
    Auto-check passed
  • Create Feature Module

    MartinStyk/apk-analyzer

    A skill your agent uses when creating a new feature module, screen, or feature area.

    369 GitHub stars~1.6k tokensUpdated 3 days ago
    Auto-check passed

Questions about Release App

What does Release App do?

A skill your agent uses to cut a release of ApkAnalyzer — pick the MAJOR.MINOR.PATCH version, draft release notes, get them approved, and create the annotated tag that drives the release pipeline. Release App is an agent skill from MartinStyk/apk-analyzer.PATCH version, draft release notes, get them approved, and create the annotated tag that drives the release pipeline.

When should I use Release App?

Release App fits situations like: cut a release of ApkAnalyzer — pick the MAJOR.MINOR.PATCH version; draft release notes; get them approved; create the annotated tag that drives the release pipeline.

How do I install Release App in Claude Code?

Run `npx skills add MartinStyk/apk-analyzer --skill release-app -a claude-code`. Or copy the skill folder (.claude/skills/release-app in MartinStyk/apk-analyzer) into .claude/skills/release-app in your project. Claude Code loads it when a task matches its description.

How do I install Release App in Codex?

Run `npx skills add MartinStyk/apk-analyzer --skill release-app -a codex`. Or copy the skill folder (.claude/skills/release-app in MartinStyk/apk-analyzer) into .agents/skills/release-app in your project. Codex loads it when a task matches its description.

Can I use Release App 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 MartinStyk/apk-analyzer --skill release-app -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-app, .gemini/skills/release-app, .github/skills/release-app and .opencode/skills/release-app in your project.

What does Release App need to run?

Going by SKILL.md and its folder, Release App needs the command-line tools its instructions call (git).

Does Release App access the network?

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

Is Release App 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 App use?

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

How many tokens does Release App use?

About 1.2k tokens (SKILL.md is roughly 4.7k 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 App?

Skills that share tags, products or a category with Release App: Knockoff Release Shipper (Shpigford/chops, 1.9k stars), Mobile Release (bex-co/beancount-io, 295 stars), App Store Changelog (sickn33/agentic-awesome-skills, 47k stars) and Common Store Changelog (HoangNguyen0403/agent-skills-standard, 571 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release App?

MartinStyk (a GitHub user) maintains it in MartinStyk/apk-analyzer, which has 369 GitHub stars. The repository holds 18 skills in this directory. The repository was last updated on October 5, 2026.

Source: MartinStyk/apk-analyzer on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.