Agent skill

Rocky Dsl Change

by rocky-data in rocky-data/rocky

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

Apache-2.0Auto-check passedDatabases

Install Rocky Dsl Change

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

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

GitHub CLI
$ gh skill install rocky-data/rocky rocky-dsl-change --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-dsl-change .claude/skills/rocky-dsl-change && 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-dsl-change
GitHub stars
304
Token cost
~1.3k tokens
SKILL.md length
581 words
Files
1
Skills in repo
22
Repo updated
First seen
Licence
Apache-2.0

At a glance

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

  • Works in 7 steps: Define the syntax in the engine lexer… → Type-check it in… → Highlight it in… → …
  • Adding/changing a Rocky DSL keyword
  • SKILL.md covers When to use this skill, The four files that must move…, Canonical workflow and Commit style, plus 3 more sections
  • Calls just

What it does

Rocky Dsl Change is an agent skill from rocky-data/rocky. Rocky DSL (.rocky file) cross-subproject cascade. Use when adding/changing a Rocky DSL keyword, operator, or pipeline step — changes must land in the engine parser, compiler, VS Code TextMate grammar, and snippets together in one PR.

Its SKILL.md is about 1.3k 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 Databases. It works with Visual Studio Code and SQL. 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

  • Adding/changing a Rocky DSL keyword
  • Pipeline step — changes must land in the engine parser
  • VS Code TextMate grammar
  • Snippets together in one PR

Example prompts

  • “/rocky-dsl-change”

Workflow steps

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

  1. Define the syntax in the engine lexer and parser.
  2. Type-check it in engine/crates/rocky-compiler/src/.
  3. Highlight it in editors/vscode/syntaxes/rocky.tmLanguage.json.
  4. Offer a snippet in editors/vscode/snippets/rocky.json when the keyword is something users would want to autocomplete with a body.
  5. Update the docs: the published DSL page is docs/src/content/docs/concepts/rocky-dsl.md (Astro/Starlight); keep the fuller spec at…
  6. Add a test
  7. Run all checks

What it can do on your machine

Read from SKILL.md and the folder at commit 365aebf. 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:

    • just

    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 no API keys, tokens, secrets or passwords.

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

Context cost

Rocky Dsl Change loads about 1.3k tokens when it runs. Until then it costs about 63 tokens; SKILL.md has 581 words of instructions outside code blocks.

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

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 365aebf, republished under its Apache-2.0 licence (© rocky-data). 581 words, ~1,335 tokens.

Download SKILL.mdSave it as .claude/skills/rocky-dsl-change/SKILL.md (or your agent's skills folder).
name
rocky-dsl-change
description
Rocky DSL (`.rocky` file) cross-subproject cascade. Use when adding/changing a Rocky DSL keyword, operator, or pipeline step — changes must land in the engine parser, compiler, VS Code TextMate grammar, and snippets together in one PR.

Rocky DSL syntax cascade

Rocky has its own transformation language as an alternative to SQL: .rocky files with a .toml sidecar. The language has four pieces that live in different subprojects and MUST be changed in lockstep — otherwise the IDE experience and the engine diverge.

When to use this skill

  • Adding, removing, or renaming a pipeline step keyword (from, where, group, derive, select, join, sort, take, distinct, replicate, …)
  • Changing operator semantics (e.g. the != → IS DISTINCT FROM rule)
  • Adding a new literal kind, type, or syntactic construct
  • Changing how sidecar .toml metadata is parsed

The four files that must move together

#SubprojectFileWhat it owns
1engine/crates/rocky-lang/src/token.rs, src/parser.rs, src/lower.rsLexer (logos), parser, and lowering to SQL
2engine/crates/rocky-compiler/src/ (type checking, semantic graph)Type checking, contract validation, diagnostics
3editors/vscode/syntaxes/rocky.tmLanguage.jsonTextMate grammar — syntax highlighting in VS Code
4editors/vscode/snippets/rocky.jsonSnippet triggers users type to insert keywords

All four live under engine/ and editors/vscode/ in the same monorepo, so they ship in one PR with one CI run — which is the whole point of the monorepo.

Canonical workflow

  1. Define the syntax in the engine lexer and parser.
    • Add a token in engine/crates/rocky-lang/src/token.rs (logos-derived enum).
    • Extend engine/crates/rocky-lang/src/parser.rs to accept it.
    • Update engine/crates/rocky-lang/src/lower.rs to lower it to SQL (lower_to_sql); the emitted SQL then compiles through the standard pipeline into ModelIr. There is no direct DSL→IR lowering.
  2. Type-check it in engine/crates/rocky-compiler/src/.
    • Add or extend the semantic-graph node.
    • Add a diagnostic code (E0xx / W0xx) if there's a new failure mode.
  3. Highlight it in editors/vscode/syntaxes/rocky.tmLanguage.json.
    • Add the keyword to the appropriate match pattern. TextMate grammars are pure regex with scope names — the scope name should match an existing family (keyword.control.rocky, keyword.operator.rocky, etc.) so existing themes color it.
  4. Offer a snippet in editors/vscode/snippets/rocky.json when the keyword is something users would want to autocomplete with a body.
  5. Update the docs: the published DSL page is docs/src/content/docs/concepts/rocky-dsl.md (Astro/Starlight); keep the fuller spec at docs/rocky-lang-spec.md in sync too.
  6. Add a test:
    • Engine side: a unit test in rocky-lang or an integration test in rocky-compiler that parses and type-checks a snippet using the new syntax.
    • VS Code side: for non-trivial grammar changes, add a case to editors/vscode/src/ vitest tests if one exists, or smoke-test in the Extension Development Host (F5).
  7. Run all checks:
    bash
    just test     # cargo test + pytest + vitest
    just lint     # cargo clippy/fmt + ruff + eslint
Show full SKILL.md (199 more words)Show less

Commit style

Commits scoped by subproject or crate — but land them together in one PR:

feat(engine/rocky-lang): add `pivot` pipeline step
feat(engine/rocky-compiler): type-check pivot step
feat(vscode): highlight + snippet for pivot step
docs(engine): document pivot in rocky-lang-spec

Or, for a focused change, one combined commit is fine:

feat(rocky-dsl): add `pivot` pipeline step across engine + vscode

The NULL-safe-equality example

The canonical reminder case in engine/AGENTS.md:

Key difference from SQL: != compiles to IS DISTINCT FROM (NULL-safe).

If you changed that rule, you'd touch:

  • engine/crates/rocky-lang/src/parser.rs to recognize the operator.
  • engine/crates/rocky-compiler/ to fold into the IR.
  • engine/crates/rocky-sql/src/transpile.rs to emit dialect-specific SQL.
  • editors/vscode/syntaxes/rocky.tmLanguage.json so the operator highlights as an operator, not an error.
  • docs/src/content/docs/concepts/rocky-dsl.md (and docs/rocky-lang-spec.md) to document the semantics.

Common pitfalls

  • Grammar-only changes without a parser change — VS Code will highlight the keyword but rocky compile will reject it. Users get a confusing experience.
  • Parser-only changes without a grammar change — the file runs fine but users see it un-highlighted, which makes it feel broken.
  • Forgetting .toml sidecar parsing — model metadata lives in a sibling .toml; if your new syntax requires a new metadata field, update engine/crates/rocky-core/src/models.rs.
  • Forgetting the spec doc — it's the only public reference for users; keep it accurate.

Reference files

  • AGENTS.md (monorepo root) — "When modifying Rocky DSL syntax" cascade rules.
  • engine/AGENTS.md — "Rocky DSL (.rocky files)" section for the current pipeline step list.
  • docs/src/content/docs/concepts/rocky-dsl.md — the published DSL page; docs/rocky-lang-spec.md — the fuller spec.

© 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-dsl-change of rocky-data/rocky.

Open the folder on GitHubat commit 365aebf

Compare with similar skills

Rocky Dsl Change 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 Dsl Change compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Rocky Dsl Change this skillrocky-data/rocky304—~1.3kAutomated safety check: PassApache-2.0
Cosmosdb Nosql Query Generationmicrosoft/vscode-cosmosdb200—~4kAutomated safety check: WarnMIT
Code Implementationapache/shardingsphere21k—~1.2kAutomated safety check: PassApache-2.0
Basincloudflare/skills3k2 repos~684Automated safety check: PassApache-2.0
Analyzing Dataastronomer/agents451—~1.3kAutomated safety check: PassApache-2.0
VisualizationFrankChen021/datastoria327—~1.2kAutomated safety check: PassCustom licence

Similar skills

  • Cosmosdb Nosql Query Generation

    microsoft/vscode-cosmosdb

    Official

    Generate, explain, edit, and fix Azure Cosmos DB for NoSQL (SQL API) queries.

    200 GitHub stars~4k tokensUpdated yesterday
    DatabasesAuto-check: warnings
  • Code Implementation

    apache/shardingsphere

    Implement, fix, refactor, or remove repository code under required scope, non-regression, verification, and review gates.

    21k GitHub stars~1.2k tokensUpdated today
    DatabasesAuto-check passed
  • Basin

    cloudflare/skills

    Official

    Build and troubleshoot Cloudflare Basin analytics workflows with Basin Pipelines, Basin Catalog, and Basin SQL.

    3k GitHub starsUsed in 2 repos~684 tokens
    DatabasesAuto-check passed
  • Analyzing Data

    astronomer/agents

    Queries the data warehouse with SQL and answers business questions about data.

    451 GitHub stars~1.3k tokensUpdated 3 days ago
    DatabasesAuto-check passed
  • Visualization

    FrankChen021/datastoria

    Rules for charts and visualization. An agent skill from FrankChen021/datastoria.

    327 GitHub stars~1.2k tokensUpdated 2 mo ago
    DatabasesAuto-check passed
  • Databricks Dbsql

    databricks/databricks-agent-skills

    Official

    Databricks SQL (DBSQL) advanced features and SQL warehouse capabilities.

    345 GitHub starsUsed in 1 repo~2.8k tokens
    DatabasesAuto-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 today
    Auto-check passed
  • Databricks

    rocky-data/rocky

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

    304 GitHub stars~2k tokensUpdated today
    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 today
    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 today
    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 today
    Auto-check passed
  • Rocky New CLI Command

    rocky-data/rocky

    End-to-end checklist for adding a new Rocky CLI subcommand across the engine, JSON schema export, Dagster Pydantic types, Dagster resource wiring, and VS Code extension command.

    304 GitHub stars~1.4k tokensUpdated today
    Auto-check passed

Questions about Rocky Dsl Change

What does Rocky Dsl Change do?

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

When should I use Rocky Dsl Change?

Rocky Dsl Change fits situations like: adding/changing a Rocky DSL keyword; pipeline step — changes must land in the engine parser; VS Code TextMate grammar; snippets together in one PR.

How do I install Rocky Dsl Change in Claude Code?

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

How do I install Rocky Dsl Change in Codex?

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

Can I use Rocky Dsl Change 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-dsl-change -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-dsl-change, .gemini/skills/rocky-dsl-change, .github/skills/rocky-dsl-change and .opencode/skills/rocky-dsl-change in your project.

What does Rocky Dsl Change need to run?

Going by SKILL.md and its folder, Rocky Dsl Change needs the command-line tools its instructions call (just).

Does Rocky Dsl Change 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 Dsl Change 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 Dsl Change use?

Rocky Dsl Change 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 Dsl Change use?

About 1.3k tokens (SKILL.md is roughly 5.3k 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 Dsl Change?

Skills that share tags, products or a category with Rocky Dsl Change: Cosmosdb Nosql Query Generation (microsoft/vscode-cosmosdb, 200 stars), Code Implementation (apache/shardingsphere, 21k stars), Basin (cloudflare/skills, 3k stars) and Analyzing Data (astronomer/agents, 451 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Rocky Dsl Change?

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 10, 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.