Aep
Skill way-platform/skills/aep
AEP (API Enhancement Proposals) design standards. Use when designing, reviewing, or implementing APIs to ensure compliance with AEP conventions.From its SKILL.md
npx -y skills add way-platform/skills --skill aepAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.6 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it
AEP (API Enhancement Proposals) Skill
Overview
AEPs (API Enhancement Proposals) are the authoritative design standards for APIs. They ensure consistency, intuitiveness, and long-term stability across all services.
Rule of Thumb: AEPs are numbered by importance. Lower numbers are more fundamental.
- < 100: Meta-policies and governance.
- 100-199: CORE STANDARDS. Every API developer must know these.
- 200+: Specific patterns and edge cases.
AEP Index
π Core Resource Design (Start Here)
Defines the fundamental shape of the API.
- AEP-121: Resource-oriented design (The data model: Resources vs Collections)
- AEP-122: Resource names (URL structure, formatting)
- AEP-124: Resource association (Relationships between resources)
- AEP-101: OpenAPI (Specification standards)
- AEP-102: APIs and API terminology
- AEP-126: Enumerations
- AEP-127: HTTP and gRPC Transcoding
π οΈ Standard Methods (The "CRUD")
Every resource should support these standard interactions unless impossible.
- AEP-130: Methods (General guidance)
- AEP-131: Get (Retrieving a single resource)
- AEP-132: List (Listing collections, includes pagination)
- AEP-133: Create (Creating new resources)
- AEP-134: Update (Updating resources,
update_mask) - AEP-135: Delete (Deleting resources)
β‘ Advanced Methods
- AEP-136: Custom methods (Verbs beyond CRUD, e.g.,
Cancel,Undelete) - AEP-137: Apply (Declarative configuration updates)
π Fields & Data Types
Naming conventions and data formats.
- AEP-140: Field names (Snake_case, reserved words)
- AEP-141: Quantities (Units, measurements)
- AEP-142: Time and duration (Timestamp formats)
- AEP-143: Standardized codes (IETF/ISO standards)
- AEP-144: Array fields (Repeated fields)
- AEP-145: Ranges (Start/end intervals)
- AEP-146: Generic fields (Any, Struct)
- AEP-148: Standard fields (
name,create_time,update_time,display_name)
π§© Common Patterns & Features
- AEP-158: Pagination (Page tokens, page size)
- AEP-151: Long-running operations (Async tasks)
- AEP-193: Errors (Status codes, error details)
- AEP-154: Preconditions (ETags, concurrency)
- AEP-155: Idempotency (Request IDs)
- AEP-156: Singleton resources (Config, Settings)
- AEP-157: Partial responses (Field selection)
- AEP-159: Reading across collections ("List all books in all libraries")
- AEP-160: Filtering (Filter syntax)
- AEP-161: Field masks (Partial updates)
- AEP-162: Resource Revisions
- AEP-164: Soft delete
π Documentation & Compatibility
- AEP-180: Protobuf Backwards compatibility
- AEP-191: File and directory structure
- AEP-192: Documentation (Comments, formatting)
π Specific Patterns (200+)
- AEP-203: Field behavior documentation (Required, Output Only)
- AEP-210: Unicode
- AEP-211: Authorization checks
- AEP-213: Common components
- AEP-214: Resource expiration (TTL)
- AEP-216: States (Enums for lifecycle)
- AEP-217: Unreachable resources
π¦ Batch Operations
Essential for high-volume agent operations.
- AEP-231: Batch Get
- AEP-233: Batch Create
- AEP-234: Batch Update
- AEP-235: Batch Delete
Pro Tip: Partial Success for Agents When building APIs for agents, prefer partial success semantics over all-or-nothing atomicity, even for synchronous batch operations. This allows agents to succeed on valid operations and receive specific error details for failed ones, preventing a single invalid entry from blocking an entire batch. Use a
failed_requestsmap to return individual errors.
ποΈ Meta & Governance
- AEP-1: Purpose and Guidelines
- AEP-5: Designing an API (The process)
- AEP-300: AEP Editions
How to Use
- Identify the Requirement: e.g., "I need to add a 'status' field."
- Find the Rule: Search the index above. "AEP-216: States" looks relevant.
- Read the Standard:
- The content is located in:
references/aep/general/<NUMBER>.md - Example: To read about Standard Fields, check
references/aep/general/0148.md
- The content is located in:
- Verify: Ensure your implementation matches the spec exactly (naming, behavior, types).
Pro Tip: Use grep to search across all AEPs if the index isn't enough:
grep -r "my search term" references/aep/general
What ships with it: 70 files
405.2 KB alongside SKILL.md
references/
- aep/general/0001.md7.6 KB
- aep/general/0002.md3.2 KB
- aep/general/0003.md5.1 KB
- aep/general/0004.md4.3 KB
- aep/general/0005.md3.0 KB
- aep/general/0006.md3.7 KB
- aep/general/0008.md10.0 KB
- aep/general/0101.md561 B
- aep/general/0102.md2.2 KB
- aep/general/0121.md7.2 KB
- aep/general/0122.md12.6 KB
- aep/general/0124-embedded_resource.proto1.2 KB
- aep/general/0124-many_to_many_repeated.proto514 B
- aep/general/0124-many_to_many_subresource.proto698 B
- aep/general/0124.md5.2 KB
- aep/general/0124-multiple_many_to_one.proto592 B
- aep/general/0126-enum.proto1.6 KB
- aep/general/0126.md4.5 KB
- aep/general/0127.md5.4 KB
- aep/general/0130.md10.7 KB
- aep/general/0131.md3.3 KB
- aep/general/0132.md7.5 KB
- aep/general/0133.md5.5 KB
- aep/general/0134.md7.7 KB
- aep/general/0135.md4.9 KB
- aep/general/0136-library.proto2.8 KB
- aep/general/0136.md4.5 KB
- aep/general/0136-translate.proto1.8 KB
- aep/general/0137.md4.5 KB
- aep/general/0140.md6.8 KB
- aep/general/0141.md2.6 KB
- aep/general/0142.md5.3 KB
- aep/general/0143.md3.9 KB
- aep/general/0144-add_remove.proto1.9 KB
- aep/general/0144.md5.4 KB
- aep/general/0145.md2.6 KB
- aep/general/0146.md4.2 KB
- aep/general/0148.md5.2 KB
- aep/general/0151-lro.proto2.5 KB
- aep/general/0151.md5.6 KB
30 more files not listed here. See all 70 in the repository.