> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# removeSkillByName

> Remove a skill from the agent by skill name.

[remove-skill]: /docs/server-sdks/reference/typescript/agents/agent-base/remove-skill

[ref-agentbase]: /docs/server-sdks/reference/typescript/agents/agent-base

Remove the first loaded skill whose name matches `skillName`. Provides name-based
removal for parity with Python's `remove_skill(skill_name)`. Use
[`removeSkill()`][remove-skill] when you need to remove a specific instance by
its `instanceId`.

## **Parameters**

<ParamField path="skillName" type="string" required={true} toc={true}>
  Skill name to match. Only the first matching instance is removed.
</ParamField>

## **Returns**

`Promise<boolean>` -- `true` if a matching skill was found and removed, `false`
otherwise.

## **Example**

```typescript {6}
import { AgentBase, DateTimeSkill, MathSkill } from '@signalwire/sdk';

const agent = new AgentBase({ name: 'assistant', route: '/assistant' });
await agent.addSkill(new DateTimeSkill());
await agent.addSkill(new MathSkill());
await agent.removeSkillByName('math');
console.log(agent.listSkills().map((s) => s.name)); // ["datetime"]
```