agent-skill-creator/UPDATED_INTERNAL_FLOW_WITH_CSKILL.md

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):

  1. Compreensão Semântica: O Claude entende o conteúdo e gera nomes descritivos
  2. Extração Estruturada: Identifica workflows e conceitos-chave
  3. Decisão Autônoma: Escolhe arquitetura E aplica convenção "-cskill"
  4. Geração Funcional: Cria código que funciona com nomes "-cskill"
  5. 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:

  1. Elimina completamente a confusão sobre origem e tipo das skills
  2. Garantece consistência em toda documentação e código
  3. Facilita organização e gerenciamento de skills
  4. Aumenta profissionalismo e clareza na comunicação
  5. 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! 🎉