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

# Skills

> Package domain knowledge and tools that AI agents can use

Skills provide domain knowledge and tool capabilities to agents. When you assign a skill to an
agent, that agent gains access to the skill's tools and context.

## Built-in Tools

Skills can access these tools:

| Tool               | Description                                    |
| ------------------ | ---------------------------------------------- |
| `find_tables`      | Semantic search for relevant blockchain tables |
| `get_table_schema` | Get column-level metadata for a table          |
| `run_sql_query`    | Execute SQL against Flipside's data warehouse  |
| `use_skill`        | Invoke another skill at runtime                |
| `publish_html`     | Deploy visualizations to a public URL          |

## Creating Skills

Initialize a new skill:

```bash theme={null}
flipside skills init my_skill
```

This creates a YAML configuration:

```yaml theme={null}
name: my_skill
description: |
  Domain expertise for analyzing DeFi protocols...
tools:
  - find_tables
  - get_table_schema
  - run_sql_query
context: |
  Key tables for DeFi analysis:
  - ethereum.defi.ez_dex_swaps
  - ethereum.defi.ez_lending_deposits
  ...
```

## Deploying Skills

Push your skill to make it available:

```bash theme={null}
flipside skills push my_skill.yaml
```

## Skill Commands

| Command                            | Description                          |
| ---------------------------------- | ------------------------------------ |
| `flipside skills list`             | List all skills in your organization |
| `flipside skills describe <name>`  | Show skill details                   |
| `flipside skills init <name>`      | Create new skill YAML config         |
| `flipside skills push <file.yaml>` | Deploy or update a skill             |
| `flipside skills pull <name>`      | Download skill config as YAML        |
| `flipside skills delete <name>`    | Delete a skill                       |

## Assigning Skills to Agents

Reference skills in your agent YAML:

```yaml theme={null}
name: my_agent
kind: chat
skills:
  - sql-querying
  - defi-analysis
  - my_custom_skill
```

Or inject skills at runtime:

```bash theme={null}
flipside agents run myorg/my_agent --message "Query" --skill sql-querying,data-viz
```

## Visibility Levels

Skills support three visibility levels:

| Level          | Description                        |
| -------------- | ---------------------------------- |
| `private`      | Only you can access                |
| `organization` | All members of your org can access |
| `public`       | Anyone can access                  |
