New skills covering 10 categories: **Security & Audit**: 007 (STRIDE/PASTA/OWASP), cred-omega (secrets management) **AI Personas**: Karpathy, Hinton, Sutskever, LeCun (4 sub-skills), Altman, Musk, Gates, Jobs, Buffett **Multi-agent Orchestration**: agent-orchestrator, task-intelligence, multi-advisor **Code Analysis**: matematico-tao (Terence Tao-inspired mathematical code analysis) **Social & Messaging**: Instagram Graph API, Telegram Bot, WhatsApp Cloud API, social-orchestrator **Image Generation**: AI Studio (Gemini), Stability AI, ComfyUI Gateway, image-studio router **Brazilian Domain**: 6 auction specialist modules, 2 legal advisors, auctioneers data scraper **Product & Growth**: design, invention, monetization, analytics, growth engine **DevOps & LLM Ops**: Docker/CI-CD/AWS, RAG/embeddings/fine-tuning **Skill Governance**: installer, sentinel auditor, context management Each skill includes: - Standardized YAML frontmatter (name, description, risk, source, tags, tools) - Structured sections (Overview, When to Use, How it Works, Best Practices) - Python scripts and reference documentation where applicable - Cross-platform compatibility (Claude Code, Antigravity, Cursor, Gemini CLI, Codex CLI) Co-authored-by: ProgramadorBrasil <214873561+ProgramadorBrasil@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
104 lines
3.6 KiB
Python
104 lines
3.6 KiB
Python
"""
|
|
Modelos de dados do Context Agent.
|
|
Dataclasses puras sem dependências externas.
|
|
"""
|
|
|
|
from dataclasses import dataclass, field
|
|
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
|
|
@dataclass
|
|
class SessionEntry:
|
|
"""Uma entrada individual do log JSONL do Claude Code."""
|
|
type: str # "user" | "assistant" | "queue-operation"
|
|
timestamp: str # ISO 8601
|
|
session_id: str
|
|
slug: str = ""
|
|
role: str = "" # "user" | "assistant"
|
|
content: str = "" # Texto da mensagem
|
|
tool_calls: list = field(default_factory=list) # [{name, input}]
|
|
token_usage: dict = field(default_factory=dict) # {input, output, cache_read}
|
|
model: str = ""
|
|
files_modified: list = field(default_factory=list)
|
|
|
|
|
|
@dataclass
|
|
class PendingTask:
|
|
"""Tarefa pendente identificada em uma sessão."""
|
|
description: str
|
|
priority: str = "medium" # "high" | "medium" | "low"
|
|
source_session: int = 0 # Número da sessão onde foi criada
|
|
created_date: str = ""
|
|
context: str = "" # Contexto adicional sobre a tarefa
|
|
completed: bool = False
|
|
|
|
|
|
@dataclass
|
|
class ProjectInfo:
|
|
"""Informações de um projeto/skill rastreado."""
|
|
name: str
|
|
path: str = ""
|
|
status: str = "active" # "active" | "paused" | "completed"
|
|
last_touched: str = "" # Data da última interação
|
|
last_session: int = 0 # Número da última sessão
|
|
next_actions: list = field(default_factory=list)
|
|
dependencies: list = field(default_factory=list)
|
|
|
|
|
|
@dataclass
|
|
class SessionSummary:
|
|
"""Resumo estruturado de uma sessão do Claude Code."""
|
|
session_number: int
|
|
session_id: str = ""
|
|
slug: str = ""
|
|
date: str = "" # YYYY-MM-DD
|
|
start_time: str = "" # HH:MM
|
|
end_time: str = "" # HH:MM
|
|
duration_minutes: int = 0
|
|
model: str = ""
|
|
|
|
# Conteúdo
|
|
topics: list = field(default_factory=list)
|
|
decisions: list = field(default_factory=list)
|
|
tasks_completed: list = field(default_factory=list)
|
|
tasks_pending: list = field(default_factory=list) # list[PendingTask]
|
|
files_modified: list = field(default_factory=list) # list[{path, action}]
|
|
key_findings: list = field(default_factory=list)
|
|
errors_resolved: list = field(default_factory=list) # list[{error, solution}]
|
|
open_questions: list = field(default_factory=list)
|
|
technical_debt: list = field(default_factory=list)
|
|
|
|
# Métricas
|
|
total_input_tokens: int = 0
|
|
total_output_tokens: int = 0
|
|
total_cache_tokens: int = 0
|
|
message_count: int = 0
|
|
tool_call_count: int = 0
|
|
|
|
# Projetos tocados nesta sessão
|
|
projects_touched: list = field(default_factory=list)
|
|
|
|
|
|
@dataclass
|
|
class ActiveContext:
|
|
"""Contexto ativo consolidado de todas as sessões."""
|
|
last_updated: str = ""
|
|
projects: list = field(default_factory=list) # list[ProjectInfo]
|
|
pending_tasks: list = field(default_factory=list) # list[PendingTask]
|
|
recent_decisions: list = field(default_factory=list) # list[{session, text}]
|
|
active_blockers: list = field(default_factory=list)
|
|
conventions: list = field(default_factory=list)
|
|
recent_sessions: list = field(default_factory=list) # list[{number, summary}]
|
|
total_sessions: int = 0
|
|
|
|
|
|
@dataclass
|
|
class SearchResult:
|
|
"""Resultado de busca no histórico de sessões."""
|
|
session_number: int
|
|
date: str
|
|
snippet: str
|
|
section: str # Em qual seção foi encontrado
|
|
relevance: float = 0.0
|