Chdb SQL
vemetric/vemetric
A skill your agent uses when the user wants to run SQL — especially analytical SQL — on local files (parquet/csv/json), URLs, S3 paths, or remote databases (Postgres, MySQL, MongoDB, ClickHouse…
A skill your agent uses when adding a new feature or changing an existing one that surfaces data in the dashboard — the demo org (app.getgram.ai/explore-demo) must show it — and when editing or…
$ npx skills add speakeasy-api/gram --skill gram-demo-seed -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install speakeasy-api/gram gram-demo-seed --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/speakeasy-api/gram.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/gram-demo-seed .claude/skills/gram-demo-seed && 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 "gram-demo-seed" agent skill from https://github.com/speakeasy-api/gram/tree/main/.agents/skills/gram-demo-seed into .claude/skills/gram-demo-seed/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gram-demo-seed", 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/speakeasy-api/gram/tree/main/.agents/skills/gram-demo-seedType 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 speakeasy-api/gram --skill gram-demo-seed -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install speakeasy-api/gram gram-demo-seed --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/speakeasy-api/gram.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/gram-demo-seed .agents/skills/gram-demo-seed && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gram-demo-seed" agent skill from https://github.com/speakeasy-api/gram/tree/main/.agents/skills/gram-demo-seed into .agents/skills/gram-demo-seed/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gram-demo-seed", 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 speakeasy-api/gram --skill gram-demo-seed -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install speakeasy-api/gram gram-demo-seed --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/speakeasy-api/gram.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/gram-demo-seed .cursor/skills/gram-demo-seed && 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 "gram-demo-seed" agent skill from https://github.com/speakeasy-api/gram/tree/main/.agents/skills/gram-demo-seed into .cursor/skills/gram-demo-seed/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gram-demo-seed", 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/speakeasy-api/gram.git --path .agents/skills/gram-demo-seed--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 speakeasy-api/gram --skill gram-demo-seed -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install speakeasy-api/gram gram-demo-seed --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/speakeasy-api/gram.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/gram-demo-seed .gemini/skills/gram-demo-seed && 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 "gram-demo-seed" agent skill from https://github.com/speakeasy-api/gram/tree/main/.agents/skills/gram-demo-seed into .gemini/skills/gram-demo-seed/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gram-demo-seed", 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 speakeasy-api/gram gram-demo-seedInstalls 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 speakeasy-api/gram --skill gram-demo-seed -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/speakeasy-api/gram.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/gram-demo-seed .github/skills/gram-demo-seed && 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 "gram-demo-seed" agent skill from https://github.com/speakeasy-api/gram/tree/main/.agents/skills/gram-demo-seed into .github/skills/gram-demo-seed/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gram-demo-seed", 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 speakeasy-api/gram --skill gram-demo-seed -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install speakeasy-api/gram gram-demo-seed --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/speakeasy-api/gram.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/gram-demo-seed .opencode/skills/gram-demo-seed && 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 "gram-demo-seed" agent skill from https://github.com/speakeasy-api/gram/tree/main/.agents/skills/gram-demo-seed into .opencode/skills/gram-demo-seed/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gram-demo-seed", 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.
gram-demo-seedA skill your agent uses when adding a new feature or changing an existing one that surfaces data in the dashboard — the demo org (app.getgram.ai/explore-demo) must show it — and when editing or…
Gram Demo Seed is an agent skill from speakeasy-api/gram. Use when adding a new feature or changing an existing one that surfaces data in the dashboard — the demo org (app.getgram.ai/explore-demo) must show it — and when editing or extending the demo org seed or the local dev seed — server/internal/demoseed/{postgres,clickhouse}.sql, demoseed.Spec, RunLocalFixtures, demo.ensuredemoorg(), gram demo-seed, mise run seed, mise run seed:demo, seed/demo/ docs, TestDemoSeedSafety, the demo-seed-safety CI job, orggramdemoworkspace, dec0de00 uuids — or when that CI check fails…
Its SKILL.md is about 2.5k 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, covering Data warehousing and SQL. It works with SQL, ClickHouse and PostgreSQL. The repository describes itself as: Securely scale AI usage across your organization. A single stack to Connect, Secure, Observe and Distribute agents, MCPs, and Skills within your company. The licence is AGPL-3.0.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit b4c4904. 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:
miseFrom 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 no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Gram Demo Seed loads about 2.5k tokens when it runs. Until then it costs about 175 tokens; SKILL.md has 1,263 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 speakeasy-api/gram at commit b4c4904, republished under its AGPL-3.0 licence (© speakeasy-api). 1,263 words, ~2,533 tokens.
.claude/skills/gram-demo-seed/SKILL.md (or your agent's skills folder).The demo seed provisions the shared read-only demo organization AND, retargeted,
your local development organization. Two SQL scripts in
server/internal/demoseed/ are go:embedded into the server binary and applied
by gram demo-seed — the same code path locally and in prod, versioned
atomically with each deploy. Prod reruns it daily; every run deletes all
demo-scoped data and reinserts it fresh, so the seed must stay idempotent and
perfectly scoped. TestDemoSeedSafety (its own required CI check,
demo-seed-safety) enforces that mechanically — this skill explains the system
and what the test will reject.
The demo org (app.getgram.ai/explore-demo) is how customers explore Speakeasy before
their own org is set up, and the same seed provisions every developer's local
org. So a feature that ships without seed data shows an empty page to both.
Any new feature, or change to an existing one, that introduces or reshapes
data a page renders must land with the matching seed change in the same
PR. Rule of thumb: if the change adds a table, a column a page reads, a new
entity kind, or a new telemetry dimension, the seed needs a row for it. Then
verify the affected pages per seed/demo/verify.md and update
seed/demo/PAGES.md.
| Task | How |
|---|---|
| Edit the seed | server/internal/demoseed/postgres.sql / clickhouse.sql |
| Seed local dev | mise run seed (= gram demo-seed --local) |
| Apply the demo org | mise run seed:demo |
| Verify pages | seed/demo/verify.md playbook; contract in seed/demo/PAGES.md |
| Run the safety test | mise run test:server -tags=demoseed_safety ./internal/demoseed/... |
| Authoring docs | seed/demo/README.md (specs, local fixtures, prod wiring) |
The SQL is written against the demo org's literals. Other tenants come from
rewriting them — demoseed.Spec (spec.go) names every identifier family, and
Spec.Rewrite applies it before execution:
DefaultSpec() — the demo org. Rewriting is a no-op, so prod runs the
scripts exactly as written.LocalSpec() — the dev-idp's org (dev-idp/pkg/devidentity), writable, what
mise run seed provisions.otherTenantSpec — the safety test's adversarial fixture tenant.Adding a new kind of globally unique identifier to the SQL means adding a
field to Spec. Miss it and the local and test tenants write that value into
the demo org's scope. TestLocalSpecRewritesEveryDefaultIdentifier fails with
still contains the demo identifier %q — no database needed.
Local-only rows (your user, the API key, the MCP App) live in
local.go / mcpapp.go as RunLocalFixtures, NOT in the SQL — the shared demo
org must never have them.
The test package is server/internal/demoseed; invoke mise run test:server from anywhere — the task chdirs to server/, hence the
./internal/... package path. The safety test is
build-tagged (demoseed_safety): running the package without the tag reports
"no test files" — that is expected, not a broken package.
demo.ensure_demo_org(), a single
idempotent plpgsql function. Deliberately NOT a migration: migrations are
append-only and the seed churns; CREATE OR REPLACE + daily rerun is the
upgrade path. It deletes demo data first (projects delete cascades most of
it; org-scoped tables are deleted explicitly), then reinserts. Preflight
asserts abort if the demo constants collide with anything that is not the
demo org; postflight asserts fail the run on missing or leaked rows.ALTER TABLE … DELETE on the telemetry
source, every MV target (enumerate them by grepping MATERIALIZED VIEW in server/clickhouse/schema.sql), and the org-keyed tables, then
inserts fresh rows; the MVs repopulate summaries on INSERT. Postflight
throwIf statements at the bottom of the script fail the run — the
Postgres postflight RAISE asserts likewise sit at the end of
ensure_demo_org(). The Go runner splits statements on ; — keep
semicolons out of string literals.Fixed identity: org org_gram_demo_workspace (slug acme-demo), single
project dec0de00-0000-4000-a000-000000000001, users user_demo_* /
*@demo.getgram.ai. Deterministic uuids come from
demo.det_uuid('gram-demo-<thing>-' || n) (md5 with version nibble 5,
variant 8) — ClickHouse reproduces the same formula so rows join across
stores. det_uuid inputs only need globally unique strings: pick a fresh
gram-demo-<thing>- prefix per row family and never reuse one across
families. Timestamps are always now()-relative (trailing ~12 days).
TestDemoSeedSafety provisions a fake "customer" tenant by running the seed
retargeted at otherTenantSpec, snapshots both databases, runs the real seed
twice with tampering in between, and fails on:
DELETE/UPDATE
must be scoped by the demo org id, demo project id, or ids derived from
them; every ClickHouse delete by organization_id or gram_project_id.
Failure reads table X: … touched another tenant's rows / a pre-existing row of another tenant was modified or deleted.reseed is not cleaning up or not idempotent. Any NEW
table the seed writes needs its own explicit scoped delete unless you
have verified it sits inside the demo project's FK delete cascade. Also
add a postflight assert on its expected demo row count (Postgres RAISE
/ ClickHouse throwIf), following the existing ones.demo-seed marker. Every
telemetry_logs insert must carry
'{"gram.deployment.id":"demo-seed"}' in resource_attributes; the
seed's own postflights fail otherwise.something_demo_*
id written to a globally-unique column, a new email domain), add a field to
demoseed.Spec and set it in every Spec. Miss it and the test fails as a
unique-constraint violation during seeding, or with
postgres.sql lost literal %q; update DefaultSpec after a rename — and the
cheaper TestLocalSpecRewritesEveryDefaultIdentifier fails first, with
still contains the demo identifier %q.organization_id / gram_project_id columns. A
demo-written table using a different column name fails the isolation check
(fail-safe false positive) — name the scoping column one of those two.Spec field.mise run seed against the local stack — this is also how developers get
their data, so a broken seed breaks everyone's environment. Run it TWICE:
the second run is what proves the delete/reinsert cycle rolls forward.seed/demo/verify.md; update
seed/demo/PAGES.md.mise run test:server -tags=demoseed_safety ./internal/demoseed/...
(~1 min with containers). Fix anything it names — the failure message
includes the exact table.telemetry_logs never shrinks MV targets; each target needs its
own scoped delete.trace_summaries collapses per
trace_id, merging them into a single unclassifiable trace.users, organization_features, or organization_metadata
expecting deletes: those are upsert-only by design (global/shared tables);
removals need an explicit cleanup statement.*@demo.getgram.ai emails, EXAMPLE/DEMO-marked fake secrets only.RunLocalFixtures; the SQL is shared with the public demo org.projects without checking its FK action. The seed
deletes and recreates the project every run, so a RESTRICTing child wedges
the next run — and environments is worse: project_id is NOT NULL with
ON DELETE SET NULL, so it always errors. Such tables need their own scoped
delete before the projects delete.© speakeasy-api, AGPL-3.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/gram-demo-seed of speakeasy-api/gram.
Open the folder on GitHubat commit b4c4904
Gram Demo Seed 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 |
|---|---|---|---|---|---|---|
| Gram Demo Seed this skillspeakeasy-api/gram | 273 | — | ~2.5k | Automated safety check: Pass | AGPL-3.0 | |
| Chdb SQLvemetric/vemetric | 395 | 1 repos | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Querying Tempotempoxyz/tidx | 108 | — | ~3.1k | Automated safety check: Pass | MIT | |
| Semantic Analystsidequery/sidemantic | 129 | — | ~982 | Automated safety check: Pass | AGPL-3.0 | |
| Database MigrationRain-kl/OpenFlare | 289 | — | ~1.3k | Automated safety check: Pass | Apache-2.0 | |
| Triaging Warehouse Sync TicketsPostHog/posthog | 40k | — | ~6.3k | Automated safety check: Warn | Custom licence |
vemetric/vemetric
A skill your agent uses when the user wants to run SQL — especially analytical SQL — on local files (parquet/csv/json), URLs, S3 paths, or remote databases (Postgres, MySQL, MongoDB, ClickHouse…
tempoxyz/tidx
Query indexed Tempo chain data via tidx HTTP API and CLI. An agent skill from tempoxyz/tidx.
sidequery/sidemantic
Answer analytical, KPI, metric, trend, cohort, and business-performance questions through a Sidemantic semantic layer.
Rain-kl/OpenFlare
Wavelet 项目专用:当新增或修改数据库表结构、索引、初始化数据、系统配置 seed、模板 seed、默认管理员、goose SQL 迁移、internal/infra/persistence/migrator、ClickHouse 分析库 DDL 或数据库升级流程时必须使用。本技能指导在 internal/infra/persistence/migrator/goose 下编写…
PostHog/posthog
Debug a customer's data warehouse source, schema, or table from a support ticket, using PostHog's own production data.
supabase/supabase
Write, review, and migrate Supabase logs queries against the ClickHouse-backed logs table (the logs.all.otel analytics endpoint).
speakeasy-api/gram
A skill your agent uses when automating the Speakeasy dashboard in a browser, capturing screenshots, inspecting pages.
speakeasy-api/gram
A skill your agent uses when adding, changing, restyling, reviewing, validating, or previewing a Speakeasy transactional email, in Go or in LMX/MJML — a template<name.go, a TemplateKey constant, a…
speakeasy-api/gram
A skill your agent uses when adding, changing, or styling UI in client/admin (the Speakeasy admin dashboard) that touches shadcn/ui — a button, dialog, table, sidebar, badge, select, tabs, tooltip…
speakeasy-api/gram
A skill your agent uses when adding, editing, reviewing, testing, or locating a reviewed skill distributed with the Platform MCP plugin; triggers include "Platform MCP skill", "platformmcpskills"…
speakeasy-api/gram
A skill your agent uses when changing or reviewing Speakeasy ClickHouse schemas, migrations, queries, inserts, access principals, bootstrap SQL, Cloud compatibility, partial migration failures, or…
speakeasy-api/gram
A skill your agent uses when gating a feature behind a flag, dogfooding or gradually rolling out a change, choosing between productfeatures and PostHog feature flags, adding or checking a product…
Works with
Categories
A skill your agent uses when adding a new feature or changing an existing one that surfaces data in the dashboard — the demo org (app.getgram.ai/explore-demo) must show it — and when editing or…. Gram Demo Seed is an agent skill from speakeasy-api/gram.
Gram Demo Seed fits situations like: adding a new feature; changing an existing one that surfaces data in the dashboard — the demo org (app.getgram.ai/explore-demo) must show it — and when editing; extending the demo org seed; the local dev seed — server/internal/demoseed/{postgres.
Run `npx skills add speakeasy-api/gram --skill gram-demo-seed -a claude-code`. Or copy the skill folder (.agents/skills/gram-demo-seed in speakeasy-api/gram) into .claude/skills/gram-demo-seed in your project. Claude Code loads it when a task matches its description.
Run `npx skills add speakeasy-api/gram --skill gram-demo-seed -a codex`. Or copy the skill folder (.agents/skills/gram-demo-seed in speakeasy-api/gram) into .agents/skills/gram-demo-seed 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 speakeasy-api/gram --skill gram-demo-seed -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gram-demo-seed, .gemini/skills/gram-demo-seed, .github/skills/gram-demo-seed and .opencode/skills/gram-demo-seed in your project.
Going by SKILL.md and its folder, Gram Demo Seed needs the command-line tools its instructions call (mise).
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.
Gram Demo Seed is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.5k tokens (SKILL.md is roughly 10k 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 Gram Demo Seed: Chdb SQL (vemetric/vemetric, 395 stars), Querying Tempo (tempoxyz/tidx, 108 stars), Semantic Analyst (sidequery/sidemantic, 129 stars) and Database Migration (Rain-kl/OpenFlare, 289 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
speakeasy-api (a GitHub organization) maintains it in speakeasy-api/gram, which has 273 GitHub stars. The repository holds 40 skills in this directory. The repository was last updated on October 10, 2026.
Source: speakeasy-api/gram on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.