
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- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads okhttp3-5.x automatically when relevant.
- 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
- HTTP/2 support — all requests to the same host share a socket
- Connection pooling — reduces latency, automatic reuse
- Transparent GZIP — shrinks download sizes automatically
- Response caching — avoids network for repeat requests
- Interceptors — monitor, rewrite, and retry calls (Application + Network layers)
- Fast Fallback (Happy Eyeballs RFC 6555) — concurrent IPv4/IPv6 connection attempts
- TLS 1.3, ALPN, certificate pinning
- EventListener API — capture metrics on HTTP calls
- MockWebServer — test HTTP/HTTPS/HTTP/2 clients
- GraalVM Native Image support
- Java 9 Modules support (5.2+)
- BOM for dependency management
⚠️ Requirements
- Java 8+ or Android 5.0+ (API level 21+)
- Kotlin Multiplatform: Maven projects must use
okhttp-jvmartifact (notokhttp) - Requires Okio and Kotlin stdlib (transitive dependencies)
- For certificate pinning: server TLS admin coordination required
❌ Out of Scope (with alternatives)
- GET with body — OkHttp does not allow GET with a body (use POST)
- Custom cache implementations — Cache is not an interface (use interceptors for custom caching logic)
- Highly invalid HTTP requests — OkHttp follows RFC strictly
- Older Android (< 5.0) — use OkHttp 3.12.x branch for API 9+
- 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-jvmfor 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
okcurlmodule for example - Java 9 Modules (JPMS) — Proper
module-info.javafiles (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-zstdmodule 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 Method | Impact | Default |
|---|---|---|
connectTimeout(int, TimeUnit) | TCP connection timeout | 10 seconds |
readTimeout(int, TimeUnit) | Socket read timeout | 10 seconds |
writeTimeout(int, TimeUnit) | Socket write timeout | 10 seconds |
callTimeout(int, TimeUnit) | Entire call timeout (all steps) | no limit |
connectionPool(ConnectionPool) | Connection pool settings | 5 idle, 5 min keepalive |
cache(Cache) | Response cache (off by default) | null |
followRedirects(boolean) | Follow HTTP redirects | true |
followSslRedirects(boolean) | Follow HTTPS↔HTTP redirects | true |
retryOnConnectionFailure(boolean) | Retry on stale connection | true |
dns(Dns) | Custom DNS resolver | System DNS |
proxy(Proxy) | Single proxy | null (direct) |
proxySelector(ProxySelector) | Per-request proxy selection | system default |
authenticator(Authenticator) | HTTP auth challenges | none |
certificatePinner(CertificatePinner) | Certificate pinning | none |
sslSocketFactory(SSLSocketFactory, X509TrustManager) | Custom TLS | platform default |
connectionSpecs(List<ConnectionSpec>) | TLS versions and cipher suites | MODERN_TLS |
eventListenerFactory(EventListener.Factory) | Event monitoring | none |
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 complianceMODERN_TLS— default, secure modern serversCOMPATIBLE_TLS— older but still secure serversCLEARTEXT— 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)
| Pattern | Description |
|---|---|
| Synchronous GET | client.newCall(request).execute() |
| Asynchronous GET | client.newCall(request).enqueue(callback) |
| POST String/File | RequestBody.create(content, mediaType) |
| POST Form | FormBody.Builder().add(name, value) |
| Multipart Upload | MultipartBody.Builder().addFormDataPart(...) |
| Per-call Config | client.newBuilder().readTimeout(...).build() |
| Authentication | OkHttpClient.Builder().authenticator(...) |
| Cancellation | call.cancel() |
| Upload Progress | Wrap RequestBody with ForwardingSink |
See references/recipes.md for complete code examples.
Critical: Security
- TLS Configuration — Use
ConnectionSpec.MODERN_TLS(default); fall back toCOMPATIBLE_TLSfor older servers - Certificate Pinning — Use
CertificatePinnerto 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
| Error | Cause | Fix |
|---|---|---|
java.lang.NoClassDefFoundError: kotlin/jvm/internal/... | Missing Kotlin stdlib | OkHttp 5.x is KMP; ensure okhttp-jvm in Maven or okhttp in Gradle |
SSLHandshakeException | TLS version mismatch | Check ConnectionSpec; try COMPATIBLE_TLS fallback |
SocketTimeoutException | Server too slow | Increase readTimeout or callTimeout |
ConnectionPool exhaustion | Too many concurrent requests | Increase pool size or use async calls with Dispatcher limits |
IllegalStateException: cache is closed | Cache directory conflict | Ensure single Cache instance per directory |
Certificate pinning failure | Pin mismatch | Update pins after certificate rotation |
IOException: Canceled | Call canceled | Check cancellation logic; don't cancel prematurely |
ProtocolException: HTTP/209 | Invalid HTTP method | OkHttp follows RFC; use POST instead of GET with body |
Maven okhttp artifact empty | KMP artifact issue | Use okhttp-jvm for Maven projects |
| GraalVM native image fails | Missing reflection config | See okcurl module for example GraalVM config |
Gotchas
- Maven must use
okhttp-jvm— OkHttp 5.x is Kotlin Multiplatform; theokhttpartifact is empty in Maven. Useokhttp-jvmfor JVM projects. - GET cannot have a body — OkHttp follows HTTP RFC strictly. Use POST for requests with body.
- Cache is off by default — Must explicitly configure
Cachein OkHttpClient.Builder. - Cache directory exclusive — One Cache instance per directory. Don't share directories.
- Read response fully — Cached responses require full read; partial reads won't cache.
- Close Response bodies — Always close Response (use try-with-resources) to avoid connection leaks.
- Application vs Network interceptors — Application interceptors run once (even for cache); Network interceptors run for each network call.
- Fast Fallback is default in 5.x — Concurrent IPv4/IPv6 attempts. Disable with
fastFallback(false)if needed. - ConnectionSpec changes per release — TLS versions and cipher suites may change. Stay up-to-date.
- Certificate pinning coordination — Requires server TLS admin approval. Pins must be updated when certificates rotate.
- Dispatcher limits — Default: 5 concurrent per host, 64 total. Configure via
dispatcher(new Dispatcher(executorService)). - Transparent GZIP — OkHttp adds
Accept-Encoding: gzipautomatically. 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
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 侧重增强功能。
java-development-manual
full-stack-skills/java-skills
Java开发手册规约集合,基于阿里巴巴Java开发手册(嵩山版)。 涵盖7大维度:编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约。 当用户需要:(1) 编写或审查Java代码 (2) 检查命名/代码规范 (3) 处理异常和日志 (4) 编写单元测试 (5) 安全编码 (6) 数据库设计 (7) 工程架构设计时使用此skill。 触发词:Java规范、阿里规约、代码规范、开发手册、编程规约、异常处理、单元测试、安全、MySQL、工程结构、设计模式。
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).
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注入时使用。
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”时使用。
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外部依赖时需要此技能。
Popular backend & apis skills
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.
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.
google-agents-cli-adk-code
google/agents-cli
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).
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.
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).
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.