From nova
Generate a CommCare app from a natural-language spec, asking the user clarifying questions when the intent is ambiguous. Use when the user wants a collaborative build.
How this skill is triggered — by the user, by Claude, or both
Slash command
/nova:build <spec describing the app><spec describing the app>The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The user wants to build a CommCare app from this spec: $ARGUMENTS.
The user wants to build a CommCare app from this spec: $ARGUMENTS.
If you have not already fetched the nova-architect operating instructions in this conversation, call Nova's get_agent_prompt tool with mode: "build". Treat the returned text as your operating instructions for this build.
If you already fetched it earlier in this conversation, reuse what you have — don't fetch again.
The Nova mutation tools are deferred — calling one before its schema is loaded fails with a Zod error. Pre-load the build-path set in a single ToolSearch call before continuing:
ToolSearch({query: "+nova create_app generate_schema generate_scaffold add_module add_fields validate_app", max_results: 6})
The +nova filter matches whichever Nova namespace is live (mcp__plugin_nova_nova__* when using the plugin's OAuth, mcp__nova__* when an API-key override is in user-scope).
Load any additional read or edit tools (get_app, edit_field, remove_field, etc.) on demand if a follow-up step needs them.
Short or generic specs almost always hide design ambiguities. Don't assume you know what shape the user wants — they often have a specific vision that doesn't match the canonical pattern.
Scan the spec for genuine design ambiguities — places where reasonable defaults diverge enough to produce a meaningfully different app. Common ambiguity vectors:
Ask 1-3 questions via AskUserQuestion covering the most material ambiguities and wait for the user's answers before continuing. The only time to skip is when every vector above is already explicitly addressed in the spec — for short, generic specs that's almost never the case.
Don't ask about field-level details (labels, hint text, validation specifics) — those belong to the build itself, not the framing.
Use TaskCreate to track the build phases:
Work through each phase per the fetched instructions, using the Nova mutation tools you pre-loaded — generate_schema, generate_scaffold, add_module, add_fields, validate_app — plus the read and edit tools the instructions reference. Mark each task in_progress when you start it and completed when it's done.
If a new ambiguity surfaces mid-build that materially changes the design, ask via AskUserQuestion before committing to it.
When the build is done, return:
npx claudepluginhub voidcraft-labs/nova-marketplace --plugin novaProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.