doctor
Audits an existing PagoKit integration in the current project against the generated per-provider checklist, so it covers every provider in the catalog rather…
Plans and executes a migration from one payment provider to another without downtime. Establishes what cannot move (stored card tokens usually cannot), maps the two providers' event vocabularies, flags architectural differences such as a change of notification model or a move to
$ npx -y skills add Hainrixz/agente-pagokit --skill payment-migrator --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/payment-migratorContext preview
The summary Claude sees to decide when to auto-load this skill.
Plans and executes a migration from one payment provider to another without downtime. Establishes what cannot move (stored card tokens usually cannot), maps the two providers' event vocabularies, flags architectural differences such as a change of notification model or a move to
name: payment-migrator description: Plans and executes a migration from one payment provider to another without downtime. Establishes what cannot move (stored card tokens usually cannot), maps the two providers' event vocabularies, flags architectural differences such as a change of notification model or a move to a merchant of record, and sequences a coexistence period rather than an atomic switch. Powers /pagokit:migrate. when_to_use: | - The user invokes /pagokit:migrate, or asks how to move from one provider to another - A provider is being wound down, or its fees or coverage no longer fit allowed-tools: Read, Glob, Grep
There is no moment at which flipping every payment from one provider to another is safe. A migration is a period during which both run, and the job is to make that period short, observable and reversible.
Read `PAGOKIT_INTEGRATION.md`, then verify it against the code; it goes stale. You need:
Say this before planning anything, because it determines whether the migration is a technical task or a customer-facing event.
**Stored card tokens usually cannot migrate.** They belong to the provider that vaulted them. Some providers support a PCI-scoped token export or a network-token migration on request; most do not, and the ones that do require a written agreement between both parties. Until that is confirmed in writing, plan for existing subscribers to re-enter a card — which is a churn event, not a detail.
Read both catalog entries and name every difference that changes the architecture:
| Compare | If it differs | |---|---| | `notification_model` | Moving to `return_url_commit` or `ping_then_poll` is a different architecture, not a swapped SDK | | `webhook.required_events_minimum` | Map them explicitly. Flag every event with no equivalent | | `mor.is_mor` | A merchant of record becomes the seller. Invoices, tax handling and the statement descriptor all change | | `methods` and their `reversibility` | New irreversible rails mean the refund path changes shape | | `settlement.payout_delay_days` | Cash flow changes, and someone in finance needs to know | | `recurring.rails` | Card-to-mandate is a different lifecycle entirely | | `pci.scope` | Moving to a direct-API integration can push the merchant from SAQ A to SAQ D |
1. Add the new provider alongside the old one. Both webhook routes live; they are namespaced already. 2. Route **new** payments to the new provider. Leave everything existing where it is. 3. Migrate subscriptions at their natural renewal, not in a batch. A batch migration turns one bad assumption into every customer's problem simultaneously. 4. Keep the old handler alive for as long as the old provider can still send disputes and refunds — months, not days. 5. Keep the `provider` column on every payment row permanently. Reconciliation needs it long after the old provider is gone.
`PAGOKIT_MIGRATION.md`: what moves when, what cannot move, what the customer sees, how to tell whether it is working, and the rollback. A migration without a written rollback is a bet.
Before the first payment routes to the new provider, make these observable: success rate by provider, decline reasons by provider, webhook delivery failures, and time from checkout to confirmed payment. A migration that quietly halves your approval rate looks exactly like a successful one until the end of the month.
Claude Code plugin that picks and implements the right payment method for your app — from your terminal. 42 providers, 136 payment rails, and deterministic validators that block insecure payment code as it is written.
Repo: Hainrixz/agente-pagokit
Audits an existing PagoKit integration in the current project against the generated per-provider checklist, so it covers every provider in the catalog rather…
Composes a complete payment integration by resolving capability fragments against the chosen provider's catalog entry, then emits a structured file plan for…
Recommends the single best payment provider for the user's project after a short interactive wizard, then hands off to the implementer. Runs a deterministic…
Detects a project's technology stack, framework, deploy target, ORM, primary language, and active payment use cases by reading…
Covers everything after the subscription is created — trials, proration on upgrade and downgrade, dunning and retry schedules, grace periods, involuntary churn…
Explains what a merchant owes the tax authority once a payment succeeds, and whether a merchant of record removes that obligation. Covers the…