mustflow 2.116.4 → 2.117.1

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 (43) hide show
  1. package/package.json +1 -1
  2. package/templates/default/i18n.toml +152 -8
  3. package/templates/default/locales/en/.mustflow/skills/INDEX.md +131 -13
  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/connection-lifecycle-integrity-review/SKILL.md +302 -0
  14. package/templates/default/locales/en/.mustflow/skills/connection-lifecycle-integrity-review/references/connection-fault-injection-resource-lifetime-validation.md +277 -0
  15. package/templates/default/locales/en/.mustflow/skills/connection-lifecycle-integrity-review/references/node-stream-transport-lifecycle-checklist.md +381 -0
  16. package/templates/default/locales/en/.mustflow/skills/credit-ledger-integrity-review/SKILL.md +8 -4
  17. package/templates/default/locales/en/.mustflow/skills/credit-monetization-integrity-review/SKILL.md +283 -0
  18. package/templates/default/locales/en/.mustflow/skills/desktop-commercial-distribution-review/SKILL.md +225 -0
  19. package/templates/default/locales/en/.mustflow/skills/external-prompt-injection-defense/SKILL.md +49 -3
  20. package/templates/default/locales/en/.mustflow/skills/freemium-ad-monetization-review/SKILL.md +196 -0
  21. package/templates/default/locales/en/.mustflow/skills/game-economy-monetization-review/SKILL.md +208 -0
  22. package/templates/default/locales/en/.mustflow/skills/game-liveops-commerce-integrity-review/SKILL.md +237 -0
  23. package/templates/default/locales/en/.mustflow/skills/growth-distribution-integrity-review/SKILL.md +247 -0
  24. package/templates/default/locales/en/.mustflow/skills/idempotency-integrity-review/SKILL.md +20 -2
  25. package/templates/default/locales/en/.mustflow/skills/llm-model-routing-integrity-review/SKILL.md +183 -0
  26. package/templates/default/locales/en/.mustflow/skills/llm-product-monetization-review/SKILL.md +311 -0
  27. package/templates/default/locales/en/.mustflow/skills/llm-token-cost-control-review/SKILL.md +15 -1
  28. package/templates/default/locales/en/.mustflow/skills/localization-market-expansion-review/SKILL.md +224 -0
  29. package/templates/default/locales/en/.mustflow/skills/memory-lifetime-review/SKILL.md +94 -2
  30. package/templates/default/locales/en/.mustflow/skills/memory-lifetime-review/references/cross-runtime-memory-stream-reproduction-harness.md +289 -0
  31. package/templates/default/locales/en/.mustflow/skills/memory-lifetime-review/references/node-memory-resource-backpressure-diagnostics.md +369 -0
  32. package/templates/default/locales/en/.mustflow/skills/multi-agent-work-coordination/SKILL.md +7 -2
  33. package/templates/default/locales/en/.mustflow/skills/pricing-model-integrity-review/SKILL.md +288 -0
  34. package/templates/default/locales/en/.mustflow/skills/product-engagement-retention-review/SKILL.md +234 -0
  35. package/templates/default/locales/en/.mustflow/skills/product-onboarding-activation-review/SKILL.md +269 -0
  36. package/templates/default/locales/en/.mustflow/skills/product-portfolio-integrity-review/SKILL.md +233 -0
  37. package/templates/default/locales/en/.mustflow/skills/prompt-contract-quality-review/SKILL.md +1 -0
  38. package/templates/default/locales/en/.mustflow/skills/referral-incentive-integrity-review/SKILL.md +206 -0
  39. package/templates/default/locales/en/.mustflow/skills/retry-policy-integrity-review/SKILL.md +45 -2
  40. package/templates/default/locales/en/.mustflow/skills/routes.toml +346 -7
  41. package/templates/default/locales/en/.mustflow/skills/service-portfolio-capital-allocation-review/SKILL.md +245 -0
  42. package/templates/default/locales/en/.mustflow/skills/subscription-retention-profit-review/SKILL.md +217 -0
  43. package/templates/default/manifest.toml +97 -1
@@ -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
+
@@ -0,0 +1,225 @@
1
+ ---
2
+ mustflow_doc: skill.desktop-commercial-distribution-review
3
+ locale: en
4
+ canonical: true
5
+ revision: 1
6
+ lifecycle: mustflow-owned
7
+ authority: procedure
8
+ name: desktop-commercial-distribution-review
9
+ description: Apply this skill when a commercial desktop app changes direct download versus Microsoft Store or Mac App Store distribution, hybrid store and website availability, store versus external commerce, channel fees and net receipts, installation trust, signing or notarization cost, sandbox and capability fit, discovery, checkout conversion, trials and licenses, purchase restoration, entitlement portability, update-channel ownership, review delay, enterprise or offline distribution, channel-specific support, or retained contribution and must choose distribution without forking the product or relying on stale store policy.
10
+ metadata:
11
+ mustflow_schema: "1"
12
+ mustflow_kind: procedure
13
+ pack_id: mustflow.core
14
+ skill_id: mustflow.core.desktop-commercial-distribution-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
+ # Desktop Commercial Distribution Review
28
+
29
+ <!-- mustflow-section: purpose -->
30
+ ## Purpose
31
+
32
+ Choose direct, store, or hybrid desktop distribution from platform fit, customer trust, commerce,
33
+ licensing, update ownership, support cost, and incremental contribution. Keep one product contract
34
+ while channel adapters satisfy different packaging and policy boundaries.
35
+
36
+ <!-- mustflow-section: use-when -->
37
+ ## Use When
38
+
39
+ - A Windows or macOS desktop app compares website download, Microsoft Store, Mac App Store, another
40
+ approved storefront, managed enterprise distribution, or a hybrid channel strategy.
41
+ - The app compares store commerce with external checkout, subscription, perpetual license, paid
42
+ upgrade, coupon, bundle, team license, or customer account entitlements.
43
+ - Store fees, payment processing, tax handling, refunds, chargebacks, discovery, trust, code signing,
44
+ notarization, malware reputation, sandboxing, review delay, updates, analytics, or support change.
45
+ - Direct and store builds differ in capabilities, installers, licensing, account login, trial,
46
+ restore, update mechanism, plugins, automation, background services, or enterprise deployment.
47
+ - A report claims one channel produces better conversion, lower fees, easier updates, more trust, or
48
+ higher retained contribution.
49
+
50
+ <!-- mustflow-section: do-not-use-when -->
51
+ ## Do Not Use When
52
+
53
+ - The task only changes updater feeds, signatures, immutable artifacts, staged rollout, old-version
54
+ upgrades, relaunch, or update telemetry; use `desktop-auto-update-safety-review`.
55
+ - The task only changes packaging, signing, notarization, release assets, publication, or installed
56
+ smoke tests with a distribution channel already chosen; use the matching release, packaging, and
57
+ platform skills.
58
+ - The task only changes checkout, payment webhooks, tax, refund, dispute, or entitlement correctness
59
+ independent of desktop channel choice; use `payment-integrity-review`.
60
+ - The task only changes generic subscription, trial, price, regional pricing, or bundle economics;
61
+ use `pricing-model-integrity-review` or `product-portfolio-integrity-review`.
62
+ - The task requests current platform-law interpretation or contract advice. Use official current
63
+ platform terms and qualified authority; this skill supplies the comparison packet.
64
+
65
+ <!-- mustflow-section: required-inputs -->
66
+ ## Required Inputs
67
+
68
+ - Product ledger: audience, buyer, price and cadence, core job, platform targets, capability and
69
+ privilege needs, plugins or extensions, background services, local files, enterprise needs,
70
+ offline use, support model, and expected update cadence.
71
+ - Channel ledger: platform, storefront or website, app type, packaging, sandbox, capability,
72
+ signing, notarization, review, listing, regions, discovery, install trust, trial, commerce,
73
+ entitlement, restore, update, rollback, analytics, ratings, support, and policy version.
74
+ - Economics ledger: gross price, store share, payment processing, fixed transaction fee, tax and
75
+ merchant-of-record cost, refund, chargeback, fraud, signing, hosting, bandwidth, review delay,
76
+ update operation, support, acquisition, retained revenue, and contribution.
77
+ - Identity and license ledger: product account, store account, transaction identity, receipt,
78
+ license, device or seat, organization, entitlement source, restore, refund, revocation, migration,
79
+ offline lease, and customer support lookup.
80
+ - Build ledger: common core, channel adapter, feature flags, packaging, commerce adapter, license
81
+ adapter, update adapter, policy differences, artifact identity, version, tests, and drift owner.
82
+ - Experiment ledger: eligible buyer, acquisition source, channel availability, exposure, self-
83
+ selection, price and package parity, platform and region, install, purchase, activation, refund,
84
+ retained use, support, and promotion rule.
85
+
86
+ <!-- mustflow-section: preconditions -->
87
+ ## Preconditions
88
+
89
+ - Separate listing and discovery, binary distribution, checkout, entitlement, update, and support.
90
+ One channel need not own every layer.
91
+ - Identify app type and current platform policy before assuming fees, external commerce, sandbox,
92
+ signing, entitlement, or update rules.
93
+ - Define one product identity and accepted entitlement before adding channel-specific adapters.
94
+ - Treat copied fee percentages, registration costs, conversion lifts, review times, platform defaults,
95
+ and break-even thresholds as dated inputs, not built-in policy.
96
+ - This skill does not authorize developer enrollment, contract acceptance, store submission,
97
+ signing-key access, notarization, publication, price changes, live checkout, migration, or release.
98
+
99
+ <!-- mustflow-section: allowed-edits -->
100
+ ## Allowed Edits
101
+
102
+ - Add or refine channel policy, capability and sandbox matrix, direct and store packaging boundaries,
103
+ commerce and license adapters, purchase restoration, entitlement portability, update ownership,
104
+ channel economics, experiments, fixtures, tests, docs, route metadata, and synchronized templates.
105
+ - Add explicit handoffs to platform, packaging, signing, notarization, updater, payment, tax,
106
+ accounting, licensing, security, privacy, enterprise distribution, or legal owners.
107
+ - Replace a forked product, gross-fee comparison, store-discovery assumption, download-as-conversion,
108
+ or channel-specific customer orphaning with shared contracts and full-funnel evidence.
109
+ - Do not bypass store rules, weaken signing or sandbox security, hide channel limitations, duplicate
110
+ purchases silently, or promise license portability that current receipts and contracts cannot
111
+ provide.
112
+
113
+ <!-- mustflow-section: procedure -->
114
+ ## Procedure
115
+
116
+ 1. Split six decisions: discovery, binary delivery, checkout, entitlement, updates, and support.
117
+ Compare direct, store, and hybrid combinations rather than forcing one channel to own all six.
118
+ 2. Classify the app before comparing channels. Include consumer versus professional buyer, price,
119
+ subscription or perpetual rights, system access, automation, plugins, background services,
120
+ enterprise deployment, offline use, and support burden.
121
+ 3. Refresh official platform policy by date, app type, commerce type, region, and program. A current
122
+ non-game exception, external-link entitlement, fee, enrollment rule, or sandbox requirement does
123
+ not automatically apply to games, another region, or a future release.
124
+ 4. Build a capability matrix. Mark which features work unchanged, need an entitlement or review,
125
+ require a channel adapter, degrade under sandboxing, or make the channel infeasible. Do not ship a
126
+ trusted but materially crippled store build without clear disclosure.
127
+ 5. Compare installation trust honestly. Include code signing, notarization, reputation warnings,
128
+ malware scanning, hosted delivery, review, publisher identity, account trust, and enterprise
129
+ policy; a store badge and a signed direct binary provide different evidence.
130
+ 6. Compare discovery as incremental acquisition, not storefront presence. Track listing views,
131
+ qualified installs, first owned value, purchase, retained use, and customers who would have found
132
+ the website anyway.
133
+ 7. Calculate net channel contribution. Include store share, processor and fixed fees, tax or merchant
134
+ services, refunds, chargebacks, fraud, signing, hosting, bandwidth, review delay, update operation,
135
+ support, acquisition, and variable product cost.
136
+ 8. Derive the break-even lift for each actual price and package. A low fixed-price app, high-price
137
+ professional app, subscription, and team license can produce different winners; do not embed one
138
+ fee comparison as a platform law.
139
+ 9. Evaluate Windows store, direct, and hybrid paths under current Microsoft policy and actual app
140
+ type. Store distribution with external commerce can be a candidate where allowed; direct delivery
141
+ may remain necessary for enterprise, offline, portable, privileged, plugin, or unsupported cases.
142
+ 10. Evaluate Mac App Store, notarized direct, and hybrid paths under current Apple policy and actual
143
+ capability needs. Price store trust against sandbox, commerce, review, licensing, update, and
144
+ feature constraints rather than assuming either platform has one universal answer.
145
+ 11. Keep one application core. Isolate store APIs, direct checkout, licensing, updater, packaging,
146
+ and policy differences behind narrow channel adapters and shared feature contracts.
147
+ 12. Prevent capability drift. Version the channel matrix and compare user-visible features,
148
+ accessibility, privacy, data formats, account behavior, performance, and support across builds.
149
+ Differences must be intentional and disclosed.
150
+ 13. Define one entitlement model with channel provenance. Preserve store receipt, direct transaction,
151
+ refund, revocation, subscription status, device or seat, organization, offline lease, and policy
152
+ version without treating a store login as the product's only customer identity.
153
+ 14. Make restoration and duplicate ownership explicit. Cover reinstall, new device, account merge,
154
+ direct-to-store and store-to-direct migration, double purchase, family or organization access,
155
+ refund, chargeback, cancellation, and support lookup.
156
+ 15. Do not promise cross-channel portability automatically. Decide whether rights can be recognized,
157
+ exchanged, discounted, grandfathered, or remain channel-bound according to contracts, fraud risk,
158
+ tax, and platform policy.
159
+ 16. Assign update ownership per channel. Store updates, direct updater, enterprise deployment, and
160
+ manual offline updates need compatible versioning, migration, rollback-forward, support, and
161
+ release notes; route implementation through `desktop-auto-update-safety-review`.
162
+ 17. Account for review and release latency. Cover urgent security fixes, phased rollout, rejection,
163
+ metadata changes, rollback, customer communication, and channel version skew.
164
+ 18. Keep trials and checkout promises channel-aware. State whether trial duration, renewal, refund,
165
+ coupon, perpetual license, paid upgrade, bundle, and team purchase are available and equivalent;
166
+ do not hide a weaker channel after acquisition.
167
+ 19. Measure self-selection. Direct and store customers can differ in trust, technical ability,
168
+ geography, price sensitivity, enterprise policy, and acquisition source. Use matched cohorts,
169
+ staged availability, channel-specific links, or other causal evidence before attributing all
170
+ outcome differences to the channel.
171
+ 20. Judge the full funnel: eligible exposure, listing or landing visit, download, successful install,
172
+ first owned value, purchase, refund, retained use, update health, support, and contribution.
173
+ Downloads and gross store revenue are not the headline result.
174
+ 21. Promote only a reversible channel policy that improves retained contribution while preserving
175
+ necessary capability, accurate store and website claims, signing and update safety, entitlement
176
+ recovery, customer support, and current platform compliance.
177
+
178
+ <!-- mustflow-section: postconditions -->
179
+ ## Postconditions
180
+
181
+ - Discovery, distribution, commerce, entitlement, update, and support ownership are explicit per
182
+ channel.
183
+ - Store and direct builds share one product core with bounded, observable channel adapters.
184
+ - Platform capability, sandbox, signing, notarization, policy, commerce, and review constraints are
185
+ current or explicitly unverified.
186
+ - Purchases can be reconstructed, restored, refunded, revoked, supported, and migrated according to
187
+ a declared channel policy.
188
+ - Headline channel performance uses retained contribution rather than nominal fees, downloads,
189
+ listing presence, gross revenue, or update convenience.
190
+
191
+ <!-- mustflow-section: verification -->
192
+ ## Verification
193
+
194
+ Use configured oneshot command intents when available: `changes_status`, `changes_diff_summary`,
195
+ `lint`, `build`, `test_related`, `test`, `docs_validate_fast`, `test_release`, and
196
+ `mustflow_check`. Do not infer live store, enrollment, signing, notarization, payment, licensing,
197
+ submission, publication, analytics, installer, updater, deployment, or production commands.
198
+
199
+ <!-- mustflow-section: failure-handling -->
200
+ ## Failure Handling
201
+
202
+ - If current store policy or regional applicability cannot be verified, mark the channel rule
203
+ unverified and do not encode it as product behavior.
204
+ - If a store channel removes a core capability, compare a disclosed limited edition or reject the
205
+ channel; do not hide the loss behind install trust.
206
+ - If entitlement provenance or restore behavior is missing, do not launch a second paid channel that
207
+ can orphan or double-charge customers.
208
+ - If channel economics omit review delay, support, refunds, signing, update, or acquisition, report a
209
+ nominal fee comparison rather than a profitability decision.
210
+ - If store and direct builds require diverging product cores, stop and define the missing adapter or
211
+ intentionally separate product contract before expanding both.
212
+
213
+ <!-- mustflow-section: output-format -->
214
+ ## Output Format
215
+
216
+ - Product, buyer, platform, price, capability, privilege, enterprise, offline, and update needs
217
+ - Direct, store, and hybrid discovery, delivery, checkout, entitlement, update, and support matrix
218
+ - Current policy source and date, sandbox, signing, notarization, review, and channel limitation
219
+ - Gross price, fees, tax, refund, fraud, signing, hosting, update, support, acquisition, retained
220
+ contribution, and break-even lift
221
+ - Product core, channel adapters, feature parity, receipt, license, restore, portability, migration,
222
+ duplicate purchase, and version-skew policy
223
+ - Experiment evidence, files changed, command intents run and skipped checks
224
+ - Remaining desktop-commercial-distribution risk
225
+