> 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. # ClaudeSkillsSkill > Load Claude Code-style SKILL.md files as agent tools. [add-skill]: /docs/server-sdks/reference/typescript/agents/agent-base/add-skill Load Claude Code-style SKILL.md files as agent tools. Each SKILL.md file in the configured directory becomes a SWAIG function, with YAML frontmatter parsed for metadata. **Class:** `ClaudeSkillsSkill` **Tools:** Dynamically created from SKILL.md files (prefixed with `tool_prefix`) **Env vars:** None **Multi-instance:** Yes **`skills_path`** `string` — required Path to the directory containing Claude skill folders (each with a SKILL.md file). --- **`include`** `string[]` — default: \* Glob patterns for skills to include. --- **`exclude`** `string[]` Glob patterns for skills to exclude. --- **`tool_prefix`** `string` — default: claude\_ Prefix for generated tool names. Use an empty string for no prefix. --- **`prompt_title`** `string` — default: Claude Skills Title for the prompt section listing skills. --- **`prompt_intro`** `string` — default: You have access to specialized skills. Call the appropriate tool when the user's question matches: Introductory text for the prompt section. --- **`skill_descriptions`** `object` Override descriptions for specific skills. Keys are skill names, values are description strings. --- **`response_prefix`** `string` Text to prepend to skill results. --- **`response_postfix`** `string` Text to append to skill results. --- **`allow_shell_injection`** `boolean` — default: false Enable shell command preprocessing in skill bodies. **Security warning:** allows arbitrary shell execution. --- **`allow_script_execution`** `boolean` — default: false Discover and list `scripts/` and `assets/` files in prompt sections. --- **`ignore_invocation_control`** `boolean` — default: false Override `disable-model-invocation` and `user-invocable` flags from frontmatter. When `true`, all discovered skills are registered regardless of invocation control. --- **`shell_timeout`** `integer` — default: 30 Timeout in seconds for shell injection commands. --- ```typescript {6-11} import { AgentBase, ClaudeSkillsSkill } from '@signalwire/sdk'; const agent = new AgentBase({ name: 'assistant', route: '/assistant' }); agent.setPromptText('You are a helpful assistant.'); await agent.addSkill(new ClaudeSkillsSkill({ skills_path: '/path/to/skills/directory', tool_prefix: 'skill_', include: ['*'], exclude: ['deprecated-*'], })); agent.run(); ``` > Load Claude Code-style SKILL.md files as agent tools.