Ggsql
Writes ggsql queries (grammar-of-graphics for SQL) using only documented clauses
Test report
- Verdict
- Tested · Works
- Score
- 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
-
/ggsqlWrites 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.