Dust dust-swagger

MANDATORY guideline - Always keep Swagger documentation in sync when modifying API endpoints or schemas.

install
source · Clone the upstream repo
git clone https://github.com/dust-tt/dust
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/dust-tt/dust "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/dust-swagger" ~/.claude/skills/dust-tt-dust-dust-swagger && rm -rf "$T"
manifest: .claude/skills/dust-swagger/SKILL.md
source content

Swagger Documentation Sync - Mandatory Rule

MANDATORY: Any change to an API endpoint schema must be reflected in the Swagger documentation. Do not consider an API change complete until Swagger is updated.

When This Rule Applies

Automatically applies whenever you are:

  • Modifying files in
    front/pages/api/**
    or
    front/app/api/**
  • Adding, removing, or renaming fields in request/response bodies (at any nesting level)
  • Changing field types or optionality in API schemas
  • Adding or removing endpoints

What to Update

When modifying API schemas, check and update the following:

  • pages/api/swagger_private_schemas.ts
    — shared schemas for the private API
  • pages/api/v1/w/[wId]/swagger_schemas.ts
    — shared schemas for the public API
  • The
    @swagger
    annotation in the endpoint file itself

Annotations

  • Every endpoint must have either a
    @swagger
    annotation (with proper documentation) or
    @ignoreswagger
    (for internal/undocumented endpoints). This is enforced by the
    lint:swagger-annotations
    check.
  • TypeScript types annotated with
    @swaggerschema
    point to a corresponding swagger schema. When modifying such a type, always update the referenced schema.

Example:

/**
 * @swaggerschema PrivateUser (swagger_private_schemas.ts)
 */
export type UserTypeWithWorkspaces = UserType & {
  workspaces: WorkspaceType[];
};

Process

  1. Make the API/type change
  2. Identify which swagger files reference the modified schema
  3. Update all relevant
    @swagger
    annotations and shared schema files
  4. Verify
    lint:swagger-annotations
    passes

You don't need to manually invoke this skill - these guidelines should be followed automatically for any API-related work.