git.detect-breaking-changes

作成者: coinbase

Analyzes the previous N commits for breaking changes across the CDS public API surface. Use this skill when you need to check if any recent changes will cause…

npx skills add https://github.com/coinbase/cds --skill git.detect-breaking-changes

Your task

Analyze the previous $ARGUMENTS commits for breaking changes across the CDS public API surface.

Scope

Only analyze changes within these packages:

  • packages/web/
  • packages/mobile/
  • packages/common/

Determining the public API surface

Each package is fully ESM. Inspect each package's package.json "exports" map to determine the public entry points. Every symbol (component, function, hook, constant, type, interface, enum) that is reachable through these export paths is part of the public API and subject to breaking change analysis.

Follow the export chain: package.json exports -> entry index.ts barrel file -> re-exported modules. Any symbol that a consumer could import via the package's published entry points is in scope.

How to analyze

  1. Use git log --oneline -$ARGUMENTS -- <package-path> for each package to identify relevant commits.
  2. Use git diff HEAD~$ARGUMENTS..HEAD -- <package-path> and git show <sha> to inspect the actual changes.
  3. For each changed file, determine if it is reachable from a public export path. If not, skip it.
  4. For files that are part of the public API, classify each change using the categories below.

Breaking change categories

1. Removal

A previously exported symbol (component, function, hook, type, interface, constant, enum) has been deleted or is no longer exported.

Examples:

  • A component is removed from the barrel export
  • A named export is deleted
  • A type or interface is no longer re-exported

2. API change (props / function signature)

The call signature of a public function, hook, or component has changed in a way that would break existing consumers.

Examples:

  • A required prop is added to a component
  • A prop is renamed
  • A prop's accepted values are narrowed (e.g., union type member removed)
  • A function parameter is removed, reordered, or made required
  • A hook's return type changes shape
  • Default values are removed or changed in a way that alters behavior

3. Type definition change

A publicly exported type, interface, or enum has been modified in a way that would cause consumer TypeScript compilation to fail.

Examples:

  • A property is removed from an exported interface
  • A type union is narrowed
  • An enum member is removed or renamed
  • Generic type parameters are added, removed, or reordered
  • A type is changed from a type alias to an interface (or vice versa) in a way that breaks assignability

4. Visual / layout change

A change to styles, spacing, sizing, or visual output that would shift the consumer's application layout or appearance without any API-level change.

Examples:

  • Default margin, padding, or gap values changed
  • Component dimensions (width, height, min/max) changed
  • CSS display, position, or flex properties changed
  • Default visual variants or theme token mappings changed
  • Border, border-radius, or shadow values changed
  • Font size, line height, or font weight defaults changed

5. DOM / element structure change (web packages only)

Applies to packages/web/ only. Changes to the rendered HTML element tree that could break consumer CSS selectors or DOM queries targeting internal component structure.

Examples:

  • Wrapper elements added or removed
  • Element tag names changed (e.g., div -> section)
  • Nesting order of child elements changed
  • CSS class names or data attributes on internal elements removed or renamed
  • role or aria-* attributes removed or changed

6. Behavioral change

A change in runtime behavior that could break consumer expectations even though the API signature remains the same.

Examples:

  • Event handler calling conventions changed (e.g., different event object shape)
  • State management or controlled/uncontrolled behavior changed
  • Animation or transition behavior changed
  • Focus management behavior changed
  • Accessibility behavior changed (e.g., keyboard navigation patterns)

Output format

Organize findings by package. Within each package, group by category. For each breaking change, include:

  • Entity: The name of the affected component, type, function, hook, etc.
  • Category: One of the categories above
  • Description: A concise explanation of what changed and why it is breaking
  • File: The file path where the change occurred
  • Commit: The commit SHA that introduced the change

Use this structure:


packages/<package-name>/

Removals

EntityDescriptionFileCommit
............

API Changes

EntityDescriptionFileCommit
............

(Continue for each category that has findings. Omit empty categories.)


(Repeat for each package that has breaking changes. Omit packages with no breaking changes.)

Summary

After the per-package breakdown, provide a brief summary section:

  1. Total breaking changes by category across all packages
  2. Highest-risk changes: call out the changes most likely to cause widespread consumer breakage
  3. Migration notes: brief guidance on what consumers would need to do to adapt to each breaking change

Important guidelines

  • Be thorough but precise. Do not flag internal refactors that do not affect the public API.
  • When in doubt about whether something is publicly exported, trace the export chain from package.json exports -> barrel files -> source modules.
  • For visual/layout changes, note the before and after values when possible.
  • For DOM structure changes, describe the structural difference clearly enough that a consumer could update their CSS selectors.
  • Do not speculate. Only report changes you can verify from the diff.

coinbaseのその他のスキル

git.repo-manager
coinbase
git.repo-manager — coinbase/cds が公開する、AIエージェント向けのインストール可能なスキルです。
official
agentic-wallet
coinbase
awal CLIによる暗号ウォレット操作 — サインイン、残高確認、USDC/ETH/POL/SOLの送金、トークン取引、ウォレットへの資金追加、x402支払いプロトコルの使用…
official
authenticate-wallet
coinbase
メールOTPベースのウォレット認証、検証、ステータス確認機能。2段階ログインフロー:メールで6桁のOTPを受信し、flowIdとコードで検証して認証を完了。コマンド実行前にシェルインジェクションを防ぐため、メール、flowId、OTPの入力検証ルールを実装。ステータス確認、残高照会、アドレス取得、ウォレットウィンドウアクセスをCLIコマンドで提供。全コマンドは機械可読な--json出力に対応。
official
fund
coinbase
Coinbase Onrampまたは直接送金でウォレットにUSDCを入金します。ユーザーがプリセット金額($10、$20、$50)またはカスタム値を選択し、Apple Pay、デビットカード、銀行振込、Coinbaseアカウントからの資金調達方法を選べる補助UIを開きます。カードとApple Payは即時、ACH銀行振込は1~3日と、決済時間が異なる複数の支払い方法に対応しています。Baseネットワーク上でUSDCとして資金を入金します。また、npx awal@2.0.3...経由でウォレットアドレスに直接USDCを送金することもできます。
official
monetize-service
coinbase
有料APIエンドポイントをデプロイし、他のエージェントがx402プロトコルを介して発見・支払いできるようにします。HTTP 402支払いプロトコルを使用してBase上でリクエストごとにUSDCを請求。クライアントは署名済みトランザクションで支払い、APIキーやアカウントは不要。ディスカバリー拡張を宣言すると、エンドポイントが自動的にx402 Bazaarに登録され、エージェントによる発見が可能に。Expressミドルウェアを使用して、エンドポイントごとに複数の価格帯、ワイルドカードルート、複数の支払いオプションをサポート。@x402/expressおよび@x402/core上に構築...
official
pay-for-service
coinbase
Base上でx402プロトコルを介した自動USDC支払いにより有料APIを呼び出します。x402対応エンドポイントに対してHTTPリクエスト(GET、POSTなど)を実行し、USDC支払いを自動的に処理します。メソッド、JSONボディ、クエリパラメータ、カスタムヘッダーを通じたリクエストのカスタマイズをサポートします。支払い制御機能を含みます:リクエストごとの最大USDC金額の設定、相関IDによる関連操作のグループ化。ウォレット認証と十分なUSDC残高が必要です。シェルインジェクションを防ぐため、すべてのユーザー入力を検証します...
official
query-blockchain-data
coinbase
BaseのCDP SQL APIを介してx402を使用し、オンチェーンのブロックチェーンデータをクエリします。あなたまたはユーザーがデコードされたブロックに関するオンチェーン情報を確認したい場合に使用します。
official
query-onchain-data
coinbase
Base上のオンチェーンデータをSQLでクエリし、クエリごとにx402支払いを行います。CoinbaseQL(ClickHouseベースのSQL方言)を介して、デコードされたイベント、トランザクション、ブロックにアクセス可能。結合、CTE、サブクエリ、標準関数をサポート。利用可能な3つの主要テーブル:base.events(デコードされたスマートコントラクトログ)、base.transactions(完全なトランザクションデータ)、base.blocks(ブロックメタデータ)。イベントクエリでは、インデックス付きフィールド(event_signature、address、block_timestamp)でのフィルタリングが必要で、全テーブルスキャンを回避します。
official