Skip to content
Agentmart
Submit a tool

graph-schema

Graph database schema design and data modeling expert.

Skill by pproenca

IndexedMIT★ 218
Write a review

Chalk Labs

Need help deploying graph-schema?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/pproenca-graph-schema

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Graph database schema design and data modeling expert. Use when designing, reviewing, or refactoring graph database schemas (Neo4j, Memgraph, Neptune, etc.). Triggers on graph modeling, node/relationship design, Cypher schema, property graph design, knowledge graph modeling, or when translating a domain into a graph structure. Focuses primarily on data modeling correctness — understanding the user's goal and translating it into the right graph structure — with performance as a secondary concern.

Use cases: design, backend, data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/graph-schema

What's inside

Skill name
graph-schema
Description
Graph database schema design and data modeling expert. Use when designing, reviewing, or refactoring graph database schemas (Neo4j, Memgraph, Neptune, etc.). Triggers on graph modeling, node/relationship design, Cypher schema, property graph design, knowledge graph modeling, or when translating a domain into a graph structure. Focuses primarily on data modeling correctness — understanding the user's goal and translating it into the right graph structure — with performance as a secondary concern.
License
MIT
Instructions
117 lines in SKILL.md · view on GitHub

Files (51)

  • AGENTS.md
  • SKILL.md
  • _template.md · assets/templates/
  • metadata.json
  • _sections.md · references/
  • anti-duplicate-data.md · references/
  • anti-generic-relationships.md · references/
  • anti-join-table-nodes.md · references/
  • anti-over-modeling.md · references/
  • anti-relational-porting.md · references/
  • anti-string-encoded-structure.md · references/
  • constraint-existence.md · references/
  • constraint-index-traversals.md · references/
  • constraint-no-over-index.md · references/
  • constraint-node-key.md · references/
  • constraint-unique-identifiers.md · references/
  • entity-avoid-god-nodes.md · references/
  • entity-events.md · references/
  • entity-identity-state.md · references/
  • entity-multi-label.md · references/
  • entity-reify-actions.md · references/
  • entity-shared-values.md · references/
  • entity-specific-labels.md · references/
  • pattern-bipartite.md · references/
  • pattern-fan-out.md · references/
  • pattern-hierarchy.md · references/
  • pattern-intermediary-nodes.md · references/
  • pattern-linked-list.md · references/
  • pattern-timeline-tree.md · references/
  • prop-correct-data-types.md · references/
  • prop-no-arrays-for-connections.md · references/
  • prop-no-foreign-keys.md · references/
  • prop-promote-to-node.md · references/
  • prop-relationship-vs-node-data.md · references/
  • query-critical-traversals.md · references/
  • query-denormalize-reads.md · references/
  • query-filter-by-rel-props.md · references/
  • query-shortcut-relationships.md · references/
  • query-test-before-deploy.md · references/
  • rel-meaningful-direction.md · references/
  • rel-naming-conventions.md · references/
  • rel-no-redundant-reverse.md · references/
  • rel-properties-scope.md · references/
  • rel-single-semantic.md · references/
  • rel-specific-types.md · references/
  • rel-typed-over-filtered.md · references/
  • scale-batch-refactoring.md · references/
  • scale-dense-node-detection.md · references/
  • scale-schema-migration.md · references/
  • scale-supernode-mitigation.md · references/
  • scale-temporal-versioning.md · references/

SKILL.md (first lines)

# dot-skills Graph Database Schema Design Best Practices

Comprehensive graph database data modeling guide for property graphs (Neo4j, Memgraph, Amazon Neptune, etc.). Contains 46 rules across 8 categories, prioritized by modeling impact from critical (entity classification, relationship design) to incremental (scale and evolution). Each rule includes detailed explanations, real-world Cypher examples comparing incorrect vs. correct models, and specific impact descriptions.

**Philosophy:** Data modeling correctness first, performance second. Always ask "what is the user trying to achieve?" before choosing structure.

## When to Apply

Reference these guidelines when:
- Designing a new graph database schema from domain requirements
- Translating a relational schema to a graph model
- Deciding whether something should be a node, relationship, or property
- Reviewing an existing graph schema for modeling errors
- Refactoring a graph that produces awkward or slow queries
- Planning for schema evolution and data growth

## Rule Categories by Priority

| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | Entity Classification | CRITICAL | `entity-` |
| 2 | Relationship Design | CRITICAL | `rel-` |
| 3 | Property Placement | HIGH | `prop-` |
| 4 | Query-Driven Refinement | HIGH | `query-` |
| 5 | Structural Patterns | HIGH | `pattern-` |
| 6 | Anti-Patterns | MEDIUM | `anti-` |
| 7 | Constraints & Integrity | MEDIUM | `constraint-` |
| 8 | Scale & Evolution | LOW-MEDIUM | `scale-` |

## Quick Reference

### 1. Entity Classification (CRITICAL)

- [`entity-events`](references/entity-events.md) - Model multi-participant events as first-class nodes
- [`entity-shared-values`](references/entity-shared-values.md) - Promote shared property values to nodes
- [`entity-specific-labels`](references/entity-specific-labels.md) - Use specific labels over generic ones
- [`entity-multi-label`](references/entity-multi-label.md) - Qualify entities with multiple labels
- [`entity-identity-state`](references/entity-identity-state.md) - Separate identity from mutable state
- [`entity-reify-actions`](references/entity-reify-actions.md) - Reify lifecycle actions into nodes
- [`entity-avoid-god-nodes`](references/entity-avoid-god-nodes.md) - Avoid kitchen-sink entity nodes

### 2. Relationship Design (CRITICAL)

- [`rel-specific-types`](references/rel-specific-types.md) - Use specific relationship types over generic ones
- [`rel-meaningful-direction`](references/rel-meaningful-direction.md) - Choose semantically meaningful direction
- [`rel-naming-conventions`](references/rel-naming-conventions.md) - Follow UPPER_SNAKE_CASE for relationship types
- [`rel-no-redundant-reverse`](references/rel-no-redundant-reverse.md) - Don't create redundant reverse relationships
- [`rel-properties-scope`](references/rel-properties-scope.md) - Put data on relationships only when it describes the connection
- [`rel-single-semantic`](references/rel-single-semantic.md) - One relationship type per semantic meaning
- [`rel-typed-over-filtered`](references/rel-typed-over-filtered.md) - Prefer typed relationships over generic + property filter

### 3. Property Placement (HIGH)

- [`prop-no-foreign-keys`](references/prop-no-foreign-keys.md) - Don't embed foreign keys as properties
- [`prop-promote-to-node`](references/prop-promote-to-node.md) - Promote frequently-queried values to nodes
- [`prop-correct-data-types`](references/prop-correct-data-types.md) - Use appropriate data types for properties
- [`prop-no-arrays-for-connections`](references/prop-no-arrays-for-connections.md) - Don't use property arrays when you need relationships
- [`prop-relationship-vs-node-data`](references/prop-relationship-vs-node-data.md) - Know when data belongs on relationship vs. node

### 4. Query-Driven Refinement (HIGH)

- [`query-critical-traversals`](references/query-critical-traversals.md) - Design for your most critical traversals first
- [`query-shortcut-relationships`](references/query-shortcut-relationships.md) - Add shortcut relationships for frequent multi-hop queries
- [`query-denormalize-reads`](references/query-denormalize-reads.md) - Denormalize for read-heavy paths
- [`query-filter-by-rel-props`](references/query-filter-by-rel-props.md) - Use relationship properties to filter traversals
- [`query-test-before-deploy`](references/query-test-before-deploy.md) - Test model against real queries before deploying

### 5. Structural Patterns (HIGH)

- [`pattern-intermediary-nodes`](references/pattern-intermediary-nodes.md) - Use intermediary nodes for multi-entity relationships
- [`pattern-hierarchy`](references/pattern-hierarchy.md) - Model hierarchies with category nodes and depth relationships
- [`pattern-linked-list`](references/pattern-linked-list.md) - Use linked lists for ordered sequences
- [`pattern-timeline-tree`](references/pattern-timeline-tree.md) - Apply timeline trees for temporal data
- [`pattern-fan-out`](references/pattern-fan-out.md) - Fan-out pattern for event streams and activity feeds
- [`pattern-bipartite`](references/pattern-bipartite.md) - Use bipartite structure for many-to-many with context

### 6. Anti-Patterns (MEDIUM)

- [`anti-join-table-nodes`](references/anti-join-table-nodes.md) - Don't model relational join tables as nodes
- [`anti-generic-relationships`](references/anti-generic-relationships.md) - Don't use generic RELATED_TO or CONNECTED relationships
- [`anti-relational-porting`](references/anti-relational-porting.md) - Don't port relational schemas directly to graph
- [`anti-over-modeling`](references/anti-over-modeling.md) - Don't make everything a node
- [`anti-duplicate-data`](references/anti-duplicate-data.md) - Don't duplicate data instead of creating relationships
- [`anti-string-encoded-structure`](references/anti-string-encoded-structure.md) - Don't encode structured data as delimited strings

### 7. Constraints & Integrity (MEDIUM)

- [`constraint-unique-identifiers`](references/constraint-unique-identifiers.md) - Define uniqueness constraints on natural identifiers
- [`constraint-existence`](references/constraint-existence.md) - Use existence constraints for required properties
- [`constraint-index-traversals`](references/constraint-index-traversals.md) - Create indexes on traversal entry point properties
- [`constraint-no-over-index`](references/constraint-no-over-index.md) - Don't over-index — each index has a write cost
- [`constraint-node-key`](references/constraint-node-key.md) - Use composite node keys for natural multi-part identifiers

### 8. Scale & Evolution (LOW-MEDIUM)

- [`scale-supernode-mitigation`](references/scale-supernode-mitigation.md) - Mitigate supernodes with fan-out or partitioning
- [`scale-temporal-versioning`](references/scale-temporal-versioning.md) - Separate current state from historical state
- [`scale-schema-migration`](references/scale-schema-migration.md) - Plan for label and relationship type evolution
- [`scale-batch-refactoring`](references/scale-batch-refactoring.md) - Use APOC or batched queries for schema refactoring
- [`scale-dense-node-detection`](references/scale-dense-node-detection.md) - Monitor and detect emerging supernodes

## How to Use

Read individual reference files for detailed explanations and code examples:

- [Section definitions](references/_sections.md) - Category structure and impact levels
- [Rule template](assets/templates/_template.md) - Template for adding new rules

## Reference Files

| File | Description |
|------|-------------|
| [references/_sections.md](references/_sections.md) | Category definitions and ordering |
| [assets/templates/_template.md](assets/templates/_template.md) | Template for new rules |
| [metadata.json](metadata.json) | Version and reference information |

From pproenca/dot-skills, MIT.

More from pproenca/dot-skills

Signals

Stars
218
Forks
19
Open issues
3
Last commit (this folder)
May 27, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from pproenca

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get graph-schema running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying graph-schema?

CallGet help
Cite this page

graph-schema skill. Agent Mart. https://agentmart.dev/skills/pproenca-graph-schema (last updated 2026-10-24)