Install Together AI SDK v2 and configure a project-scoped API key with least-privilege storage and a read-only model-list verification. Use when connecting a service or workstation to Together AI. Trigger with "Together auth", "install Together SDK", or "TOGETHER_API_KEY setup".
Installs into .claude/skills of the current project.
Are you the author of Together Install Auth?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/jeremylongshore-together-install-auth-19a91cbf)
---
name: together-install-auth
description: >-
Install Together AI SDK v2 and configure a project-scoped API key with least-privilege storage and a read-only model-list verification. Use when connecting a service or workstation to Together AI. Trigger with "Together auth", "install Together SDK", or "TOGETHER_API_KEY setup".
argument-hint: "[repository-path] [python|typescript|rest]"
allowed-tools: Read, Glob, Grep, WebFetch, Write, Edit
version: 1.9.0
author: Jeremy Longshore <jeremy@intentsolutions.io>
license: MIT
tags:
- saas
- together-ai
- authentication
model: inherit
effort: high
compatibility: Designed for Claude Code; live verification requires network access and a Together AI project key
---
# Together AI Installation and Authentication
## Overview
This skill selects the current Together client, keeps credentials outside source control, and proves access with a non-generating model-list request.
## Prerequisites
- A Together AI project and an administrator-approved key owner
- Python 3.10+ for `together>=2.0.0`, Node.js for the TypeScript SDK, or an HTTPS client
- An approved secret manager for deployed environments
- The repository and runtime that will consume the credential
## Tool Discipline
Use `Read`, `Glob`, and `Grep` to inspect dependency manifests, environment-variable names, and existing client wrappers. Use `WebFetch` only for current Together documentation. Use `Write` or `Edit` only after confirming the target files; never write a real key or `.env` value.
## Current Contract
- New Python integrations target the v2 SDK: `together>=2.0.0`.
- SDK clients read `TOGETHER_API_KEY` by default; REST uses `Authorization: Bearer <token>`.
- API keys are scoped to a Together project. Separate development, CI, and production keys.
- Verify with `client.models.list()` or `GET /v1/models`; do not spend inference tokens for an auth probe.
## Authentication
Create the key in the intended Together project, copy it once into the approved secret store, and inject it at runtime as `TOGETHER_API_KEY`. Redact the value, authorization header, and secret-manager path from logs and examples. Rotation means creating a replacement, deploying it, verifying, and revoking the old key.
## Instructions
1. Inventory the language, package manager, existing OpenAI-compatible client, and deployment environments.
2. Pin the current major SDK and record the resolved version in the lockfile.
3. Define `TOGETHER_API_KEY` in local documentation and deployment configuration without adding a value to the repository.
4. Initialize the native Together client, or configure an OpenAI client with `https://api.together.ai/v1`.
5. Run or hand off one read-only model-list probe and record only status, project alias, SDK version, and model count.
6. Document key ownership, rotation, revocation, and environment separation.
## Approval Boundaries
Do not create, reveal, broaden, rotate, or revoke a production key without the owning project administrator. Do not add a credential to tracked files, command history, test fixtures, or CI available to untrusted forks.
## Output
Return the selected client, pinned version, environment-variable contract, secret reference, read-only verification result, and rotation owner.
## Error Handling
| Condition | Response |
|---|---|
| `401` | Confirm injection and project selection; never print the key. |
| `402` | Report the billing/spend-limit condition to the project owner. |
| `404` on an OpenAI model ID | Resolve a current Together model ID; do not retry the foreign name. |
| Key exposed | Revoke or rotate it and scrub retained logs immediately. |
## Examples
Input:
```text
runtime=python; environment=ci; probe=GET /v1/models; secret=approved-reference
```
Expected handoff:
```text
sdk=together-v2; auth=bearer-project-key; probe=pass; secret-value=redacted
```
## Resources
- [Skill-specific official documentation](references/official-docs.md)
- [Authentication](https://docs.together.ai/docs/api-keys-authentication)
- [Quickstart](https://docs.together.ai/docs/quickstart)
- [Model-list API](https://docs.together.ai/reference/models)