Install
$ agentstack add skill-wfukatsu-nexus-architect-crud-ops ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
/scalardb:crud-ops — ScalarDB CRUD Operations Guide
Instructions
You are a ScalarDB CRUD operations expert. Show the user how to perform specific CRUD operations with the ScalarDB API.
Interactive Flow
Step 1: Determine the operation
Ask: "What operation do you need help with?" if not specified.
Options:
- Get — Retrieve a single record by primary key or index
- Scan — Retrieve multiple records (partition scan, range scan, scan all, index scan)
- Insert — Insert a new record (fails if exists)
- Upsert — Insert or update a record
- Update — Update an existing record (does nothing if not exists)
- Delete — Delete a record
- Batch — Execute multiple operations atomically
- Key construction — Build single and composite keys
Step 2: Gather context
Ask about their schema:
- Namespace and table name
- Partition key column(s) and type(s)
- Clustering key column(s) and type(s) if applicable
- Value columns they want to read/write
Step 3: Generate code
Generate the complete code example including:
- Builder pattern usage
- Key construction
- Result extraction
- Proper exception handling
- Transaction lifecycle (begin, operation, commit, rollback)
Reference
Read ${CLAUDE_PLUGIN_ROOT}/skills/common/references/api-reference.md for the complete API reference. Read ${CLAUDE_PLUGIN_ROOT}/rules/scalardb-crud-patterns.md for CRUD API coding rules.
Quick Reference Examples
Get by Primary Key
Optional result = tx.get(
Get.newBuilder()
.namespace("ns").table("tbl")
.partitionKey(Key.ofInt("id", 1))
.clusteringKey(Key.ofInt("ck", 2))
.build());
Get by Index
Optional result = tx.get(
Get.newBuilder()
.namespace("ns").table("tbl")
.indexKey(Key.ofText("order_id", orderId))
.build());
Scan (Partition)
List results = tx.scan(
Scan.newBuilder()
.namespace("ns").table("tbl")
.partitionKey(Key.ofInt("pk", 1))
.ordering(Scan.Ordering.desc("ck"))
.limit(100)
.build());
Scan (Range)
List results = tx.scan(
Scan.newBuilder()
.namespace("ns").table("tbl")
.partitionKey(Key.ofInt("pk", 1))
.start(Key.ofInt("ck", 10)).startInclusive(true)
.end(Key.ofInt("ck", 20)).endInclusive(false)
.build());
Scan All
List results = tx.scan(
Scan.newBuilder()
.namespace("ns").table("tbl")
.all()
.limit(100)
.build());
// Requires: scalar.db.cross_partition_scan.enabled=true
Insert
tx.insert(
Insert.newBuilder()
.namespace("ns").table("tbl")
.partitionKey(Key.ofInt("id", 1))
.textValue("name", "Alice")
.intValue("age", 30)
.build());
Upsert
tx.upsert(
Upsert.newBuilder()
.namespace("ns").table("tbl")
.partitionKey(Key.ofInt("id", 1))
.textValue("name", "Alice")
.intValue("age", 31)
.build());
Update with Condition
tx.update(
Update.newBuilder()
.namespace("ns").table("tbl")
.partitionKey(Key.ofInt("id", 1))
.intValue("balance", newBalance)
.condition(ConditionBuilder.updateIf(
ConditionBuilder.column("balance").isGreaterThanOrEqualToInt(amount)
).build())
.build());
Delete
tx.delete(
Delete.newBuilder()
.namespace("ns").table("tbl")
.partitionKey(Key.ofInt("id", 1))
.clusteringKey(Key.ofInt("ck", 2))
.build());
Key Construction (Composite)
Key compositeKey = Key.newBuilder()
.addInt("col1", 1)
.addText("col2", "abc")
.build();
Result Extraction
if (result.isPresent()) {
Result r = result.get();
int id = r.getInt("id"); // 0 if NULL
String name = r.getText("name"); // null if NULL
boolean isNull = r.isNull("name"); // check NULL
}
Output Format
Provide complete, runnable code examples with proper imports and exception handling. Tailor examples to the user's specific schema.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: wfukatsu
- Source: wfukatsu/nexus-architect
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.