Merged
Conversation
b808850 to
7622a09
Compare
7622a09 to
b662cb7
Compare
Raina451
reviewed
Mar 25, 2026
This was referenced Mar 25, 2026
Raina451
approved these changes
Mar 25, 2026
swati354
reviewed
Mar 26, 2026
swati354
approved these changes
Mar 26, 2026
019bf91 to
eab305f
Compare
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Summary
Claude Code skills that automate onboarding new API endpoints to the SDK. Handles Jira ticket parsing, live API inspection, implementation, E2E browser validation, Cloudflare Workers whitelisting, and PR creation.
Supports both direct API methods (one endpoint → one SDK method) and composite methods (multiple chained API calls → one SDK method, e.g. Python SDK's
extract_output).Skills Added
onboard-apisdk-verify(Steps 5-6) andsdk-ship(Steps 7-8) as sub-skills.sdk-verifyonboard-apiafter implementation, but can also be invoked standalone after any SDK code change (e.g.,/sdk-verify, "verify my changes", "run e2e").sdk-shiponboard-apiafter verification passes, but can also be invoked standalone to ship any SDK changes (e.g.,/sdk-ship, "raise PR", "ship it").Skill invocation flow
Each sub-skill can also be used independently:
How to use
Requires
.envin repo root:What onboard-api does (8 steps)
.env, curls actual endpoints. Won't proceed without a real response. For composite methods, curls ALL underlying endpoints.@trackon public method only.sdk-verify: typecheck, lint, test:unit, build, E2E browser validationsdk-verify: packs SDK tarball, scaffolds temp React app with PAT auth + Vite proxy, validates in browser, deletes everything aftersdk-ship: adds endpoint regex to apps-dev-tools proxy, runs tests, raises separate PR. For composite methods, whitelists ALL internal endpoints.sdk-ship: pushes branch, creates PR with structured description (Method Added, Endpoint Called, Example Usage, API Response vs SDK Response, Files)Ticket type detection
API:field presentReference:+Method:fieldsFlow:block presentReference:andFlow:Agent docs enhancements
Learnings from running the skills on real onboarding tasks (PLT-100298) were fed back into
agent_docs/:conventions.mdcreateHeaders()since the utility filtersundefinedautomatically.rules.mdexpand, show multiple expandable entities in@example(e.g.,expand: 'Robot,Machine,Release')getById→ERROR_JOB_NOT_FOUND), generic for collection methods (getAll). Matches existing Assets/Queues/Jobs pattern.assets.test.ts:94), Queues (queues.test.ts:88), ChoiceSets (choicesets.test.ts:243).Reference files
references/onboarding.mdreferences/composite-methods.mdreferences/e2e-testing.mdreferences/cloudflare-whitelist.mdFiles
.claude/skills/onboard-api/SKILL.md.claude/skills/onboard-api/references/onboarding.md,composite-methods.md,e2e-testing.md,cloudflare-whitelist.md.claude/skills/sdk-verify/SKILL.md.claude/skills/sdk-ship/SKILL.mdagent_docs/conventions.md,agent_docs/rules.mdReal output
Jobs.getAll()with FolderScopedService, OData pagination, field mapping, types, unit tests, integration tests, build wiring, doc updates.Jobs.getOutput()with conditional composition (inline vs file-based output), Attachments API blob download, private helpers, 10 unit tests, integration tests.Test plan
/onboard-apiwith a Direct API Jira ticket and verify full workflow completes (PLT-99452 → PR feat(orchestrator): add Jobs getAll service [PLT-99452] #290)/onboard-apiwith a Composite Jira ticket and verify full workflow completes (PLT-100430 → PR feat(jobs): onboard getOutput method [PLT-100430] #320)🤖 Auto-generated using onboarding skills