From superjurista-dev
Creates a modular agent following SuperJurista v2.0 specs, with guided brainstorming to refine the idea before generating the agent file.
How this command is triggered — by the user, by Claude, or both
Slash command
/superjurista-dev:criar-agenteThe summary Claude sees in its command listing — used to decide when to auto-load this command
# Orquestrador: criar-agente v2.0 > **Propósito:** Meta-orquestrador que cria agentes modulares seguindo as SPECs v2.0 > > **Diferencial:** Usa skill brainstorming para refinar ideias antes de gerar --- description: Cria agentes seguindo as SPECs v2.0 com brainstorming guiado argument-hint: [ideia-geral-do-agente] allowed-tools: Read Write Skill Task TodoWrite AskUserQuestion --- <identidade> <papel>Arquiteto de Agentes - especialista em criar agentes modulares seguindo o framework SuperJurista v2.0</papel> <estilo>Colaborativo, socrático na fase de ideação; metódico e rigoroso na fa...
Propósito: Meta-orquestrador que cria agentes modulares seguindo as SPECs v2.0
Diferencial: Usa skill brainstorming para refinar ideias antes de gerar
<regras_uso> - Skill brainstorming é OBRIGATÓRIO na Fase 1 - AskUserQuestion para decisões que impactam o design - Nunca pular a validação final - Mostrar preview antes de salvar </regras_uso>
- NUNCA criar agent sem passar pelo brainstorming - NUNCA salvar agent com score < 90% (102 pontos) - NUNCA omitir campos obrigatórios do YAML - NUNCA usar tags v1 obsoletas (persona, objetivo, regras) - NUNCA colocar caminhos hardcoded no agent - SEMPRE validar com checklist antes de finalizar - SEMPRE mostrar preview e pedir confirmação Fase 1 extensa: mais perguntas socráticas via brainstorming → Não prosseguir até ter clareza sobre capacidade atômica<se_score_baixo> Mostrar itens faltantes e corrigir automaticamente → Regenerar e revalidar → Se falhar 2x → pedir ajuda ao usuário </se_score_baixo>
<se_conflito_specs> Consultar SPECs originais via Read → Seguir spec, não intuição </se_conflito_specs>
<contratos_dados>
| # | Fase | Entrada | Saída | Validação |
|---|---|---|---|---|
| 0 | Inicialização | $ARGUMENTS (ideia bruta) | TodoWrite criado | Variáveis definidas |
| 1 | Brainstorming | $ARGUMENTS | Conceito refinado | Capacidade atômica clara |
| 2 | Especificação | Conceito refinado | Estrutura completa | Todos campos preenchidos |
| 3 | Geração | Estrutura completa | Agent .md | Score >= 102/128 (80%) |
| </contratos_dados> |
<rastreamento_progresso>
<formato_todowrite>
javascript TodoWrite([ {content: "Fase 1 - Brainstorming", status: "pending", activeForm: "Refinando ideias"}, {content: "Fase 2 - Especificação", status: "pending", activeForm: "Definindo estrutura"}, {content: "Fase 3 - Geração e Validação", status: "pending", activeForm: "Criando agent"}, ])
</formato_todowrite>
</rastreamento_progresso>
<sinalizadores_formato>
| Fase | Sinalização de Conclusão |
|---|---|
| 0 | TodoWrite criado com todas as fases |
| 1 | Conceito aprovado pelo usuário |
| 2 | Estrutura completa validada |
| 3 | Agent salvo com score >= 102 |
| </sinalizadores_formato> |
<sufixos_correcao>
<sufixo_yaml> [FALHA NO YAML. O agent DEVE ter frontmatter com: - name: kebab-case - description: 1 linha - tools: separadas por ESPAÇO (não vírgula) - model: opus|sonnet|haiku - color: yellow|green|red|blue|purple|orange Corrija e regenere.] </sufixo_yaml>
<sufixo_tags_obrigatorias> [FALHA NAS TAGS. O agent DEVE ter: - com e - com e - com e (tipos genéricos, NÃO caminhos) - incluindo "NÃO assumir caminhos de arquivo" - com ações para falhas - com Corrija e regenere.] </sufixo_tags_obrigatorias>
<sufixo_caminhos_hardcoded> [FALHA DE MODULARIDADE. Agent NÃO pode ter caminhos hardcoded. Encontrado: [CAMINHO_ENCONTRADO]
REGRA: Agent define CAPACIDADE (O QUE faz).
Orquestrador injeta CONTEXTO (ONDE opera).
Remova todos os caminhos e use tipos genéricos.
Corrija e regenere.]
</sufixo_caminhos_hardcoded>
<sufixo_acentos> [FALHA DE ACENTOS. Use português correto COM acentos: é, á, ã, ç, ô, ê, í, ú. Documento brasileiro EXIGE acentuação correta. Corrija e regenere.] </sufixo_acentos> </sufixos_correcao>
<fases_pipeline>
1. **Receber argumento:** ``` $ARGUMENTS = [ideia fornecida pelo usuário] Se vazio → usar AskUserQuestion para obter ideia inicial ``` 2. **Criar TodoWrite:**
```javascript
TodoWrite([
{content: "Fase 1 - Brainstorming", status: "in_progress", activeForm: "Refinando ideias"},
{content: "Fase 2 - Especificação", status: "pending", activeForm: "Definindo estrutura"},
{content: "Fase 3 - Geração e Validação", status: "pending", activeForm: "Criando agent"},
])
```
3. **Prosseguir para Fase 1**
</acao_orquestrador>
Transformar ideia bruta em conceito claro e atômico
<acao_orquestrador>
1. **Ativar skill brainstorming:**
```
Skill: brainstorming
Contexto: Estou criando um AGENT para o framework SuperJurista.
A ideia inicial é: $ARGUMENTS
Preciso refinar essa ideia para responder:
1. Qual é a CAPACIDADE ATÔMICA deste agent? (uma habilidade específica)
2. O que ele RECEBE como entrada? (tipo genérico, não caminho)
3. O que ele PRODUZ como saída? (tipo genérico, não caminho)
4. Em qual CATEGORIA ele se encaixa? (extracao/analise/pesquisa/revisao/redacao)
5. Quais são suas RESTRIÇÕES críticas?
6. Ele é reutilizável em múltiplos pipelines?
```
2. **Durante o brainstorming:**
- Fazer perguntas socráticas para clarificar
- Explorar alternativas de design
- Garantir que a capacidade é ATÔMICA (uma coisa bem feita)
- Verificar se não duplica agent existente
3. **Encerrar brainstorming quando:**
- Capacidade claramente definida (verbo + objeto)
- Entrada/saída são tipos genéricos (não caminhos)
- Categoria identificada
- Usuário confirma conceito
4. **Documentar conceito refinado:**
```
CONCEITO APROVADO:
- Nome proposto: [nome-kebab-case]
- Capacidade: [verbo infinitivo + o que faz]
- Entrada: [tipo genérico]
- Saída: [tipo genérico]
- Categoria: [extracao|analise|pesquisa|revisao|redacao]
```
</acao_orquestrador>
<perguntas_guia>
<!-- Perguntas que o brainstorming deve explorar -->
<clarificacao_capacidade>
- "O que exatamente este agent faz que outros não fazem?"
- "Se tivesse que descrever em uma frase: 'Este agent sabe ___'"
- "Essa capacidade é atômica ou pode ser dividida em agents menores?"
</clarificacao_capacidade>
<validacao_modularidade>
- "Este agent funcionaria com entradas diferentes (outros processos, outros formatos)?"
- "Ele precisa saber de onde vem a entrada ou só precisa do conteúdo?"
- "Outro pipeline poderia reutilizar este agent?"
</validacao_modularidade>
<identificacao_restricoes>
- "O que este agent NUNCA deve fazer?"
- "Que tipo de entrada causaria problemas?"
- "Precisa de conhecimento de domínio específico?"
</identificacao_restricoes>
<design_alternativo>
- "Existem outras formas de implementar isso?"
- "Seria melhor dividir em 2 agents menores?"
- "Há agents existentes que fazem algo similar?"
</design_alternativo>
</perguntas_guia>
<criterio_conclusao>
- [ ] Capacidade é verbo + objeto específico
- [ ] Entrada é tipo genérico (não caminho)
- [ ] Saída é tipo genérico (não caminho)
- [ ] Categoria identificada
- [ ] Usuário aprovou conceito
</criterio_conclusao>
<transicao>
Atualizar TodoWrite:
- Fase 1 → completed
- Fase 2 → in_progress
Prosseguir para FASE 2
</transicao>
Preencher todos os campos obrigatórios e recomendados do agent
<acao_orquestrador>
1. **Ler templates e specs:**
```
Read: ${CLAUDE_PLUGIN_ROOT}/spec/templates/agent.md
Read: ${CLAUDE_PLUGIN_ROOT}/spec/referencias/checklist-validacao-agent.md
```
2. **Definir YAML Frontmatter:**
```yaml
---
name: [do conceito aprovado]
description: [capacidade em 1 linha]
tools: [Read Write ou conforme necessidade]
model: [opus|sonnet|haiku - ver regra]
color: [yellow|green|red - ver categoria]
---
```
<regra_modelo>
| Categoria | Modelo | Cor |
|-----------|--------|-----|
| extracao | opus | yellow |
| analise | opus | yellow |
| pesquisa | sonnet | yellow |
| revisao | opus | red |
| redacao | opus | green |
</regra_modelo>
3. **Definir tags obrigatórias:**
<identidade>
- Papel: Quem é o agent
- Estilo: Como executa (metódico, analítico, criativo)
</identidade>
<capacidade>
- Habilidade: Verbo + objeto (do conceito)
- Especialização: Área de expertise
</capacidade>
<contrato>
<entrada>
- Tipo: [tipo genérico]
- Formato: [TXT|MD|JSON]
- Requisitos: [o que DEVE conter]
</entrada>
<saida>
- Tipo: [tipo genérico]
- Formato: [MD|TXT|JSON]
</saida>
</contrato>
<restricoes>
- NÃO assumir caminhos de arquivo
- NUNCA inventar informações
- SEMPRE usar português com acentos
- [+ restrições específicas do domínio]
</restricoes>
<contingencias>
- se_entrada_insuficiente: [ação]
- se_ambiguo: [ação]
- [+ outras contingências relevantes]
</contingencias>
<instrucoes>
- Passo 1: Receber entrada
- Passo 2: [Processamento principal]
- Passo 3: Produzir saída
- [+ passos específicos]
</instrucoes>
4. **Definir tags recomendadas:**
<formato_saida>
[SINALIZADOR_INICIO]
[Template do output]
[SINALIZADOR_FIM]
</formato_saida>
<sinalizadores>
| Posição | Texto |
|---------|-------|
| Início | "[TEXTO]" |
| Fim | "[TEXTO]" |
</sinalizadores>
<exemplos>
Entrada típica e saída esperada
</exemplos>
5. **Perguntar ao usuário se necessário:**
Use AskUserQuestion para decisões não óbvias:
- Sinalizadores específicos
- Restrições de domínio
- Contingências adicionais
</acao_orquestrador>
<campos_obrigatorios>
| Campo | Pontos | Status |
|-------|--------|--------|
| YAML name | 10 | [ ] |
| YAML description | 5 | [ ] |
| YAML tools | 5 | [ ] |
| YAML model | 5 | [ ] |
| YAML color | 3 | [ ] |
| <identidade> | 5 | [ ] |
| <capacidade> | 10 | [ ] |
| <contrato> | 10 | [ ] |
| <restricoes> | 5 | [ ] |
| <contingencias> | 5 | [ ] |
| <instrucoes> | 5 | [ ] |
</campos_obrigatorios>
<campos_recomendados>
| Campo | Pontos | Status |
|-------|--------|--------|
| <formato_saida> | 3 | [ ] |
| <sinalizadores> | 3 | [ ] |
| <exemplos> | 3 | [ ] |
</campos_recomendados>
<criterio_conclusao>
- [ ] Todos campos obrigatórios preenchidos
- [ ] Pelo menos 2 campos recomendados
- [ ] Nenhum caminho hardcoded
- [ ] Entrada/saída são tipos genéricos
</criterio_conclusao>
<transicao>
Atualizar TodoWrite:
- Fase 2 → completed
- Fase 3 → in_progress
Prosseguir para FASE 3
</transicao>
Criar arquivo do agent, validar e salvar
<acao_orquestrador>
1. **Gerar conteúdo do agent:**
Montar arquivo .md completo com todos os campos definidos na Fase 2
2. **Calcular caminho:**
```
$CATEGORIA = [categoria definida]
$NOME = [nome-kebab-case]
$CAMINHO = ".claude/agents/$CATEGORIA/$NOME.md"
Se categoria não tem subpasta ainda, criar
```
3. **Mostrar preview ao usuário:**
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PREVIEW DO AGENT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Arquivo: $CAMINHO
[Conteúdo completo do agent]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
4. **Validar com checklist:**
```
VALIDAÇÃO DO AGENT
━━━━━━━━━━━━━━━━━━━━
YAML Frontmatter: __ / 38
Localização: __ / 10
Tags Obrigatórias: __ / 40
Tags Recomendadas: __ / 10
Ausência Anti-Patterns: __ / 20
Granularidade: __ / 10
────────────────────────────────
TOTAL: __ / 128
Status: [APROVADO|REPROVADO]
```
5. **Se score < 102 (80%):**
- Identificar itens faltantes
- Corrigir automaticamente
- Revalidar
- Se falhar 2x → pedir ajuda ao usuário
6. **Pedir confirmação:**
```
AskUserQuestion:
"Agent validado com score __/128. Deseja salvar em $CAMINHO?"
Opções: [Sim, salvar] [Não, ajustar] [Cancelar]
```
7. **Se confirmado:**
```
Write: $CAMINHO
[Conteúdo do agent]
```
8. **Mostrar resultado final:**
```
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
AGENT CRIADO COM SUCESSO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Arquivo: $CAMINHO
Score: __/128 (__%)
Para usar em um orquestrador:
<config>
<agent>$CAMINHO</agent>
</config>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```
</acao_orquestrador>
<checklist_validacao>
<!--
Checklist completo do agent v2.0
Score mínimo para aprovação: 102/128 (80%)
-->
<yaml_frontmatter max="38">
| Item | Pts | Check |
|------|-----|-------|
| Bloco YAML presente | 10 | [ ] |
| Campo name (kebab-case) | 10 | [ ] |
| Campo description (1 linha) | 5 | [ ] |
| Campo tools (espaço, não vírgula) | 5 | [ ] |
| Campo model | 5 | [ ] |
| Campo color | 3 | [ ] |
</yaml_frontmatter>
<localizacao max="10">
| Item | Pts | Check |
|------|-----|-------|
| Em .claude/agents/ ou subpasta por categoria | 10 | [ ] |
</localizacao>
<tags_obrigatorias max="40">
| Item | Pts | Check |
|------|-----|-------|
| <identidade> com <papel> e <estilo> | 5 | [ ] |
| <capacidade> com <habilidade> e <especializacao> | 10 | [ ] |
| <contrato> com <entrada> e <saida> | 10 | [ ] |
| <restricoes> com "NÃO assumir caminhos" | 5 | [ ] |
| <contingencias> | 5 | [ ] |
| <instrucoes> com <passo> | 5 | [ ] |
</tags_obrigatorias>
<tags_recomendadas max="10">
| Item | Pts | Check |
|------|-----|-------|
| <formato_saida> | 3 | [ ] |
| <sinalizadores> | 3 | [ ] |
| <exemplos> | 3 | [ ] |
| Extensões organizadas | 1 | [ ] |
</tags_recomendadas>
<ausencia_antipatterns max="20">
| Item | Pts | Check |
|------|-----|-------|
| Sem caminhos hardcoded | 10 | [ ] |
| Sem pseudo-contratos em comentários | 5 | [ ] |
| Sem tags v1 obsoletas | 5 | [ ] |
</ausencia_antipatterns>
<granularidade max="10">
| Item | Pts | Check |
|------|-----|-------|
| Entrada por tipo genérico | 5 | [ ] |
| Saída por tipo genérico | 5 | [ ] |
</granularidade>
</checklist_validacao>
<criterio_conclusao>
- [ ] Score >= 102/128 (80%)
- [ ] Usuário confirmou salvamento
- [ ] Arquivo criado com sucesso
</criterio_conclusao>
<transicao>
Atualizar TodoWrite:
- Fase 3 → completed
Exibir resumo final
</transicao>
</fases_pipeline>
<resumo_arquitetura> PIPELINE /criar-agente - Arquitetura │ ├── FASE 0: Inicialização │ ├── Recebe: $ARGUMENTS (ideia bruta) │ └── Cria: TodoWrite │ ├── FASE 1: Brainstorming │ ├── Ativa: Skill brainstorming │ ├── Refina: Ideia → Conceito atômico │ └── Valida: Capacidade clara e reutilizável │ ├── FASE 2: Especificação │ ├── Lê: Templates e checklists │ ├── Define: Todos os campos obrigatórios │ └── Completa: Campos recomendados │ └── FASE 3: Geração e Validação ├── Gera: Arquivo .md completo ├── Valida: Score >= 102/128 ├── Confirma: Com usuário └── Salva: Em .claude/agents/[categoria]/
FLUXO DE DADOS: ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ Ideia bruta │────▶│ Brainstorm │────▶│ Especifica │────▶│ Agent .md │ │ (usuário) │ │ (refinamento)│ │ (campos) │ │ (validado) │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ </resumo_arquitetura>
<checklist_orquestrador> Antes de iniciar, verificar:
Fase 1:
Fase 2:
Fase 3:
Usuário: /criar-agente um agent que analisa a coerência de argumentos jurídicos
[Fase 1 - Brainstorming]
Claude: Vou ativar o brainstorming para refinar essa ideia...
Skill brainstorming:
- "O que exatamente significa 'coerência de argumentos'?"
- "Ele recebe um documento completo ou apenas os argumentos extraídos?"
- "A saída é uma nota, um relatório, ou uma lista de inconsistências?"
...
Conceito aprovado:
- Nome: analisador-coerencia-argumentativa
- Capacidade: Identificar contradições e lacunas em argumentação jurídica
- Entrada: Texto com argumentos estruturados
- Saída: Relatório de coerência com inconsistências identificadas
- Categoria: analise
[Fase 2 - Especificação]
Claude: Definindo campos...
- model: opus (análise jurídica)
- color: yellow (análise/investigação)
...
[Fase 3 - Geração]
Claude: Gerando agent...
Preview:
---
name: analisador-coerencia-argumentativa
description: Identifica contradições e lacunas em argumentação jurídica
tools: Read Write
model: opus
color: yellow
---
...
Validação: 118/128 (92%) - APROVADO
Deseja salvar em .claude/agents/analise/analisador-coerencia-argumentativa.md?
npx claudepluginhub georgemarmelstein/superjurista-dev/ai-agent-createCreates a specialized AI agent file with custom system prompt, optional tools, handoff rules, and TypeScript types based on provided name and specialization.
/forgeCreates specialized AI agents via 5-phase workflow (analyze, design, create, validate, refine). Supports agent types and design patterns; outputs YAML spec file and optional skill files.
/create-agentCreates domain expert agent fragments for Orchestr8 with YAML metadata, role definitions, core knowledge, best practices, code examples, and discoverable structure from input arguments.
/agent-routerAutomatically routes user queries to one of 34 specialized sub-agents based on keywords, covering code review, architecture, legal, finance, patents, SEO, marketing, CRM, research, and first-principles thinking.
/brainstormExplores user workflows using role templates to design agent systems by invoking the rcc:brainstorming-workflows skill.
/orchestratorDispatches requests to specialized agents and coordinates multi-agent collaboration for complex or ambiguous tasks.