build-and-release

Automate Flutter Android builds, deployments, and GitHub release tagging.

25|1|Updated Apr 23, 2026
One-click install
npx skills add https://github.com/ShiroiKuma0/shiroikumanojisho --skill build-and-release-shiroikuma0
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: build-and-release
Source: https://github.com/ShiroiKuma0/shiroikumanojisho/tree/main/.claude/skills/build-and-release
Command: npx skills add https://github.com/ShiroiKuma0/shiroikumanojisho --skill build-and-release-shiroikuma0

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Ensures consistent Flutter Android build, packaging, and release processes for shiroikumanojisho to prevent common misconfigurations that lead to failed releases.

Core Features & Use Cases

  • Enforces specific toolchain rules (JDK 11 pin, Gradle wrapper compatibility) to ensure release builds succeed.
  • Standardizes the two-target deployment workflow (on-device adb push and local APK archive) to streamline testing and distribution.
  • Maintains strict versioning and release conventions (bare semver tags, dev vs release APK naming, and pubspec.yaml version handling) to ensure traceability.
  • Guides release hygiene and commit/tag workflows, including safe upgrade of pubspec, clean origin/main for releases, and signing considerations.
  • Use Case: When preparing a new Android release for a Flutter app, run the documented steps to generate a release APK and publish it to GitHub releases.

Quick Start

Execute the documented steps to set JAVA_HOME, build the APK, push to the device, and publish a bare semver release tag.

Frequently Asked Questions about build-and-release

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate Flutter Android release builds and prevent common misconfigurations?

Automating Flutter Android release builds requires enforcing toolchain rules like pinning JDK 11 and ensuring Gradle wrapper compatibility to prevent failed releases caused by environment mismatches.

Why does my Flutter Android build fail when upgrading the Gradle wrapper or JDK version?

Flutter Android build failures during upgrades often stem from JDK mismatch; enforcing a JDK 11 pin ensures Gradle wrapper compatibility and prevents release builds from failing unexpectedly.

What is the correct way to handle pubspec.yaml versioning and tagging for a Flutter release?

Proper Flutter release versioning involves using bare semver tags for GitHub releases and updating the pubspec.yaml version safely, ensuring traceability between the commit history and the deployed APK.

How do I deploy a Flutter APK to a local device and archive it simultaneously?

Deploying a Flutter APK locally uses a standardized two-target workflow that pushes the build to an on-device target via adb while simultaneously archiving the release APK for distribution.

Do I need a clean origin/main branch before generating a Flutter release tag?

Yes, release hygiene requires a clean origin/main branch before generating a Flutter release tag, ensuring the bare semver tag accurately represents the stable state of the committed codebase.