A skill your agent uses when the project follows API-first / OpenAPI-first approach: generating controller interfaces, DTOs, and clients from an OpenAPI spec.

MITAuto-check passedBackend & APIs

Install Openapi First

skills CLI
$ npx skills add rrezartprebreza/spring-boot-skills --skill openapi-first -a claude-code

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

GitHub CLI
$ gh skill install rrezartprebreza/spring-boot-skills openapi-first --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/rrezartprebreza/spring-boot-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/spring-boot-3/openapi-first .claude/skills/openapi-first && 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
openapi-first
GitHub stars
298
Used in
1 other repo
Token cost
~1.3k tokens
SKILL.md length
67 words
Files
5
Skills in repo
51
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when the project follows API-first / OpenAPI-first approach: generating controller interfaces, DTOs, and clients from an OpenAPI spec.

  • The project follows API-first / OpenAPI-first approach: generating controller interfaces
  • SKILL.md covers Maven Plugin Setup, OpenAPI Spec Example, Implementing the Delegate and .gitignore — Never Commit…, plus 1 more section
  • Runs Java scripts from its folder
  • Clients from an OpenAPI spec

What it does

Openapi First is an agent skill from rrezartprebreza/spring-boot-skills. Use when the project follows API-first / OpenAPI-first approach: generating controller interfaces, DTOs, and clients from an OpenAPI spec. Use when you see openapi.yaml, openapi-generator-maven-plugin, or ApiDelegate pattern in the project.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files (for example `agents/openai.yaml` and `templates/openapi.yaml`).

It sits in Backend & APIs, covering OpenAPI specifications. It works with OpenAPI and Spring Boot. The repository describes itself as: Production-grade Claude Code and Codex skills for Spring Boot developers. The licence is MIT.

When your agent uses it

  • The project follows API-first / OpenAPI-first approach: generating controller interfaces
  • Clients from an OpenAPI spec
  • You see openapi.yaml
  • Openapi-generator-maven-plugin

Example prompts

  • “/openapi-first”

What it can do on your machine

Read from SKILL.md and the folder at commit f0c06a0. 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

    Ships script files (Java), which the agent can run.

    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

Openapi First loads about 1.3k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 67 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~64
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

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 rrezartprebreza/spring-boot-skills at commit f0c06a0, republished under its MIT licence (© rrezartprebreza). 67 words, ~1,253 tokens.

Download SKILL.mdSave it as .claude/skills/openapi-first/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
openapi-first
description
Use when the project follows API-first / OpenAPI-first approach: generating controller interfaces, DTOs, and clients from an OpenAPI spec. Use when you see openapi.yaml, openapi-generator-maven-plugin, or ApiDelegate pattern in the project.

OpenAPI-First Development

Maven Plugin Setup

xml
<plugin>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator-maven-plugin</artifactId>
    <version>7.5.0</version>
    <executions>
        <execution>
            <goals><goal>generate</goal></goals>
            <configuration>
                <inputSpec>${project.basedir}/src/main/resources/openapi.yaml</inputSpec>
                <generatorName>spring</generatorName>
                <apiPackage>com.example.api</apiPackage>
                <modelPackage>com.example.api.model</modelPackage>
                <configOptions>
                    <delegatePattern>true</delegatePattern>      <!-- implement delegate, not controller -->
                    <interfaceOnly>false</interfaceOnly>
                    <useSpringBoot3>true</useSpringBoot3>
                    <useTags>true</useTags>
                    <dateLibrary>java8</dateLibrary>
                    <serializationLibrary>jackson</serializationLibrary>
                    <openApiNullable>false</openApiNullable>
                    <skipDefaultInterface>true</skipDefaultInterface>
                </configOptions>
                <generateSupportingFiles>true</generateSupportingFiles>
                <output>${project.build.directory}/generated-sources/openapi</output>
            </configuration>
        </execution>
    </executions>
</plugin>

OpenAPI Spec Example

yaml
# src/main/resources/openapi.yaml
openapi: 3.0.3
info:
  title: Order Service API
  version: 1.0.0

paths:
  /api/v1/orders:
    post:
      tags: [Orders]
      operationId: createOrder
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderRequest'
      responses:
        '201':
          description: Order created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
        '400':
          $ref: '#/components/responses/ValidationError'

    get:
      tags: [Orders]
      operationId: listOrders
      parameters:
        - name: page
          in: query
          schema: { type: integer, default: 0 }
        - name: size
          in: query
          schema: { type: integer, default: 20 }
      responses:
        '200':
          description: Paginated orders
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderPage'

components:
  schemas:
    CreateOrderRequest:
      type: object
      required: [customerEmail, items]
      properties:
        customerEmail:
          type: string
          format: email
        items:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/OrderItemRequest'

    OrderResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        status:
          type: string
          enum: [PENDING, PROCESSING, SHIPPED, DELIVERED, CANCELLED]
        customerEmail:
          type: string
        createdAt:
          type: string
          format: date-time

  responses:
    ValidationError:
      description: Validation failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'

Implementing the Delegate

java
// Generated: OrdersApi interface with delegate
// Your implementation — never modify generated files

@Service
@RequiredArgsConstructor
public class OrdersApiDelegateImpl implements OrdersApiDelegate {

    private final OrderService orderService;

    @Override
    public ResponseEntity<OrderResponse> createOrder(CreateOrderRequest request) {
        Order order = orderService.createOrder(request);
        return ResponseEntity.status(HttpStatus.CREATED)
            .body(OrderApiMapper.toResponse(order));
    }

    @Override
    public ResponseEntity<OrderPage> listOrders(Integer page, Integer size) {
        Page<Order> orders = orderService.findAll(PageRequest.of(page, size));
        return ResponseEntity.ok(OrderApiMapper.toPage(orders));
    }
}

.gitignore — Never Commit Generated Files

gitignore
target/generated-sources/openapi/

Gotchas

  • Agent modifies generated controller files — NEVER modify generated code, implement delegate
  • Agent generates code without useSpringBoot3=true — uses old javax.* imports
  • Agent commits generated sources — add to .gitignore, generate on build
  • Agent skips skipDefaultInterface=true — generates default methods that hide missing impls
  • Agent mixes generated models with hand-written models — keep them separate

© rrezartprebreza, MIT. 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 4 other files in skills/spring-boot-3/openapi-first of rrezartprebreza/spring-boot-skills.

  • SKILL.md
  • agents/openai.yaml
  • examples/bad-delegate-impl.java
  • examples/good-delegate-impl.java
  • templates/openapi.yaml

Open the folder on GitHubat commit f0c06a0

Used in 1 other repository

We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in rrezartprebreza/spring-boot-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Openapi First 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.

Openapi First compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Openapi First this skillrrezartprebreza/spring-boot-skills2981 repos~1.3kAutomated safety check: PassMIT
Oryxos Initoryx-labs/oryxos186—~1.6kAutomated safety check: PassApache-2.0
302 Frameworks Spring Boot RESTjabrena/plinth4461 repos~1kAutomated safety check: PassApache-2.0
701 Technologies Openapijabrena/plinth4461 repos~870Automated safety check: PassApache-2.0
Springboot Init Skilljiushiwon/wg-skills112—~2.2kAutomated safety check: NotesApache-2.0
Spring Boot Openapi Documentationgiuseppe-trisciuoglio/developer-kit3551 repos~2.6kAutomated safety check: NotesMIT

Similar skills

  • Oryxos Init

    oryx-labs/oryxos

    初始化 OryxOS(或同类 JDK 21 + Spring Boot 3.x 企业级单体)的工程地基:Maven 多模块骨架、 结构化日志、Actuator + Prometheus 监控、Spring MVC + 虚拟线程、springdoc OpenAPI、 统一响应体与全局异常/错误码、Google 格式 + 阿里编码规约(Spotless + 阿里 P3C +…

    186 GitHub stars~1.6k tokensUpdated yesterday
    Backend & APIsAuto-check passed
  • A skill your agent uses when you need to design, review, or improve REST APIs with Spring Boot — including HTTP methods, resource URIs, status codes, DTOs, versioning, deprecation and sunset…

    446 GitHub starsUsed in 1 repo~1k tokens
    Backend & APIsAuto-check passed
  • A skill your agent uses when you need framework-agnostic OpenAPI 3.x guidance — spec structure, metadata and versioning, paths and operations, reusable schemas, security schemes, examples…

    446 GitHub starsUsed in 1 repo~870 tokens
    Backend & APIsAuto-check passed
  • Springboot Init Skill

    jiushiwon/wg-skills

    Spring Boot 项目一键初始化技能。面向零基础小白,提供环境探测、自动安装、完整 Web 骨架生成、SSE 流式框架、JWT 鉴权、统一响应封装、文件上传接口、一键启动/重启脚本、Swagger 文档,内置 MySQL(默认)/ PostgreSQL / MongoDB 数据库选择。用户只需说"帮我搭一个 Spring Boot…

    112 GitHub stars~2.2k tokensUpdated yesterday
    Backend & APIsAuto-check: notes
  • Spring Boot Openapi Documentation

    giuseppe-trisciuoglio/developer-kit

    Provides patterns to generate comprehensive REST API documentation using SpringDoc OpenAPI 3.0 and Swagger UI in Spring Boot 3.x applications.

    355 GitHub starsUsed in 1 repo~2.6k tokens
    Backend & APIsAuto-check: notes
  • Detecting Debug Endpoints

    jeremylongshore/tons-of-skills-marketplace

    Probe a target for accidentally-public admin / debug / introspection endpoints — Spring Boot Actuator, Apache server-status, Prometheus metrics, GraphQL playground, Swagger UI, phpMyAdmin…

    2.8k GitHub stars~2k tokensUpdated today
    Backend & APIsAuto-check passed

More from rrezartprebreza/spring-boot-skills

All 51 skills in this repo
  • AI Observability

    rrezartprebreza/spring-boot-skills

    A skill your agent uses when adding Spring AI-specific model observations, token usage, latency, externally configured cost attribution, advisor telemetry, or protected prompt and completion logging.

    298 GitHub starsUsed in 1 repo~1.6k tokens
    Auto-check passed
  • Hateoas

    rrezartprebreza/spring-boot-skills

    A skill your agent uses when adding hypermedia links to REST responses, building self-describing APIs, or implementing Spring HATEOAS.

    298 GitHub starsUsed in 1 repo~1.4k tokens
    Auto-check passed
  • MCP Server

    rrezartprebreza/spring-boot-skills

    A skill your agent uses when exposing Spring Boot 3 application capabilities through Model Context Protocol tools, resources, or prompts.

    298 GitHub starsUsed in 1 repo~1.1k tokens
    Auto-check passed
  • MCP Server

    rrezartprebreza/spring-boot-skills

    A skill your agent uses when exposing Spring Boot 4 application capabilities through Model Context Protocol tools, resources, or prompts.

    298 GitHub starsUsed in 1 repo~1.3k tokens
    Auto-check passed
  • REST API Conventions

    rrezartprebreza/spring-boot-skills

    A skill your agent uses when generating REST controllers, DTOs, success response contracts, pagination, HTTP status mapping, or API versioning.

    298 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Spring AI Integration

    rrezartprebreza/spring-boot-skills

    A skill your agent uses when integrating LLMs, chat clients, embeddings, RAG pipelines, or AI agents into Spring Boot.

    298 GitHub starsUsed in 1 repo~2.1k tokens
    Auto-check passed

Categories

Questions about Openapi First

What does Openapi First do?

A skill your agent uses when the project follows API-first / OpenAPI-first approach: generating controller interfaces, DTOs, and clients from an OpenAPI spec. Openapi First is an agent skill from rrezartprebreza/spring-boot-skills. Use when the project follows API-first / OpenAPI-first approach: generating controller interfaces, DTOs, and clients from an OpenAPI spec.

When should I use Openapi First?

Openapi First fits situations like: the project follows API-first / OpenAPI-first approach: generating controller interfaces; clients from an OpenAPI spec; you see openapi.yaml; openapi-generator-maven-plugin.

How do I install Openapi First in Claude Code?

Run `npx skills add rrezartprebreza/spring-boot-skills --skill openapi-first -a claude-code`. Or copy the skill folder (skills/spring-boot-3/openapi-first in rrezartprebreza/spring-boot-skills) into .claude/skills/openapi-first in your project. Claude Code loads it when a task matches its description.

How do I install Openapi First in Codex?

Run `npx skills add rrezartprebreza/spring-boot-skills --skill openapi-first -a codex`. Or copy the skill folder (skills/spring-boot-3/openapi-first in rrezartprebreza/spring-boot-skills) into .agents/skills/openapi-first in your project. Codex loads it when a task matches its description.

Can I use Openapi First 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 rrezartprebreza/spring-boot-skills --skill openapi-first -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/openapi-first, .gemini/skills/openapi-first, .github/skills/openapi-first and .opencode/skills/openapi-first in your project.

What does Openapi First need to run?

Going by SKILL.md and its folder, Openapi First needs Java for the scripts in its folder.

Does Openapi First 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 Openapi First 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 Openapi First use?

Openapi First is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Openapi First use?

About 1.3k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Openapi First?

Skills that share tags, products or a category with Openapi First: Oryxos Init (oryx-labs/oryxos, 186 stars), 302 Frameworks Spring Boot REST (jabrena/plinth, 446 stars), 701 Technologies Openapi (jabrena/plinth, 446 stars) and Springboot Init Skill (jiushiwon/wg-skills, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Openapi First?

rrezartprebreza (a GitHub user) maintains it in rrezartprebreza/spring-boot-skills, which has 298 GitHub stars. The repository holds 51 skills in this directory. The repository was last updated on September 21, 2026.

Source: rrezartprebreza/spring-boot-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.