Token导航 LogoToken导航

Agent Skill · 前端设计

configure-sdk-options(configure SDK options 命令行)

configure-sdk-options 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

configure-sdk-options 是前端设计类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有提醒项,按安装量在前端设计类的 10,216 个 Skill 里排第 4,134。

总安装 984周安装 41GitHub Stars 13下载 328核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:configure-sdk-options(configure SDK options 命令行)
来源仓库:https://github.com/speakeasy-api/skills
仓库路径:skills/configure-sdk-options
安装命令:
npx skills add https://github.com/speakeasy-api/skills --skill configure-sdk-options
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/speakeasy-api/skills --skill configure-sdk-options

这个 Skill 是做什么的

前端设计类 Skill 关注页面结构、视觉规范和组件写法,输出通常是可运行的界面代码。

用于配置 Speakeasy SDK 的生成选项,支持 TypeScript、Python 等多种语言。适合已有 SDK 项目的定制化配置,如模块格式、验证库选择等。提供语言特定的配置指南,帮助生成符合团队标准的客户端代码。安装前需确认是否包含系统命令执行权限,避免误修改项目结构。

configure-sdk-options 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/configure-sdk-options

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/speakeasy-api/skills --skill configure-sdk-opt…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

configure-sdk-options 怎么安装?

在终端执行 npx skills add https://github.com/speakeasy-api/skills --skill configure-sdk-options。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

configure-sdk-options 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

configure-sdk-options 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

configure-sdk-options 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

configure-sdk-options 用的人多吗?

公开数据是累计安装 984 次,近一周安装 41 次,下载 328 次,GitHub 13 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

configure-sdk-options 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理前端设计类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

前端设计类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
frontend-design

前端设计 · Codex、Claude

8,823,360126,072只读MIT通过
vercel-composition-patterns

Vercel 组合模式 · Codex、Claude

3,858,81625,893需要联网MIT通过
vercel-react-native-skills

Vercel React native skills 前端 · Codex、Claude

2,468,66425,878只读MIT通过
adapt

adapt 搜索 · Codex、Claude

2,027,04023,125操作浏览器未明确通过
bolder

bolder 分析 · Codex、Claude

2,004,28823,130只读未明确通过
configure-sdk-options

configure SDK options 命令行 · 本页

98413接触敏感数据未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Configure SDK Options

Configure gen.yaml options for an existing Speakeasy SDK. Supports TypeScript, Python, Go, Java, C#, PHP, and Ruby.

For new SDK projects: Use start-new-sdk-project skill instead. This skill is for configuring an existing SDK.

Language-Specific Guides

For comprehensive configuration details, see the language-specific guides:

LanguageGuideKey Features
TypeScriptcontent/languages/typescript.mdZod validation, React Query, standalone functions, dual module format
Pythoncontent/languages/python.mdPydantic models, async modes (both/split), uv/poetry support
Gocontent/languages/go.mdResponse formats, interface generation, K8s integration
Javacontent/languages/java.mdBuilder pattern, Gradle customization, Maven Central publishing
C#content/languages/csharp.mdAsync/await, cancellation tokens, DI integration, NuGet
PHPcontent/languages/php.mdLaravel integration, Guzzle config, Packagist publishing
Rubycontent/languages/ruby.mdSorbet typing, Rails integration, RubyGems publishing

These guides include detailed configuration options, code examples, framework integrations, and publishing instructions.

When to Use

  • Configuring language-specific gen.yaml options on an existing SDK
  • Setting up SDK hooks, async patterns, or publishing
  • Configuring runtime behavior (retries, timeouts, server selection) in application code
  • User says: "configure SDK", "gen.yaml options", "SDK config", "runtime override", "per-call config"
  • User asks about: Zod, Pydantic, NuGet, PyPI, npm, Maven Central, Packagist, RubyGems

Inputs

InputRequiredDescription
Existing SDKYesSDK with .speakeasy/workflow.yaml already created
Target languageYesTypeScript, Python, Go, Java, C#, PHP, or Ruby

Outputs

OutputDescription
Updated gen.yamlLanguage-specific configuration
Hook filesCustom hooks if enabled

Prerequisites

You must have an existing SDK with .speakeasy/workflow.yaml. If not, run:

speakeasy quickstart --skip-interactive --output console \
  -s openapi.yaml -t <language> -n "MySDK" -p "<package-name>"

Common Configuration (All Languages)

These options apply to all SDK targets in gen.yaml:

<language>:
  version: 1.0.0
  packageName: "my-sdk"

  # Method signatures
  maxMethodParams: 4              # Params before request object
  flatteningOrder: parameters-first

  # Error handling
  responseFormat: flat            # or "envelope" (Go)
  clientServerStatusCodesAsErrors: true

TypeScript Configuration

typescript:
  version: 1.0.0
  packageName: "@myorg/my-sdk"
  moduleFormat: dual              # esm, commonjs, or dual
  zodVersion: v4-mini             # v3, v4, or v4-mini
  enableCustomCodeRegions: true   # For custom code
  enableReactQuery: true          # React Query hooks
FeatureNotes
Zod validationAutomatic for all models
Tree-shakingUse moduleFormat: dual + standalone functions
JSR publishingCreate jsr.json, run deno publish
npm publishingStandard npm publish

Standalone functions for tree-shaking:

import { TodoCore } from "my-sdk/core.js";
import { todosCreate } from "my-sdk/funcs/todosCreate.js";
const sdk = new TodoCore({ apiKey: "..." });

Python Configuration

python:
  version: 1.0.0
  packageName: "my-sdk"
  asyncMode: both                 # both or split
  packageManager: uv              # uv or poetry
  envVarPrefix: ""                # Prefix for env config
FeatureNotes
Pydantic modelsAutomatic for all models
Async mode bothsdk.method() and sdk.method_async()
Async mode splitSDK() and AsyncSDK() constructors
PyPI publishinguv publish or poetry publish

Async patterns:

# asyncMode: both (default)
result = sdk.users.list()           # sync
result = await sdk.users.list_async() # async

# asyncMode: split
sdk = MySDK()                       # sync only
async_sdk = AsyncMySDK()            # async only

Go Configuration

go:
  version: 0.1.0
  packageName: github.com/myorg/my-sdk
  maxMethodParams: 2
  methodArguments: require-security-and-request
  responseFormat: envelope
  flattenGlobalSecurity: true
FeatureNotes
InterfacesGenerate with ifacemaker
MocksGenerate with mockery
K8s integrationAdd kubebuilder markers, run controller-gen

Interface generation for testing:

go install github.com/vburenin/ifacemaker@latest
go install github.com/vektra/mockery/v2@latest
ifacemaker --file consumers.go --struct Consumers --iface ConsumersSDK --output consumers_i.go
mockery

Java Configuration

java:
  version: 1.0.0
  groupID: com.myorg
  artifactID: my-sdk
  packageName: com.myorg.mysdk
  methodArguments: require-security-and-request
FeatureNotes
Builder patternAutomatic for all classes
Build customizationUse build-extras.gradle (preserved)
Maven Central./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository

Client usage:

MySdk sdk = MySdk.builder()
    .security(Security.builder().apiKey("key").build())
    .build();

C# Configuration

csharp:
  version: 1.0.0
  packageName: MyOrg.MySDK
  dotnetVersion: "6.0"
  baseErrorName: MySDKException
FeatureNotes
Async/awaitAll operations async by default
SSE streamingEventStream<T> support
NuGet publishingdotnet pack -c Release && dotnet nuget push

Async with cancellation:

var cts = new CancellationTokenSource(TimeSpan.FromSeconds(30));
var result = await sdk.Users.ListAsync(cancellationToken: cts.Token);

PHP Configuration

php:
  version: 1.0.0
  packageName: myorg/my-sdk
  namespace: MyOrg\MySDK
FeatureNotes
PHP 8.2+Required minimum version
GuzzleHTTP client (configurable timeout)
PackagistTag release, register on Packagist.org

Security callback for token refresh:

$sdk = MySDK\MySDK::builder()
    ->setSecuritySource(fn() => getTokenFromCache() ?? refreshToken())
    ->build();

Ruby Configuration

ruby:
  version: 1.0.0
  packageName: my-sdk
  module: MySdk
  typingStrategy: sorbet          # sorbet or none
FeatureNotes
Sorbet typingOptional, enable with typingStrategy: sorbet
FaradayHTTP client
RubyGemsgem build && gem push

SDK Hooks (All Languages)

Enable custom hooks with enableCustomCodeRegions: true. Hook files are preserved across regeneration.

LanguageHook Location
TypeScriptsrc/hooks/
Pythonsrc/<pkg>/_hooks/
Gointernal/hooks/
Javasrc/main/java/.../hooks/
C#src/.../Hooks/
PHPsrc/Hooks/
Rubylib/.../sdk_hooks/

See customize-sdk-hooks skill for detailed hook implementation.

Runtime Overrides

Runtime behavior can be configured at SDK instantiation or per-call. These override gen.yaml defaults.

Server Selection

Define server IDs in OpenAPI spec, then select at runtime:

# OpenAPI spec
servers:
  - url: https://api.example.com
    x-speakeasy-server-id: production
  - url: https://sandbox.example.com
    x-speakeasy-server-id: sandbox
LanguageSDK ConstructorCustom URL
TypeScriptnew SDK({server: "sandbox"})new SDK({serverURL: "..."})
PythonSDK(server="sandbox")SDK(server_url="...")
GoSDK.New(SDK.WithServer("sandbox"))SDK.WithServerURL("...")

Retry Overrides

Override retry behavior per-call (spec defaults set via x-speakeasy-retries):

TypeScript:

const res = await sdk.payments.create({ amount: 1000 }, {
  retries: {
    strategy: "backoff",
    backoff: { initialInterval: 1000, maxInterval: 30000, maxElapsedTime: 120000, exponent: 2.0 },
    retryConnectionErrors: true,
  },
});

Python:

from sdk.utils import BackoffStrategy, RetryConfig
res = sdk.payments.create(amount=1000, retries=RetryConfig("backoff",
    backoff=BackoffStrategy(1000, 30000, 120000, 2.0), retry_connection_errors=True))

Go:

res, err := sdk.Payments.Create(ctx, req, operations.WithRetries(retry.Config{
    Strategy: "backoff", Backoff: &retry.BackoffStrategy{
        InitialInterval: 1000, MaxInterval: 30000, MaxElapsedTime: 120000, Exponent: 2.0},
    RetryConnectionErrors: true}))

Timeout Overrides

Set global timeout on SDK constructor, or per-call:

LanguageGlobalPer-call
TypeScriptnew SDK({timeoutMs: 30000})sdk.op({}, {timeoutMs: 60000})
PythonSDK(timeout_ms=30000)sdk.op(timeout_ms=60000)
GoSDK.WithTimeoutMs(30000)operations.WithTimeoutMs(60000)

Pagination Usage

SDK auto-generates pagination helpers when x-speakeasy-pagination is set in spec:

// Auto-iterate all pages
for await (const user of await sdk.users.list({ limit: 50 })) {
  console.log(user.name);
}

// Manual pagination
let page = await sdk.users.list({ limit: 50 });
while (page) {
  for (const user of page.data) { console.log(user.name); }
  page = await page.next();
}

Decision Framework

SituationAction
Need tree-shaking (TS)Set moduleFormat: dual, use standalone functions
Need async/sync (Python)Set asyncMode: both (default)
Need separate async clientSet asyncMode: split (Python)
Need interfaces for testing (Go)Use ifacemaker + mockery
Need custom build config (Java)Edit build-extras.gradle
Need runtime retry overridePass retries config in per-call options
Need runtime timeout overrideSet timeoutMs on constructor or per-call
Need server switchingUse x-speakeasy-server-id in spec, select at runtime

What NOT to Do

  • Do NOT use this skill for initial SDK generation - use start-new-sdk-project
  • Do NOT edit generated files outside custom code regions
  • Do NOT modify files in src/ that aren't in preserved directories (hooks, extra)

Troubleshooting

LanguageIssueSolution
TypeScriptBundle too largeUse standalone functions
PythonAsync pagination blockingEnable fixFlags.asyncPaginationSep2025: true
GoInterface not generatedEnsure struct is exported (capitalized)
JavaGradle sync failsRun ./gradlew --refresh-dependencies
C#Async deadlockUse await not .Result
PHPPHP version errorRequires PHP 8.2+
RubySorbet errorsRun bundle exec tapioca gems
AllRetries not workingEnsure x-speakeasy-retries at document root or operation level
AllServer ID not recognizedAdd x-speakeasy-server-id to each server entry
AllPagination next() undefinedAdd x-speakeasy-pagination to the list operation

After Making Changes

After modifying gen.yaml configuration, prompt the user to regenerate the SDK:

Configuration complete. Would you like to regenerate the SDK now with speakeasy run?

If the user confirms, run:

speakeasy run --output console

Changes to gen.yaml only take effect after regeneration.

Related Skills

  • start-new-sdk-project - Initial SDK generation
  • customize-sdk-hooks - Detailed hook implementation
  • manage-openapi-overlays - Spec customization

平台分布

Codex

36.55%
按下载量换算120

Claude

27.91%
按下载量换算92

Cursor

18.88%
按下载量换算62

Gemini CLI

9.56%
按下载量换算31

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills