Agent skill
wavecap-streams
Monitor and manage WaveCap audio streams. Use when the user asks about stream status, wants to list streams, check stream health, view recent transcriptions, or reset a stream.
Stars
163
Forks
31
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/development/wavecap-streams
SKILL.md
WaveCap Streams Skill
Use this skill to interact with WaveCap streams via the REST API.
Configuration
The WaveCap server runs at http://localhost:8000 by default. For authenticated operations (reset), you need an editor token.
Available Operations
List All Streams
bash
curl -s http://localhost:8000/api/streams | jq
To get streams without transcription history (faster):
bash
curl -s "http://localhost:8000/api/streams?includeTranscriptions=false" | jq
Get Stream Status Summary
bash
curl -s "http://localhost:8000/api/streams?includeTranscriptions=false" | jq '.[] | {id, name, status, error, source, lastActivityAt}'
Get Recent Transcriptions for a Stream
bash
curl -s "http://localhost:8000/api/streams/{STREAM_ID}/transcriptions?limit=10" | jq '.transcriptions[] | {timestamp, text, confidence}'
Check API Health
bash
curl -s http://localhost:8000/api/health | jq
Reset a Stream (requires editor auth)
First, get an auth token:
bash
TOKEN=$(curl -s -X POST http://localhost:8000/api/auth/login \
-H "Content-Type: application/json" \
-d '{"password": "YOUR_EDITOR_PASSWORD"}' | jq -r '.token')
Then reset the stream:
bash
curl -s -X POST "http://localhost:8000/api/streams/{STREAM_ID}/reset" \
-H "Authorization: Bearer $TOKEN"
Stream Status Values
transcribing- Stream is actively processing audioqueued- Stream is waiting to startstopped- Stream has been stoppederror- Stream encountered an error (checkerrorfield)
Stream Source Types
audio- HTTP audio stream (web URL)pager- Pager webhook feedremote- Remote audio source (e.g., from WaveCap-SDR)combined- Virtual combined view of multiple streams
Response Format
Stream objects contain:
json
{
"id": "stream-id",
"name": "Stream Name",
"url": "http://stream-url",
"status": "transcribing",
"enabled": true,
"pinned": false,
"createdAt": "2025-01-01T00:00:00Z",
"language": "en",
"error": null,
"source": "audio",
"lastActivityAt": "2025-01-01T12:00:00Z",
"transcriptions": [...]
}
Tips
- Use
jqto filter and format JSON responses - For large transcription histories, use pagination with
beforeparameter - The
lastActivityAtfield shows when the stream last received content
Didn't find tool you were looking for?