Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/abhinav503/flutter-agenticWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/abhinav503/flutter-agentic/release)<a href="https://agentmods.dev/rules/abhinav503/flutter-agentic/release"><img src="https://agentmods.dev/badge/rules/abhinav503/flutter-agentic/release/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/abhinav503/flutter-agentic/release"><img src="https://agentmods.dev/badge/rules/abhinav503/flutter-agentic/release.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00019 | $0.01070 |
| Opus 5.5 | $0.00008 | $0.00428 |
| Sonnet 5.5 | $0.00004 | $0.00214 |
| Haiku 4.5 | $0.00002 | $0.00107 |
Grade A, and why
release scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
When the user asks to do a release, follow these steps interactively — ask for confirmation at each step before proceeding.
Prerequisites — this repo uses multiple GitHub accounts, so release auth must be explicit. The token lives in a git-ignored .env at the repo root. Load it and verify gh:
which gh
set -a && . ./.env && set +a # exports GH_TOKEN from the root .env
gh auth status
gh auth status should report Logged in … (GH_TOKEN). Source .env in every shell that runs a gh command — non-interactive shells don't inherit it. If gh is missing: brew install gh. If .env has no GH_TOKEN, create a fine-grained PAT (Contents: Read and write on this repo) at https://github.com/settings/personal-access-tokens/new and add it as GH_TOKEN=… to .env (never commit it). Stop if not ready. If gh auth status reports the token as invalid, confirm the shell has network access before replacing it — in a sandboxed agent environment, blocked network access can surface as an auth failure; re-run with network permission and .env sourced first.
Step 1 — Identify release branch
git branch --show-current
If not main, ask: "Release from {branch}? Confirm or type a different name." Record as {RELEASE_BRANCH}.
Step 2 — Compare to main
git log main..{RELEASE_BRANCH} --oneline
git diff main..{RELEASE_BRANCH} --stat
Show the commit list for the user to review.
Step 3 — Version bump — read current version:
grep "^version:" pubspec.yaml
Format: MAJOR.MINOR.PATCH. Rules: Major = breaking change; Minor = any feat: commit or new component/skill; Patch = fix/chore/docs/refactor only. Propose bump with one sentence of reasoning. Wait for confirmation.
Step 4 — Update pubspec.yaml — replace the version line with the confirmed version.
Step 5 — Write release notes — create docs/releases/v{NEW_VERSION}.md from docs/releases/_template.md. Two sections only:
- Features — what a developer gains: new components, apps, integrations
- Agent Context Improvements — what AI agents gain: new skills, rules, doc refs
Rules: plain language only; one bullet per change; one sentence per bullet; no duplicates across sections; nothing obvious. Show draft and ask "Does this look good?" Wait for confirmation.
Step 6 — Commit on release branch
git add pubspec.yaml docs/releases/v{NEW_VERSION}.md
git commit -m "chore: release v{NEW_VERSION}"
git push
Step 7 — Merge to main
git checkout main && git pull origin main
git merge --no-ff {RELEASE_BRANCH} -m "chore: merge {RELEASE_BRANCH} into main for v{NEW_VERSION}"
git push origin main
Stop on conflicts — ask user to resolve, then continue.
Step 8 — Tag and GitHub Release
git tag v{NEW_VERSION}
git push origin v{NEW_VERSION}
gh release create v{NEW_VERSION} \
--title "v{NEW_VERSION} — {SUMMARY_TITLE}" \
--notes-file docs/releases/v{NEW_VERSION}.md \
--target main
Report the release URL to the user.
Step 8b — Build and attach Android APK (optional, per app)
Monorepo: the repo root has no runnable app — build from inside an app folder (
apps/<app>/), never the root. Skip for a pure template release that ships no binary.
Ask which app to attach (e.g. doc_scanner, jokes) and record it as {APP}. Build the release APK from that app:
cd apps/{APP} && fvm flutter build apk --release
If fvm is unavailable, fall back to cd apps/{APP} && flutter build apk --release. Output: apps/{APP}/build/app/outputs/flutter-apk/app-release.apk.
Upload as a named asset (named after the app + version):
gh release upload v{NEW_VERSION} \
apps/{APP}/build/app/outputs/flutter-apk/app-release.apk#{APP}-v{NEW_VERSION}.apk
Confirm the asset appears on the release page before continuing.
Step 9 — Clean up — ask: "{RELEASE_BRANCH} has been merged. Delete it?" If yes:
git branch -d {RELEASE_BRANCH}
git push origin --delete {RELEASE_BRANCH}
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 91 lines · 19 tokens per session scan A 45653b5be735
release is a cursor rule published in the GitHub repository abhinav503/flutter-agentic (10 stars, last pushed 1mo ago), licensed MIT. It adds 19 tokens to every session and 1,070 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other cursor rules, from other repositories
release-notes
Generate changelog entries and GitHub releases from git history. Categorizes commits into features, fixes, breaking changes, and docs. Supports conventional commits, PR-based grouping, and semantic versioning. Creates formatted CHANGELOG.md entries and GitHub releases.
changesets
Changeset format and bump rules enforced by CI.
iris
GitHub operations specialist — branches, pull requests, issues, releases, tags. Called by zeus after review. Never pushes or merges without explicit human approval. Integrates with VS Code GitHub Pull Requests extension.
release-checklist
What to update with each code change or version release.
github-cli-guide
A guide on how to use the Github CLI (gh cli) especially related to creating issues via the CLI.
release-policy
Release, versioning, and signing policy for setmac.