19 KiB
Fluxo Interno Atualizado do Agent-Skill-Creator com Convenção "-cskill"
🎯 Cenário Exemplo (Atualizado com Convenção "-cskill")
Comando do Usuário:
"gostaria de automatizar o que esta sendo explicado e descrito nesse artigo [conteúdo do artigo sobre análise de dados financeiros]"
🚀 Fluxo Completo Detalhado (COM CONVENÇÃO "-cskill")
FASE 0: Detecção e Ativação Automática (Sem mudanças)
O processo inicial permanece o mesmo:
- Detecção de padrões de ativação
- Carregamento da meta-skill
- Inicialização das 5 fases
FASE 1: DISCOVERY - Pesquisa e Análise (Sem mudanças)
Processamento do conteúdo do artigo continua idêntico:
- Extração de workflows
- Identificação de ferramentas
- Pesquisa de APIs
- Consulta AgentDB (se disponível)
Exemplo do Artigo Processado:
ARTIGO CONTEÚDO ANALISADO:
├─ Workflows Identificados:
│ ├─ "Baixar dados da bolsa"
│ ├─ "Calcular indicadores técnicos"
│ ├─ "Gerar gráficos de análise"
│ └─ "Criar relatório semanal"
├─ Ferramentas Mencionadas:
│ ├─ "Biblioteca pandas"
│ ├─ "Alpha Vantage API"
│ ├─ "Matplotlib para gráficos"
│ └─ "Excel para relatórios"
└─ Fontes de Dados:
├─ "Yahoo Finance API"
├─ "Arquivos CSV locais"
└─ "Banco de dados SQL"
FASE 2: DESIGN - Especificação de Funcionalidades (Sem mudanças)
Definição de casos de uso e metodologias permanece a mesma.
FASE 3: ARCHITECTURE - Decisão Estrutural (ATUALIZADO!)
3.1 Análise de Complexidade (Mesmo processo)
# Avaliação automática baseada no conteúdo do artigo
complexity_score = calculate_complexity({
'number_of_workflows': 4, # Data + Analysis + Reports + Alerts
'workflow_complexity': 'medium', # API calls + calculations + formatting
'data_sources': 3, # Yahoo Finance + CSV + Database
'estimated_code_lines': 2500, # Above Simple Skill threshold
'domain_expertise': ['finance', 'data_science', 'reporting']
})
# Decisão de arquitetura (mesma)
if complexity_score > SIMPLE_SKILL_THRESHOLD:
architecture = "complex_skill_suite"
else:
architecture = "simple_skill"
Resultado da Análise (mesmo):
RESULTADO DA ANÁLISE:
✅ Múltiplos workflows distintos (4)
✅ Complexidade média-alta
✅ Múltiplas fontes de dados
✅ Estimativa > 2000 linhas de código
✅ Múltiplos domínios de expertise
DECISÃO: Complex Skill Suite
3.2 🆕 GERAÇÃO DE NOME COM CONVENÇÃO "-cskill" (NOVO!)
Passo 1: Extração de Conceitos-Chave
def extract_key_concepts(article_text, complexity_analysis):
"""Extrai conceitos-chave do artigo e dos workflows identificados"""
# Conceitos principais do artigo
article_concepts = ['financial', 'analysis', 'data']
# Workflows identificados
workflows = ['data-acquisition', 'technical-analysis', 'visualization', 'reporting']
# Conceitos de domínio
domain_concepts = ['market', 'stock', 'investment']
# Combinar e priorizar
all_concepts = article_concepts + workflows[:2]
return all_concepts
Passo 2: Geração do Nome Base
def generate_base_name(concepts, complexity):
"""Gera nome base baseado nos conceitos e complexidade"""
if complexity == "complex_suite":
# Para suites complexas, usa {domínio}-{tipo}-suite
base_concept = concepts[0] # 'financial'
suite_type = concepts[1] if len(concepts) > 1 else 'analysis'
base_name = f"{base_concept}-{suite_type}-suite"
else:
# Para skills simples, usa {ação}-{objeto}
if len(concepts) >= 2:
base_name = f"{concepts[1]}-{concepts[0]}"
else:
base_name = f"{concepts[0]}-tool"
return base_name
Passo 3: Aplicação da Convenção "-cskill"
def apply_cskill_convention(base_name):
"""Aplica a convenção de nomenclatura -cskill"""
if not base_name.endswith("-cskill"):
skill_name = f"{base_name}-cskill"
else:
skill_name = base_name
# Validação do nome gerado
if not validate_naming_convention(skill_name):
# Se inválido, ajusta automaticamente
skill_name = sanitize_and_validate(skill_name)
return skill_name
def validate_naming_convention(name):
"""Valida se segue a convenção -cskill"""
rules = [
name.endswith("-cskill"),
name == name.lower(),
re.match(r'^[a-z0-9-]+-cskill$', name),
len(name) >= 10,
len(name) <= 60,
'--' not in name
]
return all(rules)
Execução Completa da Geração de Nome:
# Para nosso exemplo de artigo financeiro:
concepts = extract_key_concepts(article_text, complexity_analysis)
# concepts = ['financial', 'analysis', 'data-acquisition', 'technical-analysis']
base_name = generate_base_name(concepts, "complex_suite")
# base_name = "financial-analysis-suite"
final_name = apply_cskill_convention(base_name)
# final_name = "financial-analysis-suite-cskill"
print(f"✅ Nome da Suite Principal: {final_name}")
3.3 🆕 GERAÇÃO DE NOMES DE COMPONENTES (NOVO!)
def design_component_skills(complexity_analysis):
"""Designa componentes com convenção -cskill"""
if complexity_analysis.architecture == "complex_skill_suite":
components = {
'data-acquisition': 'Handle data sourcing and validation',
'technical-analysis': 'Calculate indicators and signals',
'visualization': 'Create charts and graphs',
'reporting': 'Generate professional reports'
}
# Aplicar convenção -cskill a cada componente
component_names = {
comp: f"{comp}-cskill"
for comp in components.keys()
}
return component_names, components
Resultado da Geração de Nomes:
✅ Suite Principal: financial-analysis-suite-cskill/
✅ Component 1: data-acquisition-cskill/
✅ Component 2: technical-analysis-cskill/
✅ Component 3: visualization-cskill/
✅ Component 4: reporting-cskill/
FASE 4: DETECTION - Palavras-Chave e Ativação (Leve adaptação)
4.1 Análise de Palavras-Chave (Atualizado com "-cskill")
def determine_activation_keywords(workflows, tools, skill_name):
keywords = {
'primary': [
'análise financeira',
'dados de mercado',
'indicadores técnicos',
'relatórios de investimento'
],
'secondary': [
'automatizar análise',
'gerar gráficos',
'calcular retornos',
'extração de dados'
],
'domains': [
'finanças',
'investimentos',
'análise quantitativa',
'mercado de ações'
],
'skill_identifiers': [ # 🆕 NOVO!
'financial-analysis-suite-cskill',
'data-acquisition-cskill',
'technical-analysis-cskill'
]
}
return keywords
4.2 Criação de Descrições Precisas (Atualizado)
def create_skill_descriptions(components, skill_name):
descriptions = {}
for component_name, component_function in components.items():
# 🆕 Inclui identificação -cskill na descrição
description = f"""
Component skill for {component_function} in financial analysis.
When to use: When user mentions {determine_activation_keywords(component_name)}
This is a **Claude Skill** created by Agent-Skill-Creator.
Skill type: Component Skill within {skill_name}
Capabilities: {list_component_capabilities(component_name)}
"""
descriptions[component_name] = description
return descriptions
FASE 5: IMPLEMENTATION - Criação do Código (ATUALIZADO!)
5.1 🆕 Criação da Estrutura de Diretórios com "-cskill"
# Criado automaticamente pelo sistema (NOVOS NOMES!)
mkdir -p financial-analysis-suite-cskill/.claude-plugin
mkdir -p financial-analysis-suite-cskill/data-acquisition-cskill/{scripts,references,assets}
mkdir -p financial-analysis-suite-cskill/technical-analysis-cskill/{scripts,references,assets}
mkdir -p financial-analysis-suite-cskill/visualization-cskill/{scripts,references,assets}
mkdir -p financial-analysis-suite-cskill/reporting-cskill/{scripts,references,assets}
mkdir -p financial-analysis-suite-cskill/shared/{utils,config,templates}
5.2 🆕 Geração do marketplace.json com "-cskill"
{
"name": "financial-analysis-suite-cskill", // 🆕 COM "-cskill"
"plugins": [
{
"name": "data-acquisition-cskill", // 🆕 COM "-cskill"
"source": "./data-acquisition-cskill/", // 🆕 CAMINHO "-cskill"
"skills": ["./SKILL.md"]
},
{
"name": "technical-analysis-cskill", // 🆕 COM "-cskill"
"source": "./technical-analysis-cskill/", // 🆕 CAMINHO "-cskill"
"skills": ["./SKILL.md"]
},
{
"name": "visualization-cskill", // 🆕 COM "-cskill"
"source": "./visualization-cskill/", // 🆕 CAMINHO "-cskill"
"skills": ["./SKILL.md"]
},
{
"name": "reporting-cskill", // 🆕 COM "-cskill"
"source": "./reporting-cskill/", // 🆕 CAMINHO "-cskill"
"skills": ["./SKILL.md"]
}
]
}
5.3 🆕 Criação dos SKILL.md Files com "-cskill"
Exemplo para Component Skill:
---
name: data-acquisition-cskill # 🆕 NOME ATUALIZADO
description: Component skill for acquiring financial market data from multiple sources. Created by Agent-Skill-Creator.
---
# Financial Data Acquisition -cskill
This component skill handles all data acquisition needs for the financial-analysis-suite-cskill.
## When to Use This Component Skill
Use this skill when you need to:
- Download market data from APIs (Alpha Vantage, Yahoo Finance)
- Import data from CSV/Excel files
- Validate and clean financial data
- Store data in standardized format
## About This Skill
This is a **Claude Skill** created automatically by the Agent-Skill-Creator.
- **Type**: Component Skill
- **Parent Suite**: financial-analysis-suite-cskill
- **Naming Convention**: Follows "-cskill" suffix convention
- **Created**: Automatically from user requirements
5.4 🆕 Criação dos Scripts Python (Sem mudanças no código, mas com paths atualizados)
# data-acquisition-cskill/scripts/fetch_data.py
class FinancialDataFetcher:
def __init__(self, config_file='config/data_sources.json'):
self.config = self.load_config(config_file)
def fetch_stock_data(self, tickers, period='1y'):
"""Fetch historical stock data for given tickers"""
# Código funcional idêntico, apenas paths mudam
5.5 🆕 Criação de Arquivos de Configuração (Mesmo conteúdo, paths atualizados)
// shared/config/data_sources.json (mesmo conteúdo)
{
"api_keys": {
"alpha_vantage": "YOUR_API_KEY_HERE"
}
}
5.6 🆕 Criação do README Principal com "-cskill"
# Financial Analysis Suite -cskill
Complete automated financial analysis system that processes market data, performs technical analysis, and generates professional investment reports.
**About This Skill:**
- **Type**: Complex Skill Suite
- **Created by**: Agent-Skill-Creator
- **Naming Convention**: Uses "-cskill" suffix for clear identification
- **Architecture**: Multi-component specialized system
## Quick Start
1. Install dependencies: `pip install -r requirements.txt`
2. Configure API keys in `shared/config/data_sources.json`
3. Install as Claude plugin: `/plugin marketplace add ./`
4. Use: "Analyze AAPL using financial-analysis-suite-cskill"
## Components
- **data-acquisition-cskill**: Automated market data collection
- **technical-analysis-cskill**: Indicator calculations and signal generation
- **visualization-cskill**: Chart creation and trend analysis
- **reporting-cskill**: Professional PDF report generation
## Naming Convention
All components use the "-cskill" suffix to indicate:
- ✅ Created by Agent-Skill-Creator
- ✅ Claude Skill origin
- ✅ Professional naming standard
- ✅ Clear identification and organization
5.7 🆕 Teste de Instalação Automático (Mesmo código, referências atualizadas)
# scripts/test_installation.py
def test_suite_installation():
"""Test that all components work correctly"""
suite_name = "financial-analysis-suite-cskill" # 🆕 ATUALIZADO
print(f"🧪 Testing {suite_name} installation...")
# Test imports (mesmo código)
try:
import pandas as pd
print("✅ All dependencies imported successfully")
except ImportError as e:
print(f"❌ Missing dependency: {e}")
return False
# Test configuration (mesmo código)
try:
with open('shared/config/data_sources.json') as f:
config = json.load(f)
print("✅ Configuration file loaded successfully")
except FileNotFoundError:
print("❌ Configuration file missing")
return False
print(f"🎉 All tests passed! {suite_name} is ready to use.")
return True
if __name__ == "__main__":
test_suite_installation()
🎯 Resultado Final Atualizado com "-cskill"
Após aproximadamente 45-90 minutos de processamento autônomo, o usuário terá:
financial-analysis-suite-cskill/ # 🆕 COM "-cskill"
├── .claude-plugin/
│ └── marketplace.json ← Manifesto da suite
├── data-acquisition-cskill/ # 🆕 COMPONENT COM "-cskill"
│ ├── SKILL.md ← Component skill 1
│ ├── scripts/
│ │ ├── fetch_data.py ← Código funcional
│ ├── references/
│ └── assets/
├── technical-analysis-cskill/ # 🆕 COMPONENT COM "-cskill"
│ ├── SKILL.md ← Component skill 2
│ ├── scripts/
│ └── references/
├── visualization-cskill/ # 🆕 COMPONENT COM "-cskill"
│ ├── SKILL.md ← Component skill 3
│ └── scripts/
├── reporting-cskill/ # 🆕 COMPONENT COM "-cskill"
│ ├── SKILL.md ← Component skill 4
│ └── scripts/
├── shared/ # Sem mudanças
│ ├── utils/
│ ├── config/
│ └── templates/
├── requirements.txt # Sem mudanças
├── README.md # 🆕 ATUALIZADO COM "-cskill"
├── DECISIONS.md # 🆕 COM DECISÃO DE NOME
└── test_installation.py # 🆕 REFERÊNCIAS ATUALIZADAS
🔄 Como Usar a Skill Criada com "-cskill"
Identificação Clara:
# Instalar a suite (nome claro com "-cskill")
cd financial-analysis-suite-cskill
/plugin marketplace add ./
# Usar componente específico (também com "-cskill")
"Use data-acquisition-cskill to fetch latest AAPL data"
# Usar suíte completa (com "-cskill")
"Generate financial report using financial-analysis-suite-cskill"
Benefícios da Convenção "-cskill":
- ✅ Identificação Imediata: "-cskill" indica Claude Skill criada pelo Agent-Skill-Creator
- ✅ Organização Clara:
ls *-cskill/lista todas as skills criadas automaticamente - ✅ Busca Eficiente: Padrão consistente para encontrar skills específicas
- ✅ Zero Confusão: Distingue de skills manuais ou outras fontes
🧠 Inteligência por Trás do Processo (COM "-cskill")
O que Torna Isso Possível (com a nova convenção):
- Compreensão Semântica: O Claude entende o conteúdo e gera nomes descritivos
- Extração Estruturada: Identifica workflows e conceitos-chave
- Decisão Autônoma: Escolhe arquitetura E aplica convenção "-cskill"
- Geração Funcional: Cria código que funciona com nomes "-cskill"
- Consistência Automática: Garante "-cskill" em todos os níveis
🆕 Benefícios Adicionais da Convenção "-cskill":
Para o Usuário:
- Imediata: Vê "-cskill" e sabe exatamente o que é
- Profissional: Convenção de nomenclatura padronizada
- Organizada: Skills agrupadas logicamente
- Confiável: Identificação clara de origem
Para o Sistema:
- Validação Automática: Verifica conformidade com "-cskill"
- Busca Eficiente: Padrão para encontrar skills
- Manutenção Simplificada: Identificação clara de origem
- Evolução Controlada: Histórico de skills criadas
Para o Ecossistema:
- Padronização: Todas as skills seguem mesma convenção
- Integração: Fácil trabalhar com múltiplas skills "-cskill"
- Documentação: Referências consistentes em toda parte
- Colaboração: Times entendem convenção facilmente
🎉 Comparação: Antes vs Depois da Convenção "-cskill"
ANTES (Sem Convenção Clara):
financial-analysis-suite/ ← Ambíguo
├── data-acquisition/ ← Poderia ser manual?
├── technical-analysis/ ← Origem desconhecida
├── reporting/ ← Tipo não identificado
Confusões Possíveis:
- ❌ "Isso é uma skill ou foi criada manualmente?"
- ❌ "Qual é a origem destes componentes?"
- ❌ "Como organizar com outras skills?"
DEPOIS (Com Convenção "-cskill"):
financial-analysis-suite-cskill/ ← Clara: Claude Skill, Complex Suite
├── data-acquisition-cskill/ ← Clara: Component skill, Origem conhecida
├── technical-analysis-cskill/ ← Clara: Component skill, Origem conhecida
├── reporting-cskill/ ← Clara: Component skill, Origem conhecida
Benefícios Imediatos:
- ✅ "É uma Claude Skill criada pelo Agent-Skill-Creator"
- ✅ "Todos os componentes são consistentes"
- ✅ "Fácil identificar e organizar skills"
📚 Resultado Final da Convenção "-cskill"
O Agent-Skill-Creator agora não apenas transforma artigos em skills funcionais, mas também aplica automaticamente uma convenção de nomenclatura profissional que:
- Elimina completamente a confusão sobre origem e tipo das skills
- Garantece consistência em toda documentação e código
- Facilita organização e gerenciamento de skills
- Aumenta profissionalismo e clareza na comunicação
- Cria identidade forte para o ecossistema de skills Claude
A convenção "-cskill" tornou o processo não apenas funcional, mas também profissionalmente padronizado e fácil de entender! 🎉