API Architect
curiositech/some_claude_skills
Expert API designer for REST, GraphQL, gRPC architectures. An agent skill from curiositech/some_claude_skills.
REST and GraphQL API design expertise covering REST maturity model, resource naming, pagination patterns, filtering and sorting, HATEOAS, versioning strategies, error response formats, rate limiting…
$ npx skills add FerroxLabs/wayland --skill api-designer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install FerroxLabs/wayland api-designer --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer .claude/skills/api-designer && rm -rf skills-srcUse ~/.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/
Install the "api-designer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer into .claude/skills/api-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-designer", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/api-designerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add FerroxLabs/wayland --skill api-designer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install FerroxLabs/wayland api-designer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer .agents/skills/api-designer && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "api-designer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer into .agents/skills/api-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-designer", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill api-designer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install FerroxLabs/wayland api-designer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer .cursor/skills/api-designer && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "api-designer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer into .cursor/skills/api-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-designer", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/FerroxLabs/wayland.git --path src/process/resources/skills-library/bodies/skills/backend-systems/api-designer--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add FerroxLabs/wayland --skill api-designer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install FerroxLabs/wayland api-designer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer .gemini/skills/api-designer && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "api-designer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer into .gemini/skills/api-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-designer", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install FerroxLabs/wayland api-designerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add FerroxLabs/wayland --skill api-designer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer .github/skills/api-designer && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "api-designer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer into .github/skills/api-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-designer", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add FerroxLabs/wayland --skill api-designer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install FerroxLabs/wayland api-designer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/FerroxLabs/wayland.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer .opencode/skills/api-designer && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "api-designer" agent skill from https://github.com/FerroxLabs/wayland/tree/main/src/process/resources/skills-library/bodies/skills/backend-systems/api-designer into .opencode/skills/api-designer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "api-designer", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
api-designerREST and GraphQL API design expertise covering REST maturity model, resource naming, pagination patterns, filtering and sorting, HATEOAS, versioning strategies, error response formats, rate limiting…
API Designer is an agent skill from FerroxLabs/wayland. REST and GraphQL API design expertise covering REST maturity model, resource naming, pagination patterns, filtering and sorting, HATEOAS, versioning strategies, error response formats, rate limiting headers, and OpenAPI specification. Use when the user asks about api designer, api designer best practices, or needs guidance on api designer implementation. Do NOT use when the user needs a different specialized skill or is asking about an unrelated technology domain.
Its SKILL.md is about 3.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Backend & APIs, covering API design, Structured output and tool calling and OpenAPI specifications. It works with GraphQL. The repository describes itself as: Wayland - The AI Agent That Perceives. Reasons. Acts. Evolves. The licence is Apache-2.0.
Read from SKILL.md and the folder at commit 4c030c7. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
cursorFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
API Designer loads about 3.6k tokens when it runs. Until then it costs about 120 tokens; SKILL.md has 393 words of instructions outside code blocks.
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.
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.
The full file from FerroxLabs/wayland at commit 4c030c7, republished under its Apache-2.0 licence (© FerroxLabs). 393 words, ~3,606 tokens.
.claude/skills/api-designer/SKILL.md (or your agent's skills folder).Design consistent, intuitive, and evolvable HTTP APIs. This skill covers REST API design from resource modeling through error handling, pagination, versioning, and documentation with OpenAPI. GraphQL design considerations are included for comparison and hybrid architectures.
Level 0: The Swamp of POX
- Single endpoint, single HTTP method (POST)
- RPC-style: POST /api { "action": "getUser", "id": 123 }
- Avoid this.
Level 1: Resources
- Multiple endpoints, one per resource
- POST /users, POST /users/123/delete
- Still misusing HTTP methods.
Level 2: HTTP Verbs (TARGET for most APIs)
- Resources + correct HTTP methods
- GET /users, POST /users, PUT /users/123, DELETE /users/123
- Correct status codes (200, 201, 204, 400, 404, etc.)
Level 3: HATEOAS (Hypermedia)
- Level 2 + hypermedia controls in responses
- Clients discover actions from response links
- Full REST (rarely implemented in practice)1. Use NOUNS, not verbs
GOOD: GET /users
BAD: GET /getUsers
2. Use PLURAL nouns
GOOD: /users, /orders, /products
BAD: /user, /order, /product
3. Use kebab-case for multi-word resources
GOOD: /order-items, /user-profiles
BAD: /orderItems, /user_profiles
4. Nest resources to show relationships (max 2 levels)
GOOD: /users/123/orders
BAD: /users/123/orders/456/items/789/reviews (too deep)
5. Use query parameters for filtering, not path segments
GOOD: GET /orders?status=pending&userId=123
BAD: GET /orders/pending/user/123
6. Actions on resources (when necessary)
POST /orders/123/cancel (state transition)
POST /users/123/verify (trigger action)GET /resources -> List resources (200)
GET /resources/:id -> Get single resource (200 or 404)
POST /resources -> Create resource (201 with Location header)
PUT /resources/:id -> Full replace (200 or 204)
PATCH /resources/:id -> Partial update (200 or 204)
DELETE /resources/:id -> Delete resource (204 or 200)
HEAD /resources/:id -> Same as GET but no body (check existence)
OPTIONS /resources -> Available methods (CORS preflight)2xx SUCCESS:
200 OK -> GET, PUT, PATCH with response body
201 Created -> POST (include Location header)
204 No Content -> DELETE, PUT/PATCH with no response body
3xx REDIRECTION:
301 Moved Permanently -> Resource permanently at new URL
304 Not Modified -> Conditional GET (ETag match)
4xx CLIENT ERROR:
400 Bad Request -> Validation error, malformed request
401 Unauthorized -> Missing or invalid authentication
403 Forbidden -> Authenticated but not authorized
404 Not Found -> Resource does not exist
405 Method Not Allowed -> HTTP method not supported
409 Conflict -> Resource state conflict (duplicate, version)
422 Unprocessable Entity -> Valid syntax but semantic errors
429 Too Many Requests -> Rate limit exceeded
5xx SERVER ERROR:
500 Internal Server Error -> Unexpected server failure
502 Bad Gateway -> Upstream service failure
503 Service Unavailable -> Temporary (include Retry-After header)
504 Gateway Timeout -> Upstream timeoutREQUEST:
GET /users?page=2&per_page=20
RESPONSE:
{
"data": [...],
"pagination": {
"page": 2,
"per_page": 20,
"total_items": 157,
"total_pages": 8,
"has_next": true,
"has_prev": true
},
"links": {
"first": "/users?page=1&per_page=20",
"prev": "/users?page=1&per_page=20",
"next": "/users?page=3&per_page=20",
"last": "/users?page=8&per_page=20"
}
}
PROS:
- Simple to implement
- Allows jumping to arbitrary page
- Total count available
CONS:
- Inconsistent with inserts/deletes during pagination
- Poor performance on large offsets (OFFSET N is O(N))
- Items can be skipped or duplicated between pagesREQUEST:
GET /users?limit=20&after=eyJ0IjoxNjk...
RESPONSE:
{
"data": [...],
"pagination": {
"has_next": true,
"has_prev": true,
"next_cursor": "eyJ0IjoxNjk...",
"prev_cursor": "eyJ0IjoxNjg..."
}
}
PROS:
- Consistent pagination (no skips/dupes)
- Efficient for any position in dataset
- Works well with real-time data
CONS:
- Cannot jump to arbitrary page
- No total count (requires separate query)
- Cursor is opaque (not user-friendly)
CURSOR IMPLEMENTATION:
Encode the last item's sort key(s) as base64:
{ "created_at": "2025-01-15T10:30:00Z", "id": "abc123" }
-> base64 -> "eyJ0IjoxNjk..."
SQL:
WHERE (created_at, id) < (:cursor_created_at, :cursor_id)
ORDER BY created_at DESC, id DESC
LIMIT :limit + 1 -- get one extra to check has_nextREQUEST:
GET /users?limit=20&created_before=2025-01-15T10:30:00Z&id_before=abc123
RESPONSE:
Same as cursor-based but with explicit keys instead of opaque cursor.
PROS: Transparent and debuggable
CONS: Exposes sort implementationSimple equality:
GET /users?status=active&role=admin
Operators (LHS brackets):
GET /orders?amount[gte]=100&amount[lte]=500
GET /users?name[contains]=john
GET /orders?created_at[after]=2025-01-01
Multiple values (comma-separated OR):
GET /users?role=admin,editor
Search:
GET /users?q=john+doe
Nested fields (dot notation):
GET /users?address.city=AustinSingle sort:
GET /users?sort=created_at
GET /users?sort=-created_at (descending with - prefix)
Multi-sort:
GET /users?sort=-created_at,name (primary: created_at desc, secondary: name asc)
Alternative format:
GET /users?sort_by=created_at&sort_order=descGET /users?fields=id,name,email (only return these fields)
GET /users?include=orders,profile (include related resources)
GET /users?exclude=password_hash (exclude sensitive fields){
"error": {
"code": "VALIDATION_ERROR",
"message": "The request body contains invalid data.",
"details": [
{
"field": "email",
"code": "INVALID_FORMAT",
"message": "Must be a valid email address."
},
{
"field": "age",
"code": "OUT_OF_RANGE",
"message": "Must be between 13 and 120.",
"meta": { "min": 13, "max": 120 }
}
],
"request_id": "req_abc123xyz",
"documentation_url": "[reference URL]"
}
}AUTHENTICATION:
AUTH_REQUIRED -> 401: No credentials provided
AUTH_INVALID -> 401: Invalid credentials
AUTH_EXPIRED -> 401: Token expired
AUTHORIZATION:
FORBIDDEN -> 403: Insufficient permissions
RESOURCE_FORBIDDEN -> 403: No access to this resource
VALIDATION:
VALIDATION_ERROR -> 400/422: Input validation failed
INVALID_FORMAT -> 400: Wrong data format
MISSING_FIELD -> 400: Required field missing
RESOURCE:
NOT_FOUND -> 404: Resource does not exist
ALREADY_EXISTS -> 409: Duplicate resource
CONFLICT -> 409: State conflict (version mismatch)
GONE -> 410: Resource permanently deleted
RATE_LIMIT:
RATE_LIMIT_EXCEEDED -> 429: Too many requests
SERVER:
INTERNAL_ERROR -> 500: Unexpected error
SERVICE_UNAVAILABLE -> 503: Temporary outageSTRATEGY MECHANISM WHEN TO USE
-----------------------------------------------------------------------
URL Path /v1/users, /v2/users Simple, explicit, most common
Header Accept: application/vnd. More "RESTful", harder to test
api.v2+json
Query Param /users?version=2 Easy migration, but ugly
RECOMMENDATION: URL path versioning (/v1/) for simplicity and clarity.1. Only bump major version for BREAKING changes:
- Removing a field
- Changing field type
- Changing resource structure
- Changing error format
2. NON-BREAKING changes (no version bump):
- Adding new fields (with defaults)
- Adding new endpoints
- Adding new query parameters
- Adding new enum values
3. Support at most 2 versions simultaneously
v1 (deprecated, sunset date set) and v2 (current)
4. Include deprecation headers:
Sunset: Sat, 01 Mar 2026 00:00:00 GMT
Deprecation: true
Link: <[reference URL]>; rel="successor-version"Response headers for rate-limited endpoints:
X-RateLimit-Limit: 100 # Max requests per window
X-RateLimit-Remaining: 67 # Remaining requests in window
X-RateLimit-Reset: 1705312800 # Unix timestamp when window resets
Retry-After: 30 # Seconds to wait (when 429 returned)
Alternative (IETF draft standard):
RateLimit-Policy: 100;w=3600 # 100 requests per 3600 seconds
RateLimit-Limit: 100
RateLimit-Remaining: 67
RateLimit-Reset: 42 # Seconds until reset (not timestamp){
"id": "ord_123",
"status": "pending",
"total": 99.99,
"links": {
"self": { "href": "/orders/ord_123", "method": "GET" },
"cancel": { "href": "/orders/ord_123/cancel", "method": "POST" },
"pay": { "href": "/orders/ord_123/pay", "method": "POST" },
"items": { "href": "/orders/ord_123/items", "method": "GET" }
}
}
// After payment, links change:
{
"id": "ord_123",
"status": "paid",
"links": {
"self": { "href": "/orders/ord_123", "method": "GET" },
"refund": { "href": "/orders/ord_123/refund", "method": "POST" },
"receipt": { "href": "/orders/ord_123/receipt", "method": "GET" }
// "cancel" and "pay" no longer available
}
}openapi: 3.1.0
info:
title: Users API
version: 1.0.0
description: User management API
contact:
email: api@example.com
servers:
- url: [reference URL]
description: Production
- url: [reference URL]
description: Staging
paths:
/users:
get:
operationId: listUsers
summary: List all users
tags: [Users]
parameters:
- name: page
# ... (condensed) ...
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
security:
- BearerAuth: []Use this skill when:
Do NOT use this skill when:
# Api Designer Analysis
## Context Assessment
[Situation summary and constraints]
## Recommended Approach
[Primary recommendation with rationale]
## Implementation Steps
1. [Step with specific details]
2. [Step with specific details]
3. [Step with specific details]
## Trade-offs and Considerations
- [Key trade-off 1]
- [Key trade-off 2]
## Next Steps
- [Immediate action item]
- [Follow-up action item]Input: "Help me implement api designer for a medium-scale production application"
Output: A structured analysis covering current state assessment, recommended api designer approach with specific patterns, implementation roadmap with milestones, and risk mitigation strategies tailored to the application scale and constraints.
© FerroxLabs, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/process/resources/skills-library/bodies/skills/backend-systems/api-designer of FerroxLabs/wayland.
Open the folder on GitHubat commit 4c030c7
API Designer 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| API Designer this skillFerroxLabs/wayland | 608 | — | ~3.6k | Automated safety check: Pass | Apache-2.0 | |
| API Architectcuriositech/some_claude_skills | 243 | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| API Patternssoftspark/ai-toolkit | 179 | — | ~3.5k | Automated safety check: Pass | Apache-2.0 | |
| API ForgeEliasOulkadi/shokunin | 114 | — | ~2.9k | Automated safety check: Pass | MIT | |
| API DesignerJeffallan/claude-skills | 12k | 2 repos | ~2k | Automated safety check: Pass | MIT | |
| Designing APIsCloudAI-X/opencode-workflow | 275 | 1 repos | ~2.2k | Automated safety check: Pass | MIT |
curiositech/some_claude_skills
Expert API designer for REST, GraphQL, gRPC architectures. An agent skill from curiositech/some_claude_skills.
softspark/ai-toolkit
API design: naming, versioning, pagination, idempotency, OpenAPI, error contracts and safe retries.
EliasOulkadi/shokunin
Design REST/GraphQL APIs with OpenAPI 3.1, error handling, pagination, rate limiting, webhooks, and idempotency.
Jeffallan/claude-skills
Designs REST and GraphQL APIs from resource modeling to an OpenAPI 3.1 contract, with versioning, pagination and RFC 7807 error handling.
CloudAI-X/opencode-workflow
Guides REST and GraphQL API design, endpoint patterns, request/response schemas, versioning, and API best practices.
yonatangross/orchestkit
API contract design for REST and GraphQL, covering resource shape, URL and header versioning with deprecation windows, RFC 9457 Problem Details error handling, and OpenAPI specs.
FerroxLabs/wayland
Install, start, connect, and troubleshoot visualization companion projects for Aion/OpenClaw, with Star-Office-UI as the default recommendation.
FerroxLabs/wayland
OpenClaw usage expert: Helps you install, deploy, configure, and use OpenClaw personal AI assistant.
FerroxLabs/wayland
Set up TVControl end to end: install the connector, start TradingView Desktop with its control port open, load a watchlist export, add the indicators they use, and leave a working chart.
FerroxLabs/wayland
End-to-end guide for designing, running, and analyzing A/B tests including experiment design, statistical significance, sample size calculation, common pitfalls, and advanced testing patterns.
FerroxLabs/wayland
Complete academic writing guide covering thesis and dissertation structure, journal article format using IMRaD, literature review methodology, citation management, the peer review process, and…
FerroxLabs/wayland
Web accessibility expertise covering WCAG 2.2 conformance, audit methodology, ARIA patterns, keyboard navigation, screen reader testing, focus management, form accessibility, and automated vs manual…
Works with
Categories
REST and GraphQL API design expertise covering REST maturity model, resource naming, pagination patterns, filtering and sorting, HATEOAS, versioning strategies, error response formats, rate limiting…. API Designer is an agent skill from FerroxLabs/wayland. REST and GraphQL API design expertise covering REST maturity model, resource naming, pagination patterns, filtering and sorting, HATEOAS, versioning strategies, error response formats, rate limiting headers, and OpenAPI specification.
API Designer fits situations like: the user asks about api designer; api designer best practices; needs guidance on api designer implementation; the user needs a different specialized skill.
Run `npx skills add FerroxLabs/wayland --skill api-designer -a claude-code`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/backend-systems/api-designer in FerroxLabs/wayland) into .claude/skills/api-designer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add FerroxLabs/wayland --skill api-designer -a codex`. Or copy the skill folder (src/process/resources/skills-library/bodies/skills/backend-systems/api-designer in FerroxLabs/wayland) into .agents/skills/api-designer in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add FerroxLabs/wayland --skill api-designer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/api-designer, .gemini/skills/api-designer, .github/skills/api-designer and .opencode/skills/api-designer in your project.
Going by SKILL.md and its folder, API Designer needs the command-line tools its instructions call (cursor).
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.
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.
API Designer is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.6k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with API Designer: API Architect (curiositech/some_claude_skills, 243 stars), API Patterns (softspark/ai-toolkit, 179 stars), API Forge (EliasOulkadi/shokunin, 114 stars) and API Designer (Jeffallan/claude-skills, 12k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
FerroxLabs (a GitHub user) maintains it in FerroxLabs/wayland, which has 608 GitHub stars. The repository holds 1,194 skills in this directory. The repository was last updated on October 6, 2026.
Source: FerroxLabs/wayland on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.