# Creating Skills

### Step 1: Basic Setup

Create a new YAML file in the `skills` folder of your AdvancedSkills configuration directory. Name it after your skill, for example we will be making an Acrobatics skill - `acrobatics.yml`.

### Step 2: Name and Description

```yaml
name: Acrobatics
description: "Master of agility and graceful movement"
```

### Step 3: Icon Configuration

Choose an icon from the Minecraft material list:

```yaml
icon:
  type: FEATHER
```

Reference the [full Material List](https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html) for icon options.

### Step 4: Leveling System

Configure the experience curve and max level:

```yaml
point-levels: "40 * (%level% * 1.35)"
max-level: 0  # 0 means unlimited
```

### Step 5: Talent Integration

Link talents to your skill:

```yaml
talents:
  - roll:10 #Chance to negate fall damage
  - graceful_landing:1 #Reduce fall damage
```

Talents are part of AdvancedSkills, you can [learn more about Talents here](/features/talents.md).

### Step 6: Mana Configuration

Set up mana rewards:

```yaml
mana:
  drop: POINT  # or LEVEL_UP
  chance: 10 + (%level% * 0.05)
  amount: 1
```

### Step 7: Point Triggers

Define how players gain skill points:

```yaml
point-triggers:
  1:
    points: "%damage%"
    FALL_DAMAGE:
      conditions:
        - '%damage% < 7 : %allow%'
  2:
    points: "%damage% * 1.5"
    FALL_DAMAGE:
      conditions:
        - '%damage% >= 7 : %allow%'
```

This step utilizes both triggers and conditions:

* Explore the [full list of available triggers](https://wiki.advancedplugins.net/abilities/triggers)
* Learn about [conditions and their syntax](https://wiki.advancedplugins.net/abilities/conditions)
* Reference the [list of condition variables](https://wiki.advancedplugins.net/abilities/conditions/conditions-variables) for more complex conditions

### Step 8: Advanced Configuration

For more complex skills, you may need to dive deeper into the Abilities engine. This powerful system allows for the creation of custom effects, triggers, and conditions.

* Refer to the [Abilities Introduction](https://wiki.advancedplugins.net/abilities/introduction) for an overview of the system
* Use the [triggers list](https://wiki.advancedplugins.net/abilities/triggers) to create diverse activation scenarios
* Implement [conditions](https://wiki.advancedplugins.net/abilities/conditions) for fine-tuned control over skill activation

### Step 9: Reload And Test

Now, reload the plugin to load in your new skill using `/skills reload`. That's it, your skill is now ready!

Remember to test your skill thoroughly after configuration and adjust as needed for balance and performance.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://skills.advancedplugins.net/features/creating-skills.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
