Agent skill

Mas API Contract

by AUTO-MAS-Project in AUTO-MAS-Project/AUTO-MAS

Define backend API contract standards for FastAPI services. An agent skill from AUTO-MAS-Project/AUTO-MAS.

AGPL-3.0Auto-check passedBackend & APIs

Install Mas API Contract

skills CLI
$ npx skills add AUTO-MAS-Project/AUTO-MAS --skill mas-api-contract -a claude-code

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

GitHub CLI
$ gh skill install AUTO-MAS-Project/AUTO-MAS mas-api-contract --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/AUTO-MAS-Project/AUTO-MAS.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/mas-api-contract .claude/skills/mas-api-contract && 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
mas-api-contract
GitHub stars
708
Token cost
~1.9k tokens
SKILL.md length
980 words
Files
2
Skills in repo
15
Repo updated
First seen
Licence
AGPL-3.0

At a glance

Define backend API contract standards for FastAPI services. An agent skill from AUTO-MAS-Project/AUTO-MAS.

  • Works in 4 steps: Make minimal necessary changes first;… → Align with current code style and… → Avoid over-engineering,… → …
  • Refactoring HTTP/WebSocket endpoints in app/api
  • SKILL.md covers Objective, Global Constraints, Scope and MCP Surface, plus 10 more sections
  • Calls yarn

What it does

Mas API Contract is an agent skill from AUTO-MAS-Project/AUTO-MAS. Define backend API contract standards for FastAPI services. Use when adding or refactoring HTTP/WebSocket endpoints in app/api, designing request/response schemas in app/models/schema.py, standardizing status/error contracts, and maintaining backward compatibility for clients.

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

It sits in Backend & APIs, covering API design, Realtime and WebSockets and Backend development. It works with FastAPI and Model Context Protocol. The repository describes itself as: 多脚本多配置统一管理与自动化工具 | 轻松管理大量脚本并存储多个用户配置、设计自动化任务流、监看脚本日志,大幅提高自动化代理效率与稳定性!. The licence is AGPL-3.0.

When your agent uses it

  • Refactoring HTTP/WebSocket endpoints in app/api
  • Designing request/response schemas in app/models/schema.py
  • Standardizing status/error contracts
  • Maintaining backward compatibility for clients

Example prompts

  • “/mas-api-contract”

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Make minimal necessary changes first; avoid broad refactors unless explicitly requested.
  2. Align with current code style and existing project conventions in the touched module.
  3. Avoid over-engineering, over-abstraction, and defensive programming that does not match existing code patterns.
  4. Study similar existing implementations deeply before coding and follow established local patterns.

What it can do on your machine

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

    Shell commands in SKILL.md call:

    • yarn

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

  • Network

    No URLs in SKILL.md. Its commands use yarn, which can reach the network depending on how they are called.

    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

Mas API Contract loads about 1.9k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 980 words of instructions outside code blocks.

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

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 AUTO-MAS-Project/AUTO-MAS at commit 699de5a, republished under its AGPL-3.0 licence (© AUTO-MAS-Project). 980 words, ~1,852 tokens.

Download SKILL.mdSave it as .claude/skills/mas-api-contract/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
mas-api-contract
description
Define backend API contract standards for FastAPI services. Use when adding or refactoring HTTP/WebSocket endpoints in app/api, designing request/response schemas in app/models/schema.py, standardizing status/error contracts, and maintaining backward compatibility for clients.

MAS API Contract

Objective

Keep backend API interfaces stable, consistent, and easy to consume.

Global Constraints

Apply these constraints while using this skill.

  1. Make minimal necessary changes first; avoid broad refactors unless explicitly requested.
  2. Align with current code style and existing project conventions in the touched module.
  3. Avoid over-engineering, over-abstraction, and defensive programming that does not match existing code patterns.
  4. Study similar existing implementations deeply before coding and follow established local patterns.

Scope

Apply to:

  1. HTTP endpoints under app/api/*.
  2. Request/response schema models in app/models/schema.py.
  3. WebSocket message contracts used by backend services.

Current dev baseline:

  1. Keep FastAPI responses aligned with OutBase-style envelopes used in app/models/schema.py.
  2. Keep WebSocket contracts aligned with current envelope conventions already used by app/api/core.py and WS command routes.

MCP Surface

The backend exposes an MCP server derived from the live OpenAPI schema. Know these facts before changing API surface:

  1. main.py mounts it with fastapi_mcp.FastApiMCP(...).mount_http(), so the transport is streamable HTTP at /mcp. It is not an SSE endpoint; do not describe or document it as one.
  2. Mounting is gated by AUTO_MAS_ENABLE_MCP (default "1") and happens in background initialization after lifespan yields. The route is absent until that finishes, so an early request can legitimately 404.
  3. MCP tools are generated from the full OpenAPI schema with describe_full_response_schema=True and describe_all_responses=True. Every route you add, rename, or retype becomes an MCP tool signature automatically, and schema churn is user-visible through this surface as well as through the generated frontend client.
  4. exclude_tags=["Delete"] keeps destructive routes out of MCP. A destructive endpoint must carry tags=["Delete"] to stay excluded; path or method naming alone does not exclude it.
  5. Treat /mcp and its tool names as an external contract. Route path, operation_id, and tag changes are breaking for MCP clients even when the HTTP API stays compatible.

Contract Principles

  1. Keep one clear contract per endpoint action.
  2. Keep request and response types explicit and version-safe.
  3. Keep error semantics predictable across endpoints.
  4. Keep compatibility-first behavior for public contract changes.

Endpoint Naming Rules

  1. Use resource-oriented prefixes: /api/<resource>.
  2. Keep action suffixes explicit for non-CRUD operations (/start, /stop, /reorder).
  3. Keep endpoint names concise and unambiguous.
  4. Avoid introducing equivalent endpoints with different verbs/paths.
  5. For POST query-style endpoints such as combobox/list options, prefer one endpoint with an explicit request-body discriminator over splitting equivalent endpoints by implementation type.
  6. Do not create parallel paths like /xxx-foo and /xxx-bar solely because the backend reads different config books; keep the path semantic stable and put the selected type in the body.

Request/Response Schema Rules

  1. Use *In for request models.
  2. Use *Out for response models.
  3. Use shared OutBase for common response envelope fields when applicable.
  4. Bind endpoint response_model explicitly.
  5. Do not return raw untyped dicts if a schema model exists.
  6. When a request needs to choose between known plan/script/config families, model that selector explicitly instead of encoding it in the URL path or handler name.
  7. Define or update request/response data models in app/models/schema.py before wiring a new route.
  8. Create routes in the corresponding app/api/ module and keep route handlers as thin transport adapters around schema models and backend calls.

Field Naming Rules

  1. Keep external API fields stable and consistent per established style.
  2. Reuse canonical shared semantic names via mas-schema-naming.
  3. Avoid introducing synonym fields for the same semantic.
  4. Keep ID fields consistent by entity (scriptId, queueId, userId, etc.).
Show full SKILL.md (404 more words)Show less

Error Contract Rules

  1. Return deterministic error structure (code, status, message) for handled failures.
  2. Convert domain exceptions at API boundary only.
  3. Keep human-readable message plus machine-usable code.
  4. Avoid leaking internal stack details in API response payloads.

Status Code And Result Semantics

  1. Use API-level success response only when operation contract succeeds.
  2. Keep business-level failure represented in standardized error response.
  3. Keep the same endpoint semantics across modules (scripts/queue/plan/emulator).

WebSocket Contract Rules

  1. Keep message envelope stable (id, type, data).
  2. Keep signal/update/info/message type semantics explicit and documented.
  3. Keep WS command payload contract aligned with HTTP command equivalents when both exist.
  4. Keep heartbeat and close semantics centralized in core WS flow.

Compatibility And Evolution

  1. Prefer additive changes over breaking changes.
  2. Deprecate fields/endpoints with transition period.
  3. Keep backward read compatibility when renaming request fields.
  4. Document any breaking contract change before merge.
  5. For OpenAPI-exposed schema fields already consumed by generated frontend clients, avoid rewriting a stable flat Literal[...] field into Union[...] plus shared type aliases unless you have verified that the generated TypeScript runtime exports remain unchanged.
  6. Treat documented local integration entrypoints as compatibility surfaces too; do not rename or repurpose stable paths such as the MCP endpoint without an explicit migration plan.
  7. After backend API changes, regenerate frontend API clients by running yarn openapi in frontend/ (it targets the development backend port) instead of hand-editing generated TypeScript.
  8. When testing new API calls from the frontend, remember that plain yarn dev can use the remote dev backend; start the local backend first when verifying local API changes.

Layer Boundary Rules

  1. api layer owns transport contract mapping only.
  2. schema layer owns model definitions only.
  3. core/task/services own business execution and integration logic.
  4. Apply mas-module-boundary for placement and dependency checks.

API Review Checklist

  1. Endpoint path/action naming is clear and non-duplicative.
  2. *In/*Out models are present and explicit.
  3. response_model is declared.
  4. Error contract shape is consistent.
  5. Field names align with existing canonical semantics.
  6. WebSocket payload changes preserve envelope compatibility.
  7. Contract changes include compatibility notes.
  8. POST endpoints do not multiply paths when a body selector would keep the contract simpler.
  9. Changes to documented localhost endpoints or startup assumptions were reviewed for user- and tool-facing compatibility, not just backend correctness.
  10. OpenAPI regeneration is handled as a separate generated-code step, and generated files are not manually edited.

© AUTO-MAS-Project, AGPL-3.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 1 other file in .agents/skills/mas-api-contract of AUTO-MAS-Project/AUTO-MAS.

  • SKILL.md
  • agents/openai.yaml

Open the folder on GitHubat commit 699de5a

Compare with similar skills

Mas API Contract 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.

Mas API Contract compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Mas API Contract this skillAUTO-MAS-Project/AUTO-MAS708—~1.9kAutomated safety check: PassAGPL-3.0
API Surface Reviewpolarsource/polar10k—~1.3kAutomated safety check: PassMIT
Starlettesimonw/research783—~8.6kAutomated safety check: NotesNone
Domodomo Backend Fastapidarknecrocities/DomoDomo---All-in-one-Tool239—~17kAutomated safety check: PassNone
Python API Designjohnku2011/boilerplates-with-ai-skills240—~449Automated safety check: PassMIT
Engineering PrinciplesAzure/agent-app-orchestrator103—~282Automated safety check: PassMIT

Similar skills

  • API Surface Review

    polarsource/polar

    Review changes to Polar's API contract — Pydantic schemas, FastAPI endpoints, OpenAPI output and the generated SDKs.

    10k GitHub stars~1.3k tokensUpdated today
    Backend & APIsAuto-check passed
  • Starlette

    simonw/research

    Build async web applications and APIs with Starlette 1.0, the lightweight ASGI framework for Python.

    783 GitHub stars~8.6k tokensUpdated 3 days ago
    Backend & APIsAuto-check: notes
  • Domodomo Backend Fastapi

    darknecrocities/DomoDomo---All-in-one-Tool

    Maintain DomoDomo’s local FastAPI application, routers, SQLite models, local services, and Python utilities.

    239 GitHub stars~17k tokensUpdated 2 days ago
    Backend & APIsAuto-check passed
  • Python API Design

    johnku2011/boilerplates-with-ai-skills

    A skill your agent uses when adding or changing FastAPI routes, dependencies, or tests in this Python service — keep endpoints typed, validated, and covered by pytest.

    240 GitHub stars~449 tokensUpdated 1 mo ago
    Backend & APIsAuto-check passed
  • Engineering Principles

    Azure/agent-app-orchestrator

    Official

    Agent Landing Zone Orchestrator architecture and implementation principles.

    103 GitHub stars~282 tokensUpdated today
    Backend & APIsAuto-check passed
  • Fastapi Pro

    davila7/claude-code-templates

    Build high-performance async APIs with FastAPI, SQLAlchemy 2.0, and Pydantic V2.

    32k GitHub starsUsed in 8 repos~1.6k tokens
    Backend & APIsAuto-check passed

More from AUTO-MAS-Project/AUTO-MAS

All 15 skills in this repo
  • Mas Game Sign

    AUTO-MAS-Project/AUTO-MAS

    Add, refactor, or review AUTO-MAS game community sign-in (game sign) code, including the provider registry in app/tools/gamesign.py, platform adapters for Skland/Miyoushe/Kuro/Taygedo, credential…

    708 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Mas Schema Naming

    AUTO-MAS-Project/AUTO-MAS

    Define canonical naming for future backend schema domains. An agent skill from AUTO-MAS-Project/AUTO-MAS.

    708 GitHub stars~1k tokensUpdated today
    Auto-check passed
  • Mas Code Standards

    AUTO-MAS-Project/AUTO-MAS

    A skill your agent uses when implementing, fixing, refactoring, or reviewing non-generated AUTO-MAS code, or when preparing code-style guidance, comments, docstrings, version notes, or Conventional…

    708 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Mas Frontend UI

    AUTO-MAS-Project/AUTO-MAS

    A skill your agent uses when working on AUTO-MAS frontend UI, Ant Design Vue components, page layout, forms, tables, modals, drawers, feedback, empty/loading/error states, drag interactions, dark…

    708 GitHub stars~3.8k tokensUpdated today
    Auto-check passed
  • Mas Script Specialized Adapter

    AUTO-MAS-Project/AUTO-MAS

    Review, add, or refactor AUTO-MAS specialized script adapters by upstream architecture, including MAA, SRC, MaaEnd/MXU, General, ok-script adapters such as Okww and OkNte, multi-engine adapters such…

    708 GitHub stars~2.8k tokensUpdated today
    Auto-check passed
  • Mas Data Model

    AUTO-MAS-Project/AUTO-MAS

    Define backend data modeling standards for Python services. An agent skill from AUTO-MAS-Project/AUTO-MAS.

    708 GitHub stars~1.6k tokensUpdated today
    Auto-check passed

Categories

Questions about Mas API Contract

What does Mas API Contract do?

Define backend API contract standards for FastAPI services. An agent skill from AUTO-MAS-Project/AUTO-MAS. Mas API Contract is an agent skill from AUTO-MAS-Project/AUTO-MAS. Define backend API contract standards for FastAPI services.

When should I use Mas API Contract?

Mas API Contract fits situations like: refactoring HTTP/WebSocket endpoints in app/api; designing request/response schemas in app/models/schema.py; standardizing status/error contracts; maintaining backward compatibility for clients.

How do I install Mas API Contract in Claude Code?

Run `npx skills add AUTO-MAS-Project/AUTO-MAS --skill mas-api-contract -a claude-code`. Or copy the skill folder (.agents/skills/mas-api-contract in AUTO-MAS-Project/AUTO-MAS) into .claude/skills/mas-api-contract in your project. Claude Code loads it when a task matches its description.

How do I install Mas API Contract in Codex?

Run `npx skills add AUTO-MAS-Project/AUTO-MAS --skill mas-api-contract -a codex`. Or copy the skill folder (.agents/skills/mas-api-contract in AUTO-MAS-Project/AUTO-MAS) into .agents/skills/mas-api-contract in your project. Codex loads it when a task matches its description.

Can I use Mas API Contract 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 AUTO-MAS-Project/AUTO-MAS --skill mas-api-contract -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mas-api-contract, .gemini/skills/mas-api-contract, .github/skills/mas-api-contract and .opencode/skills/mas-api-contract in your project.

What does Mas API Contract need to run?

Going by SKILL.md and its folder, Mas API Contract needs the command-line tools its instructions call (yarn).

Does Mas API Contract 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 Mas API Contract 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 Mas API Contract use?

Mas API Contract is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Mas API Contract use?

About 1.9k tokens (SKILL.md is roughly 7.4k 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 Mas API Contract?

Skills that share tags, products or a category with Mas API Contract: API Surface Review (polarsource/polar, 10k stars), Starlette (simonw/research, 783 stars), Domodomo Backend Fastapi (darknecrocities/DomoDomo---All-in-one-Tool, 239 stars) and Python API Design (johnku2011/boilerplates-with-ai-skills, 240 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Mas API Contract?

AUTO-MAS-Project (a GitHub organization) maintains it in AUTO-MAS-Project/AUTO-MAS, which has 708 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on October 8, 2026.

Source: AUTO-MAS-Project/AUTO-MAS on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.