API Design
ericrisco/rsc-harness
A skill your agent uses when settling the contract of an API you expose, before implementation: resources/URLs, REST vs GraphQL, versioning, one RFC 9457 error envelope, pagination, idempotency —…
API design and implementation across REST, GraphQL, gRPC, and tRPC patterns.
$ npx skills add ancoleman/ai-design-components --skill implementing-api-patterns -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ancoleman/ai-design-components implementing-api-patterns --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/ancoleman/ai-design-components.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/implementing-api-patterns .claude/skills/implementing-api-patterns && 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 "implementing-api-patterns" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/implementing-api-patterns into .claude/skills/implementing-api-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "implementing-api-patterns", 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/ancoleman/ai-design-components/tree/main/skills/implementing-api-patternsType 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 ancoleman/ai-design-components --skill implementing-api-patterns -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ancoleman/ai-design-components implementing-api-patterns --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/implementing-api-patterns .agents/skills/implementing-api-patterns && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "implementing-api-patterns" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/implementing-api-patterns into .agents/skills/implementing-api-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "implementing-api-patterns", 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 ancoleman/ai-design-components --skill implementing-api-patterns -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ancoleman/ai-design-components implementing-api-patterns --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/implementing-api-patterns .cursor/skills/implementing-api-patterns && 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 "implementing-api-patterns" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/implementing-api-patterns into .cursor/skills/implementing-api-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "implementing-api-patterns", 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/ancoleman/ai-design-components.git --path skills/implementing-api-patterns--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 ancoleman/ai-design-components --skill implementing-api-patterns -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ancoleman/ai-design-components implementing-api-patterns --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/implementing-api-patterns .gemini/skills/implementing-api-patterns && 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 "implementing-api-patterns" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/implementing-api-patterns into .gemini/skills/implementing-api-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "implementing-api-patterns", 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 ancoleman/ai-design-components implementing-api-patternsInstalls 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 ancoleman/ai-design-components --skill implementing-api-patterns -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/implementing-api-patterns .github/skills/implementing-api-patterns && 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 "implementing-api-patterns" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/implementing-api-patterns into .github/skills/implementing-api-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "implementing-api-patterns", 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 ancoleman/ai-design-components --skill implementing-api-patterns -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ancoleman/ai-design-components implementing-api-patterns --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ancoleman/ai-design-components.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/implementing-api-patterns .opencode/skills/implementing-api-patterns && 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 "implementing-api-patterns" agent skill from https://github.com/ancoleman/ai-design-components/tree/main/skills/implementing-api-patterns into .opencode/skills/implementing-api-patterns/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "implementing-api-patterns", 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.
implementing-api-patternsAPI design and implementation across REST, GraphQL, gRPC, and tRPC patterns.
Implementing API Patterns is an agent skill from ancoleman/ai-design-components. API design and implementation across REST, GraphQL, gRPC, and tRPC patterns. Use when building backend services, public APIs, or service-to-service communication. Covers REST frameworks (FastAPI, Axum, Gin, Hono), GraphQL libraries (Strawberry, async-graphql, gqlgen, Pothos), gRPC (Tonic, Connect-Go), tRPC for TypeScript, pagination strategies (cursor-based, offset-based), rate limiting, caching, versioning, and OpenAPI documentation generation. Includes frontend integration patterns for forms, tables…
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 34 other files, including scripts and reference files (for example `README.md`, `examples/go-gin/README.md` and `examples/graphql-strawberry/README.md`).
It sits in Backend & APIs, covering gRPC and Protobuf, GraphQL and OpenAPI specifications. It works with tRPC, TypeScript, GraphQL and Hono. The repository describes itself as: Comprehensive UI/UX and Backend component design skills for AI-assisted development with Claude. The licence is MIT.
Read from SKILL.md and the folder at commit 76551b7. 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.
Ships 1 file in scripts/ (Python and TypeScript, from the files we listed), which the agent can run.
From 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.
Implementing API Patterns loads about 3k tokens when it runs, and up to ~34k if it reads all its reference files. Until then it costs about 141 tokens; SKILL.md has 721 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); the scripts in this folder are not scanned.
The full file from ancoleman/ai-design-components at commit 76551b7, republished under its MIT licence (© ancoleman). 721 words, ~2,956 tokens.
.claude/skills/implementing-api-patterns/SKILL.md (or your agent's skills folder). This skill also uses 26 other files; get the full folder from GitHub.Design and implement APIs using the optimal pattern and framework for the use case. Choose between REST, GraphQL, gRPC, and tRPC based on API consumers, performance requirements, and type safety needs.
Use when:
WHO CONSUMES YOUR API?
├─ PUBLIC/THIRD-PARTY DEVELOPERS → REST with OpenAPI
│ ├─ Python → FastAPI (auto-docs, 40k req/s)
│ ├─ TypeScript → Hono (edge-first, 50k req/s, 14KB)
│ ├─ Rust → Axum (140k req/s, <1ms latency)
│ └─ Go → Gin (100k+ req/s, mature ecosystem)
│
├─ FRONTEND TEAM (same org)
│ ├─ TypeScript full-stack? → tRPC (E2E type safety)
│ └─ Complex data needs? → GraphQL
│ ├─ Python → Strawberry
│ ├─ Rust → async-graphql
│ ├─ Go → gqlgen
│ └─ TypeScript → Pothos
│
├─ SERVICE-TO-SERVICE (microservices)
│ └─ High performance → gRPC
│ ├─ Rust → Tonic
│ ├─ Go → Connect-Go (browser-friendly)
│ └─ Python → grpcio
│
└─ MOBILE APPS
├─ Bandwidth constrained → GraphQL (request only needed fields)
└─ Simple CRUD → REST (standard, well-understood)Key Features: Auto OpenAPI docs, Pydantic v2 validation, async/await, 40k req/s
Basic Example:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
@app.post("/items")
async def create_item(item: Item):
return {"id": 1, **item.dict()}See references/rest-design-principles.md for FastAPI patterns and examples/python-fastapi/.
Key Features: 14KB bundle, runs on any runtime (Node/Deno/Bun/edge), Zod validation, 50k req/s
Basic Example:
import { Hono } from 'hono'
import { zValidator } from '@hono/zod-validator'
import { z } from 'zod'
const app = new Hono()
app.post('/items', zValidator('json', z.object({
name: z.string(), price: z.number()
})), (c) => c.json({ id: 1, ...c.req.valid('json') }))See references/rest-design-principles.md for Hono patterns and examples/typescript-hono/.
Key Features: Zero codegen, E2E type safety, React Query integration, WebSocket subscriptions
Basic Example:
import { initTRPC } from '@trpc/server'
import { z } from 'zod'
const t = initTRPC.create()
export const appRouter = t.router({
createItem: t.procedure
.input(z.object({ name: z.string(), price: z.number() }))
.mutation(({ input }) => ({ id: '1', ...input }))
})
export type AppRouter = typeof appRouterSee references/trpc-setup-guide.md for setup patterns and examples/typescript-trpc/.
Key Features: Tower middleware, type-safe extractors, 140k req/s, compile-time verification
Basic Example:
use axum::{routing::post, Json, Router};
use serde::{Deserialize, Serialize};
#[derive(Deserialize)]
struct CreateItem { name: String, price: f64 }
#[derive(Serialize)]
struct Item { id: u64, name: String, price: f64 }
async fn create_item(Json(payload): Json<CreateItem>) -> Json<Item> {
Json(Item { id: 1, name: payload.name, price: payload.price })
}See references/rest-design-principles.md for Axum patterns and examples/rust-axum/.
Key Features: Largest Go ecosystem, 100k+ req/s, struct tag validation
Basic Example:
type Item struct {
Name string `json:"name" binding:"required"`
Price float64 `json:"price" binding:"required,gt=0"`
}
r := gin.Default()
r.POST("/items", func(c *gin.Context) {
var item Item
if c.ShouldBindJSON(&item); err != nil {
c.JSON(400, gin.H{"error": err.Error()}); return
}
c.JSON(201, item)
})See references/rest-design-principles.md for Gin patterns and examples/go-gin/.
| Language | Framework | Req/s | Latency | Cold Start | Memory | Best For |
|---|---|---|---|---|---|---|
| Rust | Actix-web | ~150k | <1ms | N/A | 2-5MB | Maximum throughput |
| Rust | Axum | ~140k | <1ms | N/A | 2-5MB | Ergonomics + performance |
| Go | Gin | ~100k+ | 1-2ms | N/A | 5-10MB | Mature ecosystem |
| TypeScript | Hono | ~50k | <5ms | <5ms | 128MB | Edge deployment |
| Python | FastAPI | ~40k | 5-10ms | 1-2s | 30-50MB | Developer experience |
| TypeScript | Express | ~15k | 10-20ms | 1-3s | 50-100MB | Legacy systems |
Notes:
Advantages: Handles real-time changes, no skipped/duplicate records, scales to billions
FastAPI Example:
@app.get("/items")
async def list_items(cursor: Optional[str] = None, limit: int = 20):
query = db.query(Item).filter(Item.id > cursor) if cursor else db.query(Item)
items = query.limit(limit).all()
return {
"items": items,
"next_cursor": items[-1].id if items else None,
"has_more": len(items) == limit
}Use only for static datasets (<10k records) with direct page access needs.
See references/pagination-patterns.md for complete patterns and frontend integration.
| Framework | OpenAPI Support | Docs UI | Configuration |
|---|---|---|---|
| FastAPI | Automatic | Swagger UI + ReDoc | Built-in |
| Hono | Middleware plugin | Swagger UI | @hono/swagger-ui |
| Axum | utoipa crate | Swagger UI | Manual annotations |
| Gin | swaggo/swag | Swagger UI | Comment annotations |
FastAPI Example (Zero Config):
app = FastAPI(title="My API", version="1.0.0")
@app.post("/items", tags=["items"])
async def create_item(item: Item) -> Item:
"""Create item with name and price"""
return item
# Docs at /docs, /redoc, /openapi.jsonSee references/openapi-documentation.md for framework-specific setup.
Use scripts/generate_openapi.py to extract specs programmatically.
Backend:
class UserCreate(BaseModel):
email: EmailStr; name: str; age: int
@app.post("/api/users", status_code=201)
async def create_user(user: UserCreate):
return {"id": 1, **user.dict()}Frontend:
const res = await fetch('/api/users', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data)
})
if (!res.ok) throw new Error((await res.json()).detail)See cursor pagination example above and references/pagination-patterns.md.
Backend:
from sse_starlette.sse import EventSourceResponse
@app.post("/api/chat")
async def chat(message: str):
async def gen():
for chunk in llm_stream(message):
yield {"event": "message", "data": chunk}
return EventSourceResponse(gen())Frontend:
const es = new EventSource('/api/chat')
es.addEventListener('message', (e) => appendToChat(e.data))See examples/ for complete integration examples with each frontend skill.
FastAPI Example (Token Bucket):
from slowapi import Limiter
from slowapi.util import get_remote_address
limiter = Limiter(key_func=get_remote_address)
app.state.limiter = limiter
@app.get("/items")
@limiter.limit("100/minute")
async def list_items():
return {"items": []}See references/rate-limiting-strategies.md for sliding window, distributed patterns, and Redis implementation.
Use when frontend needs flexible data fetching or mobile apps have bandwidth constraints.
By Language:
See references/graphql-schema-design.md for schema patterns and N+1 prevention.
See examples/graphql-strawberry/ for complete Python example.
Use for service-to-service communication with strong typing and high performance.
By Language:
See references/grpc-protobuf-guide.md for Protocol Buffers guide.
See examples/grpc-tonic/ for complete Rust example.
references/rest-design-principles.md - REST resource modeling, HTTP methods, status codesreferences/graphql-schema-design.md - Schema patterns, resolver optimization, N+1 preventionreferences/grpc-protobuf-guide.md - Proto3 syntax, service definitions, streamingreferences/trpc-setup-guide.md - Router patterns, middleware, Zod validationreferences/pagination-patterns.md - Cursor vs offset with mathematical explanationreferences/rate-limiting-strategies.md - Token bucket, sliding window, Redisreferences/caching-patterns.md - HTTP caching, application caching strategiesreferences/versioning-strategies.md - URI, header, media type versioningreferences/openapi-documentation.md - Swagger/OpenAPI best practices by frameworkscripts/generate_openapi.py - Generate OpenAPI spec from codescripts/validate_api_spec.py - Validate OpenAPI 3.1 compliancescripts/benchmark_endpoints.py - Load test API endpointsexamples/python-fastapi/ - Complete FastAPI REST APIexamples/typescript-hono/ - Hono edge-first APIexamples/typescript-trpc/ - tRPC E2E type-safe APIexamples/rust-axum/ - Axum REST APIexamples/go-gin/ - Gin REST APIexamples/graphql-strawberry/ - Python GraphQLexamples/grpc-tonic/ - Rust gRPCChoose REST when: Public API, standard CRUD, need caching, OpenAPI docs required Choose GraphQL when: Frontend needs flexible queries, mobile bandwidth constraints, complex nested data Choose gRPC when: Service-to-service communication, high performance, bidirectional streaming Choose tRPC when: TypeScript full-stack, same team owns frontend + backend, E2E type safety
Pagination: Always use cursor-based for production scale, offset-based only for simple cases Documentation: Prefer frameworks with automatic OpenAPI generation (FastAPI, Hono) Performance: Rust (Axum) for max throughput, Go (Gin) for maturity, Python (FastAPI) for DX
© ancoleman, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 26 other files (scripts, references) in skills/implementing-api-patterns of ancoleman/ai-design-components.
Open the folder on GitHubat commit 76551b7
We found 3 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in ancoleman/ai-design-components, which our catalogue first saw on October 7, 2026.
Implementing API Patterns 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 |
|---|---|---|---|---|---|---|
| Implementing API Patterns this skillancoleman/ai-design-components | 526 | 1 repos | ~3k | Automated safety check: Pass | MIT | |
| API Designericrisco/rsc-harness | 156 | — | ~3.1k | Automated safety check: Pass | MIT | |
| API ForgeEliasOulkadi/shokunin | 114 | — | ~2.9k | Automated safety check: Pass | MIT | |
| API Architectcuriositech/some_claude_skills | 243 | 1 repos | ~1.4k | Automated safety check: Pass | MIT | |
| API Client Generatorrevfactory/harness-100 | 1.3k | — | ~1.6k | Automated safety check: Pass | Apache-2.0 | |
| SpikardGoldziher/spikard | 123 | — | ~799 | Automated safety check: Pass | MIT |
ericrisco/rsc-harness
A skill your agent uses when settling the contract of an API you expose, before implementation: resources/URLs, REST vs GraphQL, versioning, one RFC 9457 error envelope, pagination, idempotency —…
EliasOulkadi/shokunin
Design REST/GraphQL APIs with OpenAPI 3.1, error handling, pagination, rate limiting, webhooks, and idempotency.
curiositech/some_claude_skills
Expert API designer for REST, GraphQL, gRPC architectures. An agent skill from curiositech/some_claude_skills.
revfactory/harness-100
Full pipeline for auto-generating API client SDKs. An agent skill from revfactory/harness-100.
Goldziher/spikard
Scaffold Spikard projects and generate code from OpenAPI, AsyncAPI, OpenRPC, GraphQL, and Protobuf schemas using the Spikard CLI or its MCP server.
holon-run/uxc
Discover and call remote schema-exposed interfaces with UXC.
ancoleman/ai-design-components
Builds AI chat interfaces and conversational UI with streaming responses, context management, and multi-modal support.
ancoleman/ai-design-components
Builds form components and data collection interfaces including contact forms, registration flows, checkout processes, surveys, and settings pages.
ancoleman/ai-design-components
Builds tables and data grids for displaying tabular information, from simple HTML tables to complex enterprise data grids.
ancoleman/ai-design-components
Creates comprehensive dashboard and analytics interfaces that combine data visualization, KPI cards, real-time updates, and interactive layouts.
ancoleman/ai-design-components
Designs layout systems and responsive interfaces including grid systems, flexbox patterns, sidebar layouts, and responsive breakpoints.
ancoleman/ai-design-components
Displays chronological events and activity through timelines, activity feeds, Gantt charts, and calendar interfaces.
Categories
API design and implementation across REST, GraphQL, gRPC, and tRPC patterns. Implementing API Patterns is an agent skill from ancoleman/ai-design-components. API design and implementation across REST, GraphQL, gRPC, and tRPC patterns.
Implementing API Patterns fits situations like: building backend services; service-to-service communication.
Run `npx skills add ancoleman/ai-design-components --skill implementing-api-patterns -a claude-code`. Or copy the skill folder (skills/implementing-api-patterns in ancoleman/ai-design-components) into .claude/skills/implementing-api-patterns in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ancoleman/ai-design-components --skill implementing-api-patterns -a codex`. Or copy the skill folder (skills/implementing-api-patterns in ancoleman/ai-design-components) into .agents/skills/implementing-api-patterns 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 ancoleman/ai-design-components --skill implementing-api-patterns -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/implementing-api-patterns, .gemini/skills/implementing-api-patterns, .github/skills/implementing-api-patterns and .opencode/skills/implementing-api-patterns in your project.
Going by SKILL.md and its folder, Implementing API Patterns needs Python and TypeScript for the scripts in its folder. Our summary lists: Python 3; Node.js.
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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Implementing API Patterns is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 31k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Implementing API Patterns: API Design (ericrisco/rsc-harness, 156 stars), API Forge (EliasOulkadi/shokunin, 114 stars), API Architect (curiositech/some_claude_skills, 243 stars) and API Client Generator (revfactory/harness-100, 1.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ancoleman (a GitHub user) maintains it in ancoleman/ai-design-components, which has 526 GitHub stars. The repository holds 75 skills in this directory. The repository was last updated on December 11, 2025.
Source: ancoleman/ai-design-components on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.