writing-graph-queries

A reference for writing DuckPGQ graph queries against SQLPrism’s property graph, which represents SQL objects and their dependencies as connected nodes and edges.

In plain words
What is it for?
Writing queries that find graph nodes, direct dependencies, upstream or downstream models, multi-step relationships, and graph-analysis results such as PageRank or connected components.
Why use it?
It prevents common syntax errors and makes dependency directions and bounded multi-step paths clear when querying the graph.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/darkcofy/sqlprism/writing-graph-queries
Any agent
npx skills add darkcofy/sqlprism --skill writing-graph-queries
Clone the repo
git clone --depth 1 https://github.com/darkcofy/sqlprism

Made for: Claude Code, Codex.

Per session 67 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 795 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00067 $0.00795
Opus 5 $0.00034 $0.00398
Sonnet 5 $0.00013 $0.00159
Haiku 4.5 $0.00007 $0.00080

Measured 2d ago against content hash 8957c6449c95, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

writing-graph-queries scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/skills/writing-graph-queries/SKILL.md · 88 lines

How it starts

The opening of the file, as written. The whole thing — 88 lines — stays where its author put it; the contents beside it link to each section on GitHub.

DuckPGQ Query Reference

Graph schema

-- Vertex: nodes table. Edge: edges table (source_id -> target_id).
-- Edge direction: source REFERENCES target (stg_orders -> raw_orders = stg depends on raw).
-- Upstream = follow -> . Downstream = follow <- .
CREATE PROPERTY GRAPH sqlprism_graph
  VERTEX TABLES (nodes)
  EDGE TABLES (edges SOURCE KEY (source_id) REFERENCES nodes (node_id)
    DESTINATION KEY (target_id) REFERENCES nodes (node_id))

Core syntax

Use COLUMNS (...) — never RETURN. Use {min,max} bounds — never unbounded +.

FROM GRAPH_TABLE (sqlprism_graph MATCH <pattern> COLUMNS (<expressions>))

Query patterns

Vertices:

FROM GRAPH_TABLE (sqlprism_graph MATCH (n:nodes) COLUMNS (n.node_id, n.name, n.kind))

Single-hop edges:

FROM GRAPH_TABLE (sqlprism_graph
  MATCH (a:nodes)-[e:edges]->(b:nodes)
  COLUMNS (a.name AS source, b.name AS target, e.relationship))

Filtered (upstream of a model):

FROM GRAPH_TABLE (sqlprism_graph
  MATCH (a:nodes WHERE a.name = 'stg_orders')-[e:edges]->(b:nodes)
  COLUMNS (a.name AS model, b.name AS depends_on))

Multi-hop (bounded, 1-3 hops):

FROM GRAPH_TABLE (sqlprism_graph
  MATCH (a:nodes WHERE a.name = 'stg_orders')-[e:edges]->{1,3}(b:nodes)
  COLUMNS (a.name AS model, b.name AS upstream))

Shortest path (forward direction only):

FROM GRAPH_TABLE (sqlprism_graph
  MATCH p = ANY SHORTEST
    (a:nodes WHERE a.name = 'stg_orders')-[e:edges]->{1,10}(b:nodes WHERE b.name = 'raw_orders')
  COLUMNS (a.name, b.name, path_length(p)))

Analytics functions

These are table functions, not GRAPH_TABLE queries:

SELECT * FROM pagerank(sqlprism_graph, nodes, edges)
-- Returns (rowid, score)

SELECT * FROM weakly_connected_component(sqlprism_graph, nodes, edges)
-- Returns (node_id, component_id)

SELECT * FROM local_clustering_coefficient(sqlprism_graph, nodes, edges)
-- Returns (node_id, lcc)

More examples: See EXAMPLES.md for real-world queries (downstream consumers, PageRank with JOINs, fan-in/fan-out, root sources, leaf models).

Read the full file on GitHub · 88 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 88 lines · 67 tokens per session scan A 8957c6449c95

Subscribe to this mod's changes

writing-graph-queries is a skill published in the GitHub repository darkcofy/sqlprism (1 stars, last pushed 2mo ago), licensed Apache-2.0. It adds 67 tokens to every session and 795 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-01.

Related

Other skills, from other repositories

prisma-upgrade-v7

Complete migration guide from Prisma ORM v6 to v7 covering all breaking changes. Use when upgrading Prisma versions, encountering v7 errors, or migrating existing projects. Triggers on "upgrade to prisma 7", "prisma 7 migration", "prisma-client generator", "driver adapter required".

nitrocloudofficial/nitrostack · 67 tokens

ddia-systems

Design data systems by understanding storage engines, replication, partitioning, transactions, and consistency models. Use when the user mentions "database choice", "which database should I use", "SQL or NoSQL", "replication lag", "partitioning strategy", "consistency vs availability", "stream processing", "ACID…

wondelai/skills · 138 tokens

sqlitecpp-update-sqlite

How to update the bundled SQLite3 amalgamation (sqlite3/sqlite3.c and sqlite3.h), the Meson wrap, README.md, and CHANGELOG.md. Use when upgrading SQLite, refreshing the vendored amalgamation, or bumping the sqlite3 wrap.

SRombauts/SQLiteCpp · 61 tokens

dsql

Build with Aurora DSQL — manage schemas, execute queries, handle migrations, diagnose query plans, diagnose cluster performance, load data, and develop applications with a serverless, distributed SQL database. Covers IAM auth, multi-tenant patterns, MySQL-to-DSQL and PostgreSQL-to-DSQL schema conversion, FK…

awslabs/agent-plugins · 227 tokens

mongodb-natural-language-querying

Generate read-only MongoDB queries (find) or aggregation pipelines using natural language, with collection schema context and sample documents. Use this skill whenever the user asks to write, create, or generate MongoDB queries, wants to filter/query/aggregate data in MongoDB, asks "how do I query...", needs help with…

mongodb/agent-skills · 162 tokens

sql-translate

Translate SQL queries between database dialects (Snowflake, BigQuery, PostgreSQL, MySQL, etc.).

AltimateAI/altimate-code · 26 tokens