Agent skill

API Design Assistant

by ArabelaTso in ArabelaTso/Skills-4-SE

Design and review APIs with suggestions for endpoints, parameters, return types, and best practices.

Apache-2.0Auto-check passedBackend & APIs

Install API Design Assistant

skills CLI
$ npx skills add ArabelaTso/Skills-4-SE --skill api-design-assistant -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ArabelaTso/Skills-4-SE api-design-assistant --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ArabelaTso/Skills-4-SE.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/api-design-assistant .claude/skills/api-design-assistant && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
api-design-assistant
GitHub stars
253
Token cost
~2.7k tokens
SKILL.md length
844 words
Files
3 (incl. references)
Skills in repo
170
Repo updated
First seen
Licence
Apache-2.0

At a glance

Design and review APIs with suggestions for endpoints, parameters, return types, and best practices.

  • Works in 5 steps: Understand Requirements → Design or Review API Structure → Apply Best Practices → …
  • Designing new APIs from requirements
  • SKILL.md covers Overview, Workflow, Example Workflows and Tips for Effective API Design, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

API Design Assistant is an agent skill from ArabelaTso/Skills-4-SE. Design and review APIs with suggestions for endpoints, parameters, return types, and best practices. Use when designing new APIs from requirements, reviewing existing API designs, generating API documentation, or getting implementation guidance. Supports REST APIs with focus on endpoint structure, request/response schemas, authentication, pagination, filtering, versioning, and OpenAPI specifications. Triggers when users ask to design, review, document, or improve APIs.

Its SKILL.md is about 2.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/best-practices.md` and `references/openapi-template.md`).

It sits in Backend & APIs, covering API design, OpenAPI specifications and Technical documentation. It works with OpenAPI. The repository describes itself as: A curated list of 180+ useful Claude Skills for Software Engineering and resources for customizing AI for SE workflows. The licence is Apache-2.0.

When your agent uses it

  • Designing new APIs from requirements
  • Reviewing existing API designs
  • Generating API documentation
  • Getting implementation guidance

Example prompts

  • “/api-design-assistant”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Understand Requirements
  2. Design or Review API Structure
  3. Apply Best Practices
  4. Generate Documentation
  5. Handle Common Scenarios

What it can do on your machine

Read from SKILL.md and the folder at commit 4f38503. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json and markdown).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

API Design Assistant loads about 2.7k tokens when it runs, and up to ~7.2k if it reads all its reference files. Until then it costs about 124 tokens; SKILL.md has 844 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~124
When it runs · the whole SKILL.md, loaded when a task matches
~2.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ArabelaTso/Skills-4-SE at commit 4f38503, republished under its Apache-2.0 licence (© ArabelaTso). 844 words, ~2,698 tokens.

Download SKILL.mdSave it as .claude/skills/api-design-assistant/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
api-design-assistant
description
Design and review APIs with suggestions for endpoints, parameters, return types, and best practices. Use when designing new APIs from requirements, reviewing existing API designs, generating API documentation, or getting implementation guidance. Supports REST APIs with focus on endpoint structure, request/response schemas, authentication, pagination, filtering, versioning, and OpenAPI specifications. Triggers when users ask to design, review, document, or improve APIs.

API Design Assistant

Overview

Assist with designing well-structured, RESTful APIs by suggesting endpoints, parameters, return types, and best practices. Generate OpenAPI specifications and provide implementation guidance.

Workflow

1. Understand Requirements

When designing a new API or reviewing an existing one, first understand:

For new API design:

  • What is the domain/purpose of the API?
  • What resources need to be exposed? (users, products, orders, etc.)
  • What operations are needed? (create, read, update, delete, custom actions)
  • Who are the consumers? (web app, mobile app, third-party integrations)
  • Are there specific requirements? (authentication, rate limiting, versioning)

For API review:

  • What are the existing endpoints?
  • What issues or improvements are needed?
  • Are there consistency problems?
  • Are best practices being followed?
2. Design or Review API Structure

Follow these steps based on the use case:

Designing New APIs

Step 1: Identify Resources

Map domain concepts to API resources:

  • User management → /users
  • Product catalog → /products
  • Order processing → /orders
  • User's orders → /users/{userId}/orders

Step 2: Define Endpoints

For each resource, determine needed operations:

# Users resource
GET    /users              # List users
POST   /users              # Create user
GET    /users/{id}         # Get specific user
PUT    /users/{id}         # Replace user
PATCH  /users/{id}         # Update user
DELETE /users/{id}         # Delete user

# Nested resources
GET    /users/{id}/orders  # Get user's orders
POST   /users/{id}/orders  # Create order for user

# Actions
POST   /users/{id}/activate      # Activate user
POST   /orders/{id}/cancel       # Cancel order

Step 3: Design Request/Response Schemas

Define what data each endpoint expects and returns. See best-practices.md for detailed examples.

Step 4: Add Supporting Features

  • Authentication (Bearer tokens, API keys)
  • Pagination (page-based, cursor-based)
  • Filtering and sorting
  • Error handling
  • Versioning strategy

Step 5: Generate OpenAPI Specification

Create formal API documentation. See openapi-template.md for complete templates.

Reviewing Existing APIs

Step 1: Analyze Consistency

Check for:

  • Consistent naming conventions
  • Consistent use of HTTP methods
  • Consistent response formats
  • Consistent error handling

Step 2: Identify Issues

Common problems:

  • Verbs in URLs (e.g., /getUsers instead of GET /users)
  • Wrong HTTP methods (e.g., GET for mutations)
  • Inconsistent naming (e.g., /user vs /users)
  • Missing pagination on collections
  • Inadequate error responses
  • No versioning strategy

Step 3: Suggest Improvements

Provide specific recommendations:

  • "Change /getUsers to GET /users"
  • "Add pagination to GET /users endpoint"
  • "Standardize error response format across all endpoints"
  • "Use PATCH instead of PUT for partial updates"

Step 4: Propose Migration Path

If breaking changes are needed:

  • Version the API (/v2/users)
  • Provide deprecation timeline
  • Suggest backward compatibility approaches
3. Apply Best Practices

Consult best-practices.md for detailed guidance on:

  • Resource naming: Plural nouns, lowercase, hyphens
  • HTTP methods: Correct usage of GET, POST, PUT, PATCH, DELETE
  • Status codes: When to use 200, 201, 204, 400, 401, 403, 404, 409, 422, 429, 500
  • Authentication: Bearer tokens, API keys, OAuth2
  • Pagination: Offset, page-based, cursor-based
  • Filtering & sorting: Query parameter patterns
  • Versioning: URL, header, or query parameter approaches
  • Error handling: Consistent error response formats
  • Rate limiting: Header-based communication
4. Generate Documentation

Depending on user needs, provide:

Markdown Documentation
markdown
## POST /users

Create a new user account.

### Request

**Headers:**
- `Content-Type: application/json`
- `Authorization: Bearer <token>`

**Body:**
```json
{
  "name": "John Doe",
  "email": "john@example.com",
  "role": "user"
}
Response

Success (201 Created):

json
{
  "id": 123,
  "name": "John Doe",
  "email": "john@example.com",
  "role": "user",
  "created_at": "2024-01-15T10:30:00Z"
}

Error (400 Bad Request):

json
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Invalid input data",
    "details": [
      {
        "field": "email",
        "message": "Email format is invalid"
      }
    ]
  }
}

#### OpenAPI 3.0 Specification

Generate formal OpenAPI specs using templates from [openapi-template.md](references/openapi-template.md).

#### Implementation Hints

Provide language/framework-specific guidance when requested:

**Example for Express.js:**
```javascript
// POST /users
app.post('/users', async (req, res) => {
  try {
    const { name, email, role } = req.body;

    // Validation
    if (!name || !email) {
      return res.status(400).json({
        error: {
          code: 'VALIDATION_ERROR',
          message: 'Name and email are required'
        }
      });
    }

    // Create user
    const user = await User.create({ name, email, role });

    res.status(201)
      .location(`/users/${user.id}`)
      .json(user);
  } catch (error) {
    res.status(500).json({
      error: {
        code: 'INTERNAL_ERROR',
        message: 'Failed to create user'
      }
    });
  }
});
5. Handle Common Scenarios
Pagination

Recommend appropriate pagination strategy:

  • Small datasets: Offset or page-based
  • Large datasets: Cursor-based
  • Real-time data: Cursor-based with timestamps
Authentication

Suggest authentication approach:

  • Public API: API keys
  • Web/mobile apps: JWT tokens
  • Third-party integrations: OAuth2
  • Internal services: mTLS or service tokens
Versioning

Recommend when to version:

  • Breaking changes to existing endpoints
  • Removing fields from responses
  • Changing data types
  • Changing endpoint URLs

Don't version for:

  • Adding new endpoints
  • Adding optional fields to responses
  • Adding optional parameters
Filtering Complex Data

Design filtering for different data types:

Exact match:

GET /users?status=active&role=admin

Range queries:

GET /products?price_min=10&price_max=100
GET /events?start_date=2024-01-01&end_date=2024-12-31

Pattern matching:

GET /users?name_contains=john
GET /products?search=laptop

Multiple values:

GET /users?status=active,pending
GET /products?category=electronics,computers

Example Workflows

Show full SKILL.md (393 more words)Show less
Example 1: Design API from Requirements

User request:

"Design an API for a blog platform. Users should be able to create posts, comment on posts, and like posts."

Response approach:

  1. Identify resources: Users, Posts, Comments, Likes

  2. Design endpoints:

    # Posts
    GET    /posts
    POST   /posts
    GET    /posts/{postId}
    PUT    /posts/{postId}
    DELETE /posts/{postId}
    
    # Comments on posts
    GET    /posts/{postId}/comments
    POST   /posts/{postId}/comments
    DELETE /posts/{postId}/comments/{commentId}
    
    # Likes on posts
    POST   /posts/{postId}/likes
    DELETE /posts/{postId}/likes
    GET    /posts/{postId}/likes
  3. Define schemas:

    json
    // Post
    {
      "id": 123,
      "title": "My Post",
      "content": "Post content...",
      "author_id": 456,
      "created_at": "2024-01-15T10:30:00Z",
      "likes_count": 10,
      "comments_count": 5
    }
  4. Add features: Pagination for posts/comments, filtering by author, sorting by date/popularity

  5. Generate OpenAPI spec if requested

Example 2: Review Existing API

User request:

"Review this API design: GET /getUserById?id=123, POST /createUser, POST /updateUser"

Response approach:

  1. Identify issues:

    • Using verbs in URLs
    • Using GET with query param instead of path param
    • Not using proper HTTP methods for updates
  2. Suggest improvements:

    # Before
    GET  /getUserById?id=123
    POST /createUser
    POST /updateUser
    
    # After
    GET   /users/{id}
    POST  /users
    PUT   /users/{id}    # Full replacement
    PATCH /users/{id}    # Partial update
  3. Explain benefits:

    • RESTful resource naming
    • Proper HTTP method semantics
    • Cleaner, more intuitive URLs
    • Better caching support
Example 3: Generate Documentation

User request:

"Generate OpenAPI documentation for a user management API"

Response approach:

  1. Use templates from openapi-template.md
  2. Define info, servers, paths, schemas
  3. Include authentication schemes
  4. Add examples for requests/responses
  5. Output complete YAML specification

Tips for Effective API Design

Start with resources, not actions:

  • Think "What resources exist?" not "What actions can be performed?"
  • Resources are nouns (users, products), actions are HTTP methods

Be consistent:

  • Use same naming conventions throughout
  • Use same error format for all endpoints
  • Use same pagination approach across collections

Think about the consumer:

  • What data do they need? Don't over-fetch or under-fetch
  • What queries will be common? Support them with filters
  • What's the expected load? Design pagination accordingly

Plan for evolution:

  • Add versioning from the start
  • Make fields optional when possible
  • Don't break existing clients unnecessarily

Document early:

  • Generate OpenAPI specs during design
  • Keep documentation in sync with implementation
  • Provide clear examples

Validate thoroughly:

  • Check all inputs
  • Return meaningful error messages
  • Use appropriate status codes

References

For detailed information, consult these references:

  • best-practices.md: Comprehensive REST API best practices including naming, HTTP methods, status codes, authentication, pagination, filtering, and common mistakes
  • openapi-template.md: Complete OpenAPI 3.0 specification templates with examples for all common patterns

© ArabelaTso, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/api-design-assistant of ArabelaTso/Skills-4-SE.

  • SKILL.md
  • references/best-practices.md
  • references/openapi-template.md

Open the folder on GitHubat commit 4f38503

Compare with similar skills

API Design Assistant next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

API Design Assistant compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
API Design Assistant this skillArabelaTso/Skills-4-SE253—~2.7kAutomated safety check: PassApache-2.0
OpenAPI Spec Generationwshobson/agents40k9 repos~511Automated safety check: PassMIT
API Designepam/ai-dial-chat504—~1.2kAutomated safety check: PassApache-2.0
API DesignerJeffallan/claude-skills12k1 repos~2kAutomated safety check: PassMIT
Old Coder API DesignAmazingAng/old-coder749—~3.4kAutomated safety check: PassMIT
API Documenteralirezarezvani/claude-code-tresor777—~1.5kAutomated safety check: PassMIT

Similar skills

  • Create, validate and maintain OpenAPI 3.1 specs for REST APIs, whether designed first or generated from existing code, and use them for docs and client SDKs.

    40k GitHub starsUsed in 9 repos~511 tokens
    Backend & APIsAuto-check passed
  • API Design

    epam/ai-dial-chat

    Design, review, or change HTTP API contracts for AI DIAL Chat.

    504 GitHub stars~1.2k tokensUpdated today
    Backend & APIsAuto-check passed
  • API Designer

    Jeffallan/claude-skills

    Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.

    12k GitHub starsUsed in 1 repo~2k tokens
    Backend & APIsAuto-check passed
  • Old Coder API Design

    AmazingAng/old-coder

    Reviews or designs an HTTP/JSON API's endpoints, auth, pagination, versioning and deprecations, guarding against inventing a bespoke interface or silently breaking consumers.

    749 GitHub stars~3.4k tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • API Documenter

    alirezarezvani/claude-code-tresor

    Auto-generate API documentation from code and comments. An agent skill from alirezarezvani/claude-code-tresor.

    777 GitHub stars~1.5k tokensUpdated 3 mo ago
    Backend & APIsAuto-check passed
  • API Design Patterns

    rohitg00/awesome-claude-code-toolkit

    REST API design with resource naming, pagination, versioning, and OpenAPI spec generation

    2.7k GitHub stars~1.2k tokensUpdated 5 mo ago
    Backend & APIsAuto-check passed

More from ArabelaTso/Skills-4-SE

All 170 skills in this repo
  • Framework Migration Assistant

    ArabelaTso/Skills-4-SE

    Automatically migrate Python web applications between frameworks (Flask → FastAPI, Django → FastAPI).

    253 GitHub stars~1.9k tokensUpdated 1 mo ago
    Auto-check passed
  • Metamorphic Test Generator

    ArabelaTso/Skills-4-SE

    Generate test cases using metamorphic testing by applying transformations based on metamorphic properties.

    253 GitHub stars~798 tokensUpdated 1 mo ago
    Auto-check passed
  • Reproduction Trace Instrumenter

    ArabelaTso/Skills-4-SE

    Instruments programs to capture execution traces specifically for reproducing reported bugs, enabling consistent replay and diagnosis of failures.

    253 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Spring Mvc To Boot Migrator

    ArabelaTso/Skills-4-SE

    Automatically migrate Spring MVC applications to Spring Boot.

    253 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed
  • State Snapshot Instrumenter

    ArabelaTso/Skills-4-SE

    Instrument programs (Python, C/C++, Java) to capture snapshots of key program states at runtime, including variables, memory, and call stacks.

    253 GitHub stars~2.2k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about API Design Assistant

What does API Design Assistant do?

Design and review APIs with suggestions for endpoints, parameters, return types, and best practices. API Design Assistant is an agent skill from ArabelaTso/Skills-4-SE. Design and review APIs with suggestions for endpoints, parameters, return types, and best practices.

When should I use API Design Assistant?

API Design Assistant fits situations like: designing new APIs from requirements; reviewing existing API designs; generating API documentation; getting implementation guidance.

How do I install API Design Assistant in Claude Code?

Run `npx skills add ArabelaTso/Skills-4-SE --skill api-design-assistant -a claude-code`. Or copy the skill folder (skills/api-design-assistant in ArabelaTso/Skills-4-SE) into .claude/skills/api-design-assistant in your project. Claude Code loads it when a task matches its description.

How do I install API Design Assistant in Codex?

Run `npx skills add ArabelaTso/Skills-4-SE --skill api-design-assistant -a codex`. Or copy the skill folder (skills/api-design-assistant in ArabelaTso/Skills-4-SE) into .agents/skills/api-design-assistant in your project. Codex loads it when a task matches its description.

Can I use API Design Assistant in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ArabelaTso/Skills-4-SE --skill api-design-assistant -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/api-design-assistant, .gemini/skills/api-design-assistant, .github/skills/api-design-assistant and .opencode/skills/api-design-assistant in your project.

What does API Design Assistant need to run?

SKILL.md names no scripts, command-line tools or credentials: API Design Assistant is instructions for the agent only.

Does API Design Assistant access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is API Design Assistant safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does API Design Assistant use?

API Design Assistant is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does API Design Assistant use?

About 2.7k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.5k tokens, read only when the agent opens those files.

What are the alternatives to API Design Assistant?

Skills that share tags, products or a category with API Design Assistant: OpenAPI Spec Generation (wshobson/agents, 40k stars), API Design (epam/ai-dial-chat, 504 stars), API Designer (Jeffallan/claude-skills, 12k stars) and Old Coder API Design (AmazingAng/old-coder, 749 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains API Design Assistant?

ArabelaTso (a GitHub user) maintains it in ArabelaTso/Skills-4-SE, which has 253 GitHub stars. The repository holds 170 skills in this directory. The repository was last updated on August 21, 2026.

Source: ArabelaTso/Skills-4-SE on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.