DEV Community

Jaywalker
Jaywalker

Posted on

Flutter Release Pipeline: A Multi-Agent Skill for Claude Code, Codex & beyond — one command to test, version bump, build & ship

The problem with Flutter releases

Every Flutter release used to cost me 20–30 minutes of repetitive, error-prone steps:

  • Manually editing pubspec.yaml to bump the version
  • Running tests and hoping I didn't forget
  • Copying git logs into a release notes file
  • Building the AAB, then the APK
  • Writing a commit message, tagging, pushing
  • Realizing I forgot to update the CSV log

After doing this for the tenth time, I decided to automate the whole thing as a multi-agent skill.


What is a multi-agent skill?

This skill is a plain markdown instruction file — no SDKs, no plugins, no vendor lock-in.

It works with any AI coding agent that can read a markdown skill/instruction file, including:

  • Claude Code (Anthropic) — place in ~/.claude/skills/
  • OpenAI Codex — place in your Codex instructions directory
  • Antigravity — add as a custom instruction/rule
  • Any future agent — the format is open and portable

You install it once, and from then on you just say:

"Run the Flutter release pipeline"

...and your agent handles everything.


What the skill does

In a single command, the Flutter Release Pipeline skill:

Step 0 — Project verification
Checks that pubspec.yaml exists, DOCs/ and DOCs/releases/ directories are in place, and loads saved preferences (build type, branch) from flutter_release_config.json.

Step 1 — Run tests (GATE)
Runs flutter test --machine, parses JSON output, counts passed/failed/skipped, logs results to DOCs/test_log.csv. If any test fails — the pipeline stops. No exceptions.

Step 2 — Version bump
Reads the current version: X.Y.Z+BUILD from pubspec.yaml, increments patch and build number, writes it back.

Step 3 — Git log extraction
Extracts commits since the last tag, categorizes them into Features, Bug Fixes, Improvements, and Other.

Step 4 — Release notes
Generates a markdown file at DOCs/releases/release_notes_vX.Y.Z.md and presents it to you for review before proceeding.

Step 5 — CSV logging
Appends the release record to DOCs/releases/releases.csv — append-only, never overwrites.

**Step 6 — iOS prep (optional)
Runs flutter clean + flutter pub get to prepare for Xcode archive.

Step 7 — **Android build
Builds AAB or APK (or both) based on your saved preference.

Step 8 — Git operations
Stages, commits, tags, and pushes everything to your branch.

Step 9 — Summary
Prints a clean summary box with version, branch, test count, build type, and tag.


Safety rules baked in

  • No deletions — ever
  • Append-only CSVs — release history is never overwritten
  • Case-sensitive pathsDOCs/ is always respected
  • Test gate — the pipeline cannot proceed past a test failure
  • OS detection — uses correct commands on macOS, Linux, and Windows

How to install

Claude Code:

cp flutter-release-pipeline/CLAUDE.md ~/.claude/skills/flutter-release-pipeline.md
Enter fullscreen mode Exit fullscreen mode

OpenAI Codex:

cp flutter-release-pipeline/CLAUDE.md ~/codex/instructions/flutter-release-pipeline.md
Enter fullscreen mode Exit fullscreen mode

Antigravity:
Add the contents of CLAUDE.md as a custom instruction or .cursorrules file in your project root.

Then just say to your agent:

"Run the Flutter release pipeline"


Works on macOS, Linux, and Windows

The skill detects your OS and uses the correct commands for each platform — including PowerShell-compatible output piping on Windows.


Also submitted to the official Anthropic skills repo

PR #931 is open on anthropics/skills (117k stars). Once merged, Claude Code users can install it directly via:

/plugin install flutter-release-pipeline@anthropic-agent-skills
Enter fullscreen mode Exit fullscreen mode

GitHub

https://github.com/Jaywalker-not-a-whitewalker/flutter-release-pipeline

Stars, issues, and PRs welcome. What other agents do you use for Flutter development?

Top comments (0)