together-local-dev-loop
Develop Together AI integrations with a fake transport, recorded response shapes, deterministic assertions, and an opt-in bounded live probe. Use when iterating without spending tokens on every test. Trigger with "Together local dev", "mock Together API", or "test Together client".
Allowed Tools
Provided by Plugin
together-pack
16 source-grounded operator skills for Together AI inference, batch, fine-tuning, deployment, security, and operations
Installation
This skill is included in the together-pack plugin:
/plugin install together-pack@claude-code-plugins-plus
Click to copy
Instructions
Together AI Local Development Loop
Overview
This skill keeps ordinary development offline and deterministic while retaining one explicit live lane for detecting provider-contract drift.
Prerequisites
- The repository's test runner and client abstraction
- Sanitized fixtures for success, streaming chunks,
401,404,429, and503 - A separate development project key for an opt-in live probe
- A fixed token and request budget for that probe
Tool Discipline
Use Read, Glob, and Grep to discover the wrapper, tests, fixtures, and environment gates. Use WebFetch to confirm current response and error shapes. Use Write or Edit only after matching repository conventions; never save live prompts, outputs, or credentials as fixtures.
Current Contract
- Inject a client or transport rather than mocking SDK internals throughout the codebase.
- Preserve the SDK response fields the application actually consumes: choices, deltas, finish reason, usage, and error status.
- Make live tests opt-in, bounded, non-sensitive, and visibly skipped when no approved key exists.
- Test dynamic limit-header handling without hard-coding permanent RPM or TPM values.
Authentication
Offline tests use no key. The live lane reads a development-only TOGETHER_API_KEY from the approved test secret store and must be unavailable to untrusted fork workflows.
Instructions
- Locate the narrowest Together client boundary and enumerate consumed fields.
- Build typed fake responses for non-streaming, streaming, and each retry class.
- Assert model selection, request bounds, idempotent reconciliation keys, and redaction.
- Gate the live probe behind an explicit environment switch plus a development key.
- Limit the live probe to one small request against a catalog-resolved model.
- Compare shape-level behavior, update sanitized fixtures if approved, and record cost/cleanup.
Approval Boundaries
Do not expose a live key to pull requests from forks. Do not refresh fixtures from customer traffic or authorize an unbounded live test suite.
Output
Return fake-contract coverage, offline test results, live-lane disposition, model-resolution evidence, request budget, and any detected SDK or API drift.
Error Handling
| Condition | Response |
|---|---|
| SDK object is hard to fake | Introduce an application-owned adapter; do not patch deep internals. |
| Live key absent | Mark the live lane skipped, not passed. |
| Fixture contains sensitive text | Remove it and replace it with synthetic data. |
| Live response shape changed | Preserve evidence and update the adapter before fixtures. |
Examples
The example below shows the minimum redacted evidence expected from a successful invocation of this operator workflow.
offline=34_pass; live=skipped(no-approved-key); fixtures=synthetic; token_budget=128