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

# Best Practices

> Tips for getting the most out of Reagent

These best practices help you work efficiently with Reagent and get consistent results.

## Writing Effective Prompts

### Be Specific

The more specific your request, the better the results.

<Columns cols={2}>
  <div>
    **Vague:**

    ```
    Fix the tracks
    ```
  </div>

  <div>
    **Specific:**

    ```
    Rename tracks 1-4 using the filename of their first item
    ```
  </div>
</Columns>

### Specify the Scope

Tell Reagent exactly what to operate on:

| Scope      | Example                         |
| ---------- | ------------------------------- |
| Selection  | "the selected items"            |
| Track      | "items on track 3"              |
| Time range | "items between markers A and B" |
| All        | "all items in the project"      |

<Note>While Reagent can gather context automatically, the more specific you are, the better the results.</Note>

### Describe the End State

Instead of listing every step, describe what you want to achieve:

```
All items should be named using UCS standard. Classify each item before renaming them.
```

***

## Working with Selections

### Use REAPER's Selection First

Reagent automatically reads your current REAPER state — selected items, tracks, cursor position, and time selection — every time you send a message. Select what you want to work with in REAPER first, then keep your prompts simple:

1. Select items in REAPER
2. Ask: "Strip silence these items"

Rather than:

"Find all items on track 5 between 10 and 30 seconds that have 'SFX' in the name and strip silence them"

***

## Session Management

### Start Fresh When Changing Topics

If you're moving to a completely different task, start a new chat session. This helps Reagent focus on your current request without confusion from earlier context.

### Use Follow-Ups for Related Tasks

For related tasks, continue the conversation:

> **You:** Select tracks you just modified

> **Reagent:** \[selects 10 tracks]

> **You:** Rename these to "stem 01" and increment the number

***

## Managing Complex Operations

For most complex operations, Reagent automatically breaks down the task, plans the steps, and gathers relevant information before executing any actions.
If you want Reagent to use specific tooling, you can say "make sure to... before..."

***

## Undo Strategy

### One Undo Point Per Request

Reagent wraps operations in undo blocks. Each request creates one undo point in REAPER.

* Simple request: "Create a track" → 1 undo
* Complex request: "Create 5 tracks and add a limiter to each" → 1 undo

### Undo Immediately If Needed

If something goes wrong:

1. Don't make additional requests
2. Press `Cmd/Ctrl + Z` in REAPER immediately
3. Try again with a refined request

<Danger>If you're working on an important session, save a backup before letting Reagent make changes.</Danger>

***

## What to Avoid

<Warning>
  **Don't:**

  * Make vague requests like "fix it" or "make it better"
  * Request operations on hundreds of items without testing on a few first
</Warning>

***

## Learning More

The best way to learn is to experiment:

1. Try simple operations first
2. Gradually increase complexity
3. Review the [common workflows](/guides/common-workflows) for inspiration
