> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # JokeSkill > Tell jokes from a built-in collection. [add-skill]: /docs/server-sdks/reference/typescript/agents/agent-base/add-skill [base-parameters]: /docs/server-sdks/reference/typescript/agents/skills#base-parameters Tell jokes from a built-in collection. Includes general, programming, and dad joke categories. No external API required. **Class:** `JokeSkill` **Tools:** `get_joke` (configurable via `tool_name`). Takes one required argument, `type`, which is `jokes` or `dadjokes`. **Env vars:** None **`tool_name`** `string` — default: get\_joke Custom name for the joke tool. Overrides the default SWAIG function name. --- Plus the [base parameters][base-parameters] (`swaig_fields`, `skip_prompt`). ```typescript {5} import { AgentBase, JokeSkill } from '@signalwire/sdk'; const agent = new AgentBase({ name: 'assistant', route: '/assistant' }); agent.setPromptText('You are a helpful assistant.'); await agent.addSkill(new JokeSkill()); agent.run(); ``` > Tell jokes from a built-in collection.