Agent skill

Rocky Poc

by rocky-data in rocky-data/rocky

Authoring a new POC under examples/playground/pocs/. An agent skill from rocky-data/rocky.

Apache-2.0Auto-check passedData & Analytics

Install Rocky Poc

skills CLI
$ npx skills add rocky-data/rocky --skill rocky-poc -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install rocky-data/rocky rocky-poc --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/rocky-data/rocky.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/rocky-poc .claude/skills/rocky-poc && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
rocky-poc
GitHub stars
304
Token cost
~1.7k tokens
SKILL.md length
571 words
Files
1
Skills in repo
22
Repo updated
First seen
Licence
Apache-2.0

At a glance

Authoring a new POC under examples/playground/pocs/. An agent skill from rocky-data/rocky.

  • Works in 5 steps: Feature — one-sentence description of… → Why it's distinctive — why a user should… → Layout — tree of files with one-line… → …
  • Demoing a single Rocky feature (drift
  • SKILL.md covers When to use this skill, What's already covered in…, POC categories and Scaffold, plus 9 more sections
  • Calls duckdb; needs DATABRICKS_TOKEN

What it does

Rocky Poc is an agent skill from rocky-data/rocky. Authoring a new POC under examples/playground/pocs/. Use when demoing a single Rocky feature (drift, incremental, contracts, lineage, AI, hooks, etc.) that doesn't already exist in engine/examples/. Enforces the POC conventions so it runs via a single ./run.sh with no credentials.

Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Data & Analytics, covering Data pipelines and ETL. It works with DuckDB. The repository describes itself as: A SQL transformation engine that type-checks your whole pipeline and catches breaking changes before they run — branches, replay, column-level lineage, compile-time contracts… The licence is Apache-2.0.

When your agent uses it

  • Demoing a single Rocky feature (drift
  • Etc.) that doesnt already exist in engine/examples/

Example prompts

  • “/rocky-poc”

Requirements

  • A credential in DATABRICKS_TOKEN

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Feature — one-sentence description of what this POC demonstrates
  2. Why it's distinctive — why a user should care (what it proves about Rocky vs alternatives)
  3. Layout — tree of files with one-line descriptions
  4. Run — copy-pasteable commands to run it
  5. Expected output — what the user should see (snippet of run.sh output, not the full golden file)

What it can do on your machine

Read from SKILL.md and the folder at commit 9c3d777. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • duckdb

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • DATABRICKS_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Rocky Poc loads about 1.7k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 571 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from rocky-data/rocky at commit 9c3d777, republished under its Apache-2.0 licence (© rocky-data). 571 words, ~1,721 tokens.

Download SKILL.mdSave it as .claude/skills/rocky-poc/SKILL.md (or your agent's skills folder).
name
rocky-poc
description
Authoring a new POC under `examples/playground/pocs/`. Use when demoing a single Rocky feature (drift, incremental, contracts, lineage, AI, hooks, etc.) that doesn't already exist in `engine/examples/`. Enforces the POC conventions so it runs via a single `./run.sh` with no credentials.

Authoring a new Rocky POC

examples/playground/ is a curated catalog of small, self-contained POCs — one per feature. Each POC is runnable with one ./run.sh, defaults to DuckDB (no credentials), and lives in a category folder.

When to use this skill

  • Demoing a Rocky feature not already covered in engine/examples/ (the official starter set lives there and should NOT be duplicated in playground)
  • Building a runnable smoke test for a new capability
  • Creating a benchmark fixture (anything under benchmarks/ is off-limits unless explicitly asked)

What's already covered in engine/examples/

Do NOT build a duplicate playground POC for these — link to them instead:

engine/examples/ pathWhat it shows
quickstart/3-model "hello world" pipeline
multi-layer/Generic Bronze/Silver/Gold
dbt-migration/dbt → Rocky before/after
ai-intent/AI-intent feature walkthrough
dagster-integration/Basic Dagster wiring

Playground POCs should cover what those don't: incremental watermarks, drift diagnostics, contract validation, hooks, lineage, AI sync, custom adapters, partitions, column lineage, etc.

POC categories

Pick the category whose id matches the feature group:

00-foundations          Fundamental concepts, playground baseline
01-quality              Contracts, checks, drift, data quality
02-performance          Incremental, partitioning, checksums, adaptive concurrency
03-ai                   AI intent, AI sync, AI test, AI explain
04-governance           Permissions, tags, workspace isolation
05-orchestration        Dagster, sensors, schedules, hooks
06-developer-experience LSP, lineage, VS Code features
07-adapters             Adapter-specific behavior

Scaffold

Use the scaffolder — don't hand-create the directory:

bash
cd examples/playground
./scripts/new-poc.sh <category> <id-name>
# e.g.
./scripts/new-poc.sh 02-performance 07-late-arriving-data

This copies scripts/_poc-template/ into pocs/<category>/<id-name>/ and chmods run.sh.

POC structure

Every POC MUST contain:

README.md         # Structured: feature, why distinctive, layout, run, expected output
rocky.toml        # Minimal POC-specific config (DuckDB by default)
run.sh            # Executable end-to-end demo (chmod +x)
models/           # .sql / .rocky files + .toml sidecars
contracts/        # Only if contracts are part of the feature
seeds/            # CSV / SQL sample data — keep ≤1000 rows
data/seed.sql     # Optional — auto-loaded by `rocky test`
expected/         # Golden JSON output from run.sh (gitignored, regenerated each run)

Minimal rocky.toml (DuckDB)

toml
[adapter]
type = "duckdb"
path = "poc.duckdb"

[pipeline.poc]
strategy = "full_refresh"   # or "incremental"

[pipeline.poc.source]
schema_pattern = { prefix = "raw__", separator = "__", components = ["source"] }

[pipeline.poc.target]
catalog_template = "poc"
schema_template = "staging__{source}"

Defaults that can be omitted:

  • pipeline.type defaults to "replication" — omit it.
  • Unnamed [adapter] with a type key auto-wraps as adapter.default; pipeline adapter refs default to "default" — omit adapter = "local" lines.
  • [state]\nbackend = "local" is the default — omit it.
  • auto_create_catalogs = false / auto_create_schemas = false are defaults — omit unless intentionally true.
  • Model sidecar name defaults to filename stem; target.table defaults to name — omit when redundant.
  • models/_defaults.toml provides directory-level [target] defaults (catalog, schema) — use when 2+ models share values.

Credential gating

Default to DuckDB so the POC runs with zero config. Only require credentials when the feature genuinely can't be demoed without them (Databricks governance, Snowflake dynamic tables, Fivetran, Anthropic API).

If credentials are required, fail fast at the top of run.sh:

bash
: "${DATABRICKS_HOST:?Set DATABRICKS_HOST before running}"
: "${DATABRICKS_TOKEN:?Set DATABRICKS_TOKEN before running}"

And mark the credential requirement prominently in README.md.

Show full SKILL.md (261 more words)Show less

Runtime idioms

GoalCommand
Type-check models without a warehouserocky compile --models models/ --contracts contracts/
Run model tests against in-memory DuckDB (auto-loads data/seed.sql)rocky test --models models/ --contracts contracts/
CI pipeline (compile + test)rocky ci --models models/ --contracts contracts/
Validate the pipeline configrocky validate -c rocky.toml
Discover sources from local DuckDBrocky -c rocky.toml discover
Preview replication SQLrocky -c rocky.toml plan --filter source=<name>
Execute the pipelinerocky -c rocky.toml run --filter source=<name>
Inspect watermarksrocky -c rocky.toml state
Column-level lineagerocky lineage <model> --models models/ [--column <col>]
Schema-pattern aware diagnosticsrocky doctor

For discover/plan/run, seed data must be manually loaded into the DuckDB file first — typically duckdb poc.duckdb < data/seed.sql at the top of run.sh. rocky test auto-loads it.

run.sh conventions

  • set -euo pipefail
  • Print a header describing the feature
  • Run the canonical command sequence (compile → test → run → inspect)
  • Exit 0 on success; the POC is smoke-tested by ./scripts/run-all-duckdb.sh with a 60s timeout

Verification before committing

bash
cd pocs/<cat>/<id-name>
./run.sh                          # Must exit 0
rocky validate -c rocky.toml      # If the POC uses a pipeline path

For the catalog as a whole:

bash
cd examples/playground
./scripts/run-all-duckdb.sh       # All credential-free POCs, 60s timeout each

README structure

Five sections, in this order:

  1. Feature — one-sentence description of what this POC demonstrates
  2. Why it's distinctive — why a user should care (what it proves about Rocky vs alternatives)
  3. Layout — tree of files with one-line descriptions
  4. Run — copy-pasteable commands to run it
  5. Expected output — what the user should see (snippet of run.sh output, not the full golden file)

Commit style

feat(02-performance/07-late-arriving-data): add late-arriving watermark POC

Scope by POC id when the change is POC-specific.

Off-limits

  • benchmarks/ — Rocky vs dbt-core / dbt-fusion / PySpark perf suite. Don't touch unless explicitly asked.
  • Duplicating anything already in engine/examples/. Link to it instead.

© rocky-data, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .agents/skills/rocky-poc of rocky-data/rocky.

Open the folder on GitHubat commit 9c3d777

Compare with similar skills

Rocky Poc next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Rocky Poc compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rocky Poc this skillrocky-data/rocky304—~1.7kAutomated safety check: PassApache-2.0
Dinobase Business Data Querieskappa90/dinobase263—~1.5kAutomated safety check: PassCustom licence
Windmill Data Pipeline Authorwindmill-labs/windmill18k—~4kAutomated safety check: PassCustom licence
Erd Studio Setupliam-machine/erd-studio165—~8.5kAutomated safety check: PassCustom licence
Tushare Plugin BuilderYourdaylight/stock_datasource189—~2.5kAutomated safety check: PassMIT
Centia Snapshot Catalogmapcentia/geocloud2152—~2.3kAutomated safety check: PassAGPL-3.0

Similar skills

  • Sets up Dinobase, a local DuckDB database that syncs data from 100+ business sources, then answers questions across them with SQL joins and previewed write-backs.

    263 GitHub stars~1.5k tokensUpdated 3 mo ago
    Data & AnalyticsAuto-check passed
  • Windmill Data Pipeline Author

    windmill-labs/windmill

    Builds Windmill data pipelines as independent, pipeline-annotated scripts forming a DAG over shared storage, defaulting to DuckDB nodes that materialize into DuckLake tables.

    18k GitHub stars~4k tokensUpdated today
    Data & AnalyticsAuto-check passed
  • Erd Studio Setup

    liam-machine/erd-studio

    Friendly, step-by-step setup for ERD Studio in an existing dbt project, for people who may be new to dbt or data modelling.

    165 GitHub stars~8.5k tokensUpdated yesterday
    Data & AnalyticsAuto-check passed
  • Tushare Plugin Builder

    Yourdaylight/stock_datasource

    Turns a Tushare API doc URL into a full data plugin for the stock_datasource repo: extractor, ClickHouse schema, query service, config and curl examples.

    189 GitHub stars~2.5k tokensUpdated 1 mo ago
    Data & AnalyticsAuto-check passed
  • Centia Snapshot Catalog

    mapcentia/geocloud2

    Analyse GC2/Centia Parquet snapshots with DuckDB by walking the STAC catalog.json in the snapshot store — find datasets, decide whether a dataset has geometry (and in which CRS), read one snapshot…

    152 GitHub stars~2.3k tokensUpdated yesterday
    Data & AnalyticsAuto-check passed
  • Writes a new Dinobase YAML connector for a REST API that has no verified dlt source, covering auth, pagination, read and write endpoints and incremental loading.

    263 GitHub stars~1.9k tokensUpdated 3 mo ago
    Backend & APIsAuto-check passed

More from rocky-data/rocky

All 22 skills in this repo
  • Fivetran

    rocky-data/rocky

    Fivetran REST API reference for Rocky's source adapter. An agent skill from rocky-data/rocky.

    304 GitHub stars~914 tokensUpdated yesterday
    Auto-check passed
  • Databricks

    rocky-data/rocky

    Databricks REST API and SQL reference for Rocky's warehouse adapter.

    304 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Rocky Codegen

    rocky-data/rocky

    Rocky CLI JSON-output schema cascade. An agent skill from rocky-data/rocky.

    304 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check passed
  • Rocky Dev

    rocky-data/rocky

    Top-level router for Rocky development tasks. An agent skill from rocky-data/rocky.

    304 GitHub stars~2.1k tokensUpdated yesterday
    Auto-check passed
  • Rocky Dsl Change

    rocky-data/rocky

    Rocky DSL (.rocky file) cross-subproject cascade. An agent skill from rocky-data/rocky.

    304 GitHub stars~1.3k tokensUpdated yesterday
    Auto-check passed
  • Rocky New Adapter

    rocky-data/rocky

    Adding a new warehouse or source adapter crate to the Rocky engine.

    304 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Rocky Poc

What does Rocky Poc do?

Authoring a new POC under examples/playground/pocs/. An agent skill from rocky-data/rocky. Rocky Poc is an agent skill from rocky-data/rocky. Authoring a new POC under examples/playground/pocs/.

When should I use Rocky Poc?

Rocky Poc fits situations like: demoing a single Rocky feature (drift; etc.) that doesnt already exist in engine/examples/.

How do I install Rocky Poc in Claude Code?

Run `npx skills add rocky-data/rocky --skill rocky-poc -a claude-code`. Or copy the skill folder (.agents/skills/rocky-poc in rocky-data/rocky) into .claude/skills/rocky-poc in your project. Claude Code loads it when a task matches its description.

How do I install Rocky Poc in Codex?

Run `npx skills add rocky-data/rocky --skill rocky-poc -a codex`. Or copy the skill folder (.agents/skills/rocky-poc in rocky-data/rocky) into .agents/skills/rocky-poc in your project. Codex loads it when a task matches its description.

Can I use Rocky Poc in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add rocky-data/rocky --skill rocky-poc -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/rocky-poc, .gemini/skills/rocky-poc, .github/skills/rocky-poc and .opencode/skills/rocky-poc in your project.

What does Rocky Poc need to run?

Going by SKILL.md and its folder, Rocky Poc needs the command-line tools its instructions call (duckdb) and credentials named DATABRICKS_TOKEN. Our summary lists: A credential in DATABRICKS_TOKEN.

Does Rocky Poc access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Rocky Poc safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Rocky Poc use?

Rocky Poc is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Rocky Poc use?

About 1.7k tokens (SKILL.md is roughly 6.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Rocky Poc?

Skills that share tags, products or a category with Rocky Poc: Dinobase Business Data Queries (kappa90/dinobase, 263 stars), Windmill Data Pipeline Author (windmill-labs/windmill, 18k stars), Erd Studio Setup (liam-machine/erd-studio, 165 stars) and Tushare Plugin Builder (Yourdaylight/stock_datasource, 189 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rocky Poc?

rocky-data (a GitHub organization) maintains it in rocky-data/rocky, which has 304 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on October 9, 2026.

Source: rocky-data/rocky on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.