askill
aip-knowledge

aip-knowledgeSafety 100Repository

Reference knowledge for Google API Improvement Proposals (AIP), adapted for REST/OpenAPI. Use when reviewing APIs, designing endpoints, or explaining AIP rules. Contains patterns for errors, pagination, filtering, LRO, field masks, and batch operations.

0 stars
1.2k downloads
Updated 2/5/2026

Package Files

Loading files...
SKILL.md

AIP Knowledge

Quick reference for API Improvement Proposals adapted to REST/OpenAPI.

When to Load References

Based on the task, load the relevant reference file:

TopicReference FileWhen to Use
Error responseserrors.mdDesigning error schema, reviewing error handling
Paginationpagination.mdAdding pagination to list endpoints
Filtering & sortingfiltering.mdAdding filter/order_by parameters
Long-running opslro.mdAsync operations, jobs, polling
Partial updatesfield-masks.mdPATCH implementation, update semantics
Batch operationsbatch.mdBatch create/update/delete
Proto → REST mappingrest-mapping.mdTranslating AIP concepts to REST

Implemented Linter Rules

The AIP reviewer includes 17 automated rules across 6 categories:

Naming (AIP-122)

Rule IDSeverityWhat It Checks
aip122/plural-resourceswarningResource paths use plural nouns
aip122/no-verbserrorPaths contain nouns, not verbs
aip122/consistent-casingwarningPath segments use consistent casing (kebab, snake, camel)
aip122/nested-ownershipsuggestionNested resource params have descriptive names (not just {id})

Standard Methods (AIP-131 to 135)

Rule IDSeverityWhat It Checks
aip131/get-no-bodyerrorGET requests have no request body
aip133/post-returns-201suggestionPOST returns 201 Created or 202 Accepted
aip134/patch-over-putsuggestionPATCH available for partial updates (not just PUT)
aip135/delete-idempotentwarningDELETE has no body and uses standard status codes

Pagination (AIP-158)

Rule IDSeverityWhat It Checks
aip158/list-paginatedwarningList endpoints have page_size and page_token params
aip158/max-page-sizesuggestionpage_size param has maximum constraint
aip158/response-next-tokenwarningPaginated responses include next_page_token field

Filtering (AIP-132, 160)

Rule IDSeverityWhat It Checks
aip132/has-filteringsuggestionList endpoints document filter parameters
aip132/has-orderingsuggestionList endpoints support order_by parameter

Errors (AIP-193)

Rule IDSeverityWhat It Checks
aip193/schema-definedwarningError schema defined in components
aip193/responses-documentedsuggestionOperations document error responses
aip193/standard-codessuggestionStandard HTTP error codes used (400, 401, 403, 404, etc.)

Idempotency (AIP-155)

Rule IDSeverityWhat It Checks
aip155/idempotency-keysuggestionPOST endpoints accept Idempotency-Key header

Topics Without Automated Rules (Reference Only)

The following topics have detailed reference documentation but no automated linter rules yet:

  • Field Masks (field-masks.md) - AIP-134 partial update patterns (only aip134/patch-over-put checks for PATCH availability)
  • Batch Operations (batch.md) - AIP-231+ batch patterns
  • Long-Running Operations (lro.md) - AIP-151, 155 async patterns
  • Proto → REST Mapping (rest-mapping.md) - Translation guide

Quick Reference

Standard Methods → HTTP

MethodHTTPPathIdempotentRelated Rules
GetGET/resources/{id}Yesaip131/get-no-body
ListGET/resourcesYesaip158/list-paginated, aip132/has-filtering, aip132/has-ordering
CreatePOST/resourcesNo*aip133/post-returns-201, aip155/idempotency-key
UpdatePATCH/resources/{id}Yesaip134/patch-over-put
DeleteDELETE/resources/{id}Yesaip135/delete-idempotent

*Use Idempotency-Key header for safe retries

Naming Rules (AIP-122)

  • /users, /orders, /products (plural nouns)
  • /user, /order (singular - triggers aip122/plural-resources)
  • /getUsers, /createOrder (verbs - triggers aip122/no-verbs)
  • /users/{id}/orders (nested ownership)

Pagination (AIP-158)

Request: ?page_size=20&page_token=xxx

Response:

{
  "data": [...],
  "next_page_token": "yyy"
}

Error Response (AIP-193)

{
  "error": {
    "code": "INVALID_ARGUMENT",
    "message": "Human-readable message",
    "details": [...],
    "request_id": "req_abc123"
  }
}

Fetch AIPs On Demand

For detailed guidance, fetch from:

  • https://google.aip.dev/{number} (e.g., /158 for pagination)
  • Only fetch when user needs deeper explanation

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

95/100Analyzed 2/11/2026

A comprehensive and well-structured reference for Google API Improvement Proposals (AIP) adapted for REST/OpenAPI, including automated linter rules and practical examples.

100
95
95
95
90

Metadata

Licenseunknown
Version-
Updated2/5/2026
Publishermajiayu000

Tags

api