# Type Alias: PartialSkillDef

> **PartialSkillDef** = `Partial`\<[`Skill`](../../interfaces/Skill/)>

Defined in: [types.ts:1666](https://github.com/coda/packs-sdk/blob/9f37f0e6dd85972eb9c035c2bb489cbeb06120bc/types.ts#L1666)

Input type for defining the default chat skill via [PackDefinitionBuilder.setChatSkill](../../classes/PackDefinitionBuilder/#setchatskill) or bench initialization skill via [PackDefinitionBuilder.setBenchInitializationSkill](../../classes/PackDefinitionBuilder/#setbenchinitializationskill).

All fields are optional, allowing you to override only the fields you care about. Fields that are not provided will use default values at runtime.

**Default tools** (when `tools` is omitted):

- [ToolType.Pack](../../enumerations/ToolType/#pack) — the pack's own formulas (always included)
- [ToolType.Knowledge](../../enumerations/ToolType/#knowledge) — search over the pack's sync table data (included when the pack defines sync tables)

If you specify `tools`, the defaults above are replaced entirely with your list.

## Example

```
// Override just the prompt — default tools are preserved
pack.setChatSkill({
  prompt: "You are a helpful assistant.",
});

// Override tools — replaces the defaults entirely
pack.setChatSkill({
  tools: [
    { type: coda.ToolType.Pack },
    { type: coda.ToolType.ContactResolution },
  ],
});
```
