skills/api-realtime/grpc/SKILL.md
gRPC 1.x specialist covering Protocol Buffers, service definitions, streaming patterns, channels, interceptors, metadata, deadlines, error model, load balancing, health checking, retry policies, and performance tuning. WHEN: "gRPC", "protobuf", "Protocol Buffers", "proto3", "protoc", "Buf", "gRPC streaming", "bidirectional streaming", "gRPC interceptor", "gRPC metadata", "gRPC deadline", "gRPC health check", "gRPC load balancing", "gRPC-Web", "Connect protocol", "grpc-gateway", "service config", "retry policy", "hedging".
npx skillsauth add chrishuffman5/domain-expert api-realtime-grpcInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a specialist in gRPC, the high-performance RPC framework built on HTTP/2 and Protocol Buffers. gRPC 1.x is the current stable major version. You have deep knowledge of:
grpc.health.v1)Classify the request:
references/architecture.md for wire protocol, proto3, streaming, channels, interceptorsreferences/best-practices.md for load balancing, health checks, retry, security, performance tuningreferences/diagnostics.md for connection failures, status codes, deadline issues, streaming problems../SKILL.mdGather context -- Language (Go, Java, Python, C#, Rust), streaming vs unary, internal vs external-facing, Kubernetes vs bare metal
Analyze -- Apply gRPC-specific reasoning: deadline propagation, channel reuse, interceptor ordering, load balancing policy.
Recommend -- Provide .proto definitions, Go/Python/C# code, service config JSON, CLI commands.
gRPC uses HTTP/2 exclusively: multiplexing, binary framing, header compression (HPACK), per-stream flow control. Each RPC uses one HTTP/2 stream. Path encoding: /{package}.{service}/{method}.
| Pattern | Proto | Use Case |
|---|---|---|
| Unary | rpc Get(Req) returns (Resp) | Standard request/response |
| Server streaming | rpc List(Req) returns (stream Resp) | Feeds, log streaming, large result sets |
| Client streaming | rpc Upload(stream Req) returns (Resp) | File uploads, batch ingestion |
| Bidirectional | rpc Chat(stream Req) returns (stream Resp) | Chat, collaborative editing, IoT |
A channel represents a connection to a gRPC server. Shared by multiple concurrent RPCs via HTTP/2 multiplexing. Stubs are generated client objects wrapping channels with type-safe methods.
17 codes: OK(0), CANCELLED(1), UNKNOWN(2), INVALID_ARGUMENT(3), DEADLINE_EXCEEDED(4), NOT_FOUND(5), ALREADY_EXISTS(6), PERMISSION_DENIED(7), RESOURCE_EXHAUSTED(8), FAILED_PRECONDITION(9), ABORTED(10), OUT_OF_RANGE(11), UNIMPLEMENTED(12), INTERNAL(13), UNAVAILABLE(14), DATA_LOSS(15), UNAUTHENTICATED(16).
reserved. Reusing numbers causes silent data corruption.ctx.Done() in long-running operations to avoid wasting resources.grpc.health.v1.Health.-bin suffix -- Binary metadata keys must end with -bin or values will be corrupted.references/architecture.md -- Wire protocol, proto3, service definitions, streaming, channels, interceptors, metadata, deadlines, error model, authenticationreferences/best-practices.md -- Load balancing, health checks, retry/hedging, service config, proto organization, security, performance tuning, Kubernetes integrationreferences/diagnostics.md -- Connection failures, status code debugging, deadline issues, streaming problems, load balancing diagnosis, gRPC-Web troubleshooting../SKILL.md -- Parent API & Real-Time domain for cross-protocol comparisons../rest/SKILL.md -- REST API design (grpc-gateway transcoding context)Ready-made server-probe script (read-only) in scripts/.
scripts/01-reflection-and-health.sh -- Reflection exposure and grpc.health.v1 status probetools
kubectl command-line usage and scripting: kubeconfig and context management, output formats (jsonpath, custom-columns, go-template), all major verbs (get, describe, apply, delete, exec, logs, port-forward, rollout, scale, drain), workload resources, config/storage, networking, RBAC, node management, debugging (CrashLoopBackOff, ImagePullBackOff, OOMKilled), and scripting patterns (dry-run, diff, wait, jq, kustomize). WHEN: "kubectl", "k8s CLI", "kubeconfig", "namespace", "pod", "deployment", "service", "ingress", "configmap", "secret", "rollout", "scale", "drain", "taint", "kustomize". Do NOT use for cluster architecture, sizing, upgrades, or workload design decisions — that's the `kubernetes` skill in the `containers` plugin. This skill is command syntax and scripting kubectl against an existing cluster, not cluster ops.
tools
Bash 5.x shell scripting, Unix text processing, and command-line automation: variables, parameter expansion, quoting, control flow, functions, I/O redirection, error handling (set -euo pipefail, trap), and the Unix tool ecosystem (grep, sed, awk, jq, find, sort, uniq, cut, xargs). Covers process management, networking (curl, ssh, rsync, nc), file locking (flock), parallel execution, and production script patterns. WHEN: "Bash", "bash", "shell", "sh", ".sh", "shell script", "sed", "awk", "grep", "jq", "find", "xargs", "curl", "ssh", "rsync", "cron", "pipe", "redirect", "here-doc", "shebang", "POSIX", "set -euo pipefail", "trap".
tools
Azure CLI (az) command syntax and scripting: authentication (interactive, service principal, managed identity, SSO), output formats and JMESPath queries, resource groups, VMs, storage accounts/blobs, networking (VNets, NSGs, load balancers, DNS), Entra ID, AKS, App Service, Functions, databases (SQL, Cosmos DB, MySQL, PostgreSQL), Key Vault, Monitor/alerting, and infrastructure scripting patterns. WHEN: "az ", "Azure CLI", "az login", "az vm", "az aks", "az storage", "az keyvault", "az monitor", "az ad", "az group", "az network", "az webapp", "az functionapp", "az sql", "az cosmosdb", "JMESPath", "az account". Do NOT use for Azure architecture, landing zones, or multi-subscription strategy — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.
tools
AWS CLI v2 command syntax and scripting: authentication (profiles, SSO, assume-role, instance profiles), output formats and JMESPath queries, pagination and waiters, IAM, S3, Lambda, RDS, CloudFormation, ECS, EKS, CloudWatch, SSM, Route 53, STS, and VPC networking. WHEN: "aws ", "AWS CLI", "aws ec2", "aws s3", "aws lambda", "aws iam", "aws cloudformation", "aws ssm", "aws ecs", "aws eks", "aws rds", "aws cloudwatch", "aws route53", "aws sts". Do NOT use for AWS architecture, service selection, multi-account strategy, or FinOps — that's the `cloud-platforms` plugin. This skill is about command syntax and scripting the CLI, not deciding what to provision.