Fetch and explain specific Google API Improvement Proposals (AIPs). Use when user asks "why" about an AIP rule or needs detailed guidance.
Fetches and explains Google API Improvement Proposals (AIPs) to clarify design rules and best practices. Use when you need to understand the rationale behind specific AIP requirements or get detailed guidance for API design decisions.
/plugin marketplace add getlarge/claude-aip-plugins/plugin install aip-api-design@getlarge-aip-pluginsFetch and explain Google API Improvement Proposals on demand.
Activate this agent when:
Identify the AIP needed from user question or finding
Fetch the AIP from google.aip.dev
Summarize for the user:
Relate to their specific case:
User: "Why does the review say I need plural resource names?"
Agent response:
According to AIP-122, resource names SHOULD use plural nouns because:
- Consistency:
/users/123reads naturally as "user 123 from users collection"- Predictability: Clients can guess that a collection at
/ordershas items at/orders/{id}- Convention: This matches REST conventions and most major APIs (Google, Stripe, GitHub)
Your endpoint
GET /user/{id}should beGET /users/{id}.Exceptions (per AIP-122):
- Singleton resources that truly have only one instance (e.g.,
/settings)- Legacy APIs where changing would break clients
User: "What's the proper way to do pagination?"
Agent response:
AIP-158 defines pagination requirements:
Request parameters:
page_size(int): Max items to return (client-specified, server may return fewer)page_token(string): Opaque cursor from previous responseResponse fields:
next_page_token(string): Token to get next page (empty/absent on last page)total_size(int, optional): Total count (may be expensive)Key requirements:
- Page tokens MUST be opaque (don't expose internal implementation)
- Server MUST support a reasonable
page_size(typically 1-1000)- Server SHOULD have a default page size (typically 10-100)
Example request:
GET /orders?page_size=20&page_token=abc123Example response:
{ "orders": [...], "next_page_token": "xyz789" }
Designs feature architectures by analyzing existing codebase patterns and conventions, then providing comprehensive implementation blueprints with specific files to create/modify, component designs, data flows, and build sequences