magnus919/agent-skills

api-design-and-evolution

- Design, govern, document, review, and evolve consumer-facing APIs and event interfaces.

소스 보기
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

API Design And Evolution

Design an interface as a durable agreement with its consumers, not a route list. Start with the consumer job, domain meaning, authority boundary, and failure modes; then choose the interface style and contract format. Keep facts, assumptions, and policy decisions distinguishable.

When to use

Use for a new or changed REST/HTTP API, GraphQL schema, RPC operation, event or message contract, webhook, or streaming interface. Use it before implementation and again whenever consumer-visible behavior changes.

When not to use

Do not use this as an ADR template, a complete product-discovery method, a security assessment, or an implementation test plan. Hand those concerns to adr-authoring, product-discovery, secure-software-engineering, and verification-methodology, respectively.

Workflow

  1. Classify the scope. If the request spans more than one interface, start

templates/api-landscape-assessment.md and read references/api-landscape-and-governance.md. If it changes where traffic is admitted, routed, observed, or isolated, read references/api-infrastructure-topologies.md. Keep portfolio findings separate from any individual contract decision.

  1. Discover the agreement. State consumer jobs, domain terms and invariants,

authoritative data and schema owners, actors, object/action authority boundaries, data sensitivity, and failure modes. Record unanswered questions rather than inventing policy. Start templates/api-design-brief.md.

  1. Choose the interface shape. Compare interaction direction, coupling,

delivery needs, query flexibility, mutation semantics, caching, observability, and evolution surface. Read references/interface-selection.md. Record the choice and rejected options in the brief; use an ADR only when the choice is consequential beyond this interface.

  1. Make the contract explicit. Define representations and their semantics,

including null versus absent, defaults, enums/unions, identifiers, timestamps, units, ordering, filtering, and pagination. Use templates/endpoint-contract.md with references/contract-semantics.md.

  1. Design mutation and failure behavior. Define authority checks, preconditions,

idempotency scope and equivalence, retries, concurrency, partial outcomes, long-running operation state, errors, and resource limits. Read references/operations-and-failures.md and create templates/error-taxonomy.md when errors are shared across operations.

  1. Describe asynchronous delivery where relevant. For messages, webhooks, or

streams, state the publisher/subscriber perspective, envelope, delivery contract, duplicate/gap/reordering behavior, ordering scope, and security boundary. Read references/events-webhooks-streaming.md.

  1. Assess change from each consumer's perspective. Inventory consumers,

generated clients, strict decoders, signatures, caches, quotas, and operational dependencies. Complete templates/compatibility-change-assessment.md. Do not call a change safe solely because it is additive.

  1. Plan and verify rollout. For a deprecation or migration, use

templates/deprecation-migration-plan.md and references/evolution-and-deprecation.md. Review the contract using templates/contract-review.md. Test provider conformance, consumer expectations, compatibility diffs, examples, negative cases, and the deployed boundary. Load release-engineering for release sequencing, artifact promotion, progressive exposure, and coordinated rollback after the compatibility policy is defined.

Reference Guide

Load whenFile
Assessing an API portfolio, ownership, duplication, discoverability, lifecycle, standards, or retirementreferences/api-landscape-and-governance.md and templates/api-landscape-assessment.md
Comparing gateways, ingress proxies, service meshes, traffic direction, routing, policy, telemetry, or failure boundariesreferences/api-infrastructure-topologies.md
Selecting REST/HTTP, GraphQL, RPC, event/message, webhook, or streamingreferences/interface-selection.md
Modeling data, collection reads, schemas, or OpenAPIreferences/contract-semantics.md
Designing writes, errors, retry behavior, limits, or authorization handoffreferences/operations-and-failures.md
Designing event contracts, webhook delivery, or streamsreferences/events-webhooks-streaming.md
Reviewing compatibility, versions, deprecation, migration, or rollbackreferences/evolution-and-deprecation.md
Preparing contract/provider/consumer/deployment verificationreferences/contract-verification.md
Checking exact sources, versions, status, and intended usereferences/source-index.md
Exercising required edge cases before claiming readinessreferences/scenario-probes.md

Security Boundary

Document authentication requirements and server-side object/action authorization in the interface contract. For the threat model, credential handling, tenant isolation, untrusted URLs or files, webhook signature design, output minimization, redaction, or abuse resistance, load secure-software-engineering. An API contract cannot prove that an authorization boundary is enforced.

Ownership Boundaries

  • Product owners decide consumer outcomes, audience, value, and lifecycle intent;

this skill turns those decisions into interface agreements and evidence.

  • Platform owners decide gateway, ingress, mesh, networking, deployment, and

runtime operations. This skill identifies topology responsibilities and contract consequences but does not operate the substrate.

  • Security owners decide threat models, credential and secret controls, abuse

resistance, and tenant isolation. This skill records the contract handoff and required authorization behavior without substituting for the assessment.

  • Architecture owners decide cross-system principles, significant boundaries,

and durable architecture decisions. Use adr-authoring when a landscape or topology decision has consequences beyond the API portfolio.

An API landscape assessment is not a product roadmap, platform runbook, security review, or enterprise architecture repository. Escalate unresolved ownership, authority, or retirement decisions instead of assigning them implicitly.

Completion

Stop when the selected interface has an owner, an authoritative contract, explicit consumer and failure assumptions, a compatibility assessment for each change, and evidence or an explicit gap for each required review item. Escalate unresolved domain semantics, authority, delivery, or consumer-impact questions to their accountable owner.

같은 저장소의 Skills

더 많은 Skills

모든 Skills
magnus919
커뮤니티

frontend-engineering

Build and maintain web frontends — component architecture, state management, API integration, responsive layout, client-side performance, and frontend testing patterns. Framework agnostic, focused on web frontend implementation. Do not use for backend service implementation, data engineering, or platform infrastructure work.

설치 수
1
GitHub Stars
87
업데이트
9월 20일
magnus919
커뮤니티

qa-methodology

- Design and apply QA methodology for software teams: test strategy, regression testing, CI failure triage, test automation, quality gates and metrics, risk-based testing, exploratory testing, test design techniques, AI code quality gates (independent verification, artifact provenance, spec-first oracles, AI-review-comment triage, acceptance-criteria testability for Spec-Driven Development), mutation-guided test hardening and review evidence (surviving mutants, weak assertions, diff-aware mutation testing), agentic eval design (dataset test design, judge-as-system-under-test, flaky-eval discipline), QA career levels (Senior/Staff/Principal), and SDET engineering (test infrastructure, gTAA, CI/CD integration). Do not use for root-cause debugging of production incidents, security implementation or threat modeling, or evaluation framework governance and statistical analysis — route those to systematic-debugging, secure-software-engineering, and agent-evals-and-observability respectively.

설치 수
1
GitHub Stars
87
업데이트
9월 20일
magnus919
커뮤니티

systematic-debugging

- Diagnose root causes with a four-phase debugging protocol. Use for ANY technical issue — test failures, production bugs, unexpected behavior, performance problems, build failures, or integration issues. ESPECIALLY when under time pressure, when "one quick fix" seems obvious, or when previous fix attempts have failed. Do not use this skill for unrelated requests; route to the nearest named specialist.

설치 수
1
GitHub Stars
87
업데이트
9월 20일
magnus919
커뮤니티

release-engineering

- Design, automate, and operate end-to-end software releases: release process models and pipelines (trunk-based development, CD stages, release trains), progressive delivery and feature flags, versioning and artifact management (SemVer, conventional commits, changelogs, SBOM/provenance), readiness and quality gates, rollback and recovery planning, change-management and audit compliance (SOC 2, SOX, PCI), DORA metrics, and multi-team release coordination. Do not use for application feature implementation (backend-engineering/frontend-engineering), production incident root-cause debugging or on-call/SLO operations (systematic-debugging / site-reliability-engineering), security implementation or threat modeling (secure-software-engineering), or internal developer platform construction (platform-engineering).

설치 수
1
GitHub Stars
78
업데이트
9월 10일