research.deprecation-usage

作者: coinbase

research.deprecation-usage — 一個可安裝的 AI 代理技能,由 coinbase/cds 發布。

npx skills add https://github.com/coinbase/cds --skill research.deprecation-usage

Objective

Your objective is to provide information to user about the extent to which deprecated members of CDS are used in customer repositories. This information should be as accurate as possible as it will be used to inform decisions on whether or not it is safe to drop certain exports in a release or hold them for the next major version.

Removal readiness policy: a deprecated API must remain for one full major version undisturbed before removal. If it was deprecated during major M, it must survive all of M+1; the earliest removal major is M+2 (see @deprecationExpectedRemoval and .claude/skills/deprecate-cds-api/SKILL.md).

Follow the

1 - Determining Research Scope

You may be asked to investigate a single, specific deprecation or all CDS deprecations in general.

If you need to perform a comprehensive audit, there is one additional preparation step:

yarn node scripts/findDeprecations.mjs --json

This script extracts the deprecations with metadata from all CDS packages in JSON format.

2 - Determining the Type of Deprecation

There are two common categories of deprecations in CDS packages:

  1. A single prop of a React component
  2. A whole React component, function or constant

If you are researching a single deprecation, find it in this monorepo's source code (DO NOT USE SOURCEGRAPH). It will be marked with the jsdoc @deprecated annotation. Inspect the code around the deprecation to determine which of the two categories it falls into. If the deprecation is found in multiple CDS packages you may ask the user to clarify which package is of interest to them.

If you are performing a comprehensive audit for all CDS deprecations, the output of the script you ran in Step 1 will have already classified the deprecaations for you.

3 - Using Sourcegraph

For every deprecation you must research, perform a search on Sourcegraph to find evidence of usage.

IMPORTANT: Only attempt to search for one deprecation at a time.

IMPORTANT: Do not attempt to search if you do not have the information to

You must perform a keyword search using the Sourcegraph MCP server. For the query parameter you must use the EXACT queries I share below, substituing in the name(s) of the deprecation you are investigating.

Components, Functions, Constants

Replace NAME_HERE with the name of the deprecated component/function/constant

NOT repo:frontend/cds(-(internal|public|next))?$ file:..(t|j)sx?$ /import[^;'"]*?\bNAME_HERE\b[^;'"]*?from\s+['"][^'"]*(?:cds-web|cds-mobile)[^'"]*['"]/

React prop

Replace NAME_HERE with the name of the React component and PROP_HERE with the name of the deprecated prop.

NOT repo:frontend/cds(-(internal|public|next))?$ file:..(t|j)sx?$ /<\\s*NAME_HERE\\b[^>]*?\\s+PROP_HERE[\\s=\/>]/

4 - Structured Output

Your output will depend on the number of deprecations you needed to audit:

Single Deprecation Output

State the total number of usages found and output a markdown table with columns: Repo, Hits, Search Link — where each link uses a full Sourcegraph URL that will take the user directly to the relevant regex search for the deprecation, filtered by the repo represented in the row of the table.

How to build per-repo Sourcegraph search

For the following sourcegraph search:

/<\\s*CellMedia\\b[^>]*\\stitle[\\s=\\/>]/ NOT repo:frontend/cds(-(internal|public|next))?$ file:\\.(t|j)sx?$

Here is an example for repo coinbase.ghe.com/payments/onramp-widget:

https://sourcegraph.cbhq.net/search?q=NOT+repo%3Afrontend%2Fcds%28-%28internal%7Cpublic%7Cnext%29%29%3F%24+file%3A..%28t%7Cj%29sx%3F%24+%3C%5Cs*CellMedia%5Cb%5B%5E%3E%5D*%3F%5Cs%2Btitle%5B%5Cs%3D%2F%3E%5D&patternType=regexp&sm=0&__cc=1&df=%5B%22repo%22%2C%22coinbase.ghe.com%2Fpayments%2Fonramp-widget%22%2C%22repo%3A%5Ecoinbase%5C%5C.ghe%5C%5C.com%2Fpayments%2Fonramp-widget%24%22%5D

Multiple Deprecations Output

When you have analyzed more than one deprecation, simply list out every deprecation and the total number of matches that came back from its sourcegraph query.

來自 coinbase 的更多技能

x402
coinbase
使用X402支付協議探索並呼叫付費API,在Base上自動以USDC支付。透過關鍵字搜尋付費服務市集、列出所有可用資源,或在不付費的情況下查看端點的價格與要求。向X402端點發送經過驗證的請求,以原子單位自動支付USDC,支援GET、POST、PUT、DELETE和PATCH方法。包含查詢參數、自訂標頭、請求主體支援,以及控制付款的最高金額限制...
cds-accessibility
coinbase
審查已撰寫的 Coinbase Design System (CDS) UI 的可及性:驗證文件中記載的可及性屬性(例如 accessibilityLabel,…)
cds-code
coinbase
在每次會話中,技能啟動後僅執行以下操作一次。
agentic-wallet
coinbase
透過 awal CLI 進行加密錢包操作 — 登入、查詢餘額、發送 USDC/ETH/POL/SOL、交易代幣、為錢包充值,以及使用 x402 支付協議來…
authenticate-wallet
coinbase
基於電子郵件OTP的錢包驗證,包含驗證與狀態檢查。兩步驟登入流程:先透過電子郵件發起請求以接收6位數OTP,再使用flowId與驗證碼完成驗證。內建電子郵件、flowId及OTP的輸入驗證規則,防止在執行指令前發生Shell注入。提供狀態檢查、餘額查詢、地址擷取及透過配套CLI指令存取錢包視窗等功能。所有指令皆支援--json輸出,以利機器讀取...
fund
coinbase
透過 Coinbase Onramp 或直接轉帳將 USDC 存入錢包。開啟輔助介面,用戶可選擇預設金額(10 美元、20 美元、50 美元)或自訂數值,並從 Apple Pay、簽帳卡、銀行轉帳或 Coinbase 帳戶資金中選擇付款方式。支援多種付款方式,結算時間各異:卡片與 Apple Pay 即時到帳,ACH 銀行轉帳需 1–3 天。資金以 Base 網路上的 USDC 存入;用戶亦可透過 npx awal@2.0.3... 直接將 USDC 發送至錢包地址。
monetize-service
coinbase
部署一個付費API端點,其他代理可透過x402協議發現並付費使用。基於HTTP 402支付協議,在Base鏈上按請求收取USDC;客戶端使用簽名交易支付,無需API金鑰或帳戶。當您聲明發現擴展時,自動將端點註冊至x402 Bazaar供代理發現。支援多種定價層級、萬用路由,以及透過Express中介軟體為每個端點設定多種支付選項。基於@x402/express和@x402/core建置...
pay-for-service
coinbase
在Base上透過x402協議自動以USDC支付來呼叫付費API。執行HTTP請求(GET、POST等)至支援x402的端點,自動處理原子化USDC支付。支援透過方法、JSON主體、查詢參數及自訂標頭進行請求自訂。包含支付控制:設定每次請求的最大USDC金額,並使用關聯ID分組相關操作。需要錢包驗證及足夠的USDC餘額;驗證所有使用者輸入以防止shell...