From frontend-skills
Designs resource-oriented protobuf APIs using Google AIP rules plus proven control-plane/public API patterns. Use when adding or changing a resource message, standard-method RPC, name versus {resource}_id choice, parent wiring, CRUD/LRO shape, pagination, filtering, FieldMask, etag, or singleton resources.
How this skill is triggered — by the user, by Claude, or both
Slash command
/frontend-skills:aip**/*.protoThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Repo/code changes: run `/deslop` before commit, push, PR, or merge.
Repo/code changes: run /deslop before commit, push, PR, or merge.
Use for protobuf API design. Default to Google AIP. Treat legacy id paths/custom operation envelopes as compatibility exceptions, not new precedent. Deep examples: REFERENCE.md.
string name = 1 [(google.api.field_behavior) = IDENTIFIER];name is full path, not display text, not bare id: publishers/123/books/456.{resource}_id; body resource.name ignored.parent = full parent resource name on Create/List.IDENTIFIER alone; do not add OUTPUT_ONLY or IMMUTABLE to name.name, immutable, output-only, unknown, wildcard, and bare oneof paths in update_mask.message Book {
option (google.api.resource) = {
type: "library.example.com/Book"
pattern: "publishers/{publisher}/books/{book}"
singular: "book"
plural: "books"
};
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
}
name + resource_reference.type; returns resource.parent for nested + page_size + page_token; response repeated resources + next_page_token.parent if nested + {resource}_id + resource body; add method_signature.FieldMask; resource name identifies target.name; optional etag; returns empty or LRO.name; no {resource}_id; no Create/Delete; Get/Update only.id, wrapper responses, typed filters, or custom operations. Do not copy these for new stable resources unless preserving wire compatibility./v1/resources/{id}, map at gateway/handler to canonical resources/{id} internally.google.longrunning.Operation + operation_info; custom operation resource only by compatibility.Filter messages are acceptable for internal/legacy surfaces; public AIP default is string filter + order_by.name, generate valid id when empty, persist full name.etag mismatch -> Aborted.(google.api.resource) has type, pattern, singular, plural.name field 1, full path, IDENTIFIER only; display text is display_name.{resource}_id, not body name; nested uses parent + child_type.name + resource_reference.type; Delete may include etag.FieldMask; rejects forbidden paths; validates merged resource.field_behavior documents; buf.validate/CEL enforces; enum zero is *_UNSPECIFIED.npx claudepluginhub malinskibeniamin/skills --plugin frontend-skillsProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.