Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Design DynamoDB tables and write efficient queries avoiding common NoSQL pitfalls.
Design DynamoDB tables and write efficient queries avoiding common NoSQL pitfalls.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Partition key determines data distribution—high-cardinality keys spread load evenly Hot partition = one key gets all traffic—use composite keys or add random suffix Sort key enables range queries within partition—design for access patterns Can't change keys after creation—model all access patterns before creating table
Query uses partition key + optional sort key—O(items in partition), always prefer Scan reads entire table—expensive, slow, avoids indexes; almost never correct "I need to filter by X" usually means missing GSI—add index, don't scan FilterExpression applies AFTER read—still consumes full read capacity
GSI = different partition/sort key—enables alternate access patterns GSI is eventually consistent—writes propagate with slight delay GSI consumes separate capacity—provision or pay for each GSI independently Sparse index trick: only items with attribute appear in GSI
One table for multiple entity types—prefix partition key: USER#123, ORDER#456 Overloaded sort key: METADATA, ORDER#2024-01-15, ITEM#abc Query returns mixed types—filter client-side or use begins_with Not always right—start with access patterns, not doctrine
Results capped at 1MB per request—must handle pagination LastEvaluatedKey in response means more pages—pass as ExclusiveStartKey Loop until LastEvaluatedKey is absent—common mistake: assume one call gets all Limit limits evaluated items, not returned—still need pagination logic
Reads are eventually consistent by default—may return stale data ConsistentRead: true for strong consistency—costs 2x read capacity GSI reads always eventually consistent—no strong consistency option Write-then-read needs consistent read or retry—eventual consistency bites here
ConditionExpression for optimistic locking—fails if condition false Prevent overwrites: attribute_not_exists(pk) Version check: version = :expected then increment ConditionCheckFailedException = retry with fresh data, don't just fail
BatchWriteItem is NOT atomic—partial success possible, check UnprocessedItems Retry unprocessed with exponential backoff—built into AWS SDK Max 25 items per batch, 16MB total—split larger batches No conditional writes in batch—use TransactWriteItems for atomicity
TransactWriteItems for atomic multi-item writes—all or nothing Max 100 items per transaction, 4MB total TransactGetItems for consistent multi-read—snapshot isolation 2x cost of normal operations—use only when atomicity required
Enable TTL on timestamp attribute—DynamoDB deletes expired items automatically Deletion is background process—items may persist hours after expiration TTL value is Unix epoch seconds—milliseconds silently fails Filter attribute_exists(ttl) AND ttl > :now for queries if needed
On-demand: pay per request, auto-scales—good for unpredictable traffic Provisioned: set RCU/WCU, cheaper at scale—needs capacity planning Provisioned with auto-scaling for predictable patterns—set min/max/target ProvisionedThroughputExceededException = throttled—back off and retry
Item size max 400KB—store large objects in S3, reference in DynamoDB Partition throughput: 3000 RCU, 1000 WCU—spread across partitions Query/Scan returns max 1MB—pagination required for more Attribute name max 64KB total per item—don't use long attribute names
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.