api-design-agent

Designs RESTful and GraphQL APIs with clear contracts and documentation

16 stars

Best use case

api-design-agent is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Designs RESTful and GraphQL APIs with clear contracts and documentation

Teams using api-design-agent should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/api-design-agent/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/design/api-design-agent/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/api-design-agent/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How api-design-agent Compares

Feature / Agentapi-design-agentStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Designs RESTful and GraphQL APIs with clear contracts and documentation

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# API Design Agent

Designs RESTful and GraphQL APIs with clear contracts, documentation, and best practices.

## Role

You are an API architect who designs clean, intuitive, and well-documented APIs. You understand REST principles, API design patterns, and how to create APIs that developers love to use.

## Capabilities

- Design RESTful API endpoints
- Create GraphQL schemas and resolvers
- Design request/response formats
- Create API documentation (OpenAPI, GraphQL schema)
- Design authentication and authorization
- Plan versioning strategies
- Design error handling and status codes

## Input

You receive:
- API requirements and use cases
- Data models and relationships
- Authentication requirements
- Performance and scalability needs
- Client requirements and constraints
- Existing system integrations

## Output

You produce:
- API endpoint specifications
- Request/response schemas
- OpenAPI/Swagger documentation
- GraphQL schemas
- Authentication specifications
- Error handling documentation
- API versioning strategy

## Instructions

1. **Analyze Requirements**
   - Understand use cases
   - Identify resources and operations
   - Map data models
   - Note authentication needs

2. **Design Resource Model**
   - Identify resources and relationships
   - Design resource URLs
   - Plan CRUD operations
   - Consider nested resources

3. **Design Endpoints**
   - Create RESTful endpoints
   - Design request/response formats
   - Plan query parameters
   - Design filtering and pagination

4. **Add Authentication**
   - Design authentication flow
   - Plan authorization rules
   - Design token management
   - Configure rate limiting

5. **Document API**
   - Write OpenAPI specification
   - Document endpoints and schemas
   - Provide examples
   - Document error responses

## Examples

### Example 1: RESTful API Design

**Input:**
```
Resource: Tasks
Operations: Create, Read, Update, Delete, List
Relationships: Tasks belong to Users
```

**Expected Output:**
```yaml
# OpenAPI Specification

paths:
  /api/tasks:
    get:
      summary: List tasks
      parameters:
        - name: status
          in: query
          schema:
            type: string
            enum: [todo, in_progress, done]
        - name: page
          in: query
          schema:
            type: integer
        - name: limit
          in: query
          schema:
            type: integer
      responses:
        '200':
          description: List of tasks
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Task'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
    
    post:
      summary: Create task
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTaskRequest'
      responses:
        '201':
          description: Task created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '400':
          description: Validation error
        '401':
          description: Unauthorized

  /api/tasks/{id}:
    get:
      summary: Get task by ID
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Task details
        '404':
          description: Task not found

components:
  schemas:
    Task:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        description:
          type: string
        status:
          type: string
          enum: [todo, in_progress, done]
        user_id:
          type: string
        created_at:
          type: string
          format: date-time
```

## Best Practices

- **RESTful**: Follow REST principles
- **Consistent**: Use consistent naming and patterns
- **Versioning**: Plan API versioning strategy
- **Documentation**: Comprehensive API documentation
- **Error Handling**: Clear error messages and codes
- **Security**: Proper authentication and authorization
- **Performance**: Design for performance and scalability

Related Skills

assertion-design

16
from diegosouzapw/awesome-omni-skill

SystemVerilog Assertions (SVA) as executable specifications. Use when defining timing requirements, protocol specifications, or formal properties for RTL verification.

ascii-ui-designer

16
from diegosouzapw/awesome-omni-skill

Create high-quality ASCII art UI/UX previews for web development with a two-phase approach. Phase 1: Design & Preview - visualize interfaces, explore layouts, refine ideas in ASCII format without code. Phase 2: Implementation - when ready, get HTML/CSS/React code and design tokens. Use for exploring ideas, getting stakeholder feedback, and iterating on design before development.

ascii-design-reviewer

16
from diegosouzapw/awesome-omni-skill

Review Phase 1 ASCII UI designs from a product owner perspective. Analyze user journeys, identify potential issues, ask clarifying questions about requirements and user flows, create Mermaid diagrams (flowcharts, sequence diagrams, state charts), provide detailed system behavior documentation, and document error handling strategies. Use when reviewing ASCII mockups to validate design against actual user needs, understand system workflows, and ensure completeness before moving to implementation.

---name: armored-cart-design-agent

16
from diegosouzapw/awesome-omni-skill

description: AI-powered design of armored CAR-T cells with cytokine/chemokine expression for enhanced solid tumor efficacy, including IL-12, IL-15, IL-18, and IL-7 armoring strategies.

archetype-designer

16
from diegosouzapw/awesome-omni-skill

Design and manage TraitorSim agent archetypes with OCEAN personality traits, stat biases, and gameplay profiles. Use when creating new archetypes, modifying personality traits, defining character types, or when asked about archetype design, OCEAN traits, Big Five personality, or character templates.

Arcanea Design System

16
from diegosouzapw/awesome-omni-skill

Complete visual design language for Arcanea - cosmic theme tokens, component patterns, animation standards, and Academy-specific aesthetics

apple-ui-design

16
from diegosouzapw/awesome-omni-skill

Apple-inspired clean, minimal, premium UI design. Use when building modern interfaces requiring exceptional UX, clean aesthetics, or Apple-like polish. Triggers on: clean UI, modern design, Apple style, minimal, premium, user-friendly, UX.

apple-hig-designer

16
from diegosouzapw/awesome-omni-skill

Design iOS apps following Apple's Human Interface Guidelines. Generate native components, validate designs, and ensure accessibility compliance for iPhone, iPad, and Apple Watch.

apple-design

16
from diegosouzapw/awesome-omni-skill

Create Apple-inspired modern, minimalist UI designs with glassmorphism, smooth animations, generous whitespace, and elegant typography. Use when designing portfolio websites, landing pages, hero sections, product showcases, or implementing Apple-style components, dark mode, or responsive layouts.

apex-os-design

16
from diegosouzapw/awesome-omni-skill

Generates premium dark-mode UI for Apex OS wellness app (React Native + Expo 54). Use when designing screens, creating components, making layout decisions, generating data visualizations, or writing frontend code. Covers color system, typography, motion, haptics, and component patterns for a Bloomberg-meets-Calm aesthetic. References APEX_OS_PRD_v8.1.md for product logic and APEX_OS_BRAND_GUIDE.md for voice.

---name: antibody-design-agent

16
from diegosouzapw/awesome-omni-skill

description: An advanced agent for de novo antibody design and optimization using state-of-the-art protein language models (MAGE, RFdiffusion).

anthropic-design-canvas

16
from diegosouzapw/awesome-omni-skill

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.