From oagen
Integrates generated SDK code into a live SDK by running `oagen generate --target`. Use to merge emitter output into an existing SDK after generation.
How this skill is triggered — by the user, by Claude, or both
Slash command
/oagen:integrateThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Integrate generated SDK code into a live SDK by running `oagen generate --target`. This runs every time code is generated for a live SDK, not just once — both during initial setup and on every subsequent spec update. The writer's additive merge makes it safe to run on every regeneration.
Integrate generated SDK code into a live SDK by running oagen generate --target. This runs every time code is generated for a live SDK, not just once — both during initial setup and on every subsequent spec update. The writer's additive merge makes it safe to run on every regeneration.
/integrate fits in the overall workflowskipIfExistsBefore integration:
sdk-{language}-surface.json in the emitter project). If missing, suggest running /verify-compat first.fileBySymbol hints for correct file placement — this ensures generated files land at the paths the live SDK expects.Determine required paths:
AskUserQuestionsdk_path): from argument, or use AskUserQuestion: "Where is the live SDK? (absolute or relative path)"spec): from argument, OPENAPI_SPEC_PATH env var, or use AskUserQuestionproject): from argument, or detect from current directoryoutput): use a temp directory or the emitter project's sdk/ directoryapi_surface): sdk-{language}-surface.json in the emitter projectmanifest): .oagen-manifest.json in the output directory (contains file list and operations map)Run oagen generate with --dry-run and --target to show what will happen:
npx tsx src/cli/index.ts generate \
--spec {spec} \
--lang {language} \
--output {output} \
--target {sdk_path} \
--namespace {namespace} \
--api-surface {api_surface} \
--manifest {manifest} \
--dry-run
Present the output to the user. The dry-run shows:
Use AskUserQuestion to confirm:
"The above files will be written to
{output}and integrated into{sdk_path}. Proceed?"
On confirmation, run without --dry-run:
npx tsx src/cli/index.ts generate \
--spec {spec} \
--lang {language} \
--output {output} \
--target {sdk_path} \
--namespace {namespace} \
--api-surface {api_surface} \
--manifest {manifest}
Suggest running the live SDK's test suite:
cd {sdk_path} && npm test # or equivalent for the target language
If tests fail, the merger's additive-only guarantees mean hand-written code was not modified — failures are likely from new symbols that need wiring up or import updates.
Report what happened:
=== Integration Complete ===
Target: {sdk_path}
New files created: {N}
Existing files merged: {N}
Files skipped: {N}
Next steps:
- Review changes: cd {sdk_path} && git diff
- Run tests: cd {sdk_path} && npm test
- If needed, re-run /integrate after fixing issues
{output} directory{sdk_path} via the writer's additive mergenpx claudepluginhub workos/oagenOrchestrates end-to-end SDK generation for a target language, handling both backwards-compatible and fresh scenarios by sequencing sub-skills.
Initializes new SDK projects from OpenAPI specs using speakeasy quickstart command. Targets TypeScript, Python, Go, Java, C#, PHP, Ruby, Kotlin, Terraform.
Generates type-safe client SDKs in TypeScript, Python, Go, Java from OpenAPI specs with auth, retries, pagination, and tests.