Dinobase Business Data Queries
kappa90/dinobase
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.
Authoring a new POC under examples/playground/pocs/. An agent skill from rocky-data/rocky.
$ npx skills add rocky-data/rocky --skill rocky-poc -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rocky-data/rocky rocky-poc --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "rocky-poc" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-poc into .claude/skills/rocky-poc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-poc", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-pocType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add rocky-data/rocky --skill rocky-poc -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rocky-data/rocky rocky-poc --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rocky-data/rocky.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/rocky-poc .agents/skills/rocky-poc && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "rocky-poc" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-poc into .agents/skills/rocky-poc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-poc", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rocky-data/rocky --skill rocky-poc -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rocky-data/rocky rocky-poc --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rocky-data/rocky.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/rocky-poc .cursor/skills/rocky-poc && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "rocky-poc" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-poc into .cursor/skills/rocky-poc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-poc", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/rocky-data/rocky.git --path .agents/skills/rocky-poc--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add rocky-data/rocky --skill rocky-poc -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rocky-data/rocky rocky-poc --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rocky-data/rocky.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/rocky-poc .gemini/skills/rocky-poc && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "rocky-poc" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-poc into .gemini/skills/rocky-poc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-poc", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install rocky-data/rocky rocky-pocInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add rocky-data/rocky --skill rocky-poc -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/rocky-data/rocky.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/rocky-poc .github/skills/rocky-poc && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "rocky-poc" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-poc into .github/skills/rocky-poc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-poc", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add rocky-data/rocky --skill rocky-poc -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install rocky-data/rocky rocky-poc --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/rocky-data/rocky.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/rocky-poc .opencode/skills/rocky-poc && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "rocky-poc" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-poc into .opencode/skills/rocky-poc/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-poc", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
rocky-pocAuthoring 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/. 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.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 9c3d777. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
duckdbFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
DATABRICKS_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from rocky-data/rocky at commit 9c3d777, republished under its Apache-2.0 licence (© rocky-data). 571 words, ~1,721 tokens.
.claude/skills/rocky-poc/SKILL.md (or your agent's skills folder).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.
engine/examples/ (the official starter set lives there and should NOT be duplicated in playground)benchmarks/ is off-limits unless explicitly asked)engine/examples/Do NOT build a duplicate playground POC for these — link to them instead:
engine/examples/ path | What 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.
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 behaviorUse the scaffolder — don't hand-create the directory:
cd examples/playground
./scripts/new-poc.sh <category> <id-name>
# e.g.
./scripts/new-poc.sh 02-performance 07-late-arriving-dataThis copies scripts/_poc-template/ into pocs/<category>/<id-name>/ and chmods run.sh.
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)rocky.toml (DuckDB)[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.[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.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.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:
: "${DATABRICKS_HOST:?Set DATABRICKS_HOST before running}"
: "${DATABRICKS_TOKEN:?Set DATABRICKS_TOKEN before running}"And mark the credential requirement prominently in README.md.
| Goal | Command |
|---|---|
| Type-check models without a warehouse | rocky 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 config | rocky validate -c rocky.toml |
| Discover sources from local DuckDB | rocky -c rocky.toml discover |
| Preview replication SQL | rocky -c rocky.toml plan --filter source=<name> |
| Execute the pipeline | rocky -c rocky.toml run --filter source=<name> |
| Inspect watermarks | rocky -c rocky.toml state |
| Column-level lineage | rocky lineage <model> --models models/ [--column <col>] |
| Schema-pattern aware diagnostics | rocky 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 conventionsset -euo pipefail./scripts/run-all-duckdb.sh with a 60s timeoutcd pocs/<cat>/<id-name>
./run.sh # Must exit 0
rocky validate -c rocky.toml # If the POC uses a pipeline pathFor the catalog as a whole:
cd examples/playground
./scripts/run-all-duckdb.sh # All credential-free POCs, 60s timeout eachFive sections, in this order:
run.sh output, not the full golden file)feat(02-performance/07-late-arriving-data): add late-arriving watermark POCScope by POC id when the change is POC-specific.
benchmarks/ — Rocky vs dbt-core / dbt-fusion / PySpark perf suite. Don't touch unless explicitly asked.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
Just SKILL.md in .agents/skills/rocky-poc of rocky-data/rocky.
Open the folder on GitHubat commit 9c3d777
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Rocky Poc this skillrocky-data/rocky | 304 | — | ~1.7k | Automated safety check: Pass | Apache-2.0 | |
| Dinobase Business Data Querieskappa90/dinobase | 263 | — | ~1.5k | Automated safety check: Pass | Custom licence | |
| Windmill Data Pipeline Authorwindmill-labs/windmill | 18k | — | ~4k | Automated safety check: Pass | Custom licence | |
| Erd Studio Setupliam-machine/erd-studio | 165 | — | ~8.5k | Automated safety check: Pass | Custom licence | |
| Tushare Plugin BuilderYourdaylight/stock_datasource | 189 | — | ~2.5k | Automated safety check: Pass | MIT | |
| Centia Snapshot Catalogmapcentia/geocloud2 | 152 | — | ~2.3k | Automated safety check: Pass | AGPL-3.0 |
kappa90/dinobase
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.
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.
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.
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.
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…
kappa90/dinobase
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.
rocky-data/rocky
Fivetran REST API reference for Rocky's source adapter. An agent skill from rocky-data/rocky.
rocky-data/rocky
Databricks REST API and SQL reference for Rocky's warehouse adapter.
rocky-data/rocky
Rocky CLI JSON-output schema cascade. An agent skill from rocky-data/rocky.
rocky-data/rocky
Top-level router for Rocky development tasks. An agent skill from rocky-data/rocky.
rocky-data/rocky
Rocky DSL (.rocky file) cross-subproject cascade. An agent skill from rocky-data/rocky.
rocky-data/rocky
Adding a new warehouse or source adapter crate to the Rocky engine.
Works with
Categories
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/.
Rocky Poc fits situations like: demoing a single Rocky feature (drift; etc.) that doesnt already exist in engine/examples/.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.