analyzing-data — скилл для Claude Code: SQL-запросы к хранилищу
Отвечает на бизнес-вопросы по данным: считает метрики, строит тренды, джойнит таблицы и кеширует найденные схемы.
npx skills add astronomer/agents --skill analyzing-data -a claude-codeЧто делает analyzing-data
Скилл превращает вопрос на обычном языке в SQL и прогоняет его через ядро, которое само поднимается при первом вызове exec. Внутри — CLI scripts/cli.py с командами для поиска паттернов, концептов и схем таблиц. Найденные соответствия кешируются, поэтому повторные вопросы по тем же данным идут быстрее.
Работает так: сначала ищет готовую стратегию запроса в кеше паттернов, затем ищет привязку концепта к таблице, при промахе лезет в код (Grep по **/*.sql) или в INFORMATION_SCHEMA, выполняет запрос и записывает результат обратно в кеш. Ядро возвращает Polars или Pandas DataFrame, pl и pd уже импортированы. Независимые запросы можно гнать пачкой через run_sql_many — они уходят параллельно, но при ошибке одного результаты остальных отбрасываются.
Перед запуском команд нужно перейти в директорию скилла — все пути в инструкции относительны ей. exec по умолчанию ждёт 120 секунд и потом прерывает запрос, для долгих есть флаг -t. Ядро само выключается после 2 часов простоя, состояние до этого сохраняется.
Какие задачи решает
- посчитать метрику по таблице хранилища
- собрать тренд по времени из сырых данных
- найти таблицу под бизнес-концепт и запомнить связку
- сджойнить несколько таблиц в одном запросе
- выполнить ad-hoc SQL без ручного подключения к хранилищу
Примеры запросов агенту
- сколько активных пользователей за последний месяц?
- найди клиентов из Европы и покажи их заказы
- посчитай конверсию по неделям и сохрани паттерн
Как установить analyzing-data
1Через Skills CLI (Vercel)
npx skills add astronomer/agents --skill analyzing-data -a claude-code2Вручную: положить файлы
~/.claude/skills/analyzing-data/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/analyzing-data/
1Через Skills CLI (Vercel)
npx skills add astronomer/agents --skill analyzing-data -a codex2Вручную: положить файлы
.agents/skills/analyzing-data/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add astronomer/agents --skill analyzing-data -a cursor2Вручную: положить файлы
.cursor/skills/analyzing-data/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install astronomer/agents analyzing-data2Вручную: положить файлы
.github/skills/analyzing-data/SKILL.md1Через Skills CLI (Vercel)
npx skills add astronomer/agents --skill analyzing-data -a gemini-cli2Командой платформы
gemini skills install https://github.com/astronomer/agents --path skills/analyzing-dataВручную: положить файлы
.devin/skills/analyzing-data/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add astronomer/agents --skill analyzing-data -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о analyzing-data
Как установить analyzing-data в Claude?
Выполните npx skills add astronomer/agents --skill analyzing-data -a claude-code. Скилл встанет в ~/.claude/skills/analyzing-data/SKILL.md.
Что делает analyzing-data?
Переводит бизнес-вопросы в SQL, выполняет их в хранилище и возвращает результат как DataFrame. По ходу работы кеширует найденные схемы таблиц и стратегии запросов.
Что нужно для работы скилла?
Команды запускаются через uv run scripts/cli.py, а перед этим нужно перейти в директорию скилла. Ядро стартует автоматически при первом вызове exec.
Исходный текст
SKILL.md · Apache-2.0
---
name: analyzing-data
description: Queries the data warehouse with SQL and answers business questions about data. Use when answering anything that needs warehouse data - counts, metrics, trends, aggregations, joins across tables, data lookups, or ad-hoc SQL analysis (for example "who uses X", "how many Y", "show me Z", "find customers", "what is the count").
---
# Data Analysis
Answer business questions by querying the data warehouse. The kernel auto-starts on first `exec` call.
**All CLI commands below are relative to this skill's directory.** Before running any `scripts/cli.py` command, `cd` to the directory containing this file.
## Workflow
1. **Pattern lookup** — Check for a cached query strategy:
```bash
uv run scripts/cli.py pattern lookup "<user's question>"
```
If a pattern exists, follow its strategy. Record the outcome after executing:
```bash
uv run scripts/cli.py pattern record <name> --success # or --failure
```
2. **Concept lookup** — Find known table mappings:
```bash
uv run scripts/cli.py concept lookup <concept>
```
3. **Table discovery** — If cache misses, search the codebase (`Grep pattern="<concept>" glob="**/*.sql"`) or query `INFORMATION_SCHEMA`. See [reference/discovery-warehouse.md](reference/discovery-warehouse.md).
4. **Execute query**:
```bash
uv run scripts/cli.py exec "df = run_sql('SELECT ...')"
uv run scripts/cli.py exec "print(df)"
```
5. **Cache learnings** — Always cache before presenting results:
```bash
# Cache concept → table mapping
uv run scripts/cli.py concept learn <concept> <TABLE> -k <KEY_COL>
# Cache query strategy (if discovery was needed)
uv run scripts/cli.py pattern learn <name> -q "question" -s "step" -t "TABLE" -g "gotcha"
```
6. **Present findings** to user.
## Kernel Functions
| Function | Returns |
|----------|---------|
| `run_sql(query, limit=100)` | Polars DataFrame |
| `run_sql_pandas(query, limit=100)` | Pandas DataFrame |
| `run_sql_many(queries, limit=100)` | List of Polars DataFrames (one per query) |
`pl` (Polars) and `pd` (Pandas) are pre-imported.
**Run independent queries together** with `run_sql_many` — they execute concurrently (Snowflake async / connection-pool fan-out) instead of one at a time:
```bash
uv run scripts/cli.py exec "dfs = run_sql_many(['SELECT ...', 'SELECT ...']); print(dfs[0])"
```
`run_sql_many` is **fail-fast**: if any query errors, the call raises and the results of the queries that succeeded are discarded. Use separate `run_sql` calls if you need partial results.
**Timeouts:** `exec` waits up to 120s by default, then interrupts the query and returns a "client stopped waiting" message (the query may still finish server-side). Raise it for known long-running queries: `uv run scripts/cli.py exec "..." -t 600`.
**Idle kernel:** the kernel self-terminates after 2h idle (preserving state until then). Override with `ASTRO_KERNEL_IDLE_TIMEOUT` (seconds; `0` disables).
## CLI Reference
### Kernel
```bash
uv run scripts/cli.py warehouse list # List warehouses
uv run scripts/cli.py start [-w name] # Start kernel (with optional warehouse)
uv run scripts/cli.py exec "..." # Execute Python code
uv run scripts/cli.py status # Kernel status
uv run scripts/cli.py restart # Restart kernel
uv run scripts/cli.py stop # Stop kernel
uv run scripts/cli.py install <pkg> # Install package
```
### Concept Cache
```bash
uv run scripts/cli.py concept lookup <name> # Look up
uv run scripts/cli.py concept learn <name> <TABLE> -k <KEY_COL> # Learn
uv run scripts/cli.py concept list # List all
uv run scripts/cli.py concept import -p /path/to/warehouse.md # Bulk import
```
### Pattern Cache
```bash
uv run scripts/cli.py pattern lookup "question" # Look up
uv run scripts/cli.py pattern learn <name> -q "..." -s "..." -t "TABLE" -g "gotcha" # Learn
uv run scripts/cli.py pattern record <name> --success # Record outcome
uv run scripts/cli.py pattern list # List all
uv run scripts/cli.py pattern delete <name> # Delete
```
### Table Schema Cache
```bash
uv run scripts/cli.py table lookup <TABLE> # Look up schema
uv run scripts/cli.py table cache <TABLE> -c '[...]' # Cache schema
uv run scripts/cli.py table list # List cached
uv run scripts/cli.py table delete <TABLE> # Delete
```
### Cache Management
```bash
uv run scripts/cli.py cache status # Stats
uv run scripts/cli.py cache clear [--stale-only] # Clear
```
## References
- [reference/discovery-warehouse.md](reference/discovery-warehouse.md) — Large table handling, warehouse exploration, INFORMATION_SCHEMA queries
- [reference/common-patterns.md](reference/common-patterns.md) — SQL templates for trends, comparisons, top-N, distributions, cohorts
© astronomer · Apache-2.0 · astronomer/agents