CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

flutter-in-app-purchases

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.

Quality

91%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is thiennc-tesoglobal/flutter-skills

SKILL.md
Quality
Evals
Security

Quality

Content

86%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-engineered instruction-only skill body: dense with non-obvious domain judgment, a genuine safety boundary around live store mutation, explicit verification requirements, and clean conditional disclosure into three substantive reference files. The two gaps are the absence of any concrete package/API handles or worked examples, and a workflow that is conveyed by section ordering rather than an explicit step sequence with a retry loop.

Suggestions

Actionability: name the concrete store packages and API surfaces to reach for (e.g., the in_app_purchase plugin's purchase-status stream and restore method) or include one short purchase-update handler skeleton, so the directives are executable against a real API rather than purely descriptive.

Workflow clarity: state the Preflight → implement → verify sequence explicitly as numbered steps with a validation gate (e.g., 'only change store configuration after the identifier/signing inspection passes'), and spell out a validate → fix → re-run loop for failed verification cases.

Workflow clarity: tie the interrupted-purchase and restore/reconciliation cases to where their evidence should appear (test output, backend logs, sandbox history) so the pass/fail checkpoints are observable rather than enumerated.

DimensionReasoningScore

Conciseness

The 48-line body never explains concepts Claude already knows (no 'what is Flutter/billing' padding) and every sentence carries skill-specific judgment such as 'Never grant an entitlement from a button tap, client assertion, unverified payload, or pending transaction' and 'Process verified completed transactions idempotently, then perform the store-required acknowledgement, consumption, or finish step exactly as the product type requires'. Lean and dense with directives; nothing to trim without losing guidance.

5 / 5

Actionability

Concrete, specific instruction throughout — a preflight checklist ('Read `pubspec.yaml`, SDK constraints... product identifiers, purchase listener ownership, entitlement source of truth'), an eleven-item test coverage list, and required test-case structure ('preconditions, actions and interruption point, expected store and entitlement states... observable pass/fail evidence'). It falls short of anchor 5 only because no store package names, API entry points, or worked handler examples are given, so guidance is directive rather than copy-paste executable.

4 / 5

Workflow Clarity

A clear Preflight → conceptual model → references → Boundaries → Verification arc with real checkpoints: a safety gate before touching store configuration ('Do not create products, change pricing, upload builds... without explicit authorization'), mandatory pre-change inspections ('do not stop at a scenario checklist... inspection of application and bundle identifiers, flavors and environments, Android and Apple signing'), and required evidence ('State which store, product type, account mode, platform, and backend path were exercised'). Not anchor 5 because the sequence is implied by section order rather than stated as steps, and no explicit validate → fix → retry loop is spelled out.

4 / 5

Progressive Disclosure

The body is a lean overview that splits depth across three real, one-level-deep reference files (verified to exist with no nested references), each clearly signaled with its trigger topics: 'Read [purchase lifecycle and entitlements] for listener ownership, verification, idempotency...' etc. Conditional loading guidance plus a short Sources section makes navigation easy — the anchor-5 structure.

5 / 5

Total

18

/

20

Passed

Description

92%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete, comprehensive capability list in third-person voice with an explicit 'Use for...' trigger clause and deliberate negative scope. The only weakness is that the canonical natural phrases users say — 'in-app purchases' and 'IAP' — are absent verbatim even though they appear in the skill's own name.

DimensionReasoningScore

Specificity

Names the domain ('Flutter purchases of digital goods and subscriptions through app stores') and enumerates multiple concrete capability areas — 'catalog, transaction updates, verification, entitlements, acknowledgement, consumption, restoration, and sandbox testing' — plus three action verbs ('Implement, repair, or review'), with no obvious coverage gaps. This matches the comprehensive multi-action anchor rather than the 'minor gaps' level below.

5 / 5

Completeness

Explicitly answers 'what' (implement, repair, or review store purchases across the listed lifecycle areas) and 'when' ('Use for App Store or Google Play billing; not physical-goods checkout, advertising, or generic payment forms') with concrete trigger phrases plus explicit exclusions. This is the anchor-5 pattern of both what and when clearly stated; anchor 4's 'when could be more explicit' does not apply.

5 / 5

Trigger Term Quality

Strong natural terms are present ('Flutter', 'purchases', 'subscriptions', 'App Store', 'Google Play', 'billing', 'sandbox testing', 'restoration'), but the most common user phrasings — 'in-app purchases', 'IAP', 'restore purchases', 'StoreKit' — never appear verbatim. Good coverage with a few natural terms missing fits anchor 4, and it is clearly better than the 'missing common variations' anchor 3.

4 / 5

Distinctiveness Conflict Risk

Occupies a clear niche (Flutter store billing for App Store/Google Play) and actively de-risks overlap by stating what it is not ('not physical-goods checkout, advertising, or generic payment forms'). Minimal conflict risk with payment, checkout, or ad skills; anchor 4's 'minor overlap risk with closely related skills' is a worse fit than anchor 5.

5 / 5

Total

19

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

thienqo/flutter-skills

Path

skills/flutter-in-app-purchases/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.