Files
descomplicar-meta-plugin/skills/component-generator/SKILL.md
Emanuel Almeida 692475a315 feat(v1.5.2): Execute database migrations and complete setup
- Execute all 6 migrations on Desk CRM production database
- Create missing tables: cr_lsps, cr_agent_lsps, cr_lsp_usage
- Create archive tables: cr_*_usage_archive (4 tables)
- Create system tables: cr_migrations, cr_maintenance_log
- Make all scripts executable (chmod +x)
- Total cr_* tables: 38

Migration files:
- 001_initial_schema.sql
- 002_add_lsps.sql
- 003_add_relationships.sql
- 004_add_telemetry.sql
- 005_add_archive_tables.sql
- 006_add_maintenance_log.sql

Scripts:
- session-init.sh, session-end.sh
- inject-context.sh, inject-agent-context.sh
- record-usage.sh, db-backup.sh, sync-to-mysql.sh

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 16:18:02 +00:00

290 lines
5.8 KiB
Markdown

---
name: component-generator
description: >
Gera componentes Claude Code seguindo templates Descomplicar®.
Use when "criar skill", "criar agent", "novo componente",
"gerar template", "scaffolding", "criar command".
author: Descomplicar®
version: 1.0.0
desk_task: 1441
allowed-tools: Read, Write, Edit, Glob, ToolSearch
---
# Component Generator
Skill para criar componentes de alta qualidade automaticamente, fechando o ciclo CRIAR → VALIDAR → REGISTAR.
## Triggers
Esta skill deve ser activada quando:
- Utilizador pede para criar nova skill
- Utilizador pede para criar novo agent
- Utilizador pede para criar novo command
- Necessidade de scaffold de componente identificada
- Comando `/descomplicar:create` é invocado
## Capabilities
### 1. Scaffold Skill
Cria estrutura completa de skill com frontmatter obrigatório.
**Comando:**
```
/descomplicar:create skill <name>
```
**Template Gerado:**
```markdown
---
name: <name>
description: >
[Capability]. Use when "[trigger1]", "[trigger2]",
"[keyword1]", "[keyword2]", "[keyword3]".
author: Descomplicar®
version: 1.0.0
desk_task: XXXX
allowed-tools: Read, Glob, Grep
---
# <Name>
[Descrição da skill]
## Triggers
Esta skill deve ser activada quando:
- [Trigger 1]
- [Trigger 2]
## Capabilities
### 1. [Capability 1]
[Descrição]
### 2. [Capability 2]
[Descrição]
## Workflow
```
[PASSO1] → [PASSO2] → [PASSO3] → [PASSO4]
```
## Exemplo de Uso
```
User: [Exemplo de input]
Assistant: [Exemplo de output]
```
## Limites
- [Quando NÃO usar]
- [Escopo máximo]
```
**Acções Automáticas:**
1. Criar directório `skills/<name>/`
2. Gerar `SKILL.md` com template
3. Registar em `cr_skills` (MySQL)
4. Criar tarefa Desk CRM (se desk_task fornecido)
### 2. Scaffold Agent
Cria ficheiro de agente com mapeamento de MCPs por categoria.
**Comando:**
```
/descomplicar:create agent <name> [--category dev|business|marketing|infra]
```
**Template Gerado:**
```markdown
---
name: <name>
description: >
[Descrição]. Use for [uso1], [uso2], [uso3].
model: sonnet
tools: Read, Glob, Grep, ToolSearch
allowed-mcps: [MCPs baseados na categoria]
category: <category>
author: Descomplicar®
version: 1.0.0
desk_task: XXXX
---
# <Name>
[Descrição do agente]
## Quando Usar
USAR PROATIVAMENTE para:
- [Caso de uso 1]
- [Caso de uso 2]
## Capabilities
### [Capability 1]
- [Detalhe]
## Tools Disponíveis
| Tool | Uso |
|------|-----|
| [tool] | [descrição] |
## Workflow Típico
```
1. [Passo 1]
2. [Passo 2]
3. [Passo 3]
4. [Passo 4]
```
## Colaborações
- [Agente relacionado 1]
- [Agente relacionado 2]
## Limites
- [Limite 1]
- [Limite 2]
```
**MCPs por Categoria:**
| Categoria | MCPs Primary | MCPs Recommended |
|-----------|--------------|------------------|
| dev | gitea, filesystem | ssh-unified, desk-crm-v3 |
| business | desk-crm-v3, moloni | google-workspace |
| marketing | google-workspace, tavily | desk-crm-v3 |
| infra | ssh-unified, cwp | filesystem, gitea |
**Acções Automáticas:**
1. Criar `agents/<name>.md`
2. Registar em `cr_agents` (MySQL)
3. Criar mapeamentos em `cr_agent_mcps`
4. Sugerir colaborações em `cr_agent_collaborations`
5. Criar tarefa Desk CRM
### 3. Scaffold Command
Cria ficheiro de comando com namespace e arguments.
**Comando:**
```
/descomplicar:create command <name>
```
**Template Gerado:**
```markdown
---
name: <name>
description: >
[Descrição do comando]. [O que faz].
argument-hint: "[argumentos opcionais]"
---
# /descomplicar:<name>
[Descrição detalhada]
## Objectivo
[O que este comando faz]
## Sintaxe
```
/descomplicar:<name> [action] [args]
```
## Acções Disponíveis
### 1. [Acção 1]
```
/descomplicar:<name> [action1]
```
[Descrição]
## Output Esperado
```
╔═══════════════════════════════════════════╗
║ [OUTPUT VISUAL] ║
╚═══════════════════════════════════════════╝
```
```
**Acções Automáticas:**
1. Criar `commands/<name>.md`
2. Actualizar `plugin.json` com novo command
### 4. Registar em MySQL
```sql
-- Para Skills
INSERT INTO cr_skills (slug, name, category, status, desk_task, created_at)
VALUES (?, ?, ?, 'active', ?, NOW());
-- Para Agents
INSERT INTO cr_agents (slug, name, category, status, desk_task, created_at)
VALUES (?, ?, ?, 'active', ?, NOW());
```
### 5. Criar Tarefa Desk CRM
```sql
INSERT INTO tbltasks (name, description, rel_type, rel_id, milestone, status, dateadded, startdate, addedfrom)
VALUES (
'<Type>: <name>',
'<h3>Propósito</h3><p>...</p><h3>Estado</h3><p>Em desenvolvimento</p>',
'project', 65, -- Stack Workflow
?, -- Milestone apropriado
1, NOW(), CURDATE(), 1
);
```
## Workflow Completo
```
CREATE → VALIDATE → REGISTER → DESK TASK → READY
↓ ↓ ↓ ↓
Template Score≥70 MySQL Tracking
```
## Validação Automática
Após criação, invoca `quality-validator` para garantir score >= 70:
- Se score < 70: ALERTA + sugestões de melhoria
- Se score >= 70: componente activado
## Exemplo de Uso
```
User: Cria uma nova skill para gestão de backups
Component Generator:
1. [Cria directório skills/backup-manager/]
2. [Gera SKILL.md com template Descomplicar®]
3. [Valida: score 65/100 - Draft]
4. [Regista em cr_skills (id: 55)]
5. [Cria tarefa Desk #1503]
6. Resposta: "Skill backup-manager criada com sucesso!
- Path: skills/backup-manager/SKILL.md
- Score: 65/100 (Draft)
- Próximo passo: Editar e correr /descomplicar:validate"
```
## Limites
- Apenas cria estrutura base - conteúdo deve ser desenvolvido
- Score inicial tipicamente 50-70 (Draft)
- Não cria componentes duplicados (verifica slug existente)
- Requer conexão MySQL para registo em cr_*
- Não modifica componentes existentes (usar Edit tool)