Install
openclaw skills install @afonsoft/scaffold-mvpUse when starting a new .NET/Blazor/Angular MVP project in an empty repository.
openclaw skills install @afonsoft/scaffold-mvpThis skill is activated only in brand-new repositories, right after /write-specs has established the shared language, domain, and an approved SPEC SDD, or when the user explicitly asks for a quick MVP bootstrap.
It is strictly forbidden to build base UI components or infrastructure from scratch.
Reuse shared components and mature libraries focused on prototyping speed. This is the highest priority and non-negotiable.
MVP speed must not produce unstable code or structural shortcuts. Syntactic and architectural integrity is sovereign. The agent must follow:
dotnet build, ng build, npm run build). Never accumulate changes without confirming the current build passes.// ... or // rest of the code here are forbidden in routes or scaffold files. Every created file must be self-contained and commercially functional.package-lock.json, yarn.lock, pnpm-lock.yaml).Before writing any application code, invoke /create-agent-harness to install the agent harness in the new repository.
After it completes, confirm the following files/directories exist:
CLAUDE.md / AGENTS.md.claude/CONTEXT.md.claude/MEMORY.md.claude/rules/.claude/skills/ and .claude/hooks/docs/.git with main branchIf the harness is already present, skip this phase and read .claude/CONTEXT.md instead.
Do not perform generic business interrogation; the predecessor skill already established the domain. Ask only for a brief project summary to refine the stack proposal.
.claude/CONTEXT.md, docs/architecture/ (if any), and the approved .specs/SPEC-*.md.Resumo rapido do projeto: qual e o objetivo principal e quem sao os usuarios?
➡️ Meu palpite: [resumo baseado no SPEC lido]
Use the decision tree below. Confirm the chosen stack with the user in Portuguese before proceeding.
| Profile | Default MVP stack | UI / component library |
|---|---|---|
| Web dashboard / admin / SaaS (Blazor) | .NET 8 + Blazor Server or Blazor WebAssembly + EF Core | MudBlazor or Radzen or Fluent UI Blazor |
| Web dashboard / admin / SaaS (Angular) | .NET 8 Web API + Angular 17+ | PrimeNG or Angular Material or NG-ZORRO |
| API / backend only | .NET 8 minimal API or FastEndpoints or ABP | — |
| CLI / worker | .NET 8 console or worker service | — |
| Mobile / hybrid | .NET MAUI Blazor Hybrid | MudBlazor or Fluent UI |
Mandatory validation:
Baseado no nosso contexto de dominio, proponho iniciar com [STACK_ESCOLHIDA] para maxima produtividade sem reinventar a roda.
Voce concorda com esta stack ou temos alguma restricao tecnica ainda nao mapeada?
➡️ Meu palpite: concordo com a proposta.
Wait for explicit user approval. If the user wants changes, adapt the bootstrap. If the user agrees, proceed.
Proceed only after explicit user approval.
Project skeleton — create the solution/project structure:
.sln) and projects (src/, tests/)Directory.Build.props or Directory.Packages.props for central package managementappsettings.json and appsettings.Development.jsonglobal.json pinning the .NET SDKBase stack installation — install the chosen UI kit and core libraries:
MudBlazor, Radzen.Blazor, or Microsoft.FluentUI.AspNetCore.Componentsprimeng, @angular/material, or ng-zorro-antdSerilog, FluentValidation, AutoMapper/Mapperly, EF Core or DapperAgile directory structure focused on code reuse:
src/Web/Components — reusable UI components from the chosen kitsrc/Core/ — domain logic, DTOs, interfacessrc/Infrastructure/ — EF Core, external services, stubstests/UnitTests/ — first test project ready to runDocumentation folders — create the project decision trail:
docs/architecture/docs/architecture/AD-0001-initial-stack.mddocs/adr/ (for future ADRs).specs/docs/specs/Generate a lean README documenting:
dotnet run, ng serve).claude/CONTEXT.md)Run the build/type check after each significant step. Fix any error before moving on.
Create docs/architecture/AD-0001-initial-stack.md with the following content:
# AD-0001 — Initial MVP Stack
## Context
[One-paragraph summary from Phase 1.]
## Decision
[Chosen stack: .NET version, Blazor or Angular, UI kit, persistence, DI, logging.]
## Consequences
- Positive: fast prototyping, proven component library, stable build.
- Trade-off: limited custom UI, dependency on the chosen kit.
## Related SPEC
- [.specs/SPEC-{YYYYMMDD}-{slug}.md](../.specs/SPEC-{YYYYMMDD}-{slug}.md)
For every external dependency (database, cache, queue, auth, object storage, payment), create a local, runnable stub:
.env.example with all required keys and fake local values.Before handing back to the orchestrator:
.claude/, CLAUDE.md, AGENTS.md)..claude/CONTEXT.md is updated with the chosen stack under Technical Details..claude/MEMORY.md is created with the project summary.docs/architecture/AD-0001-initial-stack.md is created..specs/ and docs/specs/ directories exist.README.md exists with run commands and a short architecture note.TODO, or // ... escape comments remain in scaffold files.git history exists with at least one commit on main.Then return control to the orchestrator reporting that the ground is ready for feature development.
| Mistake | Fix |
|---|---|
| Custom UI base components | Use MudBlazor, Radzen, Fluent UI, PrimeNG, Angular Material, or NG-ZORRO. |
| Skipping build checks | Run dotnet build / ng build after every structural step. |
Leaving // ... comments | Every file must be self-contained and functional. |
| No local stubs for external services | Add Docker / in-memory / env-example stubs. |
| Proceeding without user stack approval | Ask and wait for explicit Portuguese confirmation. |
| Missing agent harness or docs folders | Install /create-agent-harness before application scaffolding. |
create-agent-harness — for installing the agent harness in the new repowrite-specs — for producing the SPEC SDD that precedes this skillcreate-issues — for turning Epics into GitHub Issues