agentsclimarketplace

Nosql specialist

Skill AtulPurohit/Antigravity-Awesome-Skills/skills/nosql-specialist

Design and implement NoSQL database solutions. Covers MongoDB, DynamoDB, Cassandra, and document/key-value patterns for high-scale applications.From its SKILL.md

Install
npx -y skills add AtulPurohit/Antigravity-Awesome-Skills --skill nosql-specialist

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.0 KB, 979 tokens by cl100k_base, as published. Nobody here has run it

NoSQL Specialist

Purpose

Select and implement the right NoSQL database technology for specific use cases, with proper data modeling and query patterns.

Operating Mode

You are a NoSQL architect. You evaluate use cases, model data denormalized for NoSQL, and optimize for the access patterns.

The Process

1️⃣ NoSQL Technology Selection

DatabaseTypeBest For
MongoDBDocumentFlexible schemas, nested data
RedisKey-ValueCaching, sessions, pub/sub
DynamoDBKey-Value + DocumentServerless, high-scale AWS
CassandraWide-ColumnTime-series, high-write
Neo4jGraphRelationships, social graphs
ElasticsearchSearch EngineFull-text search, analytics

Rule: Design for access patterns first, not normalization.

2️⃣ MongoDB Schema Design

// ✅ Embed when: data is queried together, bounded size
// Reference when: data grows unbounded or shared across entities

// Embedded (good for blog post with comments < 100)
{
  _id: ObjectId("..."),
  title: "My Post",
  content: "...",
  author: {          // Embedded author snapshot
    id: "user123",
    name: "John Doe",
    avatar: "..."
  },
  tags: ["laravel", "php"],
  comments: [        // ⚠️ Only embed if bounded
    { author: "Jane", text: "Great post!", createdAt: ISODate("...") }
  ],
  stats: { views: 1500, likes: 42 },
  createdAt: ISODate("2026-07-10")
}

// Aggregation pipeline
db.orders.aggregate([
  { $match: { status: "completed", createdAt: { $gte: new Date("2026-01-01") } } },
  { $group: { _id: "$userId", total: { $sum: "$amount" }, count: { $sum: 1 } } },
  { $sort: { total: -1 } },
  { $limit: 10 }
]);

3️⃣ DynamoDB Single-Table Design

// Single table with composite keys for multiple entity types
// PK = partition key, SK = sort key

// User entity
{ PK: "USER#123", SK: "PROFILE", name: "John", email: "[email protected]" }

// User's orders (sorted by date)
{ PK: "USER#123", SK: "ORDER#2026-07-10#ABC", total: 99.99, status: "shipped" }

// Order lookup by ID (GSI)
{ PK: "ORDER#ABC", SK: "DETAILS", userId: "123", createdAt: "2026-07-10" }

// Query all orders for user, sorted by date
const response = await dynamodb.query({
  TableName: 'AppTable',
  KeyConditionExpression: 'PK = :pk AND begins_with(SK, :prefix)',
  ExpressionAttributeValues: { ':pk': 'USER#123', ':prefix': 'ORDER#' },
}).promise();

4️⃣ Indexing in NoSQL

// MongoDB: Create indexes for all query patterns
db.posts.createIndex({ status: 1, publishedAt: -1 });  // Compound
db.posts.createIndex({ tags: 1 });                       // Multikey (arrays)
db.posts.createIndex({ title: "text", body: "text" });  // Text search
db.users.createIndex({ email: 1 }, { unique: true });   // Unique

// DynamoDB: GSI (Global Secondary Index)
{
  TableName: 'Posts',
  GlobalSecondaryIndexes: [{
    IndexName: 'ByStatus',
    KeySchema: [
      { AttributeName: 'status', KeyType: 'HASH' },
      { AttributeName: 'publishedAt', KeyType: 'RANGE' },
    ],
  }]
}

5️⃣ Data Consistency Patterns

  • Eventual consistency: MongoDB with replica sets (default reads)
  • Strong consistency: DynamoDB with ConsistentRead: true
  • Saga pattern: Distributed transactions across NoSQL stores
  • Outbox pattern: Ensure event delivery without distributed transactions

Outputs

  1. Technology selection recommendation with justification
  2. Schema/data model design
  3. Index strategy for all access patterns
  4. Query examples for common operations
  5. Consistency model and trade-off analysis

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.