agentleFS
thiennc-tesoglobalthiennc-tesoglobal/flutter-skills/skills/flutter-in-app-purchases/SKILL.md

flutter-in-app-purchases

Skill16 starsChanged 3 months agoBSD-3-ClauseView on GitHub

Implement, repair, or review Flutter purchases of digital goods and subscriptions through app stores, including catalog, transaction updates, verification, entitlements, acknowledgement, consumption, restoration, and sandbox testing. Use for App Store or Google Play billing; not physical-goods checkout, advertising, or generic payment forms.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 7 are distinctive, and 1 is very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈7

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not create products, change pricing, upload builds, or mutate live store configuration without explicit authorization.

    line 10
  2. Very specific:

    Read pubspec.yaml, SDK constraints, supported platforms, store package and native configuration, product identifiers, purchase listener …

    line 14
  3. Distinctive:

    Keep three concepts separate:

    line 16
  4. Distinctive:

    Never grant an entitlement from a button tap, client assertion, unverified payload, or pending transaction.

    line 22
  5. Distinctive:

    Read purchase lifecycle and entitlements for listener ownership, verification, idempotency, pending transactions, acknowledgement, …

    line 26
  6. Distinctive:

    Read subscriptions and restoration for renewals, grace and hold states, expiration, restore or reconcile flows, upgrades, downgrades, and …

    line 27
  7. Distinctive:

    Read store testing and release for sandbox accounts, product readiness, interrupted flows, platform matrices, and release evidence.

    line 28
  8. Distinctive:

    Use fakes for deterministic state-machine tests and store sandbox or test tracks for end-to-end evidence.

    line 41

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Flutter In-App Purchases

Model store billing as an asynchronous reconciliation system, not a button callback. Preserve the project's current store package, subscription service, backend, account model, and state management unless migration is explicitly requested.

Do not create products, change pricing, upload builds, or mutate live store configuration without explicit authorization.

Preflight

Read pubspec.yaml, SDK constraints, supported platforms, store package and native configuration, product identifiers, purchase listener ownership, entitlement source of truth, backend verification, authentication, persistence, tests, flavors, and sandbox setup. Distinguish consumables, non-consumables, and subscriptions before editing the flow.

Keep three concepts separate:

  • Store catalog: products, localized price, availability, offers, and store metadata.
  • Transaction: pending, purchased, restored, cancelled, failed, consumed, acknowledged, or finished as supported by the store.
  • Entitlement: the product capability the application currently grants to an account or device.

Never grant an entitlement from a button tap, client assertion, unverified payload, or pending transaction. Process verified completed transactions idempotently, then perform the store-required acknowledgement, consumption, or finish step exactly as the product type requires.

Load references conditionally

  • Read purchase lifecycle and entitlements for listener ownership, verification, idempotency, pending transactions, acknowledgement, consumption, and account attribution.
  • Read subscriptions and restoration for renewals, grace and hold states, expiration, restore or reconcile flows, upgrades, downgrades, and account switching.
  • Read store testing and release for sandbox accounts, product readiness, interrupted flows, platform matrices, and release evidence.

Boundaries

  • flutter-authentication owns account sign-in and session lifecycle; this skill binds verified transactions to the correct account and prevents entitlement leakage during account switching.
  • flutter-networking owns generic transport; this skill owns store and entitlement protocol semantics.
  • flutter-persistence owns durable local storage; cached entitlement state must expose freshness and never override authoritative revocation.
  • flutter-security owns broad threat review; this skill requires trusted verification and minimizes purchase-token exposure.
  • flutter-product-analytics may observe purchase funnel events but must not become the entitlement source of truth.
  • flutter-build-release owns signed application artifacts and uploads. Store publication remains an explicit external action.

Verification

Use fakes for deterministic state-machine tests and store sandbox or test tracks for end-to-end evidence. Cover success, cancellation, failure, pending completion after restart, duplicates, delivery-before-acknowledgement recovery, restore, account switching, offline reconciliation, subscription state changes, and unavailable products.

For sandbox-readiness work, do not stop at a scenario checklist. Explicitly require inspection of application and bundle identifiers, flavors and environments, Android and Apple signing, entitlements or manifests, existing store products, test accounts, and backend routing before changing configuration. Provide concrete reproducible cases with preconditions, actions and interruption point, expected store and entitlement states, acknowledgement or finish outcome, and observable pass/fail evidence. Include at least one interrupted purchase and one restore or reconciliation case when those flows are in scope.

State which store, product type, account mode, platform, and backend path were exercised. A successful purchase sheet or client callback alone does not prove verification, entitlement delivery, acknowledgement, cross-device restoration, or renewal handling.

Sources

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.