技能 api-and-interface-design
📦

api-and-interface-design

內容修訂 r2 安全 ⚙️ 外部命令

Design Stable APIs and Interfaces

Unclear contracts, inconsistent errors, and unsafe retries make APIs difficult to use and evolve. This skill provides practical patterns for typed interfaces, validation boundaries, compatibility, pagination, and idempotency.

支援: Claude Codex Code(CC)
Maintain this Skill? Claim it 🥉 78 銅級

使用我的智慧代理安裝

將此請求複製給你的智慧代理,其中包含權威 Skill 頁面和清單。

智能體請求
Review the Skillstore skill "api-and-interface-design" from https://skillstore.io/skills/addyosmani-api-and-interface-design.md and its manifest at https://skillstore.io/api/skills/addyosmani-api-and-interface-design/manifest. Verify the artifact. You may proceed after verification, subject to the environment's own policy.

你的智慧代理仍應顯示其計畫,並依安全政策請求必要確認。

測試它

正在使用「api-and-interface-design」。 Create a contract for a task service with create, list, update, and delete operations.

預期結果:

  • Define typed inputs and outputs for each operation.
  • Use plural task resources, consistent status codes, structured errors, and paginated list responses.
  • Make deletion idempotent and specify behavior for missing tasks.

正在使用「api-and-interface-design」。 Review a charge endpoint that checks for an idempotency key, charges a card, then stores the key.

預期結果:

The sequence has a race because concurrent requests can both pass the check. Claim the key with a unique constraint before the charge, compare request hashes, and define a deliberate response for in-flight duplicates.

正在使用「api-and-interface-design」。 Plan a compatible addition of an optional priority field to task creation.

預期結果:

Add the optional field without changing existing types or removing fields. Document the default, validate it at the API boundary, update shared types, and add contract tests for old clients.

安全審計

安全
v2 • 2026/9/19 開啟版本化報告

All 52 static findings are false positives from Markdown backticks, TypeScript template literals, REST examples, and ordinary API terminology. The skill is documentation-only and contains no shell execution, system reconnaissance, prompt injection, or malicious intent.

1
已掃描檔案
368
分析行數
0
複核項目
0
已忽略的誤報
最近一次完成的靜態與語意稽核未偵測到已確認的安全發現。這並不能證明該 Skill 沒有副作用。
審計單位: codex 檢視審計紀錄 →
分享與引用此報告

分享版本化評估報告、中性徽章、嵌入卡片與引用。Skillstore 只報告證據,不判斷該 Skill 是否安全。

開啟版本化報告
安全評估

複製報告連結

https://skillstore.io/skills/addyosmani-api-and-interface-design/audits/2?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_report

Markdown 徽章

[![Skillstore security assessment](https://skillstore.io/badges/skills/addyosmani-api-and-interface-design/security.svg)](https://skillstore.io/skills/addyosmani-api-and-interface-design?utm_source=security_passport_badge)

HTML 徽章

<a href="https://skillstore.io/skills/addyosmani-api-and-interface-design?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/addyosmani-api-and-interface-design/security.svg" alt="Skillstore security assessment" loading="lazy"></a>

嵌入卡片

<iframe src="https://skillstore.io/embed/skills/addyosmani-api-and-interface-design.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>
學術引用 (APA · BibTeX · CFF)

APA 引用

addyosmani. (2026). api-and-interface-design security audit report (audit version 2) [Author version unspecified]. Skillstore. https://skillstore.io/skills/addyosmani-api-and-interface-design/audits/2

BibTeX 引用

@techreport{addyosmani-addyosmani-api-and-interface-design-2026, author = {addyosmani}, title = {api-and-interface-design security audit report (audit version 2)}, institution = {Skillstore}, year = {2026}, number = {2}, url = {https://skillstore.io/skills/addyosmani-api-and-interface-design/audits/2}, note = {Author version unspecified} }

CITATION.cff

cff-version: 1.2.0 message: "If you use this Skill, cite its author and this versioned security audit report." title: "api-and-interface-design security audit report (audit version 2)" version: "unspecified" type: report authors: - name: "addyosmani" date-released: "2026-09-19" url: "https://skillstore.io/skills/addyosmani-api-and-interface-design/audits/2" identifiers: - type: other value: "skillstore:addyosmani-api-and-interface-design:audit:2" description: "Skillstore immutable audit report identifier"

Skillstore 評分

評分依據 證據置信度: 中
55
架構
85
可維護性
87
內容
65
社群
83
規範符合度

你可以打造什麼

Plan a New REST API

Define resource URLs, typed payloads, error responses, pagination, filters, and compatibility rules before implementation.

Review a Public Interface

Inspect an existing API or module boundary for inconsistent contracts, breaking changes, weak validation, and unsafe retry behavior.

Design Reliable Payment Retries

Model idempotency keys, atomic request claims, payload matching, in-flight duplicates, and unknown outcomes for state-changing operations.

試試這些提示

Draft an API Contract
Design a REST API for [resource]. Define endpoints, typed inputs and outputs, status codes, error bodies, pagination, and naming conventions.
Improve Interface Consistency
Review this API contract for inconsistent response shapes, validation placement, naming, and backward compatibility. Recommend specific changes: [paste contract].
Plan a Safe Interface Evolution
Design an additive migration from [current interface] to [target interface]. Identify consumer risks, compatibility steps, deprecation timing, and verification checks.
Harden a Retried Operation
Design an idempotent workflow for [operation]. Cover key derivation, unique storage, request hashing, concurrent duplicates, unknown outcomes, retention, and failure recovery.

最佳實務

  • Define typed contracts before implementation and keep input models separate from output models.
  • Validate untrusted data at system boundaries, then keep internal functions aligned with shared types.
  • Design state-changing operations for retries, atomic claims, explicit duplicate handling, and durable evidence.

避免

  • Returning different error shapes across endpoints or exposing internal server details.
  • Breaking existing fields, skipping pagination, or adding incompatible changes without a migration path.
  • Checking an idempotency key and acting later without an atomic uniqueness guarantee.

常見問題

What kinds of interfaces does this skill cover?
It covers REST APIs, GraphQL schemas, module boundaries, component props, and other public contracts between system parts.
Does this skill generate implementation code?
It provides design guidance and illustrative TypeScript examples. It does not implement, deploy, or test the complete system.
When should validation occur?
Validate external input at API, form, configuration, and third-party response boundaries. Internal code can rely on established contracts.
How does it approach backward compatibility?
Prefer additive optional fields and extensions. Avoid changing existing types or removing observable behavior that consumers may depend on.
Why are idempotency keys important?
Retries can repeat state-changing effects after timeouts. A durable, atomically claimed key lets the system distinguish one intent from repeated attempts.
Can it review an existing API?
Yes. Provide the contract or relevant documentation, and it can identify inconsistent semantics, compatibility risks, validation gaps, and retry hazards.

開發者詳細資訊

作者

addyosmani

授權

MIT

Skillstore 修訂

r2

版本提示

作者未聲明版本。

引用

5d5054f8a23586f9b500fece1cb613a9dffc787b

維護新鮮度

2026/9/19

使用量

0 次下載 · 0 次瀏覽

檔案結構

📄 SKILL.md

addyosmani 的更多技能

查看全部
查看全部