Ggsql

Writes ggsql queries (grammar-of-graphics for SQL) using only documented clauses

Tested · Works

Test report

Verdict
Tested · Works
Score
8.8/10
Tested
Jul 21, 2026
Environment
Claude Code 2.x (agent harness)
Upstream re-checked
Aug 10, 2026 · 90c41dc

Fetched SKILL.md at ggsql/ggsql/SKILL.md via raw GitHub; frontmatter parses with name+description, no bundled scripts to break, no hardcoded paths, no security smells. Trigger test (3 positive / 2 negative): 'write a ggsql query for a scatterplot of penguin bill length vs depth' YES, 'how do I make a stacked bar chart in ggsql' YES, 'turn this into a grammar-of-graphics SQL visualization query' YES; 'write a SQL query to sum revenue by month' NO (plain SQL, no viz), 'make a ggplot2 chart in R' NO (different tool) — all 5 correct. Output: same task (faceted density histogram of penguin body mass by species) written baseline vs skill. Baseline invented ggplot2-style syntax (GEOM histogram(x=..,y=..density..), FACET_WRAP(~species), bare `penguins`); skill produced documented ggsql (VISUALISE body_mass AS x, species AS fill FROM ggsql:penguins / DRAW histogram / REMAPPING density AS y / FACET species). Every baseline clause is absent from the ggsql grammar; every skill clause maps to a documented construct. Could not run the ggsql CLI (not installed) to confirm rendering, so output capped at 8.

Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works

  • Installs cleanly 5/5
  • Triggers reliably 5/5
  • Output vs. baseline 8/10
  • Docs & honesty 4/5

What Ggsql does

A reference skill that teaches Claude the ggsql query grammar — a SQL extension for declarative data visualization (VISUALISE, DRAW, PLACE, SCALE, FACET, PROJECT, LABEL clauses, layer types, and named palettes). Triggers when the user wants to create, modify, understand, or validate a ggsql visualization query. Includes an optional CLI (ggsql exec/validate) for rendering and checking queries.

How to install Ggsql

git clone --depth 1 https://github.com/posit-dev/skills.git /tmp/ggsql-src
mkdir -p ~/.claude/skills
cp -R /tmp/ggsql-src/ggsql/ggsql ~/.claude/skills/ggsql
# Skill is a single self-contained SKILL.md (no bundled scripts).
# Optional runtime dep: the `ggsql` CLI must be on PATH to VALIDATE/RENDER queries
# (subcommands exec/run/validate/parse). Writing queries works without it.
# CLI source/docs: https://ggsql.org

Skills live in ~/.claude/skills/ (global) or .claude/skills/ (per-project). Restart Claude Code after installing.

Commands — how to trigger Ggsql

  • /ggsql Writes ggsql queries (grammar-of-graphics for SQL) using only documented clauses

It also activates on plain-language prompts like these:

  • Write a ggsql query to chart monthly sales
  • Explain what this ggsql visualization does
  • Modify this ggsql query to add a facet

Frequently asked questions

Is the Ggsql skill free?
Yes. The skill itself is free from posit-dev/skills. SkillProof publishes the install command and an independent test verdict at no cost.
Does Ggsql work with Claude Code?
We tested it with Claude Code 2.x (agent harness) on Jul 21, 2026. Verdict: Tested · Works. Fetched SKILL.md at ggsql/ggsql/SKILL.md via raw GitHub; frontmatter parses with name+description, no bundled scripts to break, no hardcoded paths, no security smells. Trigger test (3 positive / 2 negative): 'write a ggsql query for a scatterplot of penguin bill length vs depth' YES, 'how do I make a stacked bar chart in ggsql' YES, 'turn this into a grammar-of-graphics SQL visualization query' YES; 'write a SQL query to sum revenue by month' NO (plain SQL, no viz), 'make a ggplot2 chart in R' NO (different tool) — all 5 correct. Output: same task (faceted density histogram of penguin body mass by species) written baseline vs skill. Baseline invented ggplot2-style syntax (GEOM histogram(x=..,y=..density..), FACET_WRAP(~species), bare `penguins`); skill produced documented ggsql (VISUALISE body_mass AS x, species AS fill FROM ggsql:penguins / DRAW histogram / REMAPPING density AS y / FACET species). Every baseline clause is absent from the ggsql grammar; every skill clause maps to a documented construct. Could not run the ggsql CLI (not installed) to confirm rendering, so output capped at 8.
What is the Ggsql SkillProof Score?
8.8/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 8/10, docs & honesty 4/5.
How do I install Ggsql?
Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
Can I use Ggsql with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.