ln-775-api-docs-generator

Configures Swagger/OpenAPI documentation for backend APIs. Use when adding interactive API docs to a project.

INSTALLATION
npx skills add https://github.com/levnikolaevich/claude-code-skills --skill ln-775-api-docs-generator
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

ln-775-api-docs-generator

Type: L3 Worker

Category: 7XX Project Bootstrap

Configures API documentation with Swagger/OpenAPI.

Overview

Aspect

Details

Input

Context Store from ln-770

Output

Swagger/OpenAPI configuration

Stacks

.NET (Swashbuckle), Python (FastAPI built-in)

Phase 1: Receive Context + Analyze API Structure

Accept Context Store and scan for API endpoints.

Required Context:

  • STACK: .NET or Python
  • PROJECT_ROOT: Project directory path

Idempotency Check:

  • .NET: Grep for AddSwaggerGen or UseSwagger
  • Python: FastAPI has built-in OpenAPI, check for custom configuration
  • If found: Return { "status": "skipped" }

API Analysis:

  • Scan for controller/router files
  • Identify authentication method (JWT, OAuth2, API Key)
  • Check for API versioning

Phase 2: Research Documentation Standards

Use MCP tools for current documentation.

For .NET:

MCP ref: "Swashbuckle ASP.NET Core OpenAPI Swagger configuration"

Context7: /domaindrivendev/Swashbuckle.AspNetCore

For Python:

MCP ref: "FastAPI OpenAPI documentation customization"

Context7: /tiangolo/fastapi

Key Patterns to Research:

  • OpenAPI 3.0/3.1 specification
  • Security scheme definitions
  • XML comments integration (.NET)
  • Response examples and schemas
  • API versioning documentation

Phase 3: Decision Points

Q1: API Information

Field

Description

Required

Title

API name

✓ Yes

Version

API version (v1, v2)

✓ Yes

Description

Brief description

Optional

Contact

Support contact

Optional

License

API license

Optional

Q2: Security Scheme

Scheme

Use Case

OpenAPI Type

JWT Bearer (Recommended)

Token in Authorization header

http + bearer

API Key

Key in header or query

apiKey

OAuth2

Full OAuth2 flow

oauth2

None

Public API

No security

Q3: Documentation Features

Feature

.NET

Python

Default

XML Comments

✓ Supported

N/A

✓ Enable

Response Examples

✓ Manual

✓ Pydantic

✓ Enable

Request Validation

✓ Annotations

✓ Pydantic

✓ Enable

Try It Out

✓ Yes

✓ Yes

✓ Enable

Phase 4: Generate Configuration

.NET Output Files

File

Purpose

Extensions/SwaggerExtensions.cs

Swagger service registration

*.csproj (update)

Enable XML documentation

Generation Process:

  • Use MCP ref for current Swashbuckle API
  • Generate SwaggerExtensions with:
  • AddEndpointsApiExplorer
  • AddSwaggerGen with OpenApiInfo
  • Security definition (if auth detected)
  • XML comments inclusion
  • Update csproj for documentation generation

Packages to Add:

  • Swashbuckle.AspNetCore

Registration Code:

builder.Services.AddSwaggerServices();

// ...

app.UseSwaggerServices();

csproj Update:

<PropertyGroup>

  <GenerateDocumentationFile>true</GenerateDocumentationFile>

  <NoWarn>$(NoWarn);1591</NoWarn>

</PropertyGroup>

Python Output Files

File

Purpose

core/openapi_config.py

OpenAPI customization

Generation Process:

  • Use MCP ref for FastAPI OpenAPI customization
  • Generate openapi_config.py with:
  • Custom OpenAPI schema
  • Security scheme definitions
  • Tags and descriptions
  • FastAPI generates OpenAPI automatically

Note: FastAPI has built-in OpenAPI support. This worker customizes the default configuration.

Registration Code:

from core.openapi_config import custom_openapi

app.openapi = lambda: custom_openapi(app)

Phase 5: Validate

Validation Steps:

-

Syntax check:

  • .NET: dotnet build --no-restore
  • Python: python -m py_compile core/openapi_config.py

-

Access documentation:

Stack

URL

.NET

http://localhost:5000/swagger

Python

http://localhost:5000/docs

Python (ReDoc)

http://localhost:5000/redoc

-

Verify content:

  • All endpoints visible
  • Request/response schemas displayed
  • Security scheme shown (if configured)
  • Try It Out functional

-

OpenAPI spec validation:

# .NET

curl http://localhost:5000/swagger/v1/swagger.json | jq .

# Python

curl http://localhost:5000/openapi.json | jq .

Security Scheme Examples

JWT Bearer (.NET)

// Structure only - actual code generated via MCP ref

options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme

{

    Description = "JWT Authorization header using Bearer scheme",

    Name = "Authorization",

    In = ParameterLocation.Header,

    Type = SecuritySchemeType.Http,

    Scheme = "bearer",

    BearerFormat = "JWT"

});

JWT Bearer (Python/FastAPI)

# Structure only - actual code generated via MCP ref

from fastapi.security import HTTPBearer

security = HTTPBearer()

Return to Coordinator

{

  "status": "success",

  "files_created": [

    "Extensions/SwaggerExtensions.cs"

  ],

  "packages_added": [

    "Swashbuckle.AspNetCore"

  ],

  "registration_code": "builder.Services.AddSwaggerServices();",

  "message": "Configured Swagger/OpenAPI documentation"

}

Reference Links

Critical Rules

  • Use MCP ref for current Swashbuckle/FastAPI API — do not hardcode configuration from memory
  • Auto-detect auth scheme — scan for JWT, OAuth2, or API Key and configure security definition accordingly
  • Enable XML documentation in .NET — update csproj with GenerateDocumentationFile and suppress warning 1591
  • FastAPI: customize, not replace — built-in OpenAPI works by default, only add custom schema/security
  • Idempotent — if AddSwaggerGen/UseSwagger exists, return status: "skipped"

Definition of Done

  • Context Store received (stack, project root)
  • API structure analyzed (controllers/routers, auth method, versioning)
  • Documentation standards researched via MCP tools
  • Swagger/OpenAPI configuration generated with API info and security scheme
  • XML comments enabled (.NET) or custom OpenAPI schema configured (Python)
  • Syntax validated (dotnet build or py_compile)
  • Structured JSON response returned to ln-770 coordinator

Version: 2.0.0

Last Updated: 2026-01-10

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card