Project Init
athola/claude-night-market
Scaffolds new projects with git, CI/CD workflows, pre-commit hooks, and build config.
Rocky CLI JSON-output schema cascade. An agent skill from rocky-data/rocky.
$ npx skills add rocky-data/rocky --skill rocky-codegen -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install rocky-data/rocky rocky-codegen --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-codegen .claude/skills/rocky-codegen && 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-codegen" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-codegen into .claude/skills/rocky-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-codegen", 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-codegenType 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-codegen -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install rocky-data/rocky rocky-codegen --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-codegen .agents/skills/rocky-codegen && 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-codegen" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-codegen into .agents/skills/rocky-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-codegen", 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-codegen -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install rocky-data/rocky rocky-codegen --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-codegen .cursor/skills/rocky-codegen && 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-codegen" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-codegen into .cursor/skills/rocky-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-codegen", 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-codegen--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-codegen -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install rocky-data/rocky rocky-codegen --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-codegen .gemini/skills/rocky-codegen && 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-codegen" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-codegen into .gemini/skills/rocky-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-codegen", 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-codegenInstalls 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-codegen -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-codegen .github/skills/rocky-codegen && 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-codegen" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-codegen into .github/skills/rocky-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-codegen", 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-codegen -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-codegen --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-codegen .opencode/skills/rocky-codegen && 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-codegen" agent skill from https://github.com/rocky-data/rocky/tree/main/.agents/skills/rocky-codegen into .opencode/skills/rocky-codegen/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "rocky-codegen", 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-codegenRocky CLI JSON-output schema cascade. An agent skill from rocky-data/rocky.
Rocky Codegen is an agent skill from rocky-data/rocky. Rocky CLI JSON-output schema cascade. Use when editing any Output struct in engine/crates/rocky-cli/src/output.rs (or commands/doctor.rs), adding a new CLI command schema, or when a change could affect schemas/.schema.json, sdk/python/src/rockysdk/typesgenerated/, or editors/vscode/src/types/generated/. Also use when CI reports codegen-drift.
Its SKILL.md is about 1.9k 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 Development, covering Project scaffolding. It works with Visual Studio Code, Python, Git and Rust. 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 0cb7c7b. 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:
justgitcargoFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Rocky Codegen loads about 1.9k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 733 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 0cb7c7b, republished under its Apache-2.0 licence (© rocky-data). 733 words, ~1,880 tokens.
.claude/skills/rocky-codegen/SKILL.md (or your agent's skills folder).Rocky's CLI --output json is the interface contract with every consumer (Dagster, VS Code, shell scripts). Every command is backed by a typed Rust struct that derives JsonSchema, and the Pydantic + TypeScript bindings are autogenerated from those schemas. Drift is enforced in CI.
If you edit a Rust output struct and forget to regenerate, the codegen-drift workflow will fail the PR.
*Output struct in engine/crates/rocky-cli/src/output.rs or engine/crates/rocky-cli/src/commands/doctor.rscodegen-drift.yml CI failureengine/crates/rocky-cli/src/output.rs (Rust source of truth)
│
▼ cargo run -- export-schemas schemas/
schemas/*.schema.json (committed)
│
├──▶ sdk/python/src/rocky_sdk/types_generated/ (Pydantic v2)
└──▶ editors/vscode/src/types/generated/ (TypeScript)From the monorepo root:
# 1. Edit the Rust struct
$EDITOR engine/crates/rocky-cli/src/output.rs
# 2. Run the full codegen pipeline
just codegen
# 3. Review the diff — you should see changes in 3 places:
git status
# engine/crates/rocky-cli/src/output.rs ← your edit
# schemas/<command>.schema.json ← regenerated
# sdk/python/src/rocky_sdk/types_generated/… ← regenerated
# editors/vscode/src/types/generated/… ← regenerated
# 4. Commit all of it in ONE commit
git add engine/ schemas/ sdk/ integrations/ editors/
git commit -m "feat(engine): add <field> to <command>Output"Never commit a Rust output change without the regenerated bindings. The codegen-drift CI workflow (.github/workflows/codegen-drift.yml) runs just codegen and fails if git diff is non-empty.
just codegen actually doesThree recipes in justfile, runnable individually:
| Recipe | What it does |
|---|---|
just codegen-rust | cargo run --release --bin rocky -- export-schemas schemas/ — rebuilds engine in release mode (shared with regen-fixtures), then writes the JSON schemas to schemas/ (run `ls schemas/*.schema.json |
just codegen-sdk | Runs datamodel-codegen over schemas/*.schema.json into sdk/python/src/rocky_sdk/types_generated/. Self-heals the curated __init__.py barrel via git checkout. |
just codegen-vscode | Runs json2ts per schema into editors/vscode/src/types/generated/. Self-heals the curated index.ts barrel via git checkout. |
Both codegen-sdk and codegen-vscode intentionally overwrite the output directory and then git checkout HEAD -- <barrel> to restore the curated re-export files. Do not hand-edit files under types_generated/ or types/generated/ other than those two barrels — the next codegen run nukes them.
engine/crates/rocky-cli/src/output.rs (or commands/<name>.rs) deriving JsonSchema:#[derive(Debug, Serialize, Deserialize, JsonSchema)]
pub struct MyCommandOutput { ... }engine/crates/rocky-cli/src/commands/export_schemas.rs::schemas().just codegen.integrations/dagster/src/dagster_rocky/types.py (in the re-export section near the bottom), then add a dispatch entry in parse_rocky_output(), add a RockyResource method in resource.py, and a fixture + test (see integrations/dagster/AGENTS.md for the 9-step checklist).src/types/rockyJson.ts is already a 100% type-alias shim over src/types/generated/index.ts.scripts/regen_fixtures.sh (aka just regen-fixtures) captures live rocky --output json output against the playground POCs into integrations/dagster/tests/fixtures_generated/. This is a drift-detection corpus — test_generated_fixtures.py re-validates the captured JSON against the current Pydantic models. The dagster parsing tests themselves load hand-crafted Python dicts from integrations/dagster/tests/scenarios.py, exposed as *_json pytest fixtures via conftest.py.
When to regen fixtures:
just regen-fixtures and check that test_generated_fixtures.py still passes. If it doesn't, the captured shape no longer matches the Pydantic models — usually means the codegen step was skipped.Prerequisite: the release binary at engine/target/release/rocky must exist (just codegen already builds it).
JsonSchema derive — cargo build passes but export-schemas silently skips the type. Check the schemas/ diff.export_schemas.rs::schemas() — the schema never gets emitted.just codegen, not just one of the sub-recipes.datamodel-code-generator or json2ts; re-run just codegen locally and commit the deterministic diff.There's a repo-root git hook at .git-hooks/pre-commit that runs the codegen check locally, so drift is caught before you push instead of after a failed CI run. Enable once:
just install-hooks
# or manually:
git config core.hooksPath .git-hooksThe hook only fires when the staged change includes one of:
engine/crates/rocky-cli/src/output.rsengine/crates/rocky-cli/src/commands/doctor.rsengine/crates/rocky-cli/src/commands/export_schemas.rsWhen triggered, it runs just codegen and fails the commit if the regenerated bindings produce a non-empty git diff. Skip with ROCKY_SKIP_CODEGEN_HOOK=1 git commit … in emergencies — but the CI workflow will still catch drift on the PR.
Note on core.hooksPath: it's a repo-wide setting (stored in .git/config, so it doesn't get shared across clones). If you've previously enabled hooks inside integrations/dagster/ via git config core.hooksPath .git-hooks, that points at the same root-level path (hooksPath is repo-relative) — running just install-hooks at the root is the same operation.
engine/AGENTS.md — "JSON Output Schema" section lists all command output structs.integrations/dagster/AGENTS.md — "Adding support for a new Rocky CLI command" 9-step checklist..github/workflows/codegen-drift.yml — the CI check that enforces this..git-hooks/pre-commit — the local mirror of the CI check.justfile — the codegen* recipes (lines ~63-126) + install-hooks.© 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-codegen of rocky-data/rocky.
Open the folder on GitHubat commit 0cb7c7b
Rocky Codegen 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 Codegen this skillrocky-data/rocky | 304 | — | ~1.9k | Automated safety check: Pass | Apache-2.0 | |
| Project Initathola/claude-night-market | 342 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Core API Changelibnativeapi/nativeapi | 157 | — | ~2.5k | Automated safety check: Pass | MIT | |
| RustPython Stdlib UpgradeRustPython/RustPython | 22k | — | ~876 | Automated safety check: Pass | MIT | |
| Vscode981377660LMT/algorithm-study | 278 | 1 repos | ~290 | Automated safety check: Pass | None | |
| Light Project StructureLight0305/Light-skills | 640 | — | ~3k | Automated safety check: Notes | MIT |
athola/claude-night-market
Scaffolds new projects with git, CI/CD workflows, pre-commit hooks, and build config.
libnativeapi/nativeapi
Carry a change to the C++ public API in core/ all the way downstream — design check, header edit, six platform implementations, C ABI + Rust/Dart/C/JS/Python regeneration, per-binding verification…
RustPython/RustPython
Upgrades a Python standard library module from CPython into RustPython with update_lib, then triages and marks the tests that still fail.
981377660LMT/algorithm-study
VS Code integration for viewing diffs and comparing files. An agent skill from 981377660LMT/algorithm-study.
Light0305/Light-skills
Audits, scaffolds and safely migrates research project folder structures, keeping existing repositories read-only until you approve exact moves from a plan.
elodin-sys/elodin
Develop and contribute to the Elodin codebase. An agent skill from elodin-sys/elodin.
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
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.
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.
Works with
Categories
Rocky CLI JSON-output schema cascade. An agent skill from rocky-data/rocky. Rocky Codegen is an agent skill from rocky-data/rocky. Rocky CLI JSON-output schema cascade.
Rocky Codegen fits situations like: editing any Output struct in engine/crates/rocky-cli/src/output.rs (or commands/doctor.rs); adding a new CLI command schema; A change could affect schemas/.schema.json; sdk/python/src/rockysdk/typesgenerated/.
Run `npx skills add rocky-data/rocky --skill rocky-codegen -a claude-code`. Or copy the skill folder (.agents/skills/rocky-codegen in rocky-data/rocky) into .claude/skills/rocky-codegen in your project. Claude Code loads it when a task matches its description.
Run `npx skills add rocky-data/rocky --skill rocky-codegen -a codex`. Or copy the skill folder (.agents/skills/rocky-codegen in rocky-data/rocky) into .agents/skills/rocky-codegen 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-codegen -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-codegen, .gemini/skills/rocky-codegen, .github/skills/rocky-codegen and .opencode/skills/rocky-codegen in your project.
Going by SKILL.md and its folder, Rocky Codegen needs the command-line tools its instructions call (just, git and cargo). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. 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 Codegen 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.9k tokens (SKILL.md is roughly 7.5k 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 Codegen: Project Init (athola/claude-night-market, 342 stars), Core API Change (libnativeapi/nativeapi, 157 stars), RustPython Stdlib Upgrade (RustPython/RustPython, 22k stars) and Vscode (981377660LMT/algorithm-study, 278 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 7, 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.