AgentSkillsCN

tech-lead

在技术架构与技术栈方面做出决策。当您需要确定技术选型、架构设计、代码规范,或为某个项目挑选合适的技能组合时,可使用此技能。触发条件:“我该选用什么技术栈?”、“我该如何进行架构设计?”、“我该使用哪种技术?”

SKILL.md
--- frontmatter
name: tech-lead
description: "Decisões técnicas de arquitetura e stack. Usar quando: precisa definir tecnologias, arquitetura, padrões de código, ou escolher skills para um projeto. Trigger: 'qual stack', 'como arquitetar', 'que tecnologia usar'."

Tech Lead Skill

Tomar decisões técnicas sólidas baseadas no contexto do projeto.

Responsabilidades

  1. Escolher Stack - Framework, DB, auth, hosting
  2. Definir Arquitetura - Estrutura, patterns, separação
  3. Selecionar Skills - Quais skills o projeto precisa
  4. Code Standards - Padrões, linting, testes
  5. Quality Gates - Comandos que devem passar

Decision Framework: Stack

Web App (Frontend + Backend)

CritérioRails 8Next.js
Velocidade de dev⭐⭐⭐⭐⭐⭐⭐⭐⭐
Real-timeHotwire/TurboWebSockets/Pusher
APIBuilt-inAPI Routes
AuthDevise (fácil)NextAuth (médio)
AdminRails AdminCustom
Melhor paraCRUD, SaaS internoSaaS público, landing

Recomendação padrão: Rails 8 + Hotwire + Tailwind

  • Matheus conhece Rails
  • Rápido pra prototipar
  • SQLite pra dev (sem setup)

Database

CritérioSQLitePostgreSQL
SetupZeroPrecisa instalar
Dev local⭐⭐⭐⭐⭐⭐⭐⭐
ProduçãoLitestreamSupabase/Neon
Melhor paraMVP, projetos pessoaisSaaS, multi-tenant

Recomendação padrão: SQLite pra dev, PostgreSQL pra prod

Auth

OpçãoQuando usar
Devise (Rails)Padrão pra Rails
NextAuthPadrão pra Next.js
Clerk/Auth0Se precisa social login fácil
NenhumApp pessoal single-user

Decision Framework: Skills para Projeto

Matriz de Decisão

code
Projeto tem UI? 
  └─ SIM → frontend-design (OBRIGATÓRIO)
  
Projeto é React/Next.js?
  └─ SIM → react-best-practices
  
Projeto tem banco de dados?
  └─ PostgreSQL → postgres-best-practices
  
Projeto tem pagamentos?
  └─ SIM → stripe-best-practices
  
Projeto é SaaS público?
  └─ SIM → copywriting, pricing-strategy, launch-strategy
  
Projeto tem landing page?
  └─ SIM → page-cro, seo-audit, copywriting
  
Projeto precisa de copy elegante?
  └─ SIM → beautiful-prose

Bundles Prontos

Bundle: SaaS Starter

code
frontend-design
react-best-practices (ou Rails)
postgres-best-practices
copywriting
pricing-strategy
launch-strategy

Bundle: Internal Tool

code
frontend-design
postgres-best-practices
internal-comms

Bundle: Landing Page

code
frontend-design
copywriting
page-cro
seo-audit
schema-markup

Bundle: E-commerce

code
frontend-design
stripe-best-practices
postgres-best-practices
email-sequence
page-cro

Quality Gates por Stack

Rails 8

json
{
  "qualityGates": [
    "bundle exec rails db:migrate",
    "bundle exec rails assets:precompile"
  ]
}

⚠️ Evitar rspec e rubocop se não configurados

Next.js

json
{
  "qualityGates": [
    "npm run build",
    "npm run lint"
  ]
}

Genérico (qualquer projeto)

json
{
  "qualityGates": [
    "echo 'Build check passed'"
  ]
}

Arquitetura: Patterns Recomendados

Rails 8

code
app/
├── controllers/     # Thin controllers
├── models/          # Fat models (business logic)
├── views/           # ERB + Hotwire
├── components/      # ViewComponents
├── services/        # Service objects (se complexo)
└── jobs/            # Background jobs

Next.js (App Router)

code
app/
├── (auth)/          # Route groups
├── api/             # API routes
├── components/      # React components
├── lib/             # Utilities
└── actions/         # Server actions

Output: Configuração do Projeto

Após decisões, gerar:

1. Stack Summary

yaml
stack:
  framework: Rails 8
  language: Ruby 3.3
  database: SQLite (dev) / PostgreSQL (prod)
  auth: Devise
  frontend: Hotwire + Turbo
  css: Tailwind CSS
  hosting: TBD

2. Skills para Instalar

bash
# Copiar para .claude/skills/
cp -r ~/www/skills/frontend-design .claude/skills/
cp -r ~/www/skills/postgres-best-practices .claude/skills/

3. Quality Gates

json
{
  "qualityGates": [
    "bundle exec rails db:migrate"
  ]
}

4. CLAUDE.md Template

markdown
# {Projeto}

## Stack
Rails 8 + SQLite + Devise + Tailwind

## Skills
- frontend-design: UI distintiva
- postgres-best-practices: Boas práticas de DB

## Guidelines
- Usar Hotwire pra interatividade
- Mobile-first
- Dark mode opcional

Perguntas para Definir Stack

Se não está claro, perguntar ao cliente:

  1. "Você prefere Rails ou Next.js? (Rails é mais rápido pra gente)"

  2. "Precisa de login/usuários?"

  3. "Vai ter pagamentos?"

  4. "É pra você usar ou vai ter outros usuários?"

  5. "Precisa funcionar offline ou sempre online tá ok?"