build-app
Build a complete ScalarDB application from a domain description.
Skill by Ryuking1228
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/ryuking1228-build-app
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
build-app- Description
- Build a complete ScalarDB application from a domain description. Generates schema, config, Java service code, and a runnable scaffold for the chosen interface combination.
- License
- MIT
- Instructions
- 128 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- name: missing
Files (1)
- SKILL.md
SKILL.md (first lines)
# /scalardb:build-app — ScalarDB Application Builder
You are a ScalarDB application builder. Build complete ScalarDB applications from domain descriptions.
**Knowledge grounding**: before writing schema, config, or Java code, resolve the OKF knowledge
bundle and pin the target ScalarDB version/edition per `rules/okf-knowledge-bundle.md`. API
signatures, config keys, and exception retryability come from that release's `implement`-phase
concepts (`api-guide.md`, `configurations.md`, `scalardb-samples/`) — not from memory.
## 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`
**Resolve every version before pinning it**, per `rules/dependency-versions.md`: look up ScalarDB
(`https://repo1.maven.org/maven2/com/scalar-labs/<artifact>/maven-metadata.xml` or
`gh release list -R scalar-labs/scalardb`), Java, the Gradle plugins and the database image tag; take
the newest **stable** release of a supported line (no `-alpha`/`-beta`/`-rc`/`-SNAPSHOT`, no moving
`:latest` tag); keep all ScalarDB artifacts on one version; and treat the numbers in
`code-patterns/*.md` as dated examples. Present the version decision table for confirmation unless the
project opted out (`options.confirm_versions: false` / `--no-confirm-versions`), and record it in the
generated `README.md`.
### Step 4: Service Layer — tests first
Per operation, in this order (@rules/tdd-workflow.md §2): the `*IT` for the operation against the
in-process SQLite-backed engine (`ScalarDbTestBackend`, as `/scalardb:scaffold` lays it out) and
the unit test over the in-memory Fake, run and seen failing; then the service code that makes
them pass; then a structural pass. Every operation ends with a happy-path IT, and the service as a
whole with one OCC-conflict IT and one blind-write IT. 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/`, with their repository port, `InMemory*Repository` Fake, unit tests and `*IT` under `src/test/java/`, and the `integrationTest` task in `build.gradle`
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<Result>` 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:From Ryuking1228/ai-dev-codex-version, MIT.
More from Ryuking1228/ai-dev-codex-version
- 0.560score
deliver-backlog
Ryuking1228
Orchestrate the implementation skill group over a backlog: drive each Issue under an Epic through implement → review → (human approval) → merge, in order…
SkillAFreshness: AClaude Code +9 - 0.560score
capture-followup
Ryuking1228
Capture follow-up work discovered during backlog delivery — deferred tasks, out-of-scope findings, doc drift, split-off scope, waived acceptance criteria —…
SkillAFreshness: AClaude Code +9 - 0.560score
analyze-ui
Ryuking1228
Analyze the user interface of an existing system: every screen with what it asks for (inputs, validation), what it shows (outputs, messages), what it lets a…
SkillAFreshness: AClaude Code +9 - 0.559score
ai-dev-loop-backlog-delivery
Ryuking1228
Implement and review an approved AI Dev Loop backlog through pull request creation and explicit merge gates.
SkillAFreshness: AClaude Code +9 - 0.559score
ai-dev-loop-new-app
Ryuking1228
Build a new React, FastAPI, and PostgreSQL application end to end.
SkillAFreshness: AClaude Code +9 - 0.557score
app-start
Ryuking1228
Build a new full-stack app with Codex, React, FastAPI and PostgreSQL; implement features, run locally, verify with automated tests, prepare deployment and…
SkillAFreshness: AClaude Code +9 - 0.556score
ai-dev-loop-architecture
Ryuking1228
Investigate and design an existing or greenfield system.
SkillAFreshness: AClaude Code +9 - 0.556score
ai-dev-loop-product-design
Ryuking1228
Turn a product idea into validated product direction and requirements.
SkillAFreshness: AClaude Code +9 - 0.520score
define-requirements
Ryuking1228
Define system requirements through document intake and interactive elicitation.
SkillBFreshness: BClaude Code +9 - 0.520score
design-api
Ryuking1228
Generate REST/GraphQL/gRPC/AsyncAPI specifications as the project's single, verifiable API contract — named schemas, every status code declared, RFC 9457…
SkillBFreshness: BClaude Code +9 - 0.517score
design-data-layer
Ryuking1228
Generic database design for non-ScalarDB projects.
SkillBFreshness: BClaude Code +9 - 0.517score
analyze
Ryuking1228
Extract ubiquitous language, actor-role-permission matrix, and domain-code mapping.
SkillBFreshness: BClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Aug 29, 2026 (2 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from Ryuking1228
- 0.560score
deliver-backlog
Ryuking1228
Orchestrate the implementation skill group over a backlog: drive each Issue under an Epic through implement → review → (human approval) → merge, in order…
SkillAFreshness: AClaude Code +9 - 0.560score
capture-followup
Ryuking1228
Capture follow-up work discovered during backlog delivery — deferred tasks, out-of-scope findings, doc drift, split-off scope, waived acceptance criteria —…
SkillAFreshness: AClaude Code +9 - 0.560score
analyze-ui
Ryuking1228
Analyze the user interface of an existing system: every screen with what it asks for (inputs, validation), what it shows (outputs, messages), what it lets a…
SkillAFreshness: AClaude Code +9 - 0.559score
ai-dev-loop-new-app
Ryuking1228
Build a new React, FastAPI, and PostgreSQL application end to end.
SkillAFreshness: AClaude Code +9 - 0.559score
ai-dev-loop-backlog-delivery
Ryuking1228
Implement and review an approved AI Dev Loop backlog through pull request creation and explicit merge gates.
SkillAFreshness: AClaude Code +9 - 0.557score
app-start
Ryuking1228
Build a new full-stack app with Codex, React, FastAPI and PostgreSQL; implement features, run locally, verify with automated tests, prepare deployment and…
SkillAFreshness: AClaude Code +9
Cite this page
build-app skill. Agent Mart. https://agentmart.dev/skills/ryuking1228-build-app (last updated 2026-10-24)