Designs, reviews, and refactors graph database schemas for Neo4j, Memgraph, Neptune using 46 prioritized rules across 8 categories with Cypher examples focused on modeling correctness.
npx claudepluginhub joshuarweaver/cascade-code-general-misc-1 --plugin pproenca-dot-skills-1This skill uses the workspace's default tool permissions.
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 specifi...
Applies Acme Corporation brand guidelines including colors, fonts, layouts, and messaging to generated PowerPoint, Excel, and PDF documents.
Builds DCF models with sensitivity analysis, Monte Carlo simulations, and scenario planning for investment valuation and risk assessment.
Calculates profitability (ROE, margins), liquidity (current ratio), leverage, efficiency, and valuation (P/E, EV/EBITDA) ratios from financial statements in CSV, JSON, text, or Excel for investment analysis.
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.
Reference these guidelines when:
| 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- |
entity-events - Model multi-participant events as first-class nodesentity-shared-values - Promote shared property values to nodesentity-specific-labels - Use specific labels over generic onesentity-multi-label - Qualify entities with multiple labelsentity-identity-state - Separate identity from mutable stateentity-reify-actions - Reify lifecycle actions into nodesentity-avoid-god-nodes - Avoid kitchen-sink entity nodesrel-specific-types - Use specific relationship types over generic onesrel-meaningful-direction - Choose semantically meaningful directionrel-naming-conventions - Follow UPPER_SNAKE_CASE for relationship typesrel-no-redundant-reverse - Don't create redundant reverse relationshipsrel-properties-scope - Put data on relationships only when it describes the connectionrel-single-semantic - One relationship type per semantic meaningrel-typed-over-filtered - Prefer typed relationships over generic + property filterprop-no-foreign-keys - Don't embed foreign keys as propertiesprop-promote-to-node - Promote frequently-queried values to nodesprop-correct-data-types - Use appropriate data types for propertiesprop-no-arrays-for-connections - Don't use property arrays when you need relationshipsprop-relationship-vs-node-data - Know when data belongs on relationship vs. nodequery-critical-traversals - Design for your most critical traversals firstquery-shortcut-relationships - Add shortcut relationships for frequent multi-hop queriesquery-denormalize-reads - Denormalize for read-heavy pathsquery-filter-by-rel-props - Use relationship properties to filter traversalsquery-test-before-deploy - Test model against real queries before deployingpattern-intermediary-nodes - Use intermediary nodes for multi-entity relationshipspattern-hierarchy - Model hierarchies with category nodes and depth relationshipspattern-linked-list - Use linked lists for ordered sequencespattern-timeline-tree - Apply timeline trees for temporal datapattern-fan-out - Fan-out pattern for event streams and activity feedspattern-bipartite - Use bipartite structure for many-to-many with contextanti-join-table-nodes - Don't model relational join tables as nodesanti-generic-relationships - Don't use generic RELATED_TO or CONNECTED relationshipsanti-relational-porting - Don't port relational schemas directly to graphanti-over-modeling - Don't make everything a nodeanti-duplicate-data - Don't duplicate data instead of creating relationshipsanti-string-encoded-structure - Don't encode structured data as delimited stringsconstraint-unique-identifiers - Define uniqueness constraints on natural identifiersconstraint-existence - Use existence constraints for required propertiesconstraint-index-traversals - Create indexes on traversal entry point propertiesconstraint-no-over-index - Don't over-index — each index has a write costconstraint-node-key - Use composite node keys for natural multi-part identifiersscale-supernode-mitigation - Mitigate supernodes with fan-out or partitioningscale-temporal-versioning - Separate current state from historical statescale-schema-migration - Plan for label and relationship type evolutionscale-batch-refactoring - Use APOC or batched queries for schema refactoringscale-dense-node-detection - Monitor and detect emerging supernodesRead individual reference files for detailed explanations and code examples:
| File | Description |
|---|---|
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |