Claude Code Plugins

Community-maintained marketplace

Feedback

maternal-chat-helper

@LionGab/NossaMaternidade-2
1
0

Auxilia desenvolvimento do chat NathIA no projeto Nossa Maternidade. Conhece a arquitetura de agentes IA (MaternalChatAgent, EmotionAnalysisAgent), MCP servers (Supabase, GoogleAI, OpenAI, Anthropic), e prompts. Use ao trabalhar com chat, agentes IA, ou integracao Gemini.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name maternal-chat-helper
description Auxilia desenvolvimento do chat NathIA no projeto Nossa Maternidade. Conhece a arquitetura de agentes IA (MaternalChatAgent, EmotionAnalysisAgent), MCP servers (Supabase, GoogleAI, OpenAI, Anthropic), e prompts. Use ao trabalhar com chat, agentes IA, ou integracao Gemini.
allowed-tools Read, Grep, Glob

Maternal Chat Helper

Proposito

Auxiliar no desenvolvimento e manutencao do sistema de chat com IA (NathIA) do projeto Nossa Maternidade.

Arquitetura de Alto Nivel

Usuario
   ↓
ChatScreen.tsx
   ↓
AgentOrchestrator (src/agents/core/)
   ↓
┌──────────────────────────────────────┐
│           AGENTES IA (9)             │
├──────────────────────────────────────┤
│ • MaternalChatAgent     (chat)       │
│ • EmotionAnalysisAgent  (emocoes)    │
│ • NathiaPersonalityAgent (voz)       │
│ • ContentRecommendationAgent         │
│ • HabitsAnalysisAgent   (habitos)    │
│ • SleepAnalysisAgent    (sono)       │
│ • DesignQualityAgent    (design)     │
└──────────────────────────────────────┘
   ↓
┌──────────────────────────────────────┐
│         MCP SERVERS (6)              │
├──────────────────────────────────────┤
│ • SupabaseMCP    (DB + Auth)         │
│ • GoogleAIMCP    (Gemini)            │
│ • OpenAIMCP      (GPT)               │
│ • AnthropicMCP   (Claude)            │
│ • AnalyticsMCP   (metricas)          │
│ • PlaywrightMCP  (testes)            │
└──────────────────────────────────────┘

Agentes IA Disponiveis

1. MaternalChatAgent

Localizacao: src/agents/maternal/MaternalChatAgent.ts Funcao: Chat principal com a mae Tipos exportados: ChatMessage, ChatSession

2. EmotionAnalysisAgent

Localizacao: src/agents/emotion/EmotionAnalysisAgent.ts Funcao: Analisa emocoes da mae nas mensagens Tipos: EmotionSnapshot, EmotionPattern, EmotionAnalysisResult

3. NathiaPersonalityAgent

Localizacao: src/agents/nathia/NathiaPersonalityAgent.ts Funcao: Define a voz e personalidade da NathIA Tipos: NathiaMessage, NathiaResponse

4. ContentRecommendationAgent

Localizacao: src/agents/content/ContentRecommendationAgent.ts Funcao: Recomenda conteudo personalizado Tipos: ContentItem, RecommendationRequest, RecommendationResult

5. HabitsAnalysisAgent

Localizacao: src/agents/habits/HabitsAnalysisAgent.ts Funcao: Analisa habitos e bem-estar Tipos: HabitEntry, HabitPattern, WellbeingAnalysis

6. SleepAnalysisAgent

Localizacao: src/agents/sleep/SleepAnalysisAgent.ts Funcao: Analisa qualidade do sono Tipos: SleepEntry, SleepPattern, SleepAnalysisResult

7. DesignQualityAgent

Localizacao: src/agents/design/DesignQualityAgent.ts Funcao: Valida qualidade de design Tipos: DesignValidationInput, DesignValidationOutput, DesignViolation

MCP Servers

SupabaseMCPServer

Localizacao: src/mcp/servers/SupabaseMCPServer.ts Funcao: Database, Auth, Storage Singleton: supabaseMCP

GoogleAIMCPServer

Localizacao: src/mcp/servers/GoogleAIMCPServer.ts Funcao: Integracao com Gemini Singleton: googleAIMCP

OpenAIMCPServer

Localizacao: src/mcp/servers/OpenAIMCPServer.ts Funcao: Integracao com GPT Singleton: openAIMCP

AnthropicMCPServer

Localizacao: src/mcp/servers/AnthropicMCPServer.ts Funcao: Integracao com Claude Singleton: anthropicMCP

AnalyticsMCPServer

Localizacao: src/mcp/servers/AnalyticsMCPServer.ts Funcao: Metricas e analytics Singleton: analyticsMCP

Fluxo de Mensagem

// 1. Usuario envia mensagem
const userMessage = 'Estou me sentindo cansada hoje';

// 2. Orchestrator processa
const result = await orchestrator.process({
  message: userMessage,
  context: { userId, sessionId },
});

// 3. Agentes analisam em paralelo
// - EmotionAnalysisAgent detecta: "cansada" → fadiga
// - NathiaPersonalityAgent define tom acolhedor
// - MaternalChatAgent gera resposta

// 4. MCP Servers executam
// - GoogleAIMCP chama Gemini para gerar resposta
// - SupabaseMCP salva no banco
// - AnalyticsMCP registra interacao

Execucao Paralela

// Chamar multiplos MCP servers em paralelo
const result = await orchestrator.callMCPParallel([
  { server: 'supabase', method: 'db.query', params: {...} },
  { server: 'googleai', method: 'chat.complete', params: {...} },
  { server: 'analytics', method: 'track', params: {...} }
]);

Contexto de Desenvolvimento

Arquivos Principais

  • src/screens/ChatScreen.tsx - Tela do chat
  • src/agents/core/AgentOrchestrator.ts - Orquestrador
  • src/agents/core/BaseAgent.ts - Classe base
  • src/contexts/AgentsContext.tsx - Context React

Variaveis de Ambiente

EXPO_PUBLIC_GEMINI_API_KEY=
EXPO_PUBLIC_SUPABASE_URL=
EXPO_PUBLIC_SUPABASE_ANON_KEY=
EXPO_PUBLIC_SUPABASE_FUNCTIONS_URL=

Personalidade da NathIA

A NathIA e uma assistente maternal com estas caracteristicas:

  • Acolhedora: Tom caloroso e empático
  • Nao-julgadora: Nunca critica a mae
  • Informativa: Oferece informacoes uteis quando apropriado
  • Sensivel: Detecta emocoes e adapta respostas
  • Segura: Recomenda ajuda profissional quando necessario

Tipos Importantes

// src/types/chat.ts
interface ChatMessage {
  id: string;
  content: string;
  role: 'user' | 'assistant';
  timestamp: Date;
  metadata?: {
    emotion?: EmotionSnapshot;
    context?: Record<string, unknown>;
  };
}

// src/agents/maternal/MaternalChatAgent.ts
interface ChatSession {
  id: string;
  userId: string;
  messages: ChatMessage[];
  startedAt: Date;
  lastMessageAt: Date;
}

Comandos Uteis

# Testar servico de chat
npx jest __tests__/services/chatService.test.ts

# Verificar tipos dos agentes
npm run type-check -- --filter agents

# Logs do chat em dev
# Os logs aparecem no console com prefixo [MaternalChat]