MCPInstall

okhttp3-5.x

OkHttp 5.x HTTP client for Java/JVM 8+ and Android 5+. Use when making HTTP/HTTPS requests, building REST API clients, implementing connection pooling, response caching, request/response interceptors, certificate pinning, event monitoring, WebSocket connections, SSE consumption, or configuring TLS/cipher suites. Covers OkHttp 5.4.0 with HTTP/2, transparent GZIP, Fast Fallback (Happy Eyeballs), MockWebServer for testing, and GraalVM Native Image support.

Installs
53
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/full-stack-skills/java-skills --skill okhttp3-5.x
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads okhttp3-5.x automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

OkHttp 5.x Reference (v5.4.0)

OkHttp is an efficient HTTP client by default: HTTP/2 support, connection pooling, transparent GZIP, and response caching. It silently recovers from common connection problems and attempts alternate addresses when the first connect fails.

Official Documentation Sources

All authoritative information is on the official OkHttp site:

RFC Standards followed by OkHttp:

  • HTTP Semantics — RFC 9110
  • HTTP Caching — RFC 9111
  • HTTP/1.1 — RFC 9112
  • HTTP/2 — RFC 9113
  • WebSockets — RFC 6455
  • SSE — Server-sent events
  • Happy Eyeballs — RFC 6555

Capability Boundaries

✅ Strong Suits

  1. HTTP/2 support — all requests to the same host share a socket
  2. Connection pooling — reduces latency, automatic reuse
  3. Transparent GZIP — shrinks download sizes automatically
  4. Response caching — avoids network for repeat requests
  5. Interceptors — monitor, rewrite, and retry calls (Application + Network layers)
  6. Fast Fallback (Happy Eyeballs RFC 6555) — concurrent IPv4/IPv6 connection attempts
  7. TLS 1.3, ALPN, certificate pinning
  8. EventListener API — capture metrics on HTTP calls
  9. MockWebServer — test HTTP/HTTPS/HTTP/2 clients
  10. GraalVM Native Image support
  11. Java 9 Modules support (5.2+)
  12. BOM for dependency management

⚠️ Requirements

  1. Java 8+ or Android 5.0+ (API level 21+)
  2. Kotlin Multiplatform: Maven projects must use okhttp-jvm artifact (not okhttp)
  3. Requires Okio and Kotlin stdlib (transitive dependencies)
  4. For certificate pinning: server TLS admin coordination required

❌ Out of Scope (with alternatives)

  1. GET with body — OkHttp does not allow GET with a body (use POST)
  2. Custom cache implementations — Cache is not an interface (use interceptors for custom caching logic)
  3. Highly invalid HTTP requests — OkHttp follows RFC strictly
  4. Older Android (< 5.0) — use OkHttp 3.12.x branch for API 9+
  5. Older Java (< 8) — use OkHttp 3.12.x branch for Java 7+

Should not use OkHttp for:

  • GET requests with body (use POST instead)
  • Custom cache implementations (use interceptors)
  • Invalid HTTP requests (OkHttp follows RFC strictly)
  • Android < 5.0 (use OkHttp 3.12.x)
  • Java < 8 (use OkHttp 3.12.x)

When to Use This Skill

Use this skill when the user needs to:

  • Make HTTP/HTTPS requests in Java or Android
  • Build REST API clients with connection pooling
  • Implement response caching
  • Add request/response interceptors (logging, auth, compression)
  • Configure TLS versions and cipher suites
  • Pin certificates for security
  • Monitor HTTP call performance with EventListener
  • Test HTTP clients with MockWebServer
  • Handle redirects, retries, and authentication challenges
  • Use HTTP/2 multiplexing

5.x New Features (vs 4.x)

Key changes in OkHttp 5.x:

  • Kotlin Multiplatform — Separate JVM and Android artifacts (okhttp-jvm for Maven)
  • Happy Eyeballs (RFC 6555) — Fast Fallback enabled by default; concurrent IPv4/IPv6 attempts
  • MockWebServer 3 — New coordinate (mockwebserver3), no JUnit 4 dependency, immutable API
  • GraalVM Native Image — Automatic support; see okcurl module for example
  • Java 9 Modules (JPMS) — Proper module-info.java files (5.2+)
  • Virtual Threads — Java 21 virtual threads supported (uses Lock/Condition instead of synchronized)
  • Interceptor superpowers (5.4) — Interceptors can now override OkHttpClient.Builder settings
  • Call tags (5.3) — Attach application-specific metadata to Calls
  • Zstd compression (5.2) — okhttp-zstd module for Zstandard compression
  • QUERY HTTP method (5.2) — Support for QUERY method
  • HTTP 101 responses (5.2) — Response.socket for connection upgrades

Quick Start

Gradle:

dependencies {
    implementation(platform("com.squareup.okhttp3:okhttp-bom:5.4.0"))
    implementation("com.squareup.okhttp3:okhttp")
    implementation("com.squareup.okhttp3:logging-interceptor")
}

Maven (JVM — must use okhttp-jvm):

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>okhttp-bom</artifactId>
      <version>5.4.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>
<dependencies>
  <dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp-jvm</artifactId>
  </dependency>
</dependencies>

Minimal GET:

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("https://api.example.com/users").build();
try (Response response = client.newCall(request).execute()) {
    System.out.println(response.body().string());
}

Minimal POST JSON:

RequestBody body = RequestBody.create("{\"name\":\"Alice\"}", MediaType.get("application/json"));
Request request = new Request.Builder().url("https://api.example.com/users").post(body).build();
try (Response response = client.newCall(request).execute()) {
    System.out.println(response.body().string());
}

Workflow

Step 1. Confirm environment — Check Java 8+ or Android 5+, choose Maven (okhttp-jvm) or Gradle (okhttp)

Step 2. Configure OkHttpClient — Set timeouts, connection pool, cache, interceptors, TLS

Step 3. Build Request — Set URL, method, headers, body

Step 4. Execute Call — Synchronous (execute()) or asynchronous (enqueue())

Step 5. Handle Response — Check status, read body, handle errors

Critical: OkHttpClient Configuration

OkHttpClient client = new OkHttpClient.Builder()
    .connectTimeout(10, TimeUnit.SECONDS)
    .readTimeout(30, TimeUnit.SECONDS)
    .writeTimeout(30, TimeUnit.SECONDS)
    .callTimeout(60, TimeUnit.SECONDS)    // Entire call timeout
    .connectionPool(new ConnectionPool(5, 5, TimeUnit.MINUTES))
    .cache(new Cache(new File("cache-dir"), 50L * 1024L * 1024L)) // 50 MiB
    .addInterceptor(new LoggingInterceptor())      // Application interceptor
    .addNetworkInterceptor(new NetworkInterceptor()) // Network interceptor
    .followRedirects(true)
    .followSslRedirects(true)
    .retryOnConnectionFailure(true)
    .build();

Key configuration options:

Builder MethodImpactDefault
connectTimeout(int, TimeUnit)TCP connection timeout10 seconds
readTimeout(int, TimeUnit)Socket read timeout10 seconds
writeTimeout(int, TimeUnit)Socket write timeout10 seconds
callTimeout(int, TimeUnit)Entire call timeout (all steps)no limit
connectionPool(ConnectionPool)Connection pool settings5 idle, 5 min keepalive
cache(Cache)Response cache (off by default)null
followRedirects(boolean)Follow HTTP redirectstrue
followSslRedirects(boolean)Follow HTTPS↔HTTP redirectstrue
retryOnConnectionFailure(boolean)Retry on stale connectiontrue
dns(Dns)Custom DNS resolverSystem DNS
proxy(Proxy)Single proxynull (direct)
proxySelector(ProxySelector)Per-request proxy selectionsystem default
authenticator(Authenticator)HTTP auth challengesnone
certificatePinner(CertificatePinner)Certificate pinningnone
sslSocketFactory(SSLSocketFactory, X509TrustManager)Custom TLSplatform default
connectionSpecs(List<ConnectionSpec>)TLS versions and cipher suitesMODERN_TLS
eventListenerFactory(EventListener.Factory)Event monitoringnone

See references/configuration.md for full reference.

Critical: Making Requests

Request building:

Request request = new Request.Builder()
    .url("https://api.example.com/users/1")
    .header("Authorization", "Bearer token123")
    .addHeader("Accept", "application/json")
    .get()
    .build();

POST with JSON body:

RequestBody body = RequestBody.create(jsonString, MediaType.get("application/json"));
Request request = new Request.Builder()
    .url("https://api.example.com/users")
    .post(body)
    .build();

POST with form data:

RequestBody formBody = new FormBody.Builder()
    .add("username", "alice")
    .add("password", "secret")
    .build();

Multipart upload:

RequestBody fileBody = RequestBody.create(new File("photo.jpg"), MediaType.get("image/jpeg"));
RequestBody requestBody = new MultipartBody.Builder()
    .setType(MultipartBody.FORM)
    .addFormDataPart("title", "My Photo")
    .addFormDataPart("photo", "photo.jpg", fileBody)
    .build();

See references/calls.md for PUT/DELETE, request/response lifecycle.

Critical: Handling Responses

Synchronous:

try (Response response = client.newCall(request).execute()) {
    if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
    String body = response.body().string();
    int code = response.code();
    String contentType = response.header("Content-Type");
}

Asynchronous:

client.newCall(request).enqueue(new Callback() {
    @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); }
    @Override public void onResponse(Call call, Response response) throws IOException {
        try (ResponseBody body = response.body()) {
            if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);
            System.out.println(body.string());
        }
    }
});

See references/calls.md for follow-ups, retries, Dispatcher.

Critical: Interceptors

Application interceptor — sees the original request, even for cached responses:

OkHttpClient client = new OkHttpClient.Builder()
    .addInterceptor(new LoggingInterceptor())
    .build();

Network interceptor — sees the actual network request (with OkHttp-added headers):

OkHttpClient client = new OkHttpClient.Builder()
    .addNetworkInterceptor(new LoggingInterceptor())
    .build();

Logging interceptor (built-in):

import okhttp3.logging.HttpLoggingInterceptor;
HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);

See references/interceptors.md for Application vs Network, GzipRequestInterceptor.

Critical: Caching

Enable cache:

OkHttpClient client = new OkHttpClient.Builder()
    .cache(new Cache(new File("cache-dir"), 50L * 1024L * 1024L)) // 50 MiB
    .build();

Cache events: CacheHit, CacheMiss, CacheConditionalHit

Prune cache:

cache.evictAll(); // Clear all
Iterator<String> urlIterator = cache.urls();
while (urlIterator.hasNext()) {
    if (urlIterator.next().startsWith("https://api.example.com/")) urlIterator.remove();
}

See references/caching.md for eviction, troubleshooting.

Critical: Connections

OkHttp uses a layered model: URL → Address → Route → Connection

  • URL: the resource identifier (scheme, host, path)
  • Address: webserver + static config (port, TLS settings, protocols)
  • Route: dynamic info (specific IP, proxy, TLS version)
  • Connection: actual TCP socket (pooled and reused)

Fast Fallback (Happy Eyeballs, 5.0+):

  • Attempts IPv6 and IPv4 concurrently
  • Keeps the first successful connection
  • Cancels others after 250ms delay

See references/connections.md for connection pooling, Fast Fallback details.

Critical: HTTPS/TLS

4 built-in ConnectionSpecs:

  • RESTRICTED_TLS — strictest, for compliance
  • MODERN_TLS — default, secure modern servers
  • COMPATIBLE_TLS — older but still secure servers
  • CLEARTEXT — for http:// URLs only

Fallback configuration:

OkHttpClient client = new OkHttpClient.Builder()
    .connectionSpecs(Arrays.asList(ConnectionSpec.MODERN_TLS, ConnectionSpec.COMPATIBLE_TLS))
    .build();

Certificate pinning:

OkHttpClient client = new OkHttpClient.Builder()
    .certificatePinner(
        new CertificatePinner.Builder()
            .add("publicobject.com", "sha256/afwiKY3RxoMmLkuRW1l7QsPZTJPwDS2pdDROQjXw8ig=")
            .build())
    .build();

See references/https.md for TLS debugging, custom TrustManager, cipher suites.

Critical: Recipes (Common Patterns)

PatternDescription
Synchronous GETclient.newCall(request).execute()
Asynchronous GETclient.newCall(request).enqueue(callback)
POST String/FileRequestBody.create(content, mediaType)
POST FormFormBody.Builder().add(name, value)
Multipart UploadMultipartBody.Builder().addFormDataPart(...)
Per-call Configclient.newBuilder().readTimeout(...).build()
AuthenticationOkHttpClient.Builder().authenticator(...)
Cancellationcall.cancel()
Upload ProgressWrap RequestBody with ForwardingSink

See references/recipes.md for complete code examples.

Critical: Security

  • TLS Configuration — Use ConnectionSpec.MODERN_TLS (default); fall back to COMPATIBLE_TLS for older servers
  • Certificate Pinning — Use CertificatePinner to restrict trusted CAs
  • Custom TrustManager — Replace platform CAs with your own (requires server TLS admin approval)
  • Conscrypt — Use BoringSSL via Conscrypt provider for consistent TLS across platforms

See references/security.md for TLS history and provider configuration.

Critical: Events (EventListener)

Event sequence (successful call):

callStart → dnsStart → dnsEnd → connectStart → secureConnectStart → secureConnectEnd → connectEnd → connectionAcquired → requestHeadersStart → requestHeadersEnd → responseHeadersStart → responseHeadersEnd → responseBodyStart → responseBodyEnd → connectionReleased → callEnd

Pooled connection (skips connect events):

callStart → connectionAcquired → requestHeadersStart → requestHeadersEnd → responseHeadersStart → responseHeadersEnd → responseBodyStart → responseBodyEnd → connectionReleased → callEnd

Factory for concurrent calls:

EventListener.Factory factory = new EventListener.Factory() {
    @Override public EventListener create(Call call) {
        return new TimingEventListener();
    }
};

See references/events.md for complete EventListener code, failure/retry events, 10% sampling.

Critical: MockWebServer

Basic usage:

MockWebServer server = new MockWebServer();
server.enqueue(new MockResponse().setBody("Hello World!"));
server.start();

Request request = new Request.Builder().url(server.url("/")).build();
try (Response response = client.newCall(request).execute()) {
    assertEquals("Hello World!", response.body().string());
}
server.shutdown();

Maven (use mockwebserver3):

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>mockwebserver3</artifactId>
    <scope>test</scope>
</dependency>

See references/calls.md for RecordedRequest verification.

Quick Fixes

ErrorCauseFix
java.lang.NoClassDefFoundError: kotlin/jvm/internal/...Missing Kotlin stdlibOkHttp 5.x is KMP; ensure okhttp-jvm in Maven or okhttp in Gradle
SSLHandshakeExceptionTLS version mismatchCheck ConnectionSpec; try COMPATIBLE_TLS fallback
SocketTimeoutExceptionServer too slowIncrease readTimeout or callTimeout
ConnectionPool exhaustionToo many concurrent requestsIncrease pool size or use async calls with Dispatcher limits
IllegalStateException: cache is closedCache directory conflictEnsure single Cache instance per directory
Certificate pinning failurePin mismatchUpdate pins after certificate rotation
IOException: CanceledCall canceledCheck cancellation logic; don't cancel prematurely
ProtocolException: HTTP/209Invalid HTTP methodOkHttp follows RFC; use POST instead of GET with body
Maven okhttp artifact emptyKMP artifact issueUse okhttp-jvm for Maven projects
GraalVM native image failsMissing reflection configSee okcurl module for example GraalVM config

Gotchas

  1. Maven must use okhttp-jvm — OkHttp 5.x is Kotlin Multiplatform; the okhttp artifact is empty in Maven. Use okhttp-jvm for JVM projects.
  2. GET cannot have a body — OkHttp follows HTTP RFC strictly. Use POST for requests with body.
  3. Cache is off by default — Must explicitly configure Cache in OkHttpClient.Builder.
  4. Cache directory exclusive — One Cache instance per directory. Don't share directories.
  5. Read response fully — Cached responses require full read; partial reads won't cache.
  6. Close Response bodies — Always close Response (use try-with-resources) to avoid connection leaks.
  7. Application vs Network interceptors — Application interceptors run once (even for cache); Network interceptors run for each network call.
  8. Fast Fallback is default in 5.x — Concurrent IPv4/IPv6 attempts. Disable with fastFallback(false) if needed.
  9. ConnectionSpec changes per release — TLS versions and cipher suites may change. Stay up-to-date.
  10. Certificate pinning coordination — Requires server TLS admin approval. Pins must be updated when certificates rotate.
  11. Dispatcher limits — Default: 5 concurrent per host, 64 total. Configure via dispatcher(new Dispatcher(executorService)).
  12. Transparent GZIP — OkHttp adds Accept-Encoding: gzip automatically. Interceptors see compressed data at network level.

References

Calls

  • calls.md — Request/Response lifecycle, rewriting, follow-ups, retries, Dispatcher

Caching

  • caching.md — Cache configuration, EventListener cache events, directory management, eviction

Connections

  • connections.md — URL/Address/Route/Connection model, connection pooling, Fast Fallback

Events

  • events.md — EventListener, Factory, concurrent calls, failure/retry events

HTTPS

  • https.md — ConnectionSpec, TLS debugging, certificate pinning, custom TrustManager

Interceptors

  • interceptors.md — Application vs Network, request/response rewriting

Recipes

  • recipes.md — Common patterns: GET, POST, Form, Multipart, Auth, Upload Progress

Security

  • security.md — TLS configuration history, certificate providers, Conscrypt

Configuration

  • configuration.md — OkHttpClient.Builder full reference, Maven/Gradle/BOM dependencies

FAQ

What does the okhttp3-5.x skill do?

OkHttp 5.x HTTP client for Java/JVM 8+ and Android 5+. Use when making HTTP/HTTPS requests, building REST API clients, implementing connection pooling, response caching, request/response interceptors, certificate pinning, event monitoring, WebSocket connections, SSE consumption, or configuring TLS/cipher suites. Covers OkHttp 5.4.0 with HTTP/2, transparent GZIP, Fast Fallback (Happy Eyeballs), MockWebServer for testing, and GraalVM Native Image support.

How do I install okhttp3-5.x?

Run npx skills add https://github.com/full-stack-skills/java-skills --skill okhttp3-5.x in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/okhttp3-5.x/ (personal) or .claude/skills/okhttp3-5.x/ (project).

Which AI agents can use okhttp3-5.x?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is okhttp3-5.x safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains okhttp3-5.x?

It is published by full-stack-skills in full-stack-skills/java-skills. It has 53 recorded installs.

More from full-stack-skills/java-skills

View all →

mybatis-plus-patterns

full-stack-skills/java-skills

MyBatis-Plus 增强 ORM 技能。覆盖 LambdaQueryWrapper vs QueryWrapper选择(始终Lambda)、分页插件(PaginationInnerInterceptor)配置、乐观锁(@Version + OptimisticLockerInnerInterceptor)、逻辑删除(@TableLogic 全局/局部配置)、自动填充(@TableField fill + MetaObjectHandler)、ActiveRecord vs Mapper模式选择、防全表更新(BlockAttackInnerInterceptor)、通用PageQuery抽取。 当用户使用 MyBatis-Plus 进行数据库操作、配置分页乐观锁、选择查询方式时使用。 与 mybatis 技能互补:mybatis 侧重XML/ResultMap/SQL写法,mybatis-plus 侧重增强功能。

Backend & APIs120 installs

java-development-manual

full-stack-skills/java-skills

Java开发手册规约集合,基于阿里巴巴Java开发手册(嵩山版)。 涵盖7大维度:编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约。 当用户需要:(1) 编写或审查Java代码 (2) 检查命名/代码规范 (3) 处理异常和日志 (4) 编写单元测试 (5) 安全编码 (6) 数据库设计 (7) 工程架构设计时使用此skill。 触发词:Java规范、阿里规约、代码规范、开发手册、编程规约、异常处理、单元测试、安全、MySQL、工程结构、设计模式。

Backend & APIs119 installs

java-code-comments

full-stack-skills/java-skills

Provides comprehensive guidance for adding Java code comments following industry standards and best practices. This skill helps add class-level comments, method-level comments, and field-level comments to Java code. Use when the user wants to add comments to Java code, needs to document Java classes/methods/fields, wants to improve code documentation, or needs to generate JavaDoc comments. This skill covers Controller, Service, ServiceImpl, Mapper, Model, Entity, BO (Business Object), DTO, VO, and other common Java component types. The skill follows a systematic workflow: scan codebase, identify components, create todo list, and add comments in order (class comments → method comments → field comments).

Backend & APIs112 installs

mybatis-patterns

full-stack-skills/java-skills

MyBatis 核心 ORM 技能。覆盖 XML vs 注解 SQL选择、ResultMap复用(extends)、关联查询(association/collection join vs 嵌套select/N+1决策)、分页插件配置、和$的SQL注入防护、动态SQL(if/where/set/foreach/choose)最佳实践、columnPrefix解决同表多次JOIN。 当用户编写 MyBatis Mapper XML、处理关联查询、配置分页、防范SQL注入时使用。

Data & Databases109 installs

java-conventions

full-stack-skills/java-skills

统一 Java 项目编码规范与注释规范(SLF4J+Lombok 日志、Bean Lombok 注解选择、判空 Objects/Optional、工具类优先级 Spring→Apache Commons→Hutool→Guava、复杂逻辑用设计模式/简单逻辑不拆分、Controller/Service/ServiceImpl/Mapper 注释一致性)。当需要“按 Java 规范重构/Review/补全注释/统一日志/统一工具类使用/补全 JavaDoc”时使用。

Backend & APIs108 installs

junit-mockito-patterns

full-stack-skills/java-skills

JUnit5 + Mockito 测试框架技能。覆盖 JUnit5 @ExtendWith替代@RunWith、Mockito @Mock/@InjectMocks规则、测试隔离原则(FIRST)、@SpringBootTest何时用何时不用(@WebMvcTest/@DataJpaTest切片测试)、BDDMockito given/willReturn风格、ArgumentCaptor参数捕获、verify行为验证、@ParameterizedTest参数化测试。 当用户编写 Java 单元测试/集成测试、Mock外部依赖时需要此技能。

Backend & APIs100 installs

Popular backend & apis skills

View category →

find-skills

vercel-labs/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

OfficialBackend & APIs4.1M installs

entra-app-registration

microsoft/azure-skills

Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.

OfficialBackend & APIs566.7K installs

This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).

Backend & APIs514.8K installs

embedded-captions

heygen-com/hyperframes

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.

Backend & APIs453.3K installs

entra-agent-id

microsoft/azure-skills

Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).

OfficialBackend & APIs336.6K installs

neon

neondatabase/agent-skills

Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.

Backend & APIs237.1K installs