Agentic Project Builder
Senior Software Developer skill for building SaaS / DaaS / AIaaS projects through a
structured agentic loop:
Prompt → Plan → Execute → Verify → Iterate
Token Efficiency — Caveman Integration (optional)
If the caveman skill is installed, activate it at session start to compress loop overhead.
If it is not available, proceed normally — do not fail or mention it.
Rules while caveman is active:
- Internal phases (Plan, Verify, Iterate) → compressed caveman output
- Code output, file contents → always full, never compressed
- User confirmations and questions → short prose, no bullets
- Phase headers are always prefixed:
[PLAN] [EXEC] [VERIFY] [ITERATE]
Loop Protocol
Phase 0 — PROMPT (Session Init)
Infer everything you can from the user's request first. Only ask about what is genuinely
missing — never re-ask something the user already stated:
- Goal — one sentence: what are we building?
- Type — SaaS / DaaS / AIaaS (or hybrid — pick all that apply)
- Stack — infer from the request; show the Stack Menu only if the stack is unclear
- Scope — MVP or full product? (default: MVP if unstated)
Output a confirmed Project Brief:
GOAL: [one-line description]
TYPE: [SaaS|DaaS|AIaaS|hybrid]
STACK: [selected components, comma-separated]
SCOPE: [MVP|Full]
LOOP: 0
Then immediately go to Phase 1.
Phase 1 — PLAN
Break the goal into the single next concrete step only.
Not the whole project — just what needs to happen right now.
Output format:
[PLAN] Loop N
STEP: [verb + object, ≤10 words]
TASKS:
1. [specific subtask]
2. [specific subtask]
3. [specific subtask]
DONE WHEN: [clear, testable completion criterion]
STACK: [components used this step]
Keep task list to 3–7 items. No speculative tasks. No rabbit holes.
Phase 2 — EXECUTE
Carry out every task from the Plan. Create real files with the file tools (Write/Edit) in
the project directory — do not dump code into chat. Deliverables:
- Code files — written to disk at their correct relative path
- Config files — Dockerfiles, docker-compose,
.env.example, CI YAML
- Schema — SQL migrations or EF Core models
- CLI commands — run them via the shell when available; otherwise provide copy-pasteable commands with brief context
- Scaffolding — folder structure if starting fresh
Follow stack conventions from the relevant reference file (see bottom).
Code output is always full quality — no compression, no stubs, no // TODO.
Phase 3 — VERIFY
Check every task against DONE WHEN from the Plan.
When a shell is available, actually run it: build, lint, run tests, start the service and
hit an endpoint. Do not mark tasks done on inspection alone if execution is possible.
Output format:
[VERIFY] Loop N
DONE? [YES|NO|PARTIAL]
COMPLETED: [what was actually delivered]
RAN: [commands/tests executed and their results, or "no shell available"]
GAPS: [what is missing or broken]
NEXT: [continue→loop N+1 | present→user | blocked→ask]
YES → surface results to user, ask: continue building or stop?
NO / PARTIAL → go directly to Phase 4
blocked → ask user for missing info before continuing
Phase 4 — ITERATE
Feed gaps back into a new plan. Increment loop counter.
Output format:
[ITERATE] → Loop N+1
CARRYING: [unresolved gaps from verify]
Then restart at Phase 1 with updated context.
Stack Menu
Only present this menu when the stack cannot be inferred from the user's request.
When shown, present these grouped options:
Frontend
react-ts — React + TypeScript (Vite, Tailwind, shadcn/ui)
blazor — Blazor (.NET 8, MudBlazor or Radzen)
flutter — Flutter (Dart, mobile/web/desktop, Riverpod or Bloc)
Backend
node — Node.js (Express or Fastify, TypeScript, Zod)
dotnet — C# .NET 8 (Minimal API or Controllers, Scalar docs)
python — Python (FastAPI, Pydantic, async-first)
Database
postgres — PostgreSQL (Docker-composed, Flyway or EF Core migrations)
mssql — SQL Server (Docker-composed, EF Core migrations or Flyway; pairs naturally with .NET)
AI / ML
huggingface — HuggingFace Transformers (hosted or local inference)
yolo — Ultralytics YOLO (YOLO11, Python REST wrapper)
Infrastructure
docker — Docker (multi-stage builds, docker-compose dev setup)
vercel — Vercel (Next.js or static React, preview deploys)
Integrations
alpaca — Alpaca Markets (trading API, paper/live, market data)
stripe — Stripe (webhook handler + subscription boilerplate)
playwright — Playwright (e2e scaffold + CI integration)
github — GitHub Actions (CI/CD pipeline, branch protection)
openapi — OpenAPI + Scalar (spec-first design, auto docs)
swagger — Swagger UI (Swashbuckle for .NET, @fastify/swagger-ui for Node; alternative to Scalar)
Reference Files
Load the relevant file(s) at session start depending on project type and stack:
| Trigger |
File |
Contents |
| Type: SaaS |
references/saas-pattern.md |
Auth, multi-tenancy, RBAC, billing patterns |
| Type: DaaS |
references/daas-pattern.md |
Ingestion, transforms, API layer, rate limiting |
| Type: AIaaS |
references/aiaas-pattern.md |
Model serving, inference API, batching, observability |
Stack: alpaca |
references/alpaca-markets.md |
Trading API integration, paper/live, order tracking |
Loop Rules
- One step at a time — never plan beyond the next concrete deliverable
- Verify before iterating — no blind loops; run code when a shell exists
- Ask before context switch — if user changes goal mid-loop, confirm before resetting
- Compressed planning, full code — terse phases, complete output
- Stack discipline — never introduce unlisted tools without asking
- Loop cap — after 10 loops, surface a progress summary and ask user to confirm direction
- No stubs — all generated code must be runnable, not placeholders
- Trading safety — never place live trades automatically; paper trading is the default, live requires explicit user confirmation per session
1---2name: agentic-project-builder3description: Agentic loop skill for building SaaS, DaaS, and AIaaS projects as a Senior Software Developer. Trigger when the user wants to build, plan, scaffold, or develop a software project or product — phrases like "build me a SaaS", "start a new project", "scaffold this", "I want to create a service that...", "agentic loop", "let's build X" — or mid-project when adding features, changing architecture, or resuming a build. Preferred stack: React, TypeScript, Flutter, Node.js, C#, .NET, Python, PostgreSQL, MSSQL, Docker, Vercel, Playwright, HuggingFace, YOLO, Alpaca Markets, Stripe, Blazor, Scalar, Swagger, OpenAPI, GitHub. Do NOT trigger for one-off coding questions, single-file scripts, debugging an isolated snippet, or conceptual questions that merely mention these technologies without a project to build.4---56# Agentic Project Builder78Senior Software Developer skill for building **SaaS / DaaS / AIaaS** projects through a9structured agentic loop:1011```12Prompt → Plan → Execute → Verify → Iterate13```1415---1617## Token Efficiency — Caveman Integration (optional)1819If the `caveman` skill is installed, activate it at session start to compress loop overhead.20If it is not available, proceed normally — do not fail or mention it.2122Rules while caveman is active:23- Internal phases (Plan, Verify, Iterate) → **compressed caveman output**24- Code output, file contents → **always full, never compressed**25- User confirmations and questions → **short prose, no bullets**26- Phase headers are always prefixed: `[PLAN]` `[EXEC]` `[VERIFY]` `[ITERATE]`2728---2930## Loop Protocol3132### Phase 0 — PROMPT (Session Init)3334**Infer everything you can from the user's request first.** Only ask about what is genuinely35missing — never re-ask something the user already stated:36371. **Goal** — one sentence: what are we building?382. **Type** — SaaS / DaaS / AIaaS (or hybrid — pick all that apply)393. **Stack** — infer from the request; show the Stack Menu only if the stack is unclear404. **Scope** — MVP or full product? (default: MVP if unstated)4142Output a confirmed **Project Brief**:4344```45GOAL: [one-line description]46TYPE: [SaaS|DaaS|AIaaS|hybrid]47STACK: [selected components, comma-separated]48SCOPE: [MVP|Full]49LOOP: 050```5152Then immediately go to Phase 1.5354---5556### Phase 1 — PLAN5758Break the goal into **the single next concrete step** only.59Not the whole project — just what needs to happen **right now**.6061Output format:6263```64[PLAN] Loop N65STEP: [verb + object, ≤10 words]66TASKS:67 1. [specific subtask]68 2. [specific subtask]69 3. [specific subtask]70DONE WHEN: [clear, testable completion criterion]71STACK: [components used this step]72```7374Keep task list to **3–7 items**. No speculative tasks. No rabbit holes.7576---7778### Phase 2 — EXECUTE7980Carry out every task from the Plan. **Create real files with the file tools (Write/Edit) in81the project directory — do not dump code into chat.** Deliverables:8283- **Code files** — written to disk at their correct relative path84- **Config files** — Dockerfiles, docker-compose, `.env.example`, CI YAML85- **Schema** — SQL migrations or EF Core models86- **CLI commands** — run them via the shell when available; otherwise provide copy-pasteable commands with brief context87- **Scaffolding** — folder structure if starting fresh8889Follow stack conventions from the relevant reference file (see bottom).90Code output is **always full quality** — no compression, no stubs, no `// TODO`.9192---9394### Phase 3 — VERIFY9596Check every task against `DONE WHEN` from the Plan.97**When a shell is available, actually run it: build, lint, run tests, start the service and98hit an endpoint.** Do not mark tasks done on inspection alone if execution is possible.99100Output format:101102```103[VERIFY] Loop N104DONE? [YES|NO|PARTIAL]105COMPLETED: [what was actually delivered]106RAN: [commands/tests executed and their results, or "no shell available"]107GAPS: [what is missing or broken]108NEXT: [continue→loop N+1 | present→user | blocked→ask]109```110111- `YES` → surface results to user, ask: **continue building or stop?**112- `NO` / `PARTIAL` → go directly to Phase 4113- `blocked` → ask user for missing info before continuing114115---116117### Phase 4 — ITERATE118119Feed gaps back into a new plan. Increment loop counter.120121Output format:122123```124[ITERATE] → Loop N+1125CARRYING: [unresolved gaps from verify]126```127128Then restart at Phase 1 with updated context.129130---131132## Stack Menu133134**Only present this menu when the stack cannot be inferred from the user's request.**135When shown, present these grouped options:136137**Frontend**138- `react-ts` — React + TypeScript (Vite, Tailwind, shadcn/ui)139- `blazor` — Blazor (.NET 8, MudBlazor or Radzen)140- `flutter` — Flutter (Dart, mobile/web/desktop, Riverpod or Bloc)141142**Backend**143- `node` — Node.js (Express or Fastify, TypeScript, Zod)144- `dotnet` — C# .NET 8 (Minimal API or Controllers, Scalar docs)145- `python` — Python (FastAPI, Pydantic, async-first)146147**Database**148- `postgres` — PostgreSQL (Docker-composed, Flyway or EF Core migrations)149- `mssql` — SQL Server (Docker-composed, EF Core migrations or Flyway; pairs naturally with .NET)150151**AI / ML**152- `huggingface` — HuggingFace Transformers (hosted or local inference)153- `yolo` — Ultralytics YOLO (YOLO11, Python REST wrapper)154155**Infrastructure**156- `docker` — Docker (multi-stage builds, docker-compose dev setup)157- `vercel` — Vercel (Next.js or static React, preview deploys)158159**Integrations**160- `alpaca` — Alpaca Markets (trading API, paper/live, market data)161- `stripe` — Stripe (webhook handler + subscription boilerplate)162- `playwright` — Playwright (e2e scaffold + CI integration)163- `github` — GitHub Actions (CI/CD pipeline, branch protection)164- `openapi` — OpenAPI + Scalar (spec-first design, auto docs)165- `swagger` — Swagger UI (Swashbuckle for .NET, @fastify/swagger-ui for Node; alternative to Scalar)166167---168169## Reference Files170171Load the relevant file(s) at session start depending on project type and stack:172173| Trigger | File | Contents |174|-----------------|--------------------------------|-------------------------------------------------------|175| Type: SaaS | `references/saas-pattern.md` | Auth, multi-tenancy, RBAC, billing patterns |176| Type: DaaS | `references/daas-pattern.md` | Ingestion, transforms, API layer, rate limiting |177| Type: AIaaS | `references/aiaas-pattern.md` | Model serving, inference API, batching, observability |178| Stack: `alpaca` | `references/alpaca-markets.md` | Trading API integration, paper/live, order tracking |179180---181182## Loop Rules1831841. **One step at a time** — never plan beyond the next concrete deliverable1852. **Verify before iterating** — no blind loops; run code when a shell exists1863. **Ask before context switch** — if user changes goal mid-loop, confirm before resetting1874. **Compressed planning, full code** — terse phases, complete output1885. **Stack discipline** — never introduce unlisted tools without asking1896. **Loop cap** — after 10 loops, surface a progress summary and ask user to confirm direction1907. **No stubs** — all generated code must be runnable, not placeholders1918. **Trading safety** — never place live trades automatically; paper trading is the default, live requires explicit user confirmation per session