api-and-interface-design
Design API contracts, compatibility, and duplicate-safe mutations.
Skill by Addy Osmani and Skillz contributors
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jaydubya818-api-and-interface-design
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, backend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/api-and-interface-design
What's inside
- Skill name
api-and-interface-design- Description
- Design API contracts, compatibility, and duplicate-safe mutations.
- License
- MIT
- Metadata
- risk: high · owner: software-factory · author: Addy Osmani and Skillz contributors · source: addyosmani/agent-skills · adaptation: curated-rewrite · capabilities: addyosmani,api-and-interface-design · source-commit: 1401c8b8030e023baeebb31781a6653fe8e93026
- Instructions
- 56 lines in SKILL.md · view on GitHub
Files (4)
- LICENSE
- SKILL.md
- openai.yaml · agents/
- idempotency.md · references/
SKILL.md (first lines)
# API and interface design Define the contract before implementing or changing a public API. Start with existing callers, schema conventions, authorization rules, and retry behavior. A module-local refactor needs only the contract that crosses its boundary. ## Work from consumer behavior 1. Identify callers and independently deployed versions. Record required behavior, including ordering, nullability, defaults, errors, and observable quirks. A type-compatible change can still break a consumer. 2. Specify inputs, outputs, validation, resource ownership, and failure cases using the repository's schema or interface format. Separate caller input from server-owned fields. Do not accept roles, prices, ownership, or state transitions just because the request matches a type. 3. Validate untrusted data where it enters, including provider responses and persisted data whose invariants are not guaranteed. Typed internal calls do not need repeated shape validation; business invariants still apply. 4. Define stable machine-readable errors and appropriate transport semantics. Keep internal details out of public responses. Follow existing conventions for validation errors and access-denied versus not-found behavior. 5. Bound list queries. Specify a maximum page size, stable ordering with a tie-breaker, cursor or offset behavior, and what concurrent writes do to pagination. Do not promise a consistent snapshot unless it exists. 6. Specify partial-update behavior for omitted values, explicit nulls, empty collections, and concurrent edits. Use version checks or transactions where stale writes could overwrite another actor's work. 7. Prefer compatible extensions, but test real consumers. Optional fields and new enum values can break strict decoders. Existing public versioning and migration commitments take precedence over a preference for one version. ## State changes and retries For operations with side effects, read [retry and idempotency rules](references/idempotency.md). Apply these when implementing payments, provisioning, webhook processing, or replayable jobs. An accepted idempotency header alone does not make retrying safe. Document which failures are retryable, who retries, the bounded retry policy, and how callers discover an operation's status after a lost response. Payment amounts need an explicit currency and representation, such as integer minor units with currency-specific precision. Do not use floating-point arithmetic for ledger values or trust client-supplied totals. ## Verify the contract Exercise the real boundary with representative consumers. Cover malformed inputs, unauthorized and cross-tenant access, missing resources, pagination edges, concurrent updates, and duplicate delivery where applicable. Verify response bodies as well as status codes. Keep contract documentation next to the implementation and identify any consumers that could not be checked. Return the contract changes, compatibility evidence, and unresolved decisions. Designing an API does not authorize publishing it or migrating live consumers.
From jaydubya818/skillz, MIT.
More from jaydubya818/skillz
- 0.586score
deprecation-and-migration
Addy Osmani and Skillz contributors
Retire APIs or migrate consumers and persistent data across releases.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
agent-watchdog
Builder.io
Audit, monitor, compare, or repair another agent's session or PR when asked.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
an
Builder.io
Operate granted Agent-Native apps through Dispatch MCP; use for /an.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
ci-cd-and-automation
Addy Osmani and Skillz contributors
Create or change CI/CD pipelines, quality gates, and delivery controls.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
efficient-frontier
Builder.io
Delegate costly independent work while a frontier model retains judgment.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
factory-babysit-pr
Builder.io
Monitor one authorized PR with separate fix, publish, reply, and merge gates.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
factory-collect
Builder.io
Triage configured product signals under separate fix, reply, and close policies.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
efficient-fable
Builder.io
Delegate bounded independent work while Claude Fable retains judgment.
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 9, 2026 (20 days ago)
- Last release
- Sep 18, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/jaydubya818/skillz
- Website
- agentskills.io
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Addy Osmani and Skillz contributors
- 0.586score
deprecation-and-migration
Addy Osmani and Skillz contributors
Retire APIs or migrate consumers and persistent data across releases.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
ci-cd-and-automation
Addy Osmani and Skillz contributors
Create or change CI/CD pipelines, quality gates, and delivery controls.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
api-and-interface-design skill. Agent Mart. https://agentmart.dev/skills/jaydubya818-api-and-interface-design (last updated 2026-10-24)