How to use
- Copy the installation command and review the source package before installing it in your own agent environment.
- Check the source document for required tools, credentials and supported hosts.
- Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/putdotio/agent-skills --skill putio-sdk-devBefore you start
- Installation does not include a model subscription, API allowance or permission to access your files.
- Repository stars and installation counts describe activity, not an independent quality or security test.
Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.
put.io SDK development
Apply put.io SDK conventions after the target repository's own guidance.
Shared defaults
- Treat each SDK as a public package, not an internal compatibility layer.
- Treat TypeScript as the canonical full put.io API client, not just the richest reference.
- Keep every public surface domain-first, strongly typed, and native to its host language.
- Update request, response, and typed error contracts together.
- Prove behavior with deterministic tests plus safe live tests when real API behavior matters.
- Keep Swift and Kotlin scope narrower than TypeScript only when product usage justifies it.
Source order
When sources disagree, prefer local backend behavior and tests, current first-party app usage, maintained SDKs, archived clients, then published API documentation.
Start with sources present in the target repository. Add backend or first-party consumer evidence only when it is authorized and available.
Widen SDK surfaces only when real app use and verified backend behavior justify it.
Start
Read only what you need:
- every filesystem
AGENTS.mdthat applies from the target repo root to the
files being changed, including untracked files, followed by the tracked auxiliary guidance inventory from git ls-files '*AGENTS.md' '*SKILL.md'
- the frontmatter and instructions from task-matching project-local
SKILL.md
files under .agents/skills/, .claude/skills/, or skills/; ignore dependency and vendored trees
- the canonical verify and live-test commands from
README.md,AGENTS.md, ordocs/* - SDK vision for scope rules, shared engineering principles, and the verification policy; product direction lives in the Frontend hub in the put.io Notion workspace (page: Products)
- patterns for typed boundaries, error mapping, pagination, and live-test layering
- language notes for TypeScript, Swift, or Kotlin-specific guidance
- release security when publishing,
signing, releasing, or building distributable binaries
Target-repo guidance, matching repo-local skills, the repo's canonical verify command, and its delivery or supply-chain policy override this shared skill.
Workflow
- Inspect the target namespace and the shared transport or client runtime.
- Check backend behavior, backend tests, and current app usage before widening or changing a contract.
- Update typed request input, response parsing, and operation-specific error mapping together.
- Add or update deterministic coverage for request shaping, parsing, errors, and public client contracts.
- Add or refresh safe live verification when production behavior matters and the surface is reversible.
- Keep multiple public clients aligned when the repo exposes more than one interface style.
- Select the owner's documented checks for the affected contracts and their
dependents, including installed-package and downstream-consumer proof when relevant. Run the full canonical gate when mandated, shared inputs changed, or focused coverage is uncertain. Fix failures and refresh affected proof; reuse passing results while their source, inputs and environment remain valid. Record unavailable proof and its exact blocker without claiming it passed or inferring authorization from command discovery.
- Update package-facing docs and release notes when the public surface changes.
Endpoint changes
For a new or changed endpoint, discover the tracked source, test, fixture, and consumer paths first. Search only paths that exist:
git ls-files -z -- \
':(glob)**/src/**' \
':(glob)**/test/**' \
':(glob)**/tests/**' \
':(glob)**/Tests/**' \
':(glob)**/Sources/**' \
':(glob)**/docs/**' \
':(glob)**/fixtures/**' \
':(glob)**/Package.swift' \
':(glob)**/build.gradle' \
':(glob)**/package.json' |
xargs -0 rg -n "route_name|endpoint_path|field_name" -- || trueRepeat this search from a backend, fixture, or first-party consumer checkout only when that source is available and authorized.
Then update the SDK in this order:
- request input type or query model
- response parser or native decode model
- operation-specific error mapping
- public client method or namespace export
- unit tests for request, response, and error behavior
- safe live test when the endpoint behavior cannot be proven locally
- README, API docs, or release notes when the public surface changed
Verification
Use the owning repository's documented commands. Do not infer a Vite+, Gradle, or Make entrypoint from this shared skill.
An SDK repo should expose both:
- a default deterministic unit-test path that is safe for CI and local iteration
- a separate documented live-test path for real API verification
If one of those layers is missing, treat it as a repo gap to document or fix rather than silently accepting a weaker verification story.
Discover the owned commands before running them:
rg --hidden -n "verify|check|test|example" . \
--glob 'README.md' \
--glob 'AGENTS.md' \
--glob 'docs/**' \
--glob '.github/**' \
--glob 'package.json' \
--glob 'Makefile' \
--glob 'pyproject.toml' \
--glob 'Cargo.toml' \
--glob 'build.gradle*' \
--glob 'settings.gradle*' \
--glob 'Package.swift' || trueFor runtime verification, prefer the repo's documented live-test entrypoints and follow the shared-account safety rules in that repo's testing docs.
Boundaries
- Verify backend contracts with current docs, source, fixtures, or live probes rather than old SDKs alone.
- Claim full verification only when the unit, fixture, and live layers that matter for the change were exercised.
- Keep live coverage against shared accounts non-destructive.
- Finish in-scope edits, verification, and fixes without pausing for approval; ask before publishing, release writes, coverage-threshold changes, and live writes that are not reversible.
- Preserve naming, parity, and type-safety unless a documented reason justifies a change.
- Keep repo-specific implementation guidance in that repo's
AGENTS.mdor
docs/*
- Generic SDK work, end-user application code, and CLI consumer operations are
outside this skill.


