> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Skill Properties • Rust AI Agent SDK

> SkillProperties: Properties of a skill parsed from SKILL.md frontmatter.

# SkillProperties

> Defined in the [**skills**](../modules/skills) module.

<Badge color="orange">Rust AI Agent SDK</Badge>

Properties of a skill parsed from SKILL.md frontmatter.

## Fields

| Name            | Type                    | Description                                      |
| --------------- | ----------------------- | ------------------------------------------------ |
| `name`          | `String`                | Skill name (1-64 chars, lowercase, hyphens only) |
| `description`   | `String`                | Skill description (1-1024 chars)                 |
| `license`       | `Option&lt;String&gt;`  | License (optional)                               |
| `compatibility` | `Option&lt;String&gt;`  | Compatibility notes (optional)                   |
| `allowed_tools` | `Option&lt;String&gt;`  | Allowed tools (space-delimited)                  |
| `metadata`      | `HashMap&lt;String`     | Additional metadata                              |
| `path`          | `Option&lt;PathBuf&gt;` | Path to the skill directory                      |
| `instructions`  | `Option&lt;String&gt;`  | Instructions (markdown body)                     |

## Methods

### `new`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn new(name: impl Into<String>, description: impl Into<String>) -> Self
```

Create a new SkillProperties with name and description.

**Parameters:**

| Name          | Type                      |
| ------------- | ------------------------- |
| `name`        | `impl Into&lt;String&gt;` |
| `description` | `impl Into&lt;String&gt;` |

### `get_allowed_tools`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn get_allowed_tools(&self) -> Vec<&str>
```

Get allowed tools as a vector.

### `validate`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn validate(&self) -> Result<(), ValidationError>
```

Validate the skill properties.

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-rust/praisonai/src/skills/mod.rs#L26">
  `praisonai/src/skills/mod.rs` at line 26
</Card>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Rust Skills" icon="wand-magic-sparkles" href="/docs/rust/skills" />
</CardGroup>
