Skip to content

feat(skills): add checkout-browser companion skill (browse → pay with Link)#136

Draft
shubh24 wants to merge 1 commit into
stripe:mainfrom
shubh24:feat/checkout-browser-skill
Draft

feat(skills): add checkout-browser companion skill (browse → pay with Link)#136
shubh24 wants to merge 1 commit into
stripe:mainfrom
shubh24:feat/checkout-browser-skill

Conversation

@shubh24

@shubh24 shubh24 commented Jun 4, 2026

Copy link
Copy Markdown

What

Adds a new companion skill, checkout-browser (skills/checkout-browser/SKILL.md), that gives an agent the ability to browse a real merchant to checkout and then pay with a Link one-time card.

Today create-payment-credential assumes the agent can already "navigate to the merchant page" and "enter card details into the checkout form" — but it doesn't provide that browsing capability. This skill is that missing half. The two compose cleanly:

  • create-payment-credential → the payment flow (auth → spend-request → retrieve credential)
  • checkout-browser → the browsing flow (navigate the site → scrape the live total → hand off to create-payment-credential → fill the card → place the order)

It's authored by Browserbase and driven by the browse CLI. Opening as a draft for your feedback on fit, placement, and conventions.

Scope of this PR

  • One file added: skills/checkout-browser/SKILL.md. No source, README, CLAUDE.md, or manifest changes.
  • It ships automatically via the existing plugin — plugins/link/skills is a symlink to skills/, so no registration change is needed.
  • The skill is independently versioned (0.1.0) and is not wired into scripts/sync-skill-version.js. Happy to align it to the package version / add it to the sync script if you'd prefer skills track the package.

Design

  • Recipe-first, own-flow fallback. Step 1 checks the Browse.sh catalog for a site recipe (browse skills find); if one exists it's a warm-start, otherwise the agent runs a generic search → product → cart → checkout flow.
  • Local or remote. browse --remote (Browserbase cloud: stealth, CAPTCHA solving, proxies, recording) or --local/--auto-connect (the user's own Chrome). Guidance on when to pick each is in the skill.
  • Total-match guardrail. The agent authorizes the scraped live total via spend-request, never an estimate, and stops if it exceeds the user's ceiling.
  • Human-in-the-loop. The card only issues after the user approves the exact amount in the Link app; the agent never auto-places an order the user hasn't seen.

Validated end-to-end

This was tested live before opening, including a real purchase:

  • Real Amazon checkout — searched, picked a well-rated item, drove cart → checkout, scraped the live total ($10.85), minted a Link one-time card for that exact amount (approved in the Link app), added it as the Amazon payment method, and placed the order. ✅
  • Generic own-flow — full cart → checkout → order-review total on a sandbox store (no recipe), proving the fallback path.
  • Recipe sweep — across 7 top merchants, recipes exist but are read-only search/extract; this is why the skill treats recipes as a warm-start, not a checkout shortcut.

A couple of real gotchas surfaced and are documented in the skill — most notably that cross-origin card iframes (Amazon's add-a-card form, Stripe Elements) block same-document fill, but the accessibility tree crosses frames, so browse snapshot + fill-by-@ref reaches the fields.

Open questions for maintainers

  1. Placement — happy for this to live here, or in browserbase/browse.sh if you'd rather not host a third-party skill in-repo.
  2. Versioning — keep it independently versioned, or sync to the package version like create-payment-credential?
  3. Anything you'd want changed in tone/structure to match house conventions for skills.

I'll sign the CLA. 🤖 Generated with Claude Code

Adds a Browserbase-authored skill that drives a cloud (--remote) or local
(--local/--auto-connect) browser via the `browse` CLI to a merchant's
checkout, scrapes the live order total, then hands off to
`create-payment-credential` to pay with a Link one-time card.

This is the browsing half that `create-payment-credential` already assumes
("navigate to the merchant page", "enter card details into the checkout
form") but does not itself provide. Recipe-first (Browse.sh catalog) with a
generic own-flow fallback. Ships via the existing plugin without changes
(plugins/link/skills -> skills symlink). No other files touched.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cla-assistant

cla-assistant Bot commented Jun 4, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant