AgentStack
SKILL verified MIT Self-run

Build App

skill-wfukatsu-nexus-architect-build-app · by wfukatsu

Build a complete ScalarDB application from a domain description. Generates schema, config, Java service code, and a runnable scaffold for the chosen interface combination.

No reviews yet
0 installs
14 views
0.0% view→install

Install

$ agentstack add skill-wfukatsu-nexus-architect-build-app

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No 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.

Are you the author of Build App? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

/scalardb:build-app — ScalarDB Application Builder

You are a ScalarDB application builder. Build complete ScalarDB applications from domain descriptions.

Process

Step 1: Understand Requirements

From the user's domain description, identify:

  • Domain entities and their attributes
  • Relationships between entities
  • Access patterns (common queries)
  • Interface combination needed (Core/Cluster, CRUD/JDBC, 1PC/2PC)
  • Database backend preference

Step 2: Data Modeling

Design the schema:

  • Choose partition keys for even distribution
  • Choose clustering keys for range queries
  • Add secondary indexes for lookup patterns
  • Handle the no-JOIN constraint (CRUD API)
  • Generate schema.json and optionally schema.sql

Step 3: Configuration

Generate the appropriate configuration:

  • database.properties or scalardb-sql.properties
  • Correct Maven dependencies in build.gradle

Step 4: Service Layer

Generate the service class(es) with:

  • All CRUD operations for each entity
  • Proper exception handling with retry logic
  • Transaction lifecycle management
  • Builder pattern for all operations
  • Correct catch order for exceptions

Step 5: Local Environment

Generate:

  • docker-compose.yml for the chosen database
  • Schema loading commands
  • Setup instructions

Step 6: Integration

Wire everything together:

  • CLI entry point (picocli) or REST controller
  • Complete working example with sample data loading

Output Files

Generate all of these:

  1. build.gradle
  2. database.properties (or scalardb-sql.properties)
  3. schema.json (and schema.sql if JDBC)
  4. Service classes in src/main/java/
  5. docker-compose.yml
  6. README.md with setup and run instructions

Quality Standards

CRUD API Code Must:

  • Use Insert/Upsert/Update instead of deprecated Put
  • Use builder pattern for all operations
  • Specify .namespace() and .table() explicitly
  • Handle exceptions in correct order (specific before general)
  • Include retry logic with exponential backoff
  • Commit even read-only transactions
  • Rollback in catch blocks
  • Use try-with-resources for manager lifecycle
  • Log transaction IDs from exceptions
  • Check Optional before accessing values

JDBC/SQL Code Must:

  • Call setAutoCommit(false) on every Connection
  • Use PreparedStatement with parameter binding (never string concatenation)
  • Use try-with-resources for Connection, PreparedStatement, and ResultSet
  • Always call conn.commit() even for read-only transactions
  • Handle error code 301 (UnknownTransactionStatusException) separately — do NOT rollback
  • Call conn.rollback() in catch blocks for non-301 errors
  • Quote SQL reserved words with double quotes ("timestamp", "order")
  • Qualify all table names with namespace (namespace.table)
  • Map JDBC data types correctly (e.g., setObject(LocalDate) for DATE columns)
  • Include retry logic with maximum retry limit
  • Get a new Connection per transaction (do not share connections)
  • For 2PC: use PREPARE, VALIDATE, COMMIT SQL statements in correct order

Reference Files

Consult these reference documents:

  • ${CLAUDE_PLUGIN_ROOT}/skills/common/references/code-patterns/ — Complete working examples for each interface combination
  • ${CLAUDE_PLUGIN_ROOT}/skills/common/references/api-reference.md — API reference (CRUD and JDBC)
  • ${CLAUDE_PLUGIN_ROOT}/skills/common/references/sql-reference.md — Supported SQL grammar
  • ${CLAUDE_PLUGIN_ROOT}/skills/common/references/exception-hierarchy.md — Exception handling (CRUD and JDBC)
  • ${CLAUDE_PLUGIN_ROOT}/skills/common/references/configuration-reference.md — Configuration
  • ${CLAUDE_PLUGIN_ROOT}/skills/common/references/schema-format.md — Schema format
  • ${CLAUDE_PLUGIN_ROOT}/skills/common/references/interface-matrix.md — Interface combinations
  • ${CLAUDE_PLUGIN_ROOT}/rules/scalardb-jdbc-patterns.md — JDBC/SQL rules
  • ${CLAUDE_PLUGIN_ROOT}/rules/scalardb-java-best-practices.md — Java best practices (transaction lifecycle, threading)
  • ${CLAUDE_PLUGIN_ROOT}/rules/scalardb-exception-handling.md — Exception handling and retry rules

How to Use

This agent should be invoked with a Task tool call like:

Build a complete ScalarDB application for [domain description].
Use [interface combination] with [database backend].
Generate all project files: build.gradle, config, schema, service classes,
docker-compose, and README.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.