Agent skill

Cabloy Backend Scaffold

by cabloy in cabloy/cabloy

This skill should be used when the user needs the Vona backend scaffold/extend path in this Cabloy repo, especially to choose the right npm run vona generator or CRUD command and the required…

MITAuto-check passedDevelopment

Install Cabloy Backend Scaffold

skills CLI
$ npx skills add cabloy/cabloy --skill cabloy-backend-scaffold -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install cabloy/cabloy cabloy-backend-scaffold --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/cabloy/cabloy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/cabloy-backend-scaffold .claude/skills/cabloy-backend-scaffold && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cabloy-backend-scaffold
GitHub stars
982
Token cost
~3.1k tokens
SKILL.md length
1,448 words
Files
4 (incl. references)
Skills in repo
12
Repo updated
First seen
Licence
MIT

At a glance

This skill should be used when the user needs the Vona backend scaffold/extend path in this Cabloy repo, especially to choose the right npm run vona generator or CRUD command and the required…

  • Works in 7 steps: Detect repo and task scope → Start from Vona CLI and repo entrypoints → Choose the correct scaffolding path → …
  • Needs the Vona backend scaffold/extend path in this Cabloy repo
  • SKILL.md covers Goals, Step 1: Detect repo and task…, Step 2: Start from Vona CLI… and Step 3: Choose the correct…, plus 5 more sections
  • Calls npm

What it does

Cabloy Backend Scaffold is an agent skill from cabloy/cabloy. This skill should be used when the user needs the Vona backend scaffold/extend path in this Cabloy repo, especially to choose the right npm run vona generator or CRUD command and the required backend follow-up after generation. Trigger most strongly on backend requests involving modules, beans, controllers, services, models, entities, DTOs, CRUD, meta.version, field indexes, validation, or backend tests. Do not use it for frontend-first Zova work, stale generated consumer diagnosis, workflow-routing questions, or…

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 5 other files, including reference files (for example `evals/evals.json`, `references/backend-thread-map.md` and `references/follow-up-checklist.md`).

It sits in Development, covering Project scaffolding. It works with npm. The repository describes itself as: Cabloy is a Node.js fullstack framework for AI vibe coding, with AI Spec-Driven Development guiding work from confirmed specs to verifiable delivery. The licence is MIT.

When your agent uses it

  • Needs the Vona backend scaffold/extend path in this Cabloy repo
  • Especially to choose the right npm run vona generator
  • CRUD command and the required backend follow-up after generation
  • Most strongly on backend requests involving modules

Example prompts

  • “/cabloy-backend-scaffold”

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Detect repo and task scope
  2. Start from Vona CLI and repo entrypoints
  3. Choose the correct scaffolding path
  4. Inspect the generated backend thread
  5. Apply backend follow-up logic deliberately
  6. Use docs to avoid missing layers
  7. Verification guidance

What it can do on your machine

Read from SKILL.md and the folder at commit a12cf91. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cabloy Backend Scaffold loads about 3.1k tokens when it runs, and up to ~5.4k if it reads all its reference files. Until then it costs about 159 tokens; SKILL.md has 1,448 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~159
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from cabloy/cabloy at commit a12cf91, republished under its MIT licence (© cabloy). 1,448 words, ~3,081 tokens.

Download SKILL.mdSave it as .claude/skills/cabloy-backend-scaffold/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
cabloy-backend-scaffold
description
This skill should be used when the user needs the Vona backend scaffold/extend path in this Cabloy repo, especially to choose the right `npm run vona` generator or CRUD command and the required backend follow-up after generation. Trigger most strongly on backend requests involving modules, beans, controllers, services, models, entities, DTOs, CRUD, meta.version, field indexes, validation, or backend tests. Do not use it for frontend-first Zova work, stale generated consumer diagnosis, workflow-routing questions, or master-detail / nested-detail aggregation workflows that belong in `cabloy-master-detail`.

Cabloy Backend Scaffold

Use this skill when the user wants to add or extend a Vona backend feature thread.

Goals

  1. detect whether the active repository is Cabloy Basic or Cabloy Start
  2. stay backend-first unless the request clearly becomes a larger fullstack workflow
  3. prefer Vona CLI generation and CRUD tools over manual scaffolding
  4. always perform a backend follow-up review so migration, field indexes, DTO/OpenAPI contracts, and tests are not forgotten
  5. add a frontend-contract reminder only when the backend change likely affects OpenAPI consumers or generated SDK flows
  6. finish with verification guidance that matches the scope of the change

Step 1: Detect repo and task scope

Check the repository root for these marker files:

  • __CABLOY_BASIC__
  • __CABLOY_START__

Interpretation:

  • only __CABLOY_BASIC__ present → this is Cabloy Basic
  • only __CABLOY_START__ present → this is Cabloy Start
  • both markers present → treat the repository as ambiguous or invalid and stop before making edition-specific assumptions
  • neither marker present → inspect the owning package scripts and nearby repository structure, then ask before making an edition-specific assumption

Then classify the request:

  • backend-only if the task is about Vona modules, beans, models, entities, DTOs, CRUD, migration, tests, or backend contracts
  • fullstack only if the task clearly requires frontend SDK regeneration, frontend page/component work, or a broader cross-stack contract loop

Default to backend-first. Only escalate mentally to a broader fullstack workflow when the backend change obviously crosses the contract boundary.

If the user is still deciding a new business-domain boundary or suite/module naming, use the root cabloy-domain-planning skill before scaffolding.

If the task is really a broad cross-stack workflow, consider whether the root cabloy-workflow skill is the better primary router.

If the request is not ordinary standalone backend scaffolding but a parent-owned detail aggregation workflow, such as master-detail, nested-detail, aggregate-only detail, standalone-capable detail, or :tools:masterDetail, prefer the dedicated cabloy-master-detail skill first.

Step 2: Start from Vona CLI and repo entrypoints

Inspect these surfaces before proposing implementation:

  • the repository or workspace package.json that owns the scripts
  • npm run vona
  • Vona command families such as create:*, init:*, tools:*, and bin:*
  • repo-docs/backend/ for the relevant backend thread

For deeper reference material, read:

  • references/backend-thread-map.md
  • references/follow-up-checklist.md

Step 3: Choose the correct scaffolding path

Path A: create one backend bean or module piece

Use create:* when the user needs one structural piece such as:

  • module
  • bean
  • controller
  • service
  • model
  • entity
  • dto
  • test

Typical examples:

  • npm run vona :create:module ...
  • npm run vona :create:bean controller ...
  • npm run vona :create:bean dto ...
  • npm run vona :create:test ...
Path B: create a full CRUD thread

Use tools:* when the user needs a whole backend thread rather than one isolated file.

Typical example:

  • npm run vona :tools:crud ...

Choose this path when the user asks for a CRUD feature, an admin-style backend resource thread, or a connected set of controller/service/model/entity/dto/test files.

Path C: initialize supporting module resources

Use init:* when the task is really about module support files rather than business logic itself.

Typical areas include:

  • config
  • locale
  • constant
  • asset
  • types

Step 4: Inspect the generated backend thread

After generation, inspect what the CLI created and keep it as the baseline.

Typical backend thread pieces include:

  • controller
  • service
  • model
  • entity
  • dto
  • migration/meta files
  • locale files
  • tests

Do not throw away the generated structure and rewrite it from scratch unless the generator clearly does not match the task.

Generated renderer decision

When refining generated entity fields, choose form and table controls from business semantics, not only from the primitive TypeScript type:

  • keep ordinary Cabloy Basic text fields, such as generated name and description, on the implicit default Input renderer; do not mechanically add basic-input:formFieldInput
  • add explicit ZovaRender.field(...) when semantics require a specialized control, such as an enum/select, resource relation, date/time, boolean choice, money, image, or file
  • add ZovaRender.cell(...) when that field also needs specialized table presentation
  • reuse a shared renderer first, configure it with field-level options next, and create a custom renderer only when the shared surface cannot express the required behavior; follow cabloy-resource-field-update for the edition-aware renderer branch

Step 5: Apply backend follow-up logic deliberately

Backend scaffolding is rarely complete after file generation alone. Treat this follow-up review as mandatory.

Check which of these concerns apply:

Contract and validation

Check whether the feature needs:

  • request validation
  • DTO design
  • OpenAPI metadata
  • inferred DTO generation
Conditional RBAC metadata

When the active edition and installed modules provide @Passport.rbac(...) and the task adds or changes a decorated action:

  • verify the decorator, RBAC catalog, and any policy-catalog/editor consumer in the active source before making availability claims
  • provide locale-aware summary metadata at both the controller and action levels; these scopes are independent and must be authored explicitly
  • add locale-aware description metadata only when the business or administrative experience needs explanatory text
  • keep action keys, controller bean names, action names, routes, and other authorization/integration identifiers stable and nonlocalized
  • treat summary/description as presentation metadata, not authorization identity or enforcement
  • verify the explicit server-side catalog/editor projection; do not assume OpenAPI metadata is automatically displayed by a policy editor

For the authoring example and metadata boundary, read Controller Guide and Controller AOP Guide.

Show full SKILL.md (618 more words)Show less
Persistence and schema lifecycle

Check whether the feature needs:

  • migration/version updates
  • meta.version
  • field indexes
  • relation definitions
  • datasource or cache considerations, including cross-Model query-cache dependencies

For normal resource persistence, preserve Vona's default active-instance scope:

  • in the current tenancy model, a tenant corresponds to an instance and ordinary model CRUD handles the current iid
  • do not expose caller-controlled iid or tenant selection in ordinary resource DTOs or controller logic
  • treat a record absent from an ordinary scoped model lookup as absent; do not use raw cross-instance probes merely to choose between 403 and not-found behavior
  • use disableInstance, plain builders, or raw SQL only for an explicit global/system or otherwise authorized contract
  • model a future multi-merchant requirement as a separate boundary within an instance, with its own ownership and authorization rules

For the canonical explanation, read Multi-Instance and Instance Resolution and Model Guide.

Cross-module resource lookup

Choose the narrowest lookup form before evaluating module dependency intent:

  • use this.scope for resources owned by the current BeanBase module
  • use this.$scope.<fixedModule> when the target module is statically known and the typed shorthand is available
  • use app.scope('<module-name>') in tests or standalone code with an application reference instead of BeanBase shorthands
  • use this.app.scope(moduleName) or app.scope(moduleName) when the module name is genuinely selected at runtime; do not replace a fixed module target with a dynamic string lookup merely for style

Then distinguish runtime lookup from a true module dependency:

  • lookup resolves a resource from a module already composed into the application; it does not by itself require a vonaModule.dependencies entry or create a circular dependency edge
  • add vonaModule.dependencies only when the feature genuinely requires the target module's availability, dependency-first ordering, or minimum compatible version
  • do not add a dependency declaration merely because code looks up another module's service, model, config, locale, or other resource
  • scope lookup cannot make an absent module available; validate application/suite composition separately when the target must exist

For the canonical decision guide, read Vona Module Dependencies, with Backend Foundation and Package Map as companions.

Verification

For persisted test data, classify each record as a durable module seed or a test-local fixture. Durable seed data belongs in the owning module's meta.version.ts seed() hook, runs from a newly recreated managed database, and is read-only to tests; test-local resources must be tracked and deleted in finally in reverse dependency order.

Check whether the feature needs:

  • unit tests
  • db:reset or migration verification
  • controller action testing
  • broader test / tsc / build checks
Optional frontend-contract reminder

Stay backend-first, but if the backend change likely affects frontend contract consumers, add a reminder such as:

  • OpenAPI output may have changed
  • frontend SDK or schema-driven layers may need regeneration
  • the active edition and frontend flavor may matter for the regeneration path

Do not turn the skill into a full frontend workflow. Only surface the reminder when the contract boundary is clearly involved.

Step 6: Use docs to avoid missing layers

Use the docs to decide what the generated backend thread still needs.

Especially relevant pages include:

  • repo-docs/backend/controller-guide.md
  • repo-docs/backend/service-guide.md
  • repo-docs/backend/model-guide.md
  • repo-docs/backend/entity-guide.md
  • repo-docs/backend/dto-guide.md
  • repo-docs/backend/crud-workflow.md
  • repo-docs/backend/migration-and-changes.md
  • repo-docs/backend/field-indexes.md
  • repo-docs/backend/unit-testing.md
  • repo-docs/backend/validation-guide.md
  • repo-docs/backend/openapi-guide.md
  • repo-docs/backend/dto-infer-generation.md

Step 7: Verification guidance

Always end with a verification path that matches the scope of the backend change.

Typical shared checks include:

  • npm run test
  • npm run tsc
  • npm run build

Narrower checks may include:

  • module test updates
  • route/controller action verification
  • migration reset flow
  • CRUD workflow test coverage

Response pattern

When helpful, structure the response around these points:

  1. detected edition
  2. backend-first or clearly fullstack-sensitive classification
  3. recommended Vona CLI path
  4. required backend follow-up layers to check
  5. optional frontend-contract reminder if applicable
  6. verification steps

Keep the response practical. The value of this skill is turning Cabloy backend requests into the right generation + refinement + verification workflow, not writing more prose than necessary.

© cabloy, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in .agents/skills/cabloy-backend-scaffold of cabloy/cabloy.

  • SKILL.md
  • evals/evals.json
  • references/backend-thread-map.md
  • references/follow-up-checklist.md

Open the folder on GitHubat commit a12cf91

Compare with similar skills

Cabloy Backend Scaffold next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cabloy Backend Scaffold compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cabloy Backend Scaffold this skillcabloy/cabloy982—~3.1kAutomated safety check: PassMIT
Nodejs CLI Best Practiceslirantal/nodejs-cli-apps-best-practices4.1k—~2kAutomated safety check: PassCC-BY-SA-4.0
ToolJet Marketplace Plugin BuilderToolJet/ToolJet41k—~2.1kAutomated safety check: PassAGPL-3.0
Plugin BuilderAIDotNet/NextCoWork639—~2.4kAutomated safety check: PassApache-2.0
Tsed CLItsedio/tsed3.1k—~2.7kAutomated safety check: PassMIT
Upgrade Starter Kitworkadventure/map-starter-kit157—~1.3kAutomated safety check: NotesCustom licence

Similar skills

  • Nodejs CLI Best Practices

    lirantal/nodejs-cli-apps-best-practices

    Guide and audit Node.js CLI application development against 41 established best practices covering UX, distribution, interoperability, accessibility, testing, error handling, development setup…

    4.1k GitHub stars~2k tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Turns an API description, such as an OpenAPI file or a Postman collection, into a connector plugin for ToolJet's marketplace and checks it with the repo's validator.

    41k GitHub stars~2.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Plugin Builder

    AIDotNet/NextCoWork

    Author, package, and debug NextCoWork plugins — the single entry point.

    639 GitHub stars~2.4k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Tsed CLI

    tsedio/tsed

    Scaffolds Ts.ED v8 projects and generates files with the Ts.ED CLI v7, through its MCP server (tools set-workspace, init-project, list-templates, get-template, generate-file) or the tsed binary…

    3.1k GitHub stars~2.7k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Upgrade Starter Kit

    workadventure/map-starter-kit

    Upgrade a WorkAdventure map repository to the latest version of the map-starter-kit (github.com/workadventure/map-starter-kit) - refreshes package.json dependencies, vite/tsconfig/build config, CI…

    157 GitHub stars~1.3k tokensUpdated 8 days ago
    DevelopmentAuto-check: notes
  • Scaffold a new shared package in the saleor-apps monorepo under ./packages/.

    162 GitHub stars~608 tokensUpdated 3 days ago
    DevelopmentAuto-check passed

More from cabloy/cabloy

All 12 skills in this repo
  • A skill your agent uses to create or maintain Cabloy suite specifications under repo-specs, including PRD, SRS, PDP/WBS, acceptance planning, progress, and suite ADRs.

    982 GitHub stars~3.2k tokensUpdated today
    Auto-check: notes
  • A skill your agent uses whenever the user wants to plan a new business domain in this Cabloy repo, such as CRM, OA, training, ERP, or a similar long-lived domain.

    982 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • This skill must be used only when the user explicitly invokes /cabloy-worktree-environment or explicitly asks to perform the named Cabloy worktree-environment setup.

    982 GitHub stars~2.8k tokensUpdated today
    Auto-check: notes
  • A skill your agent uses whenever a Cabloy task crosses the Vona-to-Zova contract boundary: backend DTO, controller, validation, entity, inferred DTO, or OpenAPI changes that should drive SDK…

    982 GitHub stars~5.1k tokensUpdated today
    Auto-check passed
  • A skill your agent uses whenever the user wants the Zova frontend path in this Cabloy repo: create or extend pages, components, api or model beans, route/query/params work, metadata refresh…

    982 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • A skill your agent uses whenever the user wants to update a field on an existing Cabloy backend resource: add a new persisted field, refine validation, add enum-like constraints, attach or change…

    982 GitHub stars~3.4k tokensUpdated today
    Auto-check passed

Works with

Questions about Cabloy Backend Scaffold

What does Cabloy Backend Scaffold do?

This skill should be used when the user needs the Vona backend scaffold/extend path in this Cabloy repo, especially to choose the right npm run vona generator or CRUD command and the required…. Cabloy Backend Scaffold is an agent skill from cabloy/cabloy. This skill should be used when the user needs the Vona backend scaffold/extend path in this Cabloy repo, especially to choose the right npm run vona generator or CRUD command and the required backend follow-up after generation.

When should I use Cabloy Backend Scaffold?

Cabloy Backend Scaffold fits situations like: needs the Vona backend scaffold/extend path in this Cabloy repo; especially to choose the right npm run vona generator; CRUD command and the required backend follow-up after generation; most strongly on backend requests involving modules.

How do I install Cabloy Backend Scaffold in Claude Code?

Run `npx skills add cabloy/cabloy --skill cabloy-backend-scaffold -a claude-code`. Or copy the skill folder (.agents/skills/cabloy-backend-scaffold in cabloy/cabloy) into .claude/skills/cabloy-backend-scaffold in your project. Claude Code loads it when a task matches its description.

How do I install Cabloy Backend Scaffold in Codex?

Run `npx skills add cabloy/cabloy --skill cabloy-backend-scaffold -a codex`. Or copy the skill folder (.agents/skills/cabloy-backend-scaffold in cabloy/cabloy) into .agents/skills/cabloy-backend-scaffold in your project. Codex loads it when a task matches its description.

Can I use Cabloy Backend Scaffold in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add cabloy/cabloy --skill cabloy-backend-scaffold -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cabloy-backend-scaffold, .gemini/skills/cabloy-backend-scaffold, .github/skills/cabloy-backend-scaffold and .opencode/skills/cabloy-backend-scaffold in your project.

What does Cabloy Backend Scaffold need to run?

Going by SKILL.md and its folder, Cabloy Backend Scaffold needs the command-line tools its instructions call (npm).

Does Cabloy Backend Scaffold access the network?

SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Cabloy Backend Scaffold safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cabloy Backend Scaffold use?

Cabloy Backend Scaffold is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cabloy Backend Scaffold use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.3k tokens, read only when the agent opens those files.

What are the alternatives to Cabloy Backend Scaffold?

Skills that share tags, products or a category with Cabloy Backend Scaffold: Nodejs CLI Best Practices (lirantal/nodejs-cli-apps-best-practices, 4.1k stars), ToolJet Marketplace Plugin Builder (ToolJet/ToolJet, 41k stars), Plugin Builder (AIDotNet/NextCoWork, 639 stars) and Tsed CLI (tsedio/tsed, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cabloy Backend Scaffold?

cabloy (a GitHub organization) maintains it in cabloy/cabloy, which has 982 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on October 10, 2026.

Source: cabloy/cabloy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.