home / skills / jeremylongshore / claude-code-plugins-plus-skills / speak-install-auth

This skill guides you through installing and authenticating the Speak Language Learning SDK, enabling secure API access for your app.

npx playbooks add skill jeremylongshore/claude-code-plugins-plus-skills --skill speak-install-auth

Review the files below or copy the command above to add this skill to your agents.

Files (1)
SKILL.md
4.2 KB
---
name: speak-install-auth
description: |
  Install and configure Speak Language Learning SDK/API authentication.
  Use when setting up a new Speak integration, configuring API keys,
  or initializing Speak services in your language learning application.
  Trigger with phrases like "install speak", "setup speak",
  "speak auth", "configure speak API key", "speak language learning setup".
allowed-tools: Read, Write, Edit, Bash(npm:*), Bash(pip:*), Grep
version: 1.0.0
license: MIT
author: Jeremy Longshore <[email protected]>
---

# Speak Install & Auth

## Overview
Set up Speak Language Learning SDK/API and configure authentication credentials for AI-powered language tutoring integration.

## Prerequisites
- Node.js 18+ or Python 3.10+
- Package manager (npm, pnpm, or pip)
- Speak developer account with API access
- API key from Speak developer dashboard

## Instructions

### Step 1: Install SDK
```bash
# Node.js
npm install @speak/language-sdk

# Python
pip install speak-language-sdk

# Alternative: Using OpenAI-compatible API
npm install openai  # Speak uses OpenAI's real-time API
```

### Step 2: Configure Authentication
```bash
# Set environment variable
export SPEAK_API_KEY="your-api-key"
export SPEAK_APP_ID="your-app-id"

# Or create .env file
echo 'SPEAK_API_KEY=your-api-key' >> .env
echo 'SPEAK_APP_ID=your-app-id' >> .env
```

### Step 3: Initialize Client
```typescript
// src/speak/client.ts
import { SpeakClient } from '@speak/language-sdk';

const client = new SpeakClient({
  apiKey: process.env.SPEAK_API_KEY!,
  appId: process.env.SPEAK_APP_ID!,
  language: 'ko', // Target language: Korean, Spanish (es), Japanese (ja), etc.
});
```

### Step 4: Verify Connection
```typescript
async function verifyConnection() {
  try {
    const status = await client.health.check();
    console.log('Speak connection verified:', status);
    return true;
  } catch (error) {
    console.error('Connection failed:', error);
    return false;
  }
}
```

## Supported Languages
| Language | Code | Status |
|----------|------|--------|
| English | en | Available |
| Spanish | es | Available |
| French | fr | Available |
| German | de | Available |
| Portuguese (BR) | pt-BR | Available |
| Korean | ko | Available |
| Japanese | ja | Available |
| Mandarin (Traditional) | zh-TW | Available |
| Mandarin (Simplified) | zh-CN | Available |
| Indonesian | id | Available |

## Output
- Installed SDK package in node_modules or site-packages
- Environment variable or .env file with API credentials
- Successful connection verification output

## Error Handling
| Error | Cause | Solution |
|-------|-------|----------|
| Invalid API Key | Incorrect or expired key | Verify key in Speak developer dashboard |
| App ID Mismatch | Wrong application identifier | Check app ID in project settings |
| Rate Limited | Exceeded quota | Check usage at developer.speak.com |
| Network Error | Firewall blocking | Ensure outbound HTTPS allowed |
| Module Not Found | Installation failed | Run `npm install` or `pip install` again |

## Examples

### TypeScript Setup with Speech Recognition
```typescript
import { SpeakClient, SpeechRecognizer } from '@speak/language-sdk';

const client = new SpeakClient({
  apiKey: process.env.SPEAK_API_KEY!,
  appId: process.env.SPEAK_APP_ID!,
  language: 'es',
});

const recognizer = new SpeechRecognizer(client, {
  onSpeechResult: (result) => {
    console.log('User said:', result.transcript);
    console.log('Pronunciation score:', result.pronunciationScore);
  },
  onError: (error) => console.error('Speech error:', error),
});
```

### Python Setup
```python
import os
from speak_sdk import SpeakClient, LessonSession

client = SpeakClient(
    api_key=os.environ.get('SPEAK_API_KEY'),
    app_id=os.environ.get('SPEAK_APP_ID'),
    language='ja'  # Japanese
)

# Verify connection
status = client.health.check()
print(f"Connected: {status.healthy}")
```

## Resources
- [Speak Developer Documentation](https://developer.speak.com/docs)
- [Speak API Reference](https://developer.speak.com/api)
- [Speak Status Page](https://status.speak.com)
- [OpenAI Real-time API (used by Speak)](https://platform.openai.com/docs/guides/realtime)

## Next Steps
After successful auth, proceed to `speak-hello-world` for your first lesson session.

Overview

This skill installs the Speak Language Learning SDK and configures API authentication for your application. It walks you through SDK installation (Node.js or Python), setting environment variables or .env entries, and initializing the Speak client. The goal is a verified connection so you can start using Speak services for language lessons and speech features.

How this skill works

The skill runs the required package installation commands and shows how to set SPEAK_API_KEY and SPEAK_APP_ID as environment variables or in a .env file. It provides sample client initialization for both TypeScript and Python, including language selection. Finally, it verifies connectivity by calling the SDK health check and describes common error causes and fixes.

When to use it

  • Starting a new Speak integration in a web or mobile app
  • Switching environments (local, staging, production) and setting credentials
  • Adding Speak SDK support for speech recognition or pronunciation scoring
  • Troubleshooting authentication, connectivity, or SDK installation issues

Best practices

  • Keep API keys out of source control; use environment variables or a secrets manager
  • Validate keys and app ID in the Speak developer dashboard before deployment
  • Use the SDK health check in CI or startup scripts to fail fast on misconfiguration
  • Limit keys by environment and rotate them regularly
  • Monitor usage and rate limits on the Speak dashboard to avoid unexpected throttling

Example use cases

  • Node.js backend installing @speak/language-sdk and initializing SpeakClient for Spanish lessons
  • Python app using speak-language-sdk to start a lesson session and verify connection
  • Frontend setup that stores SPEAK_API_KEY in a secure environment variable for staging
  • Adding a SpeechRecognizer to capture user speech and produce pronunciation scores in an exercise

FAQ

What do I need before installing the SDK?

You need Node.js 18+ or Python 3.10+, a package manager (npm/pip), and a Speak developer account with an API key and app ID.

How do I verify the SDK can reach Speak services?

Initialize the client with your SPEAK_API_KEY and SPEAK_APP_ID, then call the SDK health.check() method; handle errors to surface invalid keys, app ID mismatches, or network problems.