用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/majiayu000/claude-skill-registry --skill openapi-standards命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
LLM token logprobs and calibration. Per-decision confidence, ECE, Brier, reliability diagrams, low-confidence triage.
Analyze LLM token logprobs and calibration. Use for per-decision confidence, ECE, Brier scores, reliability diagrams, and low-confidence triage.
回顾最近 N 天的 Claude Code 使用记录——扫描原始会话数据,按主题分组汇总"我都做了什么",并从个人操作系统视角输出模式、风险与增删建议。当用户说 /recap、"看看我这几天做了什么"、"回顾一下我最近的会话"、"这两天我用 claude 干了啥"、"活动回顾" 时使用。
基于 SOC 职业分类
正在显示 SKILL.md
| name | openapi-standards |
| description | OpenAPI standards and guidelines for professional API specifications |
Standard conventions, guidelines, and best practices for API specifications
Use ONLY these prefixes:
| Operation Type | Name | HTTP Method | Example |
|---|---|---|---|
| Get single | get{Resource} | GET | getUser |
| List multiple | list{Resources} | GET | listUsers |
| Search with filters | search{Resources} | POST | searchUsers |
| Create new | create{Resource} | POST | createUser |
| Update existing | update{Resource} | PUT/PATCH | updateUser |
| Delete resource | delete{Resource} | DELETE | deleteUser |
Forbidden prefixes: describe, fetch, retrieve, find, query, add, remove, modify, patch
MANDATORY: When creating/updating specs:
paths:
/users/{userId}:
get:
operationId: getUser
summary: Retrieve a user
description: |
Returns detailed information about a specific user including
their profile, permissions, and account status.
parameters:
- name: userId
description: The unique identifier of the user
required: true
When descriptions are not available:
Model Definition Source Priority:
Schema Naming Patterns:
User # Main resource
UserInfo # Extended version
UserBase # Minimal version
UserCreateInput # Create request
UserUpdateInput # Update request
UserSummary # Abbreviated (for nested usage)
Shared parameters MUST include operation name to avoid conflicts:
# ❌ WRONG - Generic name, could conflict
components:
parameters:
withPictureParam: # Used by multiple operations
name: withPicture
in: query
# ✅ CORRECT - Operation-specific name
components:
parameters:
withPictureListUsersParam: # Specific to listUsers
name: withPicture
in: query
withPictureGetUserParam: # Specific to getUser
name: withPicture
in: query
Rule: Parameter component name = {paramName}{OperationName}Param
ALL enum values MUST have x-enum-descriptions:
# ❌ WRONG - Enums without x-enum-descriptions
status:
type: string
enum: [A, I, S]
description: User status
# ❌ WRONG - Even clear enums need descriptions
type:
type: string
enum: [active, inactive, pending]
description: Account type
# ✅ CORRECT - x-enum-descriptions for all enums
status:
type: string
description: Current status of the user account
enum: [A, I, S]
x-enum-descriptions:
- Active - user can access the system
- Inactive - user account is deactivated
- Suspended - user
[, , ]
WHY: x-enum-descriptions provide context and clarity for ALL enum values, not just abbreviated ones. They help users understand the exact meaning and implications of each value.
components:
securitySchemes:
bearerAuth:
type: oauth2
flows:
authorizationCode:
scopes:
user:read: Read user information
user:write: Modify user information
x-impl-name Format:
# ✅ CORRECT
x-impl-name: GitHub
x-impl-name: AccessManagement # Multi-word: "Access Management" → AccessManagement
x-impl-name: AmazonS3
# ❌ WRONG
x-impl-name: Access Management # Has space (should be AccessManagement)
x-impl-name: github # Not PascalCase
x-impl-name: GitHub API # Multiple words with space
WHY: Combine multi-word names into single PascalCase identifier while preserving brand capitalization.
Other Metadata:
npx swagger-cli validate api.yml after any changes| Rule | Check Command |
|---|---|
| No root servers/security | yq eval '.servers, .security' api.yml |
| camelCase only | grep -r '_' api.yml in properties |
| No 'describe' | grep -E "describe[A-Z]" api.yml |
| 200 only | yq eval '.paths.*.*.responses | keys' api.yml |
| No InlineResponse | grep -r "InlineResponse" generated/ |
| No nullable | grep "nullable:" api.yml |
| IDs are strings | yq eval '.. | select(has("id")) | .id.type' api.yml |
If ANY rule is violated:
ALWAYS check if resources belong to a parent entity (organization, workspace, project):
# ❌ WRONG - Missing parent scope
/users:
get:
operationId: listUsers
# ✅ CORRECT - Scoped to organization
/organizations/{organizationId}/users:
get:
operationId: listUsers
parameters:
- name: organizationId
in: path
required: true
How to determine scope:
Common parent scopes:
/organizations/{organizationId}/.../workspaces/{workspaceId}/.../projects/{projectId}/.../teams/{teamId}/...These standards ensure:
Follow these standards for professional, maintainable API specifications.