---
name: saas
description: Arquitectura e desenvolvimento de produtos SaaS cobrindo multi-tenancy, billing, onboarding e metricas.
---

# Skill /saas - SaaS Architecture & Strategy

Skill especializada em arquitectura e desenvolvimento de produtos SaaS (Software as a Service).

## Sintaxe

```
/saas [operacao] [contexto]
```

**Operacoes:**
- `arquitectura` - Design multi-tenant, isolamento dados, escalabilidade
- `pricing` - Modelos de precos e packaging de features
- `onboarding` - Flow de activacao e time-to-value
- `billing` - Integracao Stripe, trial, upgrades/downgrades
- `metricas` - Dashboard MRR, churn, LTV, CAC

## Quando Usar

- Planear novo produto SaaS
- Migrar aplicacao tradicional para SaaS
- Optimizar onboarding ou reduzir churn
- Implementar billing e subscriptions
- Arquitectura multi-tenant

---

## Contexto NotebookLM

ANTES de executar, consultar notebooks:

```
mcp__notebooklm__notebook_query({
  notebook_id: "79d43410-0e29-4be1-881d-84db6bdc239a",
  query: "<adaptar ao contexto do pedido do utilizador>"
})
```

---

## Protocolo de Execucao

### 1. Discovery de Produto

Questoes chave:

```
Modelo de negocio:
- [ ] B2B, B2C ou B2B2C?
- [ ] Self-service ou sales-led?
- [ ] PLG (product-led growth)?

Utilizadores:
- [ ] Quantos users por tenant?
- [ ] Diferentes roles/permissoes?
- [ ] Colaboracao entre users?

Dados:
- [ ] Volume de dados por tenant?
- [ ] Regulamentacoes (GDPR, HIPAA)?
- [ ] Backup e disaster recovery?

Integracoes:
- [ ] APIs third-party necessarias?
- [ ] SSO/SAML enterprise?
- [ ] Webhooks para partners?
```

### 2. Arquitectura Multi-tenant

Tres estrategias de isolamento:

| Estrategia | Pros | Contras | Quando Usar |
|-----------|------|---------|-------------|
| DB per Tenant | Seguranca total, restore independente | Custo, complexidade | Enterprise, regulamentacoes |
| Schema per Tenant | Bom isolamento, gestao simples | Limites BD (~10k schemas) | B2B medio porte |
| Shared DB + RLS | Mais barato, facil escalar | tenant_id em tudo | B2C, SMB self-service |

Detalhes de implementacao (PostgreSQL RLS, checklist seguranca): [references/multi-tenancy.md](references/multi-tenancy.md)

### 3. Modelos de Pricing

| Modelo | Quando Usar |
|--------|-------------|
| Flat Rate | Simplicidade, previsibilidade |
| Per Seat | B2B, equipas |
| Usage Based | Variacao alta de uso |
| Tiered | Upsell natural |
| Hybrid | Receita previsivel + escala |

Tiers detalhados, Stripe billing, feature flags: [references/pricing-billing.md](references/pricing-billing.md)

### 4. Stack Tecnica Recomendada

```
Frontend: Next.js 14+ | Tailwind + shadcn/ui | Zustand | React Hook Form + Zod
Backend:  Next.js API / tRPC | PostgreSQL (Supabase) | Prisma | BullMQ | Redis
Auth:     Clerk / Auth0 / NextAuth.js
Billing:  Stripe Billing
Email:    Resend / SendGrid
Analytics: PostHog / Mixpanel
Hosting:  Vercel | Railway | Supabase | Cloudflare
```

### 5. Metricas SaaS

KPIs essenciais, onboarding flow, metricas de retencao: [references/metricas-kpis.md](references/metricas-kpis.md)

---

## Exemplos de Uso

```
/saas arquitectura  -> Discovery + multi-tenancy + stack + roadmap MVP
/saas pricing       -> Analise competidores + LTV/CAC + tiers + feature packaging
/saas metricas      -> KPIs + queries SQL + setup analytics + dashboards
```

---

## Agentes Recomendados

```javascript
// Arquitectura tecnica
Task({
  subagent_type: "software-architect",
  model: "sonnet",
  prompt: "Design multi-tenant SaaS architecture. PostgreSQL RLS + Next.js."
});

// Estrategia produto
Task({
  subagent_type: "software-project-planner",
  model: "sonnet",
  prompt: "SaaS onboarding flow. Time-to-value < 5min. B2B productivity tool."
});
```

---

## Conteudo Detalhado

| Referencia | Conteudo |
|------------|----------|
| [references/multi-tenancy.md](references/multi-tenancy.md) | Implementacao RLS PostgreSQL, checklist seguranca |
| [references/pricing-billing.md](references/pricing-billing.md) | Tiers, Stripe setup, trial conversion, feature flags |
| [references/metricas-kpis.md](references/metricas-kpis.md) | KPIs receita/crescimento/aquisicao/retencao, onboarding flow |

---

## Healing Log

Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.

```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```

*Adicionar nova linha após cada erro corrigido.*
