mustflow 2.116.3 → 2.117.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/package.json +1 -1
  2. package/templates/default/i18n.toml +145 -7
  3. package/templates/default/locales/en/.mustflow/skills/INDEX.md +121 -11
  4. package/templates/default/locales/en/.mustflow/skills/agent-eval-integrity-review/SKILL.md +62 -34
  5. package/templates/default/locales/en/.mustflow/skills/agent-execution-control-review/SKILL.md +102 -31
  6. package/templates/default/locales/en/.mustflow/skills/agent-memory-context-governance-review/SKILL.md +163 -0
  7. package/templates/default/locales/en/.mustflow/skills/agent-planning-recovery-review/SKILL.md +180 -0
  8. package/templates/default/locales/en/.mustflow/skills/agent-release-bundle-rollout-review/SKILL.md +181 -0
  9. package/templates/default/locales/en/.mustflow/skills/agent-runtime-isolation-review/SKILL.md +196 -0
  10. package/templates/default/locales/en/.mustflow/skills/agent-runtime-multi-worker-review/SKILL.md +180 -0
  11. package/templates/default/locales/en/.mustflow/skills/automation-investment-case-review/SKILL.md +173 -0
  12. package/templates/default/locales/en/.mustflow/skills/client-platform-strategy-review/SKILL.md +236 -0
  13. package/templates/default/locales/en/.mustflow/skills/credit-ledger-integrity-review/SKILL.md +8 -4
  14. package/templates/default/locales/en/.mustflow/skills/credit-monetization-integrity-review/SKILL.md +283 -0
  15. package/templates/default/locales/en/.mustflow/skills/desktop-commercial-distribution-review/SKILL.md +225 -0
  16. package/templates/default/locales/en/.mustflow/skills/external-prompt-injection-defense/SKILL.md +49 -3
  17. package/templates/default/locales/en/.mustflow/skills/freemium-ad-monetization-review/SKILL.md +196 -0
  18. package/templates/default/locales/en/.mustflow/skills/game-economy-monetization-review/SKILL.md +208 -0
  19. package/templates/default/locales/en/.mustflow/skills/game-liveops-commerce-integrity-review/SKILL.md +237 -0
  20. package/templates/default/locales/en/.mustflow/skills/growth-distribution-integrity-review/SKILL.md +247 -0
  21. package/templates/default/locales/en/.mustflow/skills/idempotency-integrity-review/SKILL.md +20 -2
  22. package/templates/default/locales/en/.mustflow/skills/llm-model-routing-integrity-review/SKILL.md +183 -0
  23. package/templates/default/locales/en/.mustflow/skills/llm-product-monetization-review/SKILL.md +311 -0
  24. package/templates/default/locales/en/.mustflow/skills/llm-token-cost-control-review/SKILL.md +15 -1
  25. package/templates/default/locales/en/.mustflow/skills/localization-market-expansion-review/SKILL.md +224 -0
  26. package/templates/default/locales/en/.mustflow/skills/multi-agent-work-coordination/SKILL.md +7 -2
  27. package/templates/default/locales/en/.mustflow/skills/pricing-model-integrity-review/SKILL.md +288 -0
  28. package/templates/default/locales/en/.mustflow/skills/product-engagement-retention-review/SKILL.md +234 -0
  29. package/templates/default/locales/en/.mustflow/skills/product-onboarding-activation-review/SKILL.md +269 -0
  30. package/templates/default/locales/en/.mustflow/skills/product-portfolio-integrity-review/SKILL.md +233 -0
  31. package/templates/default/locales/en/.mustflow/skills/prompt-contract-quality-review/SKILL.md +1 -0
  32. package/templates/default/locales/en/.mustflow/skills/referral-incentive-integrity-review/SKILL.md +206 -0
  33. package/templates/default/locales/en/.mustflow/skills/retry-policy-integrity-review/SKILL.md +45 -2
  34. package/templates/default/locales/en/.mustflow/skills/routes.toml +329 -7
  35. package/templates/default/locales/en/.mustflow/skills/service-portfolio-capital-allocation-review/SKILL.md +245 -0
  36. package/templates/default/locales/en/.mustflow/skills/subscription-retention-profit-review/SKILL.md +217 -0
  37. package/templates/default/manifest.toml +86 -1
@@ -0,0 +1,236 @@
1
+ ---
2
+ mustflow_doc: skill.client-platform-strategy-review
3
+ locale: en
4
+ canonical: true
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: client-platform-strategy-review
9
+ description: Apply this skill when a consumer or prosumer product chooses responsive web versus mobile app first, mobile web versus PWA versus cross-platform or native clients, an app as an acquisition or retention surface, native break-even users, operating-system capability dependence, or local-first versus cloud-first desktop data ownership, offline behavior, synchronization, recovery, privacy, and client-platform investment sequencing.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.client-platform-strategy-review
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - lint
19
+ - build
20
+ - test_related
21
+ - test
22
+ - docs_validate_fast
23
+ - test_release
24
+ - mustflow_check
25
+ ---
26
+
27
+ # Client Platform Strategy Review
28
+
29
+ <!-- mustflow-section: purpose -->
30
+ ## Purpose
31
+
32
+ Choose web, PWA, cross-platform, native, local-first, cloud-first, or hybrid client architecture
33
+ from the product job, operating-system capabilities, complete funnel economics, data authority, and
34
+ failure recovery. Prevent platform prestige, raw install retention, or storage price from replacing
35
+ an actual investment and usability decision.
36
+
37
+ <!-- mustflow-section: use-when -->
38
+ ## Use When
39
+
40
+ - A new B2C or prosumer service compares responsive web-first with iOS, Android, or another native
41
+ app-first launch.
42
+ - A product compares mobile web, installable PWA, wrapped web, shared cross-platform client, or
43
+ separate native clients.
44
+ - A proposal treats an app as acquisition, retention, notification, offline, device-capability, or
45
+ checkout infrastructure and needs a break-even user or retained-contribution model.
46
+ - A desktop or mobile product compares local-only, local-first with sync, cloud-first with cache, or
47
+ server-only data ownership.
48
+ - Offline work, device files, collaboration, multi-device recovery, conflict resolution, privacy,
49
+ encryption, account rights, or sync engineering changes the client strategy.
50
+
51
+ <!-- mustflow-section: do-not-use-when -->
52
+ ## Do Not Use When
53
+
54
+ - The client platform is already chosen and the task only compares website, Microsoft Store, Mac
55
+ App Store, or hybrid desktop sales and distribution; use
56
+ `desktop-commercial-distribution-review`.
57
+ - The task only implements one frontend framework, native bridge, service worker, cache, installer,
58
+ updater, mobile permission, or platform API; use the matching implementation and platform skill.
59
+ - The task only changes synchronization algorithms, database migrations, encryption, access
60
+ control, backup, or privacy behavior after the authority model is fixed; use the narrower data,
61
+ security, privacy, migration, or architecture skill.
62
+ - The task only selects a framework, vendor, database, or runtime; use `technology-stack-selection`.
63
+ - The task requests current platform-law, tax, app-store contract, or consumer-rights advice. Use
64
+ current official policy and qualified authority; this skill supplies the decision packet.
65
+
66
+ <!-- mustflow-section: required-inputs -->
67
+ ## Required Inputs
68
+
69
+ - Product job ledger: target user, first owned value, repeat cadence, session length, acquisition
70
+ source, sharing, search demand, price, payer, support, accessibility, and expected retention.
71
+ - Capability ledger: camera, location, Bluetooth, wearable, background execution, notification,
72
+ widgets, low-latency media, offline duration, filesystem, plugins, secure hardware, and platform
73
+ restrictions.
74
+ - Funnel ledger by eligible user: impression, landing or listing visit, install or open, permission,
75
+ signup, first value, purchase, refund, retained use, support, and contribution.
76
+ - Client cost ledger: design, implementation, shared and platform-specific code, QA devices,
77
+ accessibility, analytics parity, store review, deep links, notifications, checkout restoration,
78
+ OS updates, support, and decommissioning.
79
+ - Data ledger: record and file classes, authoritative owner, size and growth, device count,
80
+ collaboration, offline edits, consistency, deletion, retention, export, backup, restore, audit,
81
+ quota, abuse, and legal authority.
82
+ - Sync and recovery ledger: local database, change log, outbox, server replica, versioning, conflict
83
+ policy, stale client, duplicate, clock, tombstone, account merge, key recovery, device loss, and
84
+ disaster recovery.
85
+ - Current platform ledger: operating-system and browser versions, install and notification behavior,
86
+ payment policy, fees, permitted commerce, signing, review, capability support, region, program,
87
+ source date, and confidence.
88
+ - Experiment ledger: eligible cohort, assignment before channel choice, acquisition source,
89
+ capability need, platform availability, self-selection, promotion, horizon, and guardrails.
90
+
91
+ <!-- mustflow-section: preconditions -->
92
+ ## Preconditions
93
+
94
+ - Separate launch surface, installability, native capability, commerce, retention, and data authority.
95
+ One choice does not prove the others.
96
+ - Compare web and app cohorts from the same eligible population or explicitly model self-selection.
97
+ - Define a usable retained outcome and contribution before calculating break-even users.
98
+ - Treat copied development multipliers, fee percentages, conversion lifts, user thresholds, storage
99
+ prices, and platform features as dated assumptions, not built-in defaults.
100
+ - Refresh current platform behavior by OS, browser, region, app type, commerce type, and program
101
+ before changing live product or financial policy.
102
+ - This skill does not authorize developer enrollment, app submission, payment changes, production
103
+ experiments, data migration, cryptographic key access, release, or deployment.
104
+
105
+ <!-- mustflow-section: allowed-edits -->
106
+ ## Allowed Edits
107
+
108
+ - Add or refine client strategy, capability matrices, funnel and contribution models, platform
109
+ sequencing, data-authority maps, offline and sync contracts, recovery and privacy policies,
110
+ experiments, events, fixtures, tests, docs, route metadata, and synchronized templates.
111
+ - Add explicit handoffs to frontend, mobile, desktop, payments, store distribution, accessibility,
112
+ sync, database, security, privacy, backup, or migration owners.
113
+ - Replace platform ideology, raw install comparison, gross fee arithmetic, last-write-wins data loss,
114
+ or local-storage marketing with explicit capabilities, economics, authority, and recovery evidence.
115
+ - Do not fork the domain model without evidence, hide platform limitations, weaken privacy or
116
+ accessibility, migrate user data silently, or promise offline, sync, recovery, or encryption that
117
+ the current architecture cannot provide.
118
+
119
+ <!-- mustflow-section: procedure -->
120
+ ## Procedure
121
+
122
+ 1. Split two primary decisions: client delivery surface and data authority. A web-first launch can
123
+ still use local data, and a native app can still be cloud-authoritative.
124
+ 2. Classify whether the operating system is part of the product's core value. Mark required camera,
125
+ continuous location, Bluetooth, wearable, background, notification, widget, low-latency media,
126
+ filesystem, secure hardware, or offline capability and test whether the web path actually meets
127
+ the requirement on each target platform.
128
+ 3. Start from the smallest surface that can deliver representative first value. Responsive web is a
129
+ candidate when link, search, sharing, immediate trial, and one code path dominate; native-first
130
+ is a candidate when a required OS capability or app-native usage loop is the product itself.
131
+ 4. Treat the web as an acquisition candidate and an installed app as a retention candidate, not as
132
+ universal truths. Measure how each surface changes the complete funnel for the same eligible
133
+ users.
134
+ 5. Separate PWA layers. Decide responsive fit, manifest and install, notification, service-worker
135
+ caching, offline reads, offline writes, background behavior, and sync independently. Do not build
136
+ a complex offline layer merely to earn a PWA label.
137
+ 6. Sequence capability investment. A reversible candidate is responsive product value, then install
138
+ and notification for proven repeat users, then bounded offline behavior for observed need, then
139
+ shared or native clients when retained contribution can pay for them.
140
+ 7. Compare client costs across the full lifecycle. Include duplicated design and implementation,
141
+ platform QA, devices, accessibility, analytics drift, permissions, deep links, authentication,
142
+ payment restoration, store review, OS changes, support, and release coordination.
143
+ 8. Use D30-or-product-cadence qualified CAC, not click cost versus install cost. Count a user only
144
+ after representative value and the chosen retention horizon; an app install is not an accepted
145
+ product outcome.
146
+ 9. Calculate net contribution per eligible user. Include payment and store costs, refund, variable
147
+ product cost, acquisition, support, platform operations, and retention value. If native contribution
148
+ per user is not higher after variable costs, more users cannot repay fixed native investment.
149
+ 10. Derive break-even users from current inputs. Divide incremental fixed and step-fixed native cost
150
+ by incremental retained contribution per comparable active user. Include extra acquisition cost
151
+ and report zero, negative, or unstable denominators instead of manufacturing a threshold.
152
+ 11. Run sensitivity around the assumptions that can reverse the result: eligible paid conversion,
153
+ repeat use, app retention lift, store fee, price, refund, native QA cost, new-user share, and
154
+ channel-specific CAC. Report a range, not one magic MAU count.
155
+ 12. Correct self-selection. App users may have higher pre-existing intent. Use staged invitations,
156
+ matched cohorts, randomized prompts, or another defensible design before calling observed app
157
+ retention causal.
158
+ 13. Map data authority by class. Keep identity, billing, entitlement, organization membership,
159
+ quota, abuse, audit, and legal deletion server-authoritative when central enforcement is required.
160
+ Decide user content authority separately.
161
+ 14. Choose local-first when immediate response, offline creation, large personal files, user custody,
162
+ or long-lived device ownership materially creates value. Choose cloud-first when collaboration,
163
+ instant cross-device state, central authorization, audit, recovery, or server-side transactions
164
+ dominate. Treat both as candidates, not ideology.
165
+ 15. Prefer explicit hybrids. A local-first client may use encrypted replication and backup; a
166
+ cloud-first client should still use a durable local cache and outbox where interrupted work must
167
+ survive. Name the authority and failure behavior for every data class.
168
+ 16. Price local-first engineering honestly. Include local schema migration, corruption handling,
169
+ change logs, retry, deduplication, tombstones, stale clients, conflict UX, compatibility,
170
+ encryption, key recovery, export, and support. Avoid comparing that engineering cost with raw
171
+ object-storage price alone.
172
+ 17. Define sync semantics before choosing an algorithm. Cover concurrent edits, delete-versus-edit,
173
+ uniqueness, ordering, access revocation while offline, quota crossing, account merge, and old
174
+ client reappearance. Last write wins and CRDTs do not decide product policy automatically.
175
+ 18. Use the simplest conflict model that meets the product. Document versions, three-way merge, or
176
+ conflict copies can be safer than a general collaborative CRDT when simultaneous editing is not
177
+ a core job.
178
+ 19. Make privacy claims reconstructable. State what remains only on device, what is replicated,
179
+ whether the service can decrypt it, what telemetry leaves the device, how keys are stored, and
180
+ how loss, export, deletion, remote wipe, and recovery work.
181
+ 20. Separate confidentiality from recoverability. End-to-end or client-side encryption can reduce
182
+ provider access while making forgotten-key recovery harder; define recovery keys, trusted-device
183
+ transfer, or explicit irrecoverability without misleading promises.
184
+ 21. Measure full outcomes: eligible acquisition, first value, qualified retained use, purchase,
185
+ refund, support, sync conflict, lost work, recovery success, privacy complaints, platform failure,
186
+ and retained contribution.
187
+ 22. Promote only a reversible strategy that meets required capabilities, improves retained
188
+ contribution, preserves accessible and honest UX, assigns every data authority, and has a tested
189
+ recovery model before irreversible migration.
190
+
191
+ <!-- mustflow-section: postconditions -->
192
+ ## Postconditions
193
+
194
+ - Launch surface, install, native capability, commerce, retention, and data authority decisions are
195
+ explicit rather than collapsed into web versus app ideology.
196
+ - Break-even uses comparable eligible users, full lifecycle costs, incremental retained contribution,
197
+ self-selection controls, and sensitivity ranges.
198
+ - Every data class has an authority, offline behavior, conflict rule, privacy statement, backup, and
199
+ recovery owner.
200
+ - Local-first and cloud-first claims include sync and failure cost rather than raw latency, storage
201
+ price, or marketing language alone.
202
+
203
+ <!-- mustflow-section: verification -->
204
+ ## Verification
205
+
206
+ Use configured oneshot command intents when available: `changes_status`, `changes_diff_summary`,
207
+ `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, and
208
+ `mustflow_check`. Do not infer live store, browser, mobile device, payment, notification, signing,
209
+ submission, analytics, migration, sync, encryption, backup, recovery, deployment, or production
210
+ commands.
211
+
212
+ <!-- mustflow-section: failure-handling -->
213
+ ## Failure Handling
214
+
215
+ - If required capabilities cannot be verified on a target surface, mark that surface unknown or
216
+ infeasible instead of assuming parity.
217
+ - If comparable funnel cohorts or incremental per-user contribution are missing, report the native
218
+ break-even as non-decision-ready.
219
+ - If the denominator is zero or negative, report that no finite user count repays the modeled native
220
+ investment under those assumptions.
221
+ - If data authority, conflict semantics, key recovery, or lost-device recovery is undefined, do not
222
+ approve local-first or cloud-first migration.
223
+ - If current store or platform policy cannot be refreshed, keep policy-dependent economics dated and
224
+ unverified rather than encoding them as a default.
225
+
226
+ <!-- mustflow-section: output-format -->
227
+ ## Output Format
228
+
229
+ - Product job, eligible user, first value, repeat cadence, platform, and required capability
230
+ - Responsive web, PWA, cross-platform, and native capability and lifecycle-cost matrix
231
+ - Comparable funnel, qualified CAC, retained contribution, break-even range, sensitivity, and
232
+ self-selection evidence
233
+ - Data classes, authority, local and server state, offline behavior, conflicts, sync, privacy,
234
+ encryption, backup, export, deletion, and recovery
235
+ - Current platform source and date, files changed, command intents run and skipped checks
236
+ - Remaining client-platform strategy risk
@@ -2,11 +2,11 @@
2
2
  mustflow_doc: skill.credit-ledger-integrity-review
3
3
  locale: en
4
4
  canonical: true
5
- revision: 2
5
+ revision: 3
6
6
  lifecycle: mustflow-owned
7
7
  authority: procedure
8
8
  name: credit-ledger-integrity-review
9
- description: Apply this skill when credits, points, wallet balances, reward points, prepaid credits, usage credits, bonus credits, loyalty points, stored-value balances, balance deductions, accruals, refunds, reversals, expirations, reservations, captures, releases, admin adjustments, ledger tables, balance caches, reconciliation jobs, settlement reports, or credit-related tests need review for ledger integrity, idempotency, atomic balance changes, concurrency, ordering, ownership, amount precision, policy snapshots, expiry lots, failure recovery, audit evidence, or reconciliation risk.
9
+ description: Apply this skill when credits, points, wallet balances, reward points, prepaid credits, usage credits, bonus credits, loyalty points, stored-value balances, purchased versus subscription or promotional balance classes, balance deductions, accruals, refunds, reversals, expirations, rollovers, price quotes, reservations, captures, releases, admin adjustments, ledger tables, balance caches, reconciliation jobs, settlement reports, or credit-related tests need review for ledger integrity, idempotency, atomic balance changes, concurrency, ordering, ownership, amount precision, policy snapshots, expiry lots, quote binding, failure recovery, audit evidence, or reconciliation risk.
10
10
  metadata:
11
11
  mustflow_schema: "1"
12
12
  mustflow_kind: procedure
@@ -60,7 +60,9 @@ Review credit, point, and wallet balance code as an accounting ledger, not a bal
60
60
  - Amount and unit ledger: integer unit or decimal representation, maximum amount, rounding rules, conversion rates, bonus rules, policy version, product price snapshot, and campaign snapshot.
61
61
  - Ownership ledger: user, tenant, wallet, account, team, family, organization, operator, source object, and current actor checks.
62
62
  - Expiry and lot ledger: FIFO, LIFO, earliest-expiry-first, bucket allocation, expiry batch, lot-level consumption, partial use, partial refund, and lot restoration behavior.
63
+ - Balance-rights ledger: purchased top-up, subscription-included, promotional, referral, trial, enterprise commitment, refund, or admin-grant source; acquisition and policy version; expiry and rollover right; cancellation or downgrade behavior; legal or platform constraint; and spend priority.
63
64
  - Reservation ledger: reserved, captured, released, failed, expired, cancelled, partially refunded, and reversed states, plus the owner of each transition.
65
+ - Quote and fulfillment ledger: `quote_id`, price version, input-parameter hash, exact or bounded estimate, maximum authorized amount, quote expiry, reservation identity, actual captured amount, usable-result predicate, partial-result rule, and release or refund evidence.
64
66
  - Queue and cache ledger: producer events, consumer idempotency, partitioning, outbox or inbox records, read-replica routing, cache invalidation, and balance display semantics.
65
67
  - Audit and reconciliation ledger: logs, metrics, support IDs, before/after values, daily balance-vs-ledger checks, settlement reports, and manual adjustment evidence.
66
68
 
@@ -97,9 +99,11 @@ Review credit, point, and wallet balance code as an accounting ledger, not a bal
97
99
  14. Model refunds as reversals. Refunds, cancellations, and corrections should reference the original ledger entry or reservation, not call a generic balance increase with no causal link.
98
100
  15. Test partial use and partial refund. Exercise cases where only part of a balance, lot, coupon, order, or mixed payment is used or refunded. Full-cancel-only assumptions are not enough.
99
101
  16. Consume expiry lots deliberately. When credits expire, inspect FIFO, LIFO, earliest-expiry-first, or policy-specific lot allocation. Record lot-level consumption so later refund and audit can reconstruct the path.
102
+ - Keep purchased top-up, subscription-included, promotional, trial, enterprise, and admin-grant lots distinct when their expiry, rollover, cancellation, refund, accounting, or platform rights differ. Do not collapse them into one balance and reconstruct ownership from current plan state.
100
103
  17. Race expiry and usage. Expiry batches must use the same ledger, lock, idempotency, and conditional update rules as user requests. Flag direct batch subtraction that bypasses wallet safeguards.
101
104
  18. Separate reservation from capture. Model reserved, captured, released, failed, expired, cancelled, and partially refunded states when credits are held before final purchase, fulfillment, or external payment completion.
102
105
  - This ledger owns atomic reserve, capture, and release and the balance invariant. Commands and durable workflows may consume those operations but must not redefine balance availability, ownership, or accounting transitions.
106
+ - Bind a reservation to an unexpired user-visible quote and immutable price snapshot. Reserve no more than the approved maximum, capture only the actual charge allowed by the quoted policy and usable-result predicate, and release the remainder on failure, cancellation, timeout recovery, or lower actual usage.
103
107
  19. Draw allowed state transitions. Prevent arbitrary `status = REFUNDED`, `status = CAPTURED`, or `status = EXPIRED` writes. Each transition should have a guard, cause, effect, and idempotency rule.
104
108
  20. Preserve queue ordering or tolerate reordering. If deduction, cancellation, refund, or expiry events use a queue, prove user, wallet, or transaction-level ordering, or make each consumer robust to reordered events.
105
109
  21. Treat message redelivery as normal. Producers, queues, schedulers, and webhooks can duplicate events. Consumer-side ledger mutation must be idempotent with durable dedupe records.
@@ -116,7 +120,7 @@ Review credit, point, and wallet balance code as an accounting ledger, not a bal
116
120
  <!-- mustflow-section: postconditions -->
117
121
  ## Postconditions
118
122
 
119
- - The credit surface has balance, ledger-entry, source identity, atomicity, amount/unit, ownership, expiry/lot, reservation, queue/cache, audit, and reconciliation maps.
123
+ - The credit surface has balance, ledger-entry, source identity, atomicity, amount/unit, ownership, balance-rights, expiry/lot, quote/fulfillment, reservation, queue/cache, audit, and reconciliation maps.
120
124
  - Any mutable-balance-only path, missing source key, weak idempotency comparison, non-atomic deduction, wrong lock target, float amount, hidden rounding policy, missing DB invariant, duplicate ledger risk, generic refund, expiry race, cache-trusted deduction, stale replica read, unaudited admin adjustment, or missing reconciliation is fixed or reported with evidence.
121
125
  - Tests or explicit verification cover the highest-risk concurrency, failure, duplicate, expiry, reservation, refund, cache, and reconciliation paths available in the current scope.
122
126
  - Soft operational budgets remain outside this ledger unless they represent prepaid or money-equivalent value.
@@ -152,7 +156,7 @@ Prefer focused tests for concurrent deductions, duplicate idempotency keys, affe
152
156
  ## Output Format
153
157
 
154
158
  - Credit or wallet surface reviewed
155
- - Balance, ledger-entry, source identity, atomicity, amount/unit, ownership, expiry/lot, reservation, queue/cache, audit, and reconciliation ledgers
159
+ - Balance, ledger-entry, source identity, atomicity, amount/unit, ownership, balance-rights, expiry/lot, quote/fulfillment, reservation, queue/cache, audit, and reconciliation ledgers
156
160
  - Findings or fixes for duplicate, concurrent, wrong-owner, wrong-amount, rounding, expiry, reservation, refund, cache, replica, failure-recovery, admin, and reconciliation risks
157
161
  - Nightmare-path tests or evidence added, run, skipped, or still missing
158
162
  - Command intents run
@@ -0,0 +1,283 @@
1
+ ---
2
+ mustflow_doc: skill.credit-monetization-integrity-review
3
+ locale: en
4
+ canonical: true
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: credit-monetization-integrity-review
9
+ description: Apply this skill when a product changes credit-pack offers, offer timing, price-discount versus bonus-credit framing, pack count or spacing, first-purchase recommendations, purchased-credit expiry, subscription-credit rollover, promotional balances, spend order, credit price disclosure, variable-cost estimates, quote and reservation UX, breakage, repurchase, retention, or credit-monetization experiments and must optimize long-horizon contribution without deceptive equivalence, balance-rights drift, surprise deductions, or survivor-biased metrics.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.credit-monetization-integrity-review
15
+ command_intents:
16
+ - changes_status
17
+ - changes_diff_summary
18
+ - lint
19
+ - build
20
+ - test_related
21
+ - test
22
+ - docs_validate_fast
23
+ - test_release
24
+ - mustflow_check
25
+ ---
26
+
27
+ # Credit Monetization Integrity Review
28
+
29
+ <!-- mustflow-section: purpose -->
30
+ ## Purpose
31
+
32
+ Sell and spend product credits without optimizing a checkout click, early breakage, or raw execution
33
+ count at the expense of customer rights, useful output, repurchase, retention, or long-horizon
34
+ contribution. Keep offer design, balance-class policy, user-visible price authorization, technical
35
+ ledger integrity, payment processing, accounting, and legal or platform compliance as connected but
36
+ separately owned contracts.
37
+
38
+ <!-- mustflow-section: use-when -->
39
+ ## Use When
40
+
41
+ - A credit or usage-pack offer changes timing, trigger, eligibility, discount, bonus, limit, expiry,
42
+ urgency, recommendation, or first-purchase treatment.
43
+ - A product compares price-discount and bonus-credit framing or changes how credits translate into
44
+ images, minutes, tasks, API calls, documents, generations, or other user-recognizable output.
45
+ - The first-purchase screen changes between three, five, seven, custom, tiered, decoy, anchored, or
46
+ recommended credit packs, or changes price and unit-price spacing.
47
+ - Purchased top-up, subscription-included, promotional, referral, trial, refund, or enterprise
48
+ credits change expiry, rollover, cancellation, downgrade, transfer, refund, or spend-order policy.
49
+ - A feature changes from hidden or post-execution deduction to an exact or bounded pre-execution
50
+ quote, maximum authorization, reservation, success-based capture, partial settlement, or release.
51
+ - Credit conversion, repurchase, breakage, retained use, contribution, variable cost, refund, support,
52
+ or experiment definitions are created, changed, reviewed, or reported.
53
+
54
+ <!-- mustflow-section: do-not-use-when -->
55
+ ## Do Not Use When
56
+
57
+ - The main risk is atomic balance mutation, lot allocation, reservation state, idempotency,
58
+ concurrency, expiry races, refunds, reconciliation, or admin adjustment; use
59
+ `credit-ledger-integrity-review` as the technical owner.
60
+ - The main risk is checkout, provider payment, tax, invoice, receipt, refund, dispute, chargeback,
61
+ fraud, or payment webhook correctness; use `payment-integrity-review`.
62
+ - The main risk is cancellation, pause, downgrade, dormant-user win-back, or save-offer profit; use
63
+ `subscription-retention-profit-review`.
64
+ - The main risk is signup, pre-account activation, first-owned value, or onboarding questions without
65
+ a credit purchase or spend policy; use `product-onboarding-activation-review`.
66
+ - The task only estimates internal model or compute cost and does not change a user credit right,
67
+ price, purchase, or deduction; use the matching cost-control skill.
68
+ - The task requests jurisdiction-specific legal, tax, accounting, or unclaimed-property advice. Use
69
+ qualified authority and current primary rules; this skill supplies the product evidence packet but
70
+ does not decide legal classification.
71
+
72
+ <!-- mustflow-section: required-inputs -->
73
+ ## Required Inputs
74
+
75
+ - Eligible-cohort ledger: eligibility, assignment unit and time, holdout, exposure, offer trigger,
76
+ identity joins, exclusions, prior-purchase state, product-value state, traffic, and denominator.
77
+ - Offer ledger: offer version, trigger, surface, interruption cost, real start and expiry, pack scope,
78
+ discount or bonus, cap, eligibility, cooldown, price history, and suppression.
79
+ - Value and usage ledger: first owned result, recognizable output units, free and paid usage, expected
80
+ cadence, depletion, active-user usage distribution, useful-result rate, and abandoned or failed use.
81
+ - Pack ledger: price, credits, unit price, output-equivalent range, variable cost, margin, recommended
82
+ segment, lower and upper alternatives, custom amount, refundability, and historical selection.
83
+ - Balance-rights ledger: acquisition class, consideration paid, policy and price version, expiry,
84
+ rollover, cancellation or downgrade behavior, refund, transfer, spend priority, platform rule,
85
+ jurisdiction review, and accounting treatment.
86
+ - Quote and execution ledger: input parameters, exact or estimated charge, estimate range, maximum
87
+ authorization, quote ID and expiry, price version, reservation, actual charge, usable-result
88
+ predicate, partial-result rule, release, reversal, and retry identity.
89
+ - Economics ledger: cash collected, payment and refund cost, variable service cost, support and
90
+ dispute cost, bonus liability, deferred or recognized revenue boundary, breakage, repurchase,
91
+ retention, and contribution per eligible unit over declared horizons.
92
+ - Experiment ledger: control and variants, sequencing, power assumptions, exposure integrity,
93
+ cannibalization, stockpiling, delayed repurchase, guardrails, segment policy, and promotion rule.
94
+
95
+ <!-- mustflow-section: preconditions -->
96
+ ## Preconditions
97
+
98
+ - Define the user-owned value event, balance classes, and usable-result predicate before changing an
99
+ offer, expiry, rollover, pack, or deduction policy.
100
+ - Assign experiments before a behavior-dependent offer trigger. Keep assigned users who never reach
101
+ the trigger in the intent-to-treat denominator, while recording trigger reach and exposure
102
+ separately.
103
+ - Refresh current platform, app-store, jurisdiction, contract, accounting, and tax constraints before
104
+ changing purchased-value expiry, cancellation forfeiture, restore, refund, or price representation.
105
+ - Treat vendor policies, academic studies, benchmark rates, sample prices, pack ratios, and another
106
+ product's rollover cap as hypotheses or comparators, not repository defaults.
107
+ - Keep command execution under `.mustflow/config/commands.toml`; this skill does not authorize live
108
+ price changes, promotions, balance mutations, payments, messages, experiments, or legal filings.
109
+
110
+ <!-- mustflow-section: allowed-edits -->
111
+ ## Allowed Edits
112
+
113
+ - Add or refine offer eligibility and timing, equivalent-value calculation, pack construction and
114
+ recommendation, output-unit translations, balance-class policy, expiry and rollover rules,
115
+ user-visible quote and authorization, contribution metrics, experiment assignment, guardrails,
116
+ fixtures, tests, docs, route metadata, and synchronized templates.
117
+ - Add explicit handoffs to credit-ledger, payment, accounting, tax, privacy, consumer-protection, or
118
+ platform review when those owners must implement or approve the policy.
119
+ - Remove fake urgency, economically unequal framing tests presented as copy tests, dominated decoy
120
+ packs, hidden deductions, unsupported exact estimates, or breakage targets that reward unused value.
121
+ - Do not retroactively rewrite purchased rights, expire balances contrary to an applicable platform
122
+ or legal rule, hide a required total price, or capture credits for an unusable result merely because
123
+ an internal provider incurred cost.
124
+
125
+ <!-- mustflow-section: procedure -->
126
+ ## Procedure
127
+
128
+ 1. Separate six decisions: offer timing, economic framing, pack architecture, balance rights,
129
+ user-visible spend authorization, and ledger settlement. Do not let one winning purchase metric
130
+ silently choose the other five.
131
+ 2. Define the headline outcome per eligible assigned user. Prefer incremental contribution over a
132
+ declared short and long horizon, supported by paid conversion, useful paid output, depletion-
133
+ adjusted repurchase, retained use, refunds, disputes, support, and variable cost. Treat offer open,
134
+ checkout start, raw purchase rate, raw executions, and breakage as diagnostic events.
135
+ 3. Randomize before the offer can become eligible. Compare a no-offer or business-as-usual holdout
136
+ with bounded timing policies such as account completion, first owned value, a declared depletion
137
+ state, or a time-based reminder. Do not analyze only users who reached first success or depleted a
138
+ free balance.
139
+ 4. Price interruption cost. Before value, a full-screen offer can block activation; after value, an
140
+ offer may extend a proven job; near depletion, exposed users are fewer but intent may be stronger.
141
+ Preserve a nonblocking path and do not copy a universal best trigger.
142
+ 5. Anchor any real deadline to the event that creates eligibility and disclose the exact expiry.
143
+ Preserve the offer after refresh and across devices when promised. Do not restart countdowns,
144
+ invent scarcity, or begin a value-dependent offer before the user could receive value.
145
+ 6. Normalize economic value before testing copy. For price discount `d`, the paid unit-price factor
146
+ is `1 - d`. For bonus fraction `b`, it is `1 / (1 + b)` and the effective unit discount is
147
+ `b / (1 + b)`. An equivalent bonus for discount `d` is `d / (1 - d)`. Hold unit economics equal
148
+ when the question is framing, or label the test as an offer-value test.
149
+ 7. Translate credits into user-recognizable output. Show total credits, unit price or savings, and a
150
+ bounded result-equivalent derived from current product prices. Use ranges when input length,
151
+ duration, model, quality, or external calls vary; do not promise one exact output count from an
152
+ unstable mix.
153
+ 8. Measure bonus inventory correctly. Extra credits can delay the next purchase without reducing
154
+ satisfaction. Track consumption velocity, balance depletion, repurchase after comparable
155
+ depletion, cumulative cash, contribution, and retained useful output rather than declaring an
156
+ early repurchase decline a retention failure.
157
+ 9. Price promotional cannibalization and stockpiling. Include buyers who would have paid full price,
158
+ bonus credits actually consumed, future purchases displaced, refund and support cost, and heavy
159
+ users who pull demand forward. Cap scope from observed economics, not a universal percentage.
160
+ 10. Build pack candidates from usage and willingness evidence. Use the lower pack for safe entry, the
161
+ recommended pack for a declared typical segment or task horizon, and the upper pack for genuine
162
+ high usage. Price gaps, credit gaps, and unit discounts must be legible and economically viable.
163
+ 11. Start with the smallest pack set that represents materially different jobs. Three packs are a
164
+ useful first-purchase hypothesis, not a law. Compare three with five when added tiers map to real
165
+ segments; expose more tiers or custom amounts to repeat or high-variance buyers when evidence
166
+ supports them. Do not add seven merely to create an anchor.
167
+ 12. Reject fake decoys. A deliberately dominated pack can make the entire credit system look
168
+ manipulated. Each displayed pack needs a plausible buyer, a clear output-equivalent, and a reason
169
+ to exist other than making another pack look cheap.
170
+ 13. Keep recommendation honest. Name the usage basis, avoid preselecting a pack that exceeds the
171
+ represented need, make every alternative and unit price visible, and measure regret, refunds,
172
+ support, depletion, and repeat purchase by selected pack.
173
+ 14. Classify every balance lot by acquired right. Separate purchased top-up, subscription-included,
174
+ promotional or referral, trial, refund, enterprise commitment, and admin grant when consideration,
175
+ expiry, rollover, restore, cancellation, accounting, platform, or legal rights differ.
176
+ 15. Do not treat purchased-credit expiry as free margin. Cash arrives at purchase; unused rights can
177
+ change future service cost and revenue recognition but can also reduce conversion, trust,
178
+ repurchase, and retained value. Compare lawful policy variants by long-horizon contribution and
179
+ never use breakage alone as the objective.
180
+ 16. Gate expiry through current authority. Record platform and jurisdiction, product classification,
181
+ customer type, contract version, notice, restore, refund, inactivity, unclaimed-property, and
182
+ accounting treatment. If authority is unresolved, preserve the more durable purchased right and
183
+ keep promotional or subscription policy separate rather than guessing.
184
+ 17. Derive subscription rollover from cost and retention evidence. Compare full reset, bounded
185
+ rollover, and other lawful policies using maximum liability, usage bursts, concurrency, capacity,
186
+ cancellation or downgrade behavior, and long-horizon cohort contribution. A one-cycle or
187
+ multiple-of-quota cap is a candidate, not a universal default.
188
+ 18. Spend lots by explicit rights. Prefer the balance that would lawfully expire sooner when doing so
189
+ preserves user value, but keep refunds, tax, enterprise commitments, negative balances, plan
190
+ changes, and policy snapshots reconstructable. Never consume durable purchased value first merely
191
+ to manufacture subscription breakage.
192
+ 19. Preserve price-version meaning. Snapshot the feature price, pack price, bonus, output-equivalent,
193
+ policy, and conversion rule used at purchase and execution. Review whether later feature-price
194
+ changes lawfully alter old credit purchasing power; do not hide retroactive devaluation behind a
195
+ nominally unchanged balance.
196
+ 20. Show spend before execution. Display an exact charge when inputs fix the cost. Otherwise show a
197
+ defensible range and maximum authorization, the factors that can change it, remaining balance,
198
+ and what happens on failure or cancellation. Price visibility need not require a blocking modal
199
+ for every low-cost repeat action.
200
+ 21. Use a quote-reserve-settle flow. Create an expiring `quote_id` bound to actor, product, input hash,
201
+ price version, policy, exact or maximum amount, and idempotency identity; reserve atomically;
202
+ execute once; capture the allowed actual amount for a usable result; and release the remainder on
203
+ lower usage, failure, cancellation, or recovered timeout. Route ledger correctness through
204
+ `credit-ledger-integrity-review`.
205
+ 22. Define usable and partial results before charging. Distinguish full success, declared partial
206
+ value, user cancellation, safety refusal, provider failure, product defect, timeout with unknown
207
+ outcome, and duplicate retry. Internal compute cost does not by itself prove customer value or
208
+ authorize a deduction.
209
+ 23. Add confirmation only when consequence warrants it. Consider spend share, cash top-up, unusual
210
+ model or quality, irreversible output, variable maximum, or first use. Let users remember a safe
211
+ choice with an accessible way to inspect and change it; do not copy a universal balance percentage.
212
+ 24. Separate product, ledger, payment, and accounting evidence. A product experiment can recommend a
213
+ policy but cannot prove atomic balances, provider settlement, tax treatment, or revenue
214
+ recognition. Require the matching specialist evidence before reporting the full system ready.
215
+ 25. Predeclare guardrails and analysis. Include activation interruption, useful-output rate, latency,
216
+ stockpiling, depletion, unit cost, p95 cost, refunds, support, disputes, accessibility, platform
217
+ rejection, legal review, accounting uncertainty, and segment heterogeneity. Correct repeated
218
+ peeking and do not ship a post-hoc segment as established.
219
+ 26. Promote only a reversible policy whose eligible-cohort contribution improves without violating
220
+ purchased rights, transparent pricing, useful-result charging, ledger integrity, or platform and
221
+ legal constraints. Preserve old policy snapshots and a rollback path for future transactions.
222
+
223
+ <!-- mustflow-section: postconditions -->
224
+ ## Postconditions
225
+
226
+ - Offer timing uses pre-trigger assignment, a holdout, an eligible-cohort denominator, and both
227
+ activation and long-horizon contribution guardrails.
228
+ - Discount and bonus framing is compared at equal unit economics or explicitly labeled unequal.
229
+ - Pack count and spacing follow real usage segments, legible unit economics, and non-dominated jobs
230
+ rather than a universal tier count or copied price ratio.
231
+ - Purchased, subscription, promotional, trial, enterprise, refund, and admin balances retain distinct
232
+ policy snapshots, expiry or rollover rights, and spend order where their contracts differ.
233
+ - Expiry and rollover decisions name current platform, jurisdiction, accounting, cost, capacity,
234
+ cancellation, and long-horizon retention evidence or remain unresolved.
235
+ - Every execution shows an exact or bounded price before authorization and settles a quote through
236
+ reserve, usable-result capture, and release or reversal.
237
+ - Breakage, raw execution, checkout start, and trigger-reached conversion remain diagnostics rather
238
+ than standalone proof of monetization success.
239
+
240
+ <!-- mustflow-section: verification -->
241
+ ## Verification
242
+
243
+ Use configured oneshot command intents when available: `changes_status`, `changes_diff_summary`,
244
+ `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, and `mustflow_check`.
245
+ Do not infer raw analytics, warehouse, payment-provider, balance-mutation, accounting, experiment,
246
+ deployment, or production commands.
247
+
248
+ <!-- mustflow-section: failure-handling -->
249
+ ## Failure Handling
250
+
251
+ - If discount and bonus variants have different unit economics, stop calling the result a framing
252
+ effect and report the actual effective discount and margin difference.
253
+ - If assignment begins after first value or depletion, report trigger-conditioned evidence and do
254
+ not generalize it to the eligible signup or visitor cohort.
255
+ - If traffic cannot support timing, framing, and pack tests together, sequence them and keep the
256
+ remaining decisions as hypotheses rather than bundling mechanisms into one opaque variant.
257
+ - If purchased-right expiry or cancellation forfeiture lacks current platform, jurisdiction,
258
+ contract, and accounting evidence, preserve the existing durable right and route the decision to
259
+ qualified authority.
260
+ - If balance classes cannot be reconstructed, do not introduce a new expiry, rollover, or spend-order
261
+ policy until the ledger can preserve acquisition source and policy version.
262
+ - If a variable-cost action cannot produce a defensible estimate, set a conservative authorized
263
+ maximum or block the paid path; do not advertise fake precision or surprise-charge afterward.
264
+ - If execution outcome is unknown, keep the reservation pending or reconcile it under a bounded
265
+ policy; do not capture or release based only on a client timeout.
266
+ - If short-horizon purchase or breakage rises while useful output, contribution, repurchase,
267
+ retention, refunds, disputes, support, or trust guardrails worsen, reject or narrow the treatment.
268
+
269
+ <!-- mustflow-section: output-format -->
270
+ ## Output Format
271
+
272
+ - Eligible cohort, assignment, trigger, exposure, holdout, and denominator
273
+ - Offer timing, interruption, urgency, eligibility, and suppression decision
274
+ - Discount and bonus economic-equivalence calculation and framing result
275
+ - Pack count, segment, output-equivalent, price spacing, recommendation, and margin decision
276
+ - Balance classes, purchased rights, expiry, rollover, cancellation, restore, and spend-order policy
277
+ - Exact or bounded quote, maximum authorization, reserve, usable-result capture, and release contract
278
+ - Short- and long-horizon contribution, depletion-adjusted repurchase, cost, refund, support, dispute,
279
+ activation, retention, platform, legal, accounting, and trust evidence
280
+ - Files changed
281
+ - Command intents run and skipped checks
282
+ - Remaining credit-monetization risk
283
+