🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

pdf

by @kirkraman

Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging...

πŸ’‘ Examples

Slash Commands (Discord)

Once registered with Discord, use these commands:

  • /discord_voice join - Join a voice channel
  • /discord_voice leave - Leave the current voice channel
  • /discord_voice status - Show voice connection status
  • CLI Commands

    # Join a voice channel
    clawdbot discord_voice join 

    Leave voice

    clawdbot discord_voice leave --guild

    Check status

    clawdbot discord_voice status

    Agent Tool

    The agent can use the discord_voice tool:

    Join voice channel 1234567890
    

    The tool supports actions:

  • join - Join a voice channel (requires channelId)
  • leave - Leave voice channel
  • speak - Speak text in the voice channel
  • status - Get current voice status
  • βš™οΈ Configuration

    | Option | Type | Default | Description | | --------------------- | -------- | ----------------- | ----------------------------------------------- | | enabled | boolean | true | Enable/disable the plugin | | sttProvider | string | "local-whisper" | "whisper", "deepgram", or "local-whisper" | | streamingSTT | boolean | true | Use streaming STT (Deepgram only, ~1s faster) | | ttsProvider | string | "openai" | "openai" or "elevenlabs" | | ttsVoice | string | "nova" | Voice ID for TTS | | vadSensitivity | string | "medium" | "low", "medium", or "high" | | bargeIn | boolean | true | Stop speaking when user talks | | allowedUsers | string[] | [] | User IDs allowed (empty = all) | | silenceThresholdMs | number | 1500 | Silence before processing (ms) | | maxRecordingMs | number | 30000 | Max recording length (ms) | | heartbeatIntervalMs | number | 30000 | Connection health check interval | | autoJoinChannel | string | undefined | Channel ID to auto-join on startup |

    Provider Configuration

    #### OpenAI (Whisper + TTS)

    {
      openai: {
        apiKey: "sk-...",
        whisperModel: "whisper-1",
        ttsModel: "tts-1",
      },
    }
    

    #### ElevenLabs (TTS only)

    {
      elevenlabs: {
        apiKey: "...",
        voiceId: "21m00Tcm4TlvDq8ikWAM", // Rachel
        modelId: "eleven_multilingual_v2",
      },
    }
    

    #### Deepgram (STT only)

    {
      deepgram: {
        apiKey: "...",
        model: "nova-2",
      },
    }
    

    πŸ“‹ Tips & Best Practices

    "Discord client not available"

    Ensure the Discord channel is configured and the bot is connected before using voice.

    Opus/Sodium build errors

    Install build tools:

    npm install -g node-gyp
    npm rebuild @discordjs/opus sodium-native
    

    No audio heard

    1. Check bot has Connect + Speak permissions 2. Check bot isn't server muted 3. Verify TTS API key is valid

    Transcription not working

    1. Check STT API key is valid 2. Check audio is being recorded (see debug logs) 3. Try adjusting VAD sensitivity

    Enable debug logging

    DEBUG=discord-voice clawdbot gateway start
    

    View on ClawHub
    TERMINAL
    clawhub install martin-pdf

    πŸ§ͺ Use this skill with your agent

    Most visitors already have an agent. Pick your environment, install or copy the workflow, then run the smoke-test prompt above.

    πŸ” Can't find the right skill?

    Search 60,000+ AI agent skills β€” free, no login needed.

    Search Skills β†’