# RowCove Agent skills

This page is a practical skill catalog for an AI client using RowCove. Skills are sequences of MCP calls and reasoning rules, not permission to bypass the desktop authorization boundary.

## Inspect and orient

**Use when:** the user gives a file, folder or database without knowing its shape.

**Sequence:** call 'data_inspect'; if it is a dataset directory, call 'dataset_catalog'; for a database call 'database_tables'; then return detected format, compression, confidence, schema hints and available operations. Do not open every shard merely to answer what the source is.

## Sample and schema

**Use when:** the user asks what fields or records exist.

**Sequence:** call 'data_preview' or 'jsonl_preview' with bounded rows, columns and cell size; for a selected dataset use 'dataset_scan' with a small limit and explicit projection. Explain that totals and global schema may remain unknown until a complete scan.

## Query a large dataset

**Use when:** the user asks to find, filter or sort records.

**Sequence:** select partitions and columns first; express filters with field, operator and value; use 'data_query' with a bounded page; for large delimited sources use background mode, poll 'job_status', and keep 'job_cancel' available. Report query scope, completion state and next cursor.

## Quality and schema evolution

**Use when:** the user asks whether training or market data is usable.

**Sequence:** call 'data_quality' with explicit key, type, timestamp and interval expectations. For two versions call 'data_schema_diff'. Distinguish exact counts and key checks from approximate numeric summaries. Never call a quality report a model-evaluation result.

## Database and partition workflows

**Use when:** the source is SQLite, DuckDB or a shard directory.

**Sequence:** call 'database_tables', let the user choose the table, then use 'database_read_page' with explicit columns, filters, stable ordering, offset and limit. For datasets call 'dataset_catalog' first and pass exact partition selectors to 'dataset_scan'.

## Compression and archives

**Use when:** the source is compressed or packaged.

**Sequence:** preview the bounded decoded prefix first. If the user needs complete decoding, call 'data_materialize_compressed' with a new output path and a byte budget, then poll and allow cancellation. Never overwrite an archive or assume a prefix proves the tail is valid.

## Edit, convert and save

**Use when:** the user explicitly wants a changed or converted artifact.

**Sequence:** confirm source, destination, format and overwrite policy; use 'data_edit', 'data_write' or 'data_save_as' with explicit confirmation. The destination must be new and allowlisted. Report the output artifact and leave the original untouched.

## Reproducible reporting

Include source type, selected fields, partition/time scope, filter, sort, page size, completion state, source-row identity and any limitation. Keep private paths and raw records out of public summaries. Synthetic examples and benchmark numbers are illustrative or explicitly labeled measurements.
