From 6333361fd1a2484f9edcdd8a741b24f2eca6aa6e Mon Sep 17 00:00:00 2001 From: vpadegal Date: Fri, 11 Sep 2026 18:24:44 +0000 Subject: [PATCH 1/2] Report all agent payment attempts Committed-By-Agent: goose Orbit-Session-Id: 08393e7f-cd12-4124-82bd-a3895cf4eb8c --- .changeset/report-all-agent-attempts.md | 5 +++++ .../skills/complete-link-purchase/SKILL.md | 17 +++++++++-------- skills/create-payment-credential/SKILL.md | 10 +++++----- 3 files changed, 19 insertions(+), 13 deletions(-) create mode 100644 .changeset/report-all-agent-attempts.md diff --git a/.changeset/report-all-agent-attempts.md b/.changeset/report-all-agent-attempts.md new file mode 100644 index 0000000..1063741 --- /dev/null +++ b/.changeset/report-all-agent-attempts.md @@ -0,0 +1,5 @@ +--- +'@stripe/link-cli': patch +--- + +Tell purchasing agents to report every payment attempt, including failures that happen before a spend request is created. diff --git a/plugins/cursor-link/skills/complete-link-purchase/SKILL.md b/plugins/cursor-link/skills/complete-link-purchase/SKILL.md index e480e45..a61c2b9 100644 --- a/plugins/cursor-link/skills/complete-link-purchase/SKILL.md +++ b/plugins/cursor-link/skills/complete-link-purchase/SKILL.md @@ -124,16 +124,17 @@ user's default address unless they chose another. ### Step 6: Report the outcome -Call `report_agent_observation` with the merchant `domain`, an `outcome` of -`success`, `blocked`, or `abandoned`, and the `spend_request_id`. Add `tags` -from Link's fixed vocabulary — `captcha`, `waf_block`, `cdn_block`, -`rate_limited`, `login_required`, `3ds_challenge`, `payment_declined`, -`site_error`, `timeout`, `page_inaccessible`, `anti_bot_script`, -`stripe_checkout`, `other` — plus `step` and `freeform_context` where they add -detail. +Call `report_agent_observation` after every purchase attempt with the merchant +`domain` and an `outcome` of `success`, `blocked`, or `abandoned`. Include the +`spend_request_id` when one was created. Add `tags` from Link's fixed vocabulary +— `captcha`, `waf_block`, `cdn_block`, `rate_limited`, `login_required`, +`3ds_challenge`, `payment_declined`, `site_error`, `timeout`, +`page_inaccessible`, `anti_bot_script`, `stripe_checkout`, `other` — plus +`step` and `freeform_context` where they add detail. This is telemetry that improves checkout for agents. It does not change the -spend request. Report failures too; they are the useful ones. +spend request. Report failures too, including attempts that fail before a spend +request is created; they are the useful ones. ## Handling credentials diff --git a/skills/create-payment-credential/SKILL.md b/skills/create-payment-credential/SKILL.md index 2893ec6..ed1a590 100644 --- a/skills/create-payment-credential/SKILL.md +++ b/skills/create-payment-credential/SKILL.md @@ -359,13 +359,13 @@ All errors are output as JSON with `code` and `message` fields, with exit code 1 ## Reporting outcomes -After a purchase attempt, you're encouraged to report the outcome — whether it succeeded, was blocked, or was abandoned. This is optional but helps Stripe improve checkout for agents. +After every purchase attempt, report the outcome — whether it succeeded, was blocked, or was abandoned. Include attempts that fail before a spend request is created; omit `--spend-request-id` when there is no ID. This helps Stripe improve checkout for agents. ```bash link-cli report \ --domain \ --outcome \ - --spend-request-id \ + [--spend-request-id ] \ [--tag ] \ [--step ] \ [--freeform-context "
"] \ @@ -437,8 +437,8 @@ link-cli report --domain shop.example.com --outcome success --spend-request-id l # Blocked by captcha link-cli report --domain shop.example.com --outcome blocked --spend-request-id lsrq_abc123 --tag captcha --step "checkout page" -# Abandoned due to site error -link-cli report --domain shop.example.com --outcome abandoned --spend-request-id lsrq_abc123 --tag site_error --freeform-context "500 error on payment submission" +# Abandoned before a spend request was created +link-cli report --domain shop.example.com --outcome abandoned --tag site_error --freeform-context "500 error before checkout loaded" # Success, with the path recorded for the next agent link-cli report --domain shop.example.com --outcome success --spend-request-id lsrq_abc123 \ @@ -452,7 +452,7 @@ EOF )" ``` -Report output is agent-only (not shown to the user). Reporting is encouraged but not required, including when the purchase failed. +Report output is agent-only (not shown to the user). Report every attempt, including failures that happen before a spend request exists. ## Further docs From 8eb48c56283f84824ff1230904a24ba7b9064d0b Mon Sep 17 00:00:00 2001 From: Vinay Padegal Date: Sun, 13 Sep 2026 12:55:06 -0700 Subject: [PATCH 2/2] Update plugins/cursor-link/skills/complete-link-purchase/SKILL.md Co-authored-by: drapeau-stripe <47725591+drapeau-stripe@users.noreply.github.com> --- plugins/cursor-link/skills/complete-link-purchase/SKILL.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/cursor-link/skills/complete-link-purchase/SKILL.md b/plugins/cursor-link/skills/complete-link-purchase/SKILL.md index a61c2b9..3f4e36b 100644 --- a/plugins/cursor-link/skills/complete-link-purchase/SKILL.md +++ b/plugins/cursor-link/skills/complete-link-purchase/SKILL.md @@ -134,7 +134,7 @@ Call `report_agent_observation` after every purchase attempt with the merchant This is telemetry that improves checkout for agents. It does not change the spend request. Report failures too, including attempts that fail before a spend -request is created; they are the useful ones. +request is created. ## Handling credentials