# Tools & Capabilities

A complete reference of actions your assistant can perform in Pacpio. You don't need to trigger these directly — simply ask in natural language, and your assistant will choose the right tool automatically.

**Always up to date:** This reference is generated directly from the Pacpio schema and reflects the exact tool definitions available to your assistant.

## Safety levels

Pacpio tools are grouped into three levels based on safety and confirmation requirements:

| Level | Behavior | Confirmation |
|---|---|---|
| **Read** | Searches and reads files or project details. | Runs automatically in the background. |
| **Write** | Creates or changes files and saves new versions. | Runs automatically, except tools marked “Asks you first”. All changes can be rolled back in History. |
| **Destructive** | Deletes or moves files, or revokes access. | Requires explicit confirmation from you before execution. |

## Projects

### List projects (`list_projects`, Read)

Shows your projects and the ones shared with you, recently changed first.

> What Pacpio projects do I have?

### Get a project (`get_project`, Read)

Opens one project: what it is for, what is inside and how much reading each file takes.

> What’s in my Pacpio project Sales bot?

### Create a project (`create_project`, Write)

Makes a new empty project, with a name in any language.

> Create a Pacpio project called Sales bot.

### Rename a project (`rename_project`, Write)

Changes the name of a project. Its link stays the same, so shared links keep working.

> Rename my Pacpio project Sales bot to Sales assistant.

### Describe a project (`set_project_description`, Write)

Saves the short text people see on the project page, and one request to try.

> Describe my Pacpio project Sales bot.

### Make a copy of a project (`make_copy`, Write)

Makes your own private copy of a public project or of one of yours.

> Make me a copy of this Library project.

### Get a download link (`get_download_link`, Read)

Gives a link that downloads the whole project as a ZIP file.

> Give me a download link for my Pacpio project Sales bot.

## Files

### List files (`list_files`, Read)

Shows the files and folders of a project, with their sizes.

> Which files are in the prompts folder of Sales bot?

### Read a file (`read_file`, Read)

Reads a text file. A long document comes as a list of its sections first, then only the part needed.

> Read the onboarding section of my sales prompt.

### Write a file (`write_file`, Write)

Saves a new file, or the whole new text of a file, as a new version.

> Save this prompt to Sales bot as prompts/follow-up.md.

### Change part of a file (`edit_file`, Write)

Changes one part of a file and keeps the rest as it was.

> In my sales prompt, make the greeting shorter.

### Move or rename (`move_file`, Destructive)

Renames or moves a file, or a folder with everything in it.

> Move the old prompts of Sales bot into a folder called archive.

### Remove a file or a folder (`remove_file`, Destructive)

Removes a file or a folder. The version history keeps it, so it can come back.

> Remove the drafts folder from Sales bot.

## Tables

### Create a table (`create_table`, Write)

Makes a new table, a CSV file, with its columns and their rules: types, allowed values, defaults, numbering, links to another table, and the rows to start with.

> Start a table of my expenses: date, what for, amount.

### Add rows to a table (`add_rows`, Write)

Adds rows at the end of a table. The version history shows only the new rows.

> Add today’s lunch, 12 euro, to my expenses.

### Change rows of a table (`update_rows`, Write)

Changes the rows of a table that match what you say, and only them.

> The lunch on October 27 was 15 euro, not 12.

### Remove rows from a table (`remove_rows`, Destructive)

Removes the rows of a table that match what you say. The version history keeps them.

> Remove the taxi of October 3 from my expenses.

### Change several tables at once (`update_tables`, Destructive)

Makes several changes of one or more tables as one version, all or none: a recipe and its ingredients, an invoice and the hours it bills.

> Save this recipe with its ingredients.

### Ask the tables (`query_tables`, Read)

Answers questions about the tables of a project, its CSV files: counts, sums and picks out rows without reading every row. It can also run a question your AI saved in the project.

> How much did I spend on food in October?

## Versions

### List versions (`list_versions`, Read)

Shows the version history: when, who and what changed.

> What changed in Sales bot this week?

### Restore a version (`restore_version`, Write)

Brings back an earlier version. It is saved as a new version, so this can be undone too.

> Undo the last change in Sales bot.

## Sharing

### List project members (`list_project_members`, Read)

Shows who has access to a project, and with which role.

> Who can open my Pacpio project Sales bot?

### Share a project (`share_project`, Write)

Gives a person access by email as a Viewer, an Editor or a Manager, or changes their role.

> Share Sales bot with kate@example.com as an Editor.

### Remove a project member (`remove_project_member`, Destructive)

Takes a person’s access away. The owner always keeps access.

> Remove kate@example.com from Sales bot.

## Library

### Search the Library (`search_library`, Read)

Finds ready-made assistants, prompts and skills that people shared publicly.

> Find a ready-made agent for customer support in the Pacpio Library.

## Account

### Get the account (`get_account`, Read)

Shows which Pacpio account is connected and how many projects it can open.

> Which Pacpio account am I using?

### Send feedback about Pacpio (`send_feedback`, Write)

Lets your assistant tell us in a sentence what got in its way in Pacpio. It tells you when it does, and never sends your files.

> Tell Pacpio that a tool was missing.
