sdk-release-checklist
A mandatory checklist for releasing or adding new SDKs to the project.
Install
mkdir -p .claude/skills/sdk-release-checklist && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/17908" && unzip -o skill.zip -d .claude/skills/sdk-release-checklist && rm skill.zipInstalls to .claude/skills/sdk-release-checklist
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Checklist for adding a new SDK or releasing a new SDK version. Covers code, tests, website integration (docs page, version badge, changelog sidebar, i18n keys), and CI wiring. Use when creating a new runtime SDK, bumping an SDK version, or auditing that all integration points are connected.Key capabilities
- →Add SDK source and unit tests
- →Wire version extraction into astro.config.mjs
- →Add SDK section in DocsContent.astro
- →Create changelog entry and integrate into website
- →Update copilot-instructions.md with SDK architecture notes
How it works
The skill provides a checklist for integrating new or updated SDKs into the project's code, website, and build system, covering version management, documentation, and CI wiring.
Inputs & outputs
When to use sdk-release-checklist
- →Release a new SDK version
- →Add a new runtime SDK
- →Audit release integration points
About this skill
SDK Release Checklist
Mandatory steps when adding a new SDK or releasing a new version of an existing SDK. Prevents drift between code, website, changelogs, and CI.
When to Use
- Creating a new runtime SDK (e.g., Go, Java, Ruby)
- Releasing a new version of any existing SDK (.NET, Python, Node.js)
- Auditing that an SDK is fully wired into the website and build system
- After a version bump to verify all integration points are updated
New SDK: Full Checklist
When adding a brand-new SDK to the project, complete every item:
1. Code & Tests
- SDK source under
src/sdks/{runtime}/ - Unit tests under
tests/sdks/{runtime}/ - Acceptance tests with LocalStack + Lowkey Vault containers
(see
sdk-acceptance-testingskill) - README.md in SDK root with install, quick start, and API reference
2. Version Source File
Every SDK must have a canonical version source read at build time:
| Runtime | File | Field / Tag |
|---|---|---|
| .NET | src/sdks/dotnet/Envilder.csproj | <Version>X.Y.Z</Version> |
| Python | src/sdks/python/pyproject.toml | version = "X.Y.Z" |
| Node.js | src/sdks/nodejs/package.json | "version": "X.Y.Z" |
| Go | Git tag / go.mod convention | vX.Y.Z tag |
| Java | pom.xml or build.gradle | <version> / version = |
3. Website: Version Badge Wiring
The website reads SDK versions at build time via astro.config.mjs:
- Add version extraction in
src/website/astro.config.mjs:- For
package.json: read +JSON.parse(see Node.js SDK pattern) - For
.csproj: useextractCsprojVersion()helper (regex on<Version>) - For
pyproject.toml: useextractPyprojectVersion()helper (regex)
- For
- Add Vite
defineglobal:__SDK_{RUNTIME}_VERSION__ - Declare in
src/website/src/env.d.ts:declare const __SDK_{RUNTIME}_VERSION__: string; - Use dynamic variable in
DocsContent.astrobadge (never hardcode versions)
4. Website: Documentation Page Section
- Add SDK section in
src/website/src/components/DocsContent.astro(install command, quick start code, badge, link to full docs) - Add i18n keys to
src/website/src/i18n/types.tsfor all new strings - Add translations to every locale file:
en.ts,ca.ts,es.ts
5. Website: Changelog Integration
- Create
docs/changelogs/sdk-{runtime}.mdwith initial release entry - Read changelog in
astro.config.mjsviareadChangelog()helper - Add Vite
defineglobal:__CHANGELOG_SDK_{RUNTIME}__ - Declare in
env.d.ts:declare const __CHANGELOG_SDK_{RUNTIME}__: string; - Add product entry to
productsarray in all 3 changelog pages:src/website/src/pages/changelog.astrosrc/website/src/pages/ca/changelog.astrosrc/website/src/pages/es/changelog.astro
- Add sidebar nav block (button + version list) in the SDKs group for
all 3 changelog pages: maintain correct
parsed[N]indices - Add i18n key
categorySdk{Runtime}totypes.tsand all locale files - Add to mobile product selector dropdown (automatic if in
productsarray)
6. Website: SDK Cards Component
- Add card in
src/website/src/components/Sdks.astrowith install command and package manager link
7. Copilot Instructions & Build Config
- Update
.github/copilot-instructions.mdwith SDK architecture notes - Add to
pnpm-workspace.yamlif TypeScript/Node-based - Add build/test commands to CI workflow
8. Documentation Cross-References
- Add SDK to root
README.mdSDK section - Add SDK to
ROADMAP.mdif tracked there - Add to
docs/changelogs/index if one exists - Run
doc-syncskill to verify alignment
Existing SDK: Version Bump Checklist
When releasing a new version of an already-wired SDK:
- Bump version in the canonical source file (csproj / pyproject.toml / package.json)
- Add changelog entry to
docs/changelogs/sdk-{runtime}.md - Verify
pnpm buildinsrc/website/picks up the new version automatically - No manual edits needed in
DocsContent.astro(version is dynamic)
Validation
After completing the checklist:
# Build website and verify all versions render
cd src/website && pnpm build
# Grep built HTML for version badges
node -e "const h=require('fs').readFileSync('dist/docs/index.html','utf-8'); \
console.log(h.match(/NuGet v[\d.]+/)?.[0]); \
console.log(h.match(/PyPI v[\d.]+/)?.[0]); \
console.log(h.match(/npm v[\d.]+/)?.[0])"
# Verify changelog page includes all SDKs
node -e "const h=require('fs').readFileSync('dist/changelog/index.html','utf-8'); \
console.log('dotnet:', h.includes('sdk-dotnet')); \
console.log('python:', h.includes('sdk-python')); \
console.log('nodejs:', h.includes('sdk-nodejs'))"
Common Pitfalls
| Pitfall | Prevention |
|---|---|
| Hardcoded version in badge | Always use __SDK_*_VERSION__ globals |
| Missing changelog sidebar entry | Check all 3 locale pages, not just en |
Wrong parsed[N] index after adding SDK | Count products array entries carefully |
| Forgot i18n key in one locale | Add to types.ts first: TypeScript errors catch missing keys |
| Version not updating after bump | Restart dev server (Vite caches define values) |
When not to use it
- →When a version is hardcoded in a badge
- →When a changelog sidebar entry is missing in one of the locale pages
- →When the parsed[N] index is wrong after adding an SDK
Limitations
- →Version not updating after bump requires restarting the dev server
- →Missing i18n key in one locale requires adding to types.ts first
- →Wrong parsed[N] index after adding SDK requires careful counting of products array entries
How it compares
This skill provides a structured checklist for SDK integration, ensuring all components are updated consistently, unlike an ad-hoc approach.
Compared to similar skills
sdk-release-checklist side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| sdk-release-checklist (this skill) | 0 | 17d | Review | Advanced |
| release-prep | 0 | 2mo | Review | Beginner |
| release-prep | 0 | 3mo | No flags | Intermediate |
| release | 0 | 5mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by macalbert
View all by macalbert →You might also like
release-prep
Fu-Jie
Orchestrates the full release preparation flow for a plugin — version sync across 7+ files, bilingual release notes creation, and commit message drafting. Use before submitting a PR. Does NOT push or create a PR; that is handled by pr-submitter.
release-prep
NickCrew
Use when preparing a production release or release candidate - provides a checklist-driven workflow for validation, versioning, build optimization, documentation updates, and deployment readiness.
release
akiojin
Execute the release workflow when the user asks `release` or `/release`: sync develop, update version/changelog, create `chore(release)` commit, collect closing issues, create develop->main release PR, and verify release/publish artifacts.
pdlc-deploy
kanfu-panda
创建部署文档
agent-workflow-automation
ruvnet
Agent skill for workflow-automation - invoke with $agent-workflow-automation
project-os
Peiiii
AI project OS for autonomous loop, automated orchestration, and rule-driven execution.