Initial commit
This commit is contained in:
15
.claude-plugin/plugin.json
Normal file
15
.claude-plugin/plugin.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "nosql-data-modeler",
|
||||
"description": "Database plugin for nosql-data-modeler",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "Claude Code Plugins",
|
||||
"email": "[email protected]"
|
||||
},
|
||||
"skills": [
|
||||
"./skills"
|
||||
],
|
||||
"agents": [
|
||||
"./agents"
|
||||
]
|
||||
}
|
||||
3
README.md
Normal file
3
README.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# nosql-data-modeler
|
||||
|
||||
Database plugin for nosql-data-modeler
|
||||
37
agents/nosql-agent.md
Normal file
37
agents/nosql-agent.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
description: Design NoSQL data models
|
||||
capabilities: ["nosql", "data-modeling", "mongodb", "dynamodb"]
|
||||
---
|
||||
|
||||
# NoSQL Data Modeler
|
||||
|
||||
Design efficient NoSQL data models for document and key-value databases.
|
||||
|
||||
## NoSQL Modeling Principles
|
||||
|
||||
1. **Embed vs Reference**: Denormalization for performance
|
||||
2. **Access Patterns**: Design for queries, not normalization
|
||||
3. **Sharding Keys**: Distribute data evenly
|
||||
4. **Indexes**: Support query patterns
|
||||
|
||||
## MongoDB Example
|
||||
|
||||
```javascript
|
||||
// User document with embedded posts (1-to-few)
|
||||
{
|
||||
_id: ObjectId("..."),
|
||||
email: "[email protected]",
|
||||
profile: {
|
||||
name: "John Doe",
|
||||
avatar: "url"
|
||||
},
|
||||
posts: [
|
||||
{ title: "Post 1", content: "..." },
|
||||
{ title: "Post 2", content: "..." }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## When to Activate
|
||||
|
||||
Design NoSQL schemas for MongoDB, DynamoDB, Cassandra, etc.
|
||||
61
plugin.lock.json
Normal file
61
plugin.lock.json
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"$schema": "internal://schemas/plugin.lock.v1.json",
|
||||
"pluginId": "gh:jeremylongshore/claude-code-plugins-plus:plugins/database/nosql-data-modeler",
|
||||
"normalized": {
|
||||
"repo": null,
|
||||
"ref": "refs/tags/v20251128.0",
|
||||
"commit": "da9e639b4795ae6bb1430a64d493ad272d3c7d19",
|
||||
"treeHash": "82cf33a8076a3f409b249053c7259266ff08f8829873356b7fd8b7d7753a5f53",
|
||||
"generatedAt": "2025-11-28T10:18:37.521388Z",
|
||||
"toolVersion": "publish_plugins.py@0.2.0"
|
||||
},
|
||||
"origin": {
|
||||
"remote": "git@github.com:zhongweili/42plugin-data.git",
|
||||
"branch": "master",
|
||||
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
|
||||
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
|
||||
},
|
||||
"manifest": {
|
||||
"name": "nosql-data-modeler",
|
||||
"description": "Database plugin for nosql-data-modeler",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"content": {
|
||||
"files": [
|
||||
{
|
||||
"path": "README.md",
|
||||
"sha256": "104ee4e766df10673e2f62122a0bd81199b62ca1603630a66c04e5a1c24a5270"
|
||||
},
|
||||
{
|
||||
"path": "agents/nosql-agent.md",
|
||||
"sha256": "27e6292bd8f6f99538ae074697c1c0b8eb5a157d199a489ae45d79a1261f2727"
|
||||
},
|
||||
{
|
||||
"path": ".claude-plugin/plugin.json",
|
||||
"sha256": "e37196f1f17c3ff497943bc324b68f77486064b5d7429fd8694a22c7b4d7ce87"
|
||||
},
|
||||
{
|
||||
"path": "skills/nosql-data-modeler/SKILL.md",
|
||||
"sha256": "3197b29c2b957a21ed7fcd29c10b0924ef6461a44e79bcf1780504d86d24fdb8"
|
||||
},
|
||||
{
|
||||
"path": "skills/nosql-data-modeler/references/README.md",
|
||||
"sha256": "f92662602d77ec8b6bafad8d7f2a1488956587ead890fb961f93fdb90e6de0ca"
|
||||
},
|
||||
{
|
||||
"path": "skills/nosql-data-modeler/scripts/README.md",
|
||||
"sha256": "6d9d05437d438aa529dc5b5e1dd9f3bc759eb0180fb94b875f85b191ab0b18d0"
|
||||
},
|
||||
{
|
||||
"path": "skills/nosql-data-modeler/assets/README.md",
|
||||
"sha256": "26082647be9bb67e69b0ef25393998173cffd88ce314d373319396be8d76d360"
|
||||
}
|
||||
],
|
||||
"dirSha256": "82cf33a8076a3f409b249053c7259266ff08f8829873356b7fd8b7d7753a5f53"
|
||||
},
|
||||
"security": {
|
||||
"scannedAt": null,
|
||||
"scannerVersion": null,
|
||||
"flags": []
|
||||
}
|
||||
}
|
||||
55
skills/nosql-data-modeler/SKILL.md
Normal file
55
skills/nosql-data-modeler/SKILL.md
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
name: modeling-nosql-data
|
||||
description: |
|
||||
This skill enables Claude to design NoSQL data models. It activates when the user requests assistance with NoSQL database design, including schema creation, data modeling for MongoDB or DynamoDB, or defining document structures. Use this skill when the user mentions "NoSQL data model", "design MongoDB schema", "create DynamoDB table", or similar phrases related to NoSQL database architecture. It assists in understanding NoSQL modeling principles like embedding vs. referencing, access pattern optimization, and sharding key selection.
|
||||
allowed-tools: Read, Write, Edit, Grep, Glob, Bash
|
||||
version: 1.0.0
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
This skill facilitates the design of efficient NoSQL data models, providing guidance on schema creation, denormalization strategies, and query optimization for document and key-value databases. It helps users translate their data requirements into production-ready NoSQL implementations.
|
||||
|
||||
## How It Works
|
||||
|
||||
1. **Identify Database Type**: Determines the target NoSQL database (e.g., MongoDB, DynamoDB).
|
||||
2. **Analyze Data Requirements**: Understands the data entities, attributes, and relationships.
|
||||
3. **Design Data Model**: Creates a NoSQL data model based on the identified database type and data requirements, considering embedding vs. referencing and access patterns.
|
||||
4. **Suggest Schema Definition**: Provides a schema definition or table structure based on the designed data model.
|
||||
|
||||
## When to Use This Skill
|
||||
|
||||
This skill activates when you need to:
|
||||
- Design a new NoSQL database schema.
|
||||
- Optimize an existing NoSQL data model for performance.
|
||||
- Translate relational data models to NoSQL.
|
||||
- Choose appropriate sharding keys for a NoSQL database.
|
||||
- Generate MongoDB or DynamoDB schema definitions.
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1: Designing a MongoDB Schema for an E-commerce Application
|
||||
|
||||
User request: "Design a MongoDB schema for an e-commerce application, focusing on products and customers."
|
||||
|
||||
The skill will:
|
||||
1. Analyze the data requirements for products and customers, considering attributes like product name, price, description, customer ID, name, and address.
|
||||
2. Design a MongoDB schema with embedded product reviews and customer order history, optimizing for common query patterns.
|
||||
|
||||
### Example 2: Creating a DynamoDB Table for a Social Media Platform
|
||||
|
||||
User request: "Create a DynamoDB table for storing social media posts, considering high read and write throughput."
|
||||
|
||||
The skill will:
|
||||
1. Analyze the data requirements for social media posts, considering attributes like user ID, timestamp, content, and likes.
|
||||
2. Design a DynamoDB table with appropriate primary and secondary indexes for efficient querying based on user ID and timestamp.
|
||||
|
||||
## Best Practices
|
||||
|
||||
- **Denormalization**: Embed related data when reads are more frequent than writes.
|
||||
- **Access Patterns**: Optimize the data model for the most common query patterns.
|
||||
- **Sharding**: Choose sharding keys that distribute data evenly across shards.
|
||||
|
||||
## Integration
|
||||
|
||||
This skill can be integrated with other plugins for generating code based on the designed data model, such as generating MongoDB queries or DynamoDB API calls.
|
||||
7
skills/nosql-data-modeler/assets/README.md
Normal file
7
skills/nosql-data-modeler/assets/README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Assets
|
||||
|
||||
Bundled resources for nosql-data-modeler skill
|
||||
|
||||
- [ ] schema_templates/: Templates for common NoSQL schemas (e.g., user profile, product catalog).
|
||||
- [ ] sample_data/: Sample data files corresponding to the schema templates.
|
||||
- [ ] diagrams/: Visual diagrams illustrating different NoSQL data modeling patterns.
|
||||
8
skills/nosql-data-modeler/references/README.md
Normal file
8
skills/nosql-data-modeler/references/README.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# References
|
||||
|
||||
Bundled resources for nosql-data-modeler skill
|
||||
|
||||
- [ ] mongodb_best_practices.md: Detailed best practices for MongoDB schema design.
|
||||
- [ ] dynamodb_best_practices.md: Detailed best practices for DynamoDB table design.
|
||||
- [ ] nosql_data_modeling_principles.md: General principles and guidelines for NoSQL data modeling.
|
||||
- [ ] example_schemas.md: A collection of example NoSQL schemas for various use cases (e.g., e-commerce, social media).
|
||||
7
skills/nosql-data-modeler/scripts/README.md
Normal file
7
skills/nosql-data-modeler/scripts/README.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Scripts
|
||||
|
||||
Bundled resources for nosql-data-modeler skill
|
||||
|
||||
- [ ] validate_schema.py: Validates a NoSQL schema against best practices and common errors.
|
||||
- [ ] generate_sample_data.py: Generates sample data based on the defined schema for testing purposes.
|
||||
- [ ] migrate_schema.py: Migrates a schema from one NoSQL database type to another (e.g., MongoDB to DynamoDB).
|
||||
Reference in New Issue
Block a user