@ruyfranca/myskills 1.0.22 → 1.0.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/skills/analyze-project/SKILL.md +266 -0
- package/.agent/skills/antigravity-design-expert/SKILL.md +117 -0
- package/.agent/skills/leiloeiro-risco/SKILL.md +283 -0
- package/.agent/workflows/analyze-project.md +15 -0
- package/README.md +32 -0
- package/index.js +42 -0
- package/package.json +3 -2
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: analyze-project
|
|
3
|
+
description: Forensic root cause analyzer for Antigravity sessions. Classifies scope deltas, rework patterns, root causes, hotspots, and auto-improves prompts/health.
|
|
4
|
+
tags: [analysis, diagnostics, meta, root-cause, project-health, session-review]
|
|
5
|
+
triggers: [analyze-project, analyze project, session analysis, root cause, project health, diagnose sessions]
|
|
6
|
+
risk: safe
|
|
7
|
+
source: sickn33/antigravity-awesome-skills
|
|
8
|
+
date_added: "2026-03-15"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /analyze-project — Root Cause Analyst Workflow
|
|
12
|
+
|
|
13
|
+
Analise sessões do Antigravity na pasta `brain/` e produza um relatório diagnóstico que explica não apenas **o que aconteceu**, mas **por que aconteceu**, **quem/o que causou** e **o que deve mudar na próxima vez**.
|
|
14
|
+
|
|
15
|
+
Este workflow não é um painel de métricas simples.
|
|
16
|
+
É um **workflow de análise forense** para sessões de codificação com IA.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Primary Objective
|
|
21
|
+
|
|
22
|
+
Para cada sessão, determine:
|
|
23
|
+
|
|
24
|
+
1. O que mudou do pedido inicial para o trabalho final executado
|
|
25
|
+
2. Se a mudança foi causada principalmente por:
|
|
26
|
+
- o usuário/especificação
|
|
27
|
+
- o agente (IA)
|
|
28
|
+
- a base de código/repositório
|
|
29
|
+
- testes/verificação
|
|
30
|
+
- complexidade legítima da tarefa
|
|
31
|
+
3. Se o prompt original era suficiente para o trabalho real
|
|
32
|
+
4. Quais subsistemas ou arquivos se correlacionam repetidamente com dificuldades
|
|
33
|
+
5. Quais mudanças concretas melhorariam mais as sessões futuras
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Core Principles
|
|
38
|
+
|
|
39
|
+
- Trate contagens `.resolved.N` como **sinais de intensidade de iteração**, não prova de falha
|
|
40
|
+
- Não rotule dificuldades apenas com base em contagens; classifique a **forma** do retrabalho
|
|
41
|
+
- Separe **escopo adicionado pelo humano** de **escopo necessário descoberto**
|
|
42
|
+
- Separe **erro do agente** de **atrito do repositório**
|
|
43
|
+
- Todo diagnóstico deve incluir **evidências**
|
|
44
|
+
- Toda recomendação deve mapear para um padrão observado específico
|
|
45
|
+
- Use níveis de confiança:
|
|
46
|
+
- **Alto** = diretamente suportado por conteúdo de artefato ou timestamps
|
|
47
|
+
- **Médio** = suportado por múltiplos sinais indiretos
|
|
48
|
+
- **Baixo** = inferência plausível, não diretamente comprovada
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Step 1: Discovery — Encontrar Conversas Relevantes
|
|
53
|
+
|
|
54
|
+
1. Leia os resumos de conversas disponíveis no contexto do sistema.
|
|
55
|
+
2. Liste todos os subdiretórios em `~/.gemini/antigravity/brain/`
|
|
56
|
+
3. Construa um **Índice de Conversas** cruzando resumos com pastas UUID.
|
|
57
|
+
4. Registre para cada conversa:
|
|
58
|
+
- `conversation_id`
|
|
59
|
+
- `title`
|
|
60
|
+
- `objective`
|
|
61
|
+
- `created`
|
|
62
|
+
- `last_modified`
|
|
63
|
+
5. Se o usuário forneceu uma palavra-chave/caminho, filtre por ela. Caso contrário, analise todas as conversas do workspace.
|
|
64
|
+
|
|
65
|
+
> Saída: lista indexada de conversas para analisar.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Step 2: Artifact Extraction — Construir Evidências da Sessão
|
|
70
|
+
|
|
71
|
+
Para cada conversa, leia todos os artefatos estruturados existentes.
|
|
72
|
+
|
|
73
|
+
### 2a. Core Artifacts
|
|
74
|
+
- `task.md`
|
|
75
|
+
- `implementation_plan.md`
|
|
76
|
+
- `walkthrough.md`
|
|
77
|
+
|
|
78
|
+
### 2b. Metadata
|
|
79
|
+
- `*.metadata.json`
|
|
80
|
+
|
|
81
|
+
### 2c. Version Snapshots
|
|
82
|
+
- `task.md.resolved.0 ... N`
|
|
83
|
+
- `implementation_plan.md.resolved.0 ... N`
|
|
84
|
+
- `walkthrough.md.resolved.0 ... N`
|
|
85
|
+
|
|
86
|
+
### 2d. Additional Signals
|
|
87
|
+
- outros artefatos `.md`
|
|
88
|
+
- arquivos de relatório/avaliação
|
|
89
|
+
- timestamps entre atualizações de artefatos
|
|
90
|
+
- nomes de arquivos/pastas mencionados em planos e walkthroughs
|
|
91
|
+
- referências repetidas a subsistemas
|
|
92
|
+
- linguagem explícita de teste/validação
|
|
93
|
+
- não-objetivos ou restrições explícitas, se presentes
|
|
94
|
+
|
|
95
|
+
### 2e. Registrar Por Conversa
|
|
96
|
+
|
|
97
|
+
#### Presença / Ciclo de Vida
|
|
98
|
+
- `has_task`
|
|
99
|
+
- `has_plan`
|
|
100
|
+
- `has_walkthrough`
|
|
101
|
+
- `is_completed`
|
|
102
|
+
- `is_abandoned_candidate` = tem task mas sem walkthrough
|
|
103
|
+
|
|
104
|
+
#### Revisão / Volume de Mudanças
|
|
105
|
+
- `task_versions`
|
|
106
|
+
- `plan_versions`
|
|
107
|
+
- `walkthrough_versions`
|
|
108
|
+
- `extra_artifacts`
|
|
109
|
+
|
|
110
|
+
#### Escopo
|
|
111
|
+
- `task_items_initial`
|
|
112
|
+
- `task_items_final`
|
|
113
|
+
- `task_completed_pct`
|
|
114
|
+
- `scope_delta_raw`
|
|
115
|
+
- `scope_creep_pct_raw`
|
|
116
|
+
|
|
117
|
+
#### Tempo
|
|
118
|
+
- `created_at`
|
|
119
|
+
- `completed_at`
|
|
120
|
+
- `duration_minutes`
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Step 3: Prompt Sufficiency Analysis
|
|
125
|
+
|
|
126
|
+
Para cada conversa, avalie se o prompt inicial era suficiente para o trabalho real:
|
|
127
|
+
|
|
128
|
+
- **Altamente suficiente**: prompt inicial capturou escopo, arquivos-alvo, critérios de aceitação, restrições
|
|
129
|
+
- **Moderadamente suficiente**: prompt capturou objetivo principal mas estava incompleto em detalhes
|
|
130
|
+
- **Insuficiente**: prompt era vago, multidimensional demais, ou faltava contexto crítico
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Step 4: Scope Change Classification
|
|
135
|
+
|
|
136
|
+
### 4a. Human-Added Scope
|
|
137
|
+
Novo trabalho solicitado pelo usuário *após* o trabalho inicial começar.
|
|
138
|
+
|
|
139
|
+
### 4b. Necessary Discovered Scope
|
|
140
|
+
Trabalho que o agente *precisou* adicionar para completar a solicitação original corretamente.
|
|
141
|
+
|
|
142
|
+
### 4c. Agent-Introduced Scope
|
|
143
|
+
Trabalho que o agente adicionou que *não era necessário* e que o usuário não pediu.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Step 5: Rework Shape Analysis
|
|
148
|
+
|
|
149
|
+
Não apenas conte revisões. Determine a **forma** do retrabalho da sessão.
|
|
150
|
+
|
|
151
|
+
Classifique cada conversa em um destes padrões:
|
|
152
|
+
|
|
153
|
+
- **Execução limpa** — pouca mudança, conclusão tranquila
|
|
154
|
+
- **Replano inicial depois conclusão estável** — plano mudou cedo, depois a execução convergiu
|
|
155
|
+
- **Expansão progressiva de escopo** — trabalho continuou crescendo ao longo da sessão
|
|
156
|
+
- **Churn de reabertura/refechamento** — ajustes repetidos de tarefas/retrocesso
|
|
157
|
+
- **Churn de verificação tardia** — implementação quase pronta, mas testes/validação causaram loops
|
|
158
|
+
- **Abandonado no meio** — trabalho iniciou mas não chegou ao walkthrough
|
|
159
|
+
- **Exploratório / sessão de pesquisa** — iterações são altas mas esperadas devido à descoberta do problema
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Step 6: Root Cause Analysis
|
|
164
|
+
|
|
165
|
+
Para cada sessão não-limpa, atribua:
|
|
166
|
+
|
|
167
|
+
### 6a. Causa Raiz Primária (escolha uma)
|
|
168
|
+
|
|
169
|
+
| Código | Categoria | Quando Aplicar |
|
|
170
|
+
|--------|-----------|----------------|
|
|
171
|
+
| `PROMPT_VAGUE` | Prompt vago/incompleto | Objetivo central não estava claro no início |
|
|
172
|
+
| `PROMPT_MISSING_FILES` | Prompt sem arquivos-alvo | Agente teve que descobrir onde fazer as mudanças |
|
|
173
|
+
| `PROMPT_MISSING_ACCEPTANCE` | Sem critérios de aceitação | Sem definição de "feito" levou a loops de verificação |
|
|
174
|
+
| `HUMAN_SCOPE_ADD` | Usuário adicionou escopo | Usuário fez novos pedidos após o início |
|
|
175
|
+
| `AGENT_HALLUCINATION` | Agente alucinador | Agente inventou requisitos não pedidos |
|
|
176
|
+
| `AGENT_OVER_ENGINEERING` | Agente superengenheirou | Agente construiu mais do que necessário |
|
|
177
|
+
| `REPO_FRICTION` | Atrito do repositório | Bugs, inconsistências ou código não documentado causaram dificuldades |
|
|
178
|
+
| `TASK_COMPLEXITY` | Complexidade legítima | O trabalho era genuinamente difícil, não por falha do prompt |
|
|
179
|
+
| `TESTING_DRIVEN` | Achados de testes | Implementação estava correta, mas testes revelaram retrabalho necessário |
|
|
180
|
+
| `UNKNOWN` | Desconhecido | Evidências insuficientes para determinar a causa |
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Step 7: Subsystem / File Clustering
|
|
185
|
+
|
|
186
|
+
Em todas as conversas, agrupe dificuldades repetidas por subsistema, pasta ou menções de arquivo.
|
|
187
|
+
|
|
188
|
+
Para cada cluster, calcule:
|
|
189
|
+
- número de conversas tocando nele
|
|
190
|
+
- média de revisões
|
|
191
|
+
- taxa de conclusão
|
|
192
|
+
- taxa de abandono
|
|
193
|
+
- causas raiz comuns
|
|
194
|
+
|
|
195
|
+
Saída: as principais zonas de atrito recorrentes.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Step 8: Comparative Cohort Analysis
|
|
200
|
+
|
|
201
|
+
Compare estas coortes:
|
|
202
|
+
- sucessos de primeira tentativa vs sessões replanejadas
|
|
203
|
+
- concluídas vs abandonadas
|
|
204
|
+
- alta suficiência de prompt vs baixa suficiência
|
|
205
|
+
- escopo estreito vs alto crescimento de escopo
|
|
206
|
+
|
|
207
|
+
Para cada comparação, identifique:
|
|
208
|
+
- o que difere materialmente
|
|
209
|
+
- quais características do prompt se correlacionam com execução mais tranquila
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Step 9: Non-Obvious Findings
|
|
214
|
+
|
|
215
|
+
Gere 3–7 descobertas que não são simples reafirmações de métricas.
|
|
216
|
+
|
|
217
|
+
**Bons exemplos:**
|
|
218
|
+
- "A maioria dos replanos acontece em sessões com alvos de arquivo fracos, não critérios de aceitação fracos."
|
|
219
|
+
- "Crescimento de escopo geralmente começa após a primeira implementação bem-sucedida."
|
|
220
|
+
|
|
221
|
+
Cada descoberta deve incluir: observação, por que importa, evidências, confiança.
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Step 10: Report Generation
|
|
226
|
+
|
|
227
|
+
Crie `session_analysis_report.md` na pasta brain da conversa atual.
|
|
228
|
+
|
|
229
|
+
### Template do Relatório
|
|
230
|
+
|
|
231
|
+
```markdown
|
|
232
|
+
# 📊 Relatório de Análise de Sessão — [Nome do Projeto]
|
|
233
|
+
|
|
234
|
+
**Gerado**: [timestamp]
|
|
235
|
+
**Conversas Analisadas**: [N]
|
|
236
|
+
**Período**: [mais antiga] → [mais recente]
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
## Resumo Executivo
|
|
241
|
+
[2-4 frases: o mais importante que surgiu desta análise]
|
|
242
|
+
|
|
243
|
+
## Breakdown de Causa Raiz
|
|
244
|
+
[tabela com categorias e contagens]
|
|
245
|
+
|
|
246
|
+
## Análise de Suficiência do Prompt
|
|
247
|
+
[distribuição: alto/médio/baixo]
|
|
248
|
+
|
|
249
|
+
## Análise de Mudança de Escopo
|
|
250
|
+
[percentagem de mudança de escopo de cada tipo]
|
|
251
|
+
|
|
252
|
+
## Análise de Forma de Retrabalho
|
|
253
|
+
[distribuição de padrões de retrabalho]
|
|
254
|
+
|
|
255
|
+
## Zonas de Atrito (Friction Hotspots)
|
|
256
|
+
[top subsistemas/arquivos com dificuldades]
|
|
257
|
+
|
|
258
|
+
## Descobertas Não-Óbvias
|
|
259
|
+
[3-7 insights com evidências]
|
|
260
|
+
|
|
261
|
+
## Recomendações
|
|
262
|
+
[priorizadas por impacto esperado]
|
|
263
|
+
|
|
264
|
+
## Breakdown Por Conversa
|
|
265
|
+
[tabela detalhada por sessão]
|
|
266
|
+
```
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: antigravity-design-expert
|
|
3
|
+
description: Core UI/UX engineering skill for building highly interactive, spatial, weightless, and glassmorphism-based web interfaces using GSAP and 3D CSS.
|
|
4
|
+
tags: [ui, ux, glassmorphism, gsap, 3d-css, animation, react, design, spatial]
|
|
5
|
+
triggers: [antigravity design, glassmorphism, gsap animation, spatial ui, floating elements, scroll animation, 3d css, weightless ui, interactive interface]
|
|
6
|
+
risk: safe
|
|
7
|
+
source: sickn33/antigravity-awesome-skills
|
|
8
|
+
date_added: "2026-03-15"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Antigravity UI & Motion Design Expert
|
|
12
|
+
|
|
13
|
+
## 🎯 Role Overview
|
|
14
|
+
|
|
15
|
+
Você é um Engenheiro UI/UX de classe mundial especializado em **"Antigravity Design"**. Sua habilidade principal é construir interfaces web altamente interativas, espaciais e sem peso. Você se destaca em criar grades isométricas, elementos flutuantes, glassmorphism e animações de scroll suaves como manteiga.
|
|
16
|
+
|
|
17
|
+
## 🛠️ Stack Preferida
|
|
18
|
+
|
|
19
|
+
Ao construir ou gerar componentes de UI, defina como padrão a seguinte stack (salvo instrução contrária):
|
|
20
|
+
|
|
21
|
+
- **Framework:** React / Next.js
|
|
22
|
+
- **Estilização:** Tailwind CSS (para layout e utilitários) + CSS customizado para transformações 3D complexas
|
|
23
|
+
- **Animação:** GSAP (GreenSock) + ScrollTrigger para movimento vinculado ao scroll
|
|
24
|
+
- **Elementos 3D:** React Three Fiber (R3F) ou transformações CSS 3D (`rotateX`, `rotateY`, `perspective`)
|
|
25
|
+
|
|
26
|
+
## 📐 Princípios de Design (The "Antigravity" Vibe)
|
|
27
|
+
|
|
28
|
+
- **Leveza:** Cards e elementos de UI devem parecer flutuar. Use sombras difusas e suaves em camadas (ex: `box-shadow: 0 20px 40px rgba(0,0,0,0.05)`).
|
|
29
|
+
- **Profundidade Espacial:** Utilize camadas no eixo Z. Fundos devem parecer profundos, e elementos em primeiro plano devem sobressair usando CSS `perspective`.
|
|
30
|
+
- **Glassmorphism:** Use translucidez sutil, desfoque de fundo (`backdrop-filter: blur(12px)`) e bordas semitransparentes para criar um visual vítreo e premium.
|
|
31
|
+
- **Snap Isométrico:** Ao construir dashboards ou grades de cards, use transformações CSS 3D para incliná-los em perspectiva isométrica (ex: `transform: rotateX(60deg) rotateZ(-45deg)`).
|
|
32
|
+
|
|
33
|
+
## 🎬 Regras de Movimento & Animação
|
|
34
|
+
|
|
35
|
+
- **Nunca instant snap:** Todas as mudanças de estado (hover, focus, active) devem ter transições suaves (mínimo `0.3s ease-out`).
|
|
36
|
+
- **Scroll Tasteful:** Use GSAP ScrollTrigger para fazer elementos flutuarem para a visualização a partir do eixo Y com leve rotação conforme o usuário rola.
|
|
37
|
+
- **Entradas Escalonadas:** Quando uma grade de cards carrega, não devem aparecer todos de uma vez. Escalone as animações de entrada em `0.1s` para que entrem como dominós.
|
|
38
|
+
- **Parallax:** Elementos de fundo devem se mover mais devagar que os de primeiro plano no scroll para aumentar a ilusão 3D.
|
|
39
|
+
|
|
40
|
+
## 🚧 Restrições de Execução
|
|
41
|
+
|
|
42
|
+
- Sempre escreva componentes modulares e reutilizáveis.
|
|
43
|
+
- Garanta que todas as animações sejam desativadas para usuários com `prefers-reduced-motion: reduce`.
|
|
44
|
+
- Priorize performance: use `will-change: transform` para elementos animados para transferir a renderização para a GPU. Não anime propriedades custosas como `box-shadow` ou `filter` continuamente.
|
|
45
|
+
|
|
46
|
+
## 📋 Exemplos de Código
|
|
47
|
+
|
|
48
|
+
### Card Flutuante com Glassmorphism
|
|
49
|
+
|
|
50
|
+
```css
|
|
51
|
+
.glass-card {
|
|
52
|
+
background: rgba(255, 255, 255, 0.1);
|
|
53
|
+
backdrop-filter: blur(12px);
|
|
54
|
+
-webkit-backdrop-filter: blur(12px);
|
|
55
|
+
border: 1px solid rgba(255, 255, 255, 0.2);
|
|
56
|
+
border-radius: 16px;
|
|
57
|
+
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05),
|
|
58
|
+
0 4px 8px rgba(0, 0, 0, 0.03);
|
|
59
|
+
transition: transform 0.3s ease-out, box-shadow 0.3s ease-out;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.glass-card:hover {
|
|
63
|
+
transform: translateY(-4px);
|
|
64
|
+
box-shadow: 0 28px 48px rgba(0, 0, 0, 0.08),
|
|
65
|
+
0 8px 16px rgba(0, 0, 0, 0.05);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@media (prefers-reduced-motion: reduce) {
|
|
69
|
+
.glass-card { transition: none; }
|
|
70
|
+
.glass-card:hover { transform: none; }
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### GSAP ScrollTrigger — Entrada de Cards
|
|
75
|
+
|
|
76
|
+
```javascript
|
|
77
|
+
import { gsap } from 'gsap';
|
|
78
|
+
import { ScrollTrigger } from 'gsap/ScrollTrigger';
|
|
79
|
+
|
|
80
|
+
gsap.registerPlugin(ScrollTrigger);
|
|
81
|
+
|
|
82
|
+
// Entrada escalonada de cards numa grade
|
|
83
|
+
gsap.fromTo('.card-grid .card',
|
|
84
|
+
{ y: 60, opacity: 0, rotateX: 15 },
|
|
85
|
+
{
|
|
86
|
+
y: 0,
|
|
87
|
+
opacity: 1,
|
|
88
|
+
rotateX: 0,
|
|
89
|
+
duration: 0.8,
|
|
90
|
+
ease: 'power3.out',
|
|
91
|
+
stagger: 0.1,
|
|
92
|
+
scrollTrigger: {
|
|
93
|
+
trigger: '.card-grid',
|
|
94
|
+
start: 'top 80%',
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### Dashboard Isométrico com CSS 3D
|
|
101
|
+
|
|
102
|
+
```css
|
|
103
|
+
.iso-dashboard {
|
|
104
|
+
perspective: 1200px;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.iso-card {
|
|
108
|
+
transform: rotateX(30deg) rotateZ(-20deg);
|
|
109
|
+
transform-style: preserve-3d;
|
|
110
|
+
will-change: transform;
|
|
111
|
+
transition: transform 0.4s ease-out;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
.iso-card:hover {
|
|
115
|
+
transform: rotateX(20deg) rotateZ(-15deg) translateZ(20px);
|
|
116
|
+
}
|
|
117
|
+
```
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: leiloeiro-risco
|
|
3
|
+
description: Auditor de Risco Sênior em leilões de imóveis. Sistema de scoring com 36 pontos cobrindo riscos jurídicos, financeiros, operacionais e de mercado, com stress test em 4 cenários e ROI ponderado.
|
|
4
|
+
tags: [risk-analysis, scoring, stress-test, brazilian, leilao, imovel]
|
|
5
|
+
triggers: [risco leilao, analise risco imovel leilao, score risco leilao, imovel seguro leilao, stress test leilao, roi ponderado leilao, leiloeiro risco, auditor risco leilao]
|
|
6
|
+
risk: safe
|
|
7
|
+
source: sickn33/antigravity-awesome-skills
|
|
8
|
+
date_added: "2026-03-15"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# SKILL DE RISCO — AUDITOR DE RISCO EM LEILÕES
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
|
|
15
|
+
Análise de risco em leilões de imóveis. Score 36 pontos, riscos jurídicos/financeiros/operacionais, stress test 4 cenários e ROI ponderado por risco.
|
|
16
|
+
|
|
17
|
+
## When to Use This Skill
|
|
18
|
+
|
|
19
|
+
- Quando o usuário mencionar "risco leilao" ou tópicos relacionados
|
|
20
|
+
- Quando o usuário mencionar "analise risco imovel leilao"
|
|
21
|
+
- Quando o usuário mencionar "score risco leilao"
|
|
22
|
+
- Quando o usuário mencionar "imovel seguro leilao"
|
|
23
|
+
- Quando o usuário mencionar "stress test leilao"
|
|
24
|
+
- Quando o usuário mencionar "roi ponderado leilao"
|
|
25
|
+
|
|
26
|
+
## How It Works
|
|
27
|
+
|
|
28
|
+
Você é um **Auditor de Risco Sênior** especializado em leilões de imóveis, com visão integrada de riscos jurídicos, financeiros, operacionais e de mercado. Seu papel é mapear todos os riscos, quantificar os que podem ser quantificados e recomendar a decisão de investimento.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Categoria 1 — Riscos Jurídicos
|
|
33
|
+
|
|
34
|
+
#### 1.1 Risco de Nulidade da Arrematação
|
|
35
|
+
|
|
36
|
+
| Risco | Probabilidade | Impacto | Score |
|
|
37
|
+
|-------|--------------|---------|-------|
|
|
38
|
+
| Falta de intimação do cônjuge | Médio | Muito Alto | 🔴 |
|
|
39
|
+
| Edital publicado incorretamente | Baixo | Alto | 🟡 |
|
|
40
|
+
| Avaliação desatualizada (>12 meses) | Médio | Médio | 🟡 |
|
|
41
|
+
| Bem impenhorável não arguido | Baixo | Muito Alto | 🔴 |
|
|
42
|
+
| Embargos com efeito suspensivo | Baixo | Muito Alto | 🔴 |
|
|
43
|
+
| Processo com recursos pendentes | Médio | Alto | 🟡 |
|
|
44
|
+
| Cônjuge sem meação respeitada | Baixo | Alto | 🟡 |
|
|
45
|
+
|
|
46
|
+
**Como mitigar:**
|
|
47
|
+
- Solicitar certidão dos autos (ou pesquisa no e-SAJ/PJE)
|
|
48
|
+
- Verificar se consta intimação do cônjuge
|
|
49
|
+
- Checar presença de embargos via busca no sistema processual
|
|
50
|
+
- Confirmar publicação do edital nos veículos exigidos
|
|
51
|
+
|
|
52
|
+
#### 1.2 Risco de Bem de Família
|
|
53
|
+
|
|
54
|
+
- [ ] É o único imóvel do devedor? → **Alto risco de bem de família**
|
|
55
|
+
- [ ] Devedor reside no imóvel? → **Alto risco**
|
|
56
|
+
- [ ] Imóvel foi arguido como bem de família nos autos? → **Verificar decisão judicial**
|
|
57
|
+
- [ ] Execução é de crédito condominial ou tributário do próprio imóvel? → Exceção legal (pode penhorar)
|
|
58
|
+
- [ ] Fiança locatícia? → Súmula 549 STJ (pode penhorar — mas há divergência)
|
|
59
|
+
|
|
60
|
+
#### 1.3 Risco de Ônus Reais Ocultos
|
|
61
|
+
|
|
62
|
+
| Ônus | Como Detectar | Impacto |
|
|
63
|
+
|------|--------------|---------|
|
|
64
|
+
| Hipoteca anterior | Certidão de ônus reais | Alto |
|
|
65
|
+
| Usufruto vitalício | Matrícula atualizada | Muito Alto |
|
|
66
|
+
| Penhora anterior | Certidão do distribuidor | Médio |
|
|
67
|
+
| Servidão | Matrícula | Médio |
|
|
68
|
+
| Aforamento (marinha) | Matrícula + SPU | Médio |
|
|
69
|
+
| Ação de usucapião | Distribuidor | Alto |
|
|
70
|
+
| Promessa de compra e venda reg. | Matrícula | Alto |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Categoria 2 — Riscos Financeiros
|
|
75
|
+
|
|
76
|
+
#### 2.1 Risco de Débitos Acumulados
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
TABELA RÁPIDA:
|
|
80
|
+
Débito estimado IPTU: R$ ____________
|
|
81
|
+
Débito estimado Condomínio: R$ ____________
|
|
82
|
+
Débito estimado Água: R$ ____________
|
|
83
|
+
Outros: R$ ____________
|
|
84
|
+
TOTAL DÉBITOS: R$ ____________
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
> **Importante:** IPTU e Condomínio são dívidas *propter rem* — seguem o imóvel e o arrematante pagará.
|
|
88
|
+
|
|
89
|
+
#### 2.2 Risco de Desocupação
|
|
90
|
+
|
|
91
|
+
| Cenário | Custo Honorários | Prazo | Probabilidade |
|
|
92
|
+
|---------|-----------------|-------|---------------|
|
|
93
|
+
| Sai voluntariamente | R$ 0 | 0-30 dias | 20-30% |
|
|
94
|
+
| Negociação + ajuda de custo | R$ 3-10k | 30-90 dias | 30-40% |
|
|
95
|
+
| Ação de imissão sem resistência | R$ 5-15k | 3-6 meses | 20-30% |
|
|
96
|
+
| Imissão + recursos do devedor | R$ 10-30k | 6-18 meses | 10-20% |
|
|
97
|
+
| Processo longo + violência | R$ 20-50k | 12-36 meses | 5-10% |
|
|
98
|
+
|
|
99
|
+
**Custo financeiro do tempo (capital imobilizado):**
|
|
100
|
+
```
|
|
101
|
+
Capital imobilizado × Taxa CDI × Meses / 12
|
|
102
|
+
Exemplo: R$ 300.000 × 10,5% × 12 meses / 12 = R$ 31.500/ano
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Categoria 3 — Riscos Operacionais
|
|
108
|
+
|
|
109
|
+
#### 3.1 Risco de Não Conseguir Finalizar a Arrematação
|
|
110
|
+
|
|
111
|
+
| Evento | Prazo | Probabilidade | Consequência |
|
|
112
|
+
|--------|-------|---------------|-------------|
|
|
113
|
+
| Devedor paga antes da assinatura | Qualquer momento | Baixo-Médio | Leilão desfeito |
|
|
114
|
+
| Embargos com efeito suspensivo | Até o auto de arrematação | Baixo | Leilão suspenso |
|
|
115
|
+
| Nulidade arguida em 10 dias | 10 dias após arrematação | Baixo | Anulação |
|
|
116
|
+
|
|
117
|
+
#### 3.2 Sinais de Alerta (Fraude ou Manipulação)
|
|
118
|
+
|
|
119
|
+
- ⚠️ Leiloeiro não cadastrado na Junta Comercial
|
|
120
|
+
- ⚠️ Plataforma online desconhecida sem CNPJ verificável
|
|
121
|
+
- ⚠️ Valor de avaliação muito incompatível com mercado
|
|
122
|
+
- ⚠️ Edital publicado em prazo inferior ao legal
|
|
123
|
+
- ⚠️ Exigência de depósito antes de visualizar documentos
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Categoria 4 — Riscos De Mercado E Sistêmicos
|
|
128
|
+
|
|
129
|
+
#### 4.1 Risco de Liquidez no Momento da Saída
|
|
130
|
+
|
|
131
|
+
| Cenário Macroeconômico | Impacto na Revenda |
|
|
132
|
+
|-----------------------|-------------------|
|
|
133
|
+
| Selic sobe mais (>14%) | Crédito encarece → demanda cai |
|
|
134
|
+
| Recessão econômica | Mercado trava → pode levar 2-3x mais tempo |
|
|
135
|
+
| Desemprego alto local | Comprador final some |
|
|
136
|
+
| Novo empreendimento vizinho | Pressão de preço |
|
|
137
|
+
| Evento local negativo | Deságio adicional de 20-40% |
|
|
138
|
+
|
|
139
|
+
#### 4.2 Risco Ambiental e Geotécnico
|
|
140
|
+
|
|
141
|
+
- [ ] Imóvel em área de risco de deslizamento (CEMADEN)?
|
|
142
|
+
- [ ] Imóvel em área de inundação (plano diretor municipal)?
|
|
143
|
+
- [ ] Imóvel em APP (Área de Preservação Permanente)?
|
|
144
|
+
- [ ] Contaminação do solo?
|
|
145
|
+
|
|
146
|
+
**Fontes de consulta:** CEMADEN (cemaden.gov.br), Prefeitura Municipal, IBGE Malha Digital
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Sistema de Scoring (36 pontos)
|
|
151
|
+
|
|
152
|
+
```
|
|
153
|
+
RISCOS JURÍDICOS:
|
|
154
|
+
[ ] Intimação cônjuge confirmada? Sim: 0 / Não: 3 / Não verificado: 2
|
|
155
|
+
[ ] Embargos com efeito suspensivo? Não: 0 / Sim: 4
|
|
156
|
+
[ ] Bem de família provável? Não: 0 / Possível: 2 / Provável: 4
|
|
157
|
+
[ ] Ônus reais verificados e ok? Sim: 0 / Não verificado: 2 / Ônus grave: 4
|
|
158
|
+
[ ] Documentação regular? Sim: 0 / Irregular menor: 1 / Grave: 3
|
|
159
|
+
|
|
160
|
+
RISCOS FINANCEIROS:
|
|
161
|
+
[ ] Débitos IPTU + Cond. quantificados? Sim (até 10% VMP): 0 / Altos (>10%): 2 / Não verificado: 2
|
|
162
|
+
[ ] Situação da posse? Desocupado: 0 / Cooperativo: 1 / Litigioso: 3
|
|
163
|
+
[ ] Obras necessárias? Não: 0 / Leves: 1 / Pesadas: 3
|
|
164
|
+
|
|
165
|
+
RISCOS OPERACIONAIS:
|
|
166
|
+
[ ] Leiloeiro verificado? Sim: 0 / Não: 2
|
|
167
|
+
[ ] Processo verificado no TJ? Sim: 0 / Não: 2
|
|
168
|
+
[ ] Edital está completo? Sim: 0 / Incompleto: 2
|
|
169
|
+
|
|
170
|
+
RISCOS DE MERCADO:
|
|
171
|
+
[ ] Liquidez local? Alta: 0 / Média: 1 / Baixa: 3
|
|
172
|
+
[ ] Risco ambiental? Baixo: 0 / Médio: 2 / Alto: 4
|
|
173
|
+
|
|
174
|
+
SCORE TOTAL: ___ / 36
|
|
175
|
+
|
|
176
|
+
CLASSIFICAÇÃO:
|
|
177
|
+
0-5: BAIXO RISCO ✅ — Proceder com segurança
|
|
178
|
+
6-10: MÉDIO RISCO ⚠️ — Mitigar os pontos identificados
|
|
179
|
+
11-18: ALTO RISCO 🔴 — Só com expertise e desconto maior
|
|
180
|
+
19+: MUITO ALTO RISCO ❌ — Evitar, salvo especialista experiente
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Tomada De Decisão — Árvore De Decisão
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
SCORE DE RISCO:
|
|
189
|
+
|
|
190
|
+
≤ 5 (BAIXO):
|
|
191
|
+
→ ROI líquido > CDI? SIM → ARREMATAR
|
|
192
|
+
→ ROI líquido > CDI? NÃO → AGUARDAR MELHOR OPORTUNIDADE
|
|
193
|
+
|
|
194
|
+
6-10 (MÉDIO):
|
|
195
|
+
→ Problemas são mitigáveis? SIM + ROI > CDI+5% → ARREMATAR com cautelas
|
|
196
|
+
→ Problemas são mitigáveis? NÃO → NÃO ARREMATAR
|
|
197
|
+
|
|
198
|
+
11-18 (ALTO):
|
|
199
|
+
→ Você é especialista? SIM + ROI > CDI+15% → AVALIAR COM ADVOGADO
|
|
200
|
+
→ Você é especialista? NÃO → NÃO ARREMATAR
|
|
201
|
+
|
|
202
|
+
> 18 (MUITO ALTO):
|
|
203
|
+
→ NÃO ARREMATAR (salvo casos excepcionais com assessoria)
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
---
|
|
207
|
+
|
|
208
|
+
## Stress Test do Investimento
|
|
209
|
+
|
|
210
|
+
```
|
|
211
|
+
CENÁRIO OTIMISTA (probabilidade 20%):
|
|
212
|
+
- Vende pelo VMP em 3 meses
|
|
213
|
+
- Sem custos extras de desocupação
|
|
214
|
+
- ITBI sobre lance (não sobre VMP)
|
|
215
|
+
- ROI: ___ %
|
|
216
|
+
|
|
217
|
+
CENÁRIO BASE (probabilidade 50%):
|
|
218
|
+
- Vende com 10% desconto sobre VMP em 6 meses
|
|
219
|
+
- Custo de desocupação negociado (R$ 5k)
|
|
220
|
+
- ITBI sobre VMP
|
|
221
|
+
- ROI: ___ %
|
|
222
|
+
|
|
223
|
+
CENÁRIO PESSIMISTA (probabilidade 25%):
|
|
224
|
+
- Vende com 20% desconto sobre VMP em 12 meses
|
|
225
|
+
- Ação de imissão na posse (R$ 15k + 6 meses)
|
|
226
|
+
- Reforma necessária (R$ 30k)
|
|
227
|
+
- ROI: ___ %
|
|
228
|
+
|
|
229
|
+
CENÁRIO CATASTRÓFICO (probabilidade 5%):
|
|
230
|
+
- Arrematação anulada (capital devolvido mas tempo perdido)
|
|
231
|
+
- OU: não consegue vender em 24 meses
|
|
232
|
+
- ROI: ___ % (possivelmente negativo)
|
|
233
|
+
|
|
234
|
+
ROI PONDERADO (esperança matemática):
|
|
235
|
+
= (ROI otimista × 0,20) + (ROI base × 0,50) + (ROI pessimista × 0,25)
|
|
236
|
+
+ (ROI catastrófico × 0,05)
|
|
237
|
+
|
|
238
|
+
Se ROI ponderado > CDI → ARREMATAR
|
|
239
|
+
Se ROI ponderado < CDI → NÃO VALE O RISCO
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Checklist de Due Diligence
|
|
245
|
+
|
|
246
|
+
### Obrigatórias (Sempre, Para Qualquer Lote)
|
|
247
|
+
- [ ] Certidão de ônus reais (matrícula atualizada) — R$ 50-150
|
|
248
|
+
- [ ] Certidão negativa de IPTU (ou extrato de débitos)
|
|
249
|
+
- [ ] Leitura completa do edital
|
|
250
|
+
- [ ] Pesquisa do processo no sistema do TJ
|
|
251
|
+
- [ ] Verificar leiloeiro na Junta Comercial
|
|
252
|
+
|
|
253
|
+
### Complementares (Quando Score > 5)
|
|
254
|
+
- [ ] Certidão do distribuidor cível
|
|
255
|
+
- [ ] Extrato de débitos de condomínio
|
|
256
|
+
- [ ] Visita ao imóvel ou Google Street View
|
|
257
|
+
- [ ] Extrato de débitos de água/saneamento
|
|
258
|
+
|
|
259
|
+
### Para Lotes De Alto Valor (>R$ 500K)
|
|
260
|
+
- [ ] Parecer com advogado especialista
|
|
261
|
+
- [ ] Laudo de vistoria técnica (engenheiro)
|
|
262
|
+
- [ ] Pesquisa de comparáveis com corretor CRECI local
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Glossário De Riscos
|
|
267
|
+
|
|
268
|
+
| Termo | Definição |
|
|
269
|
+
|-------|-----------|
|
|
270
|
+
| Propter Rem | Obrigação que segue o bem (IPTU, condomínio) — não desaparece com a venda |
|
|
271
|
+
| Stress Test | Simulação do pior cenário possível para o investimento |
|
|
272
|
+
| Due Diligence | Diligência prévia completa antes de arrematar |
|
|
273
|
+
| ROI Ponderado | Retorno esperado considerando probabilidade de cada cenário |
|
|
274
|
+
| VMP | Valor de Mercado do Imóvel (avaliação judicial) |
|
|
275
|
+
| Fraude à Execução | Alienação do bem após a citação para frustrar a execução (Art. 792 CPC) |
|
|
276
|
+
|
|
277
|
+
## Referências Legais
|
|
278
|
+
|
|
279
|
+
- CPC/2015 — Arts. 829-925 (Execução e Arrematação)
|
|
280
|
+
- Lei 9.514/1997 — Alienação Fiduciária
|
|
281
|
+
- Lei 8.009/1990 — Bem de Família
|
|
282
|
+
- STJ Tema 1.113 — ITBI deve incidir sobre valor efetivo da transação
|
|
283
|
+
- CTN Art. 130 — responsabilidade tributária propter rem
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Forensic root cause analyzer for Antigravity sessions. Analyzes brain/ artifacts to classify scope deltas, rework patterns, root causes, and hotspots.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /analyze-project — Análise Forense de Sessões
|
|
6
|
+
|
|
7
|
+
Ativa a análise forense das suas sessões no Antigravity.
|
|
8
|
+
|
|
9
|
+
1. Leia o arquivo [SKILL.md](file:///Users/ruy/Code/mySkills/.agent/skills/analyze-project/SKILL.md).
|
|
10
|
+
2. Acesse a pasta `~/.gemini/antigravity/brain/` e liste todas as conversas disponíveis.
|
|
11
|
+
3. Para cada conversa, extraia artefatos: `task.md`, `implementation_plan.md`, `walkthrough.md`.
|
|
12
|
+
4. Execute os passos 1 a 10 do workflow de análise forense descritos na SKILL.
|
|
13
|
+
5. Gere o relatório `session_analysis_report.md` na pasta brain da conversa atual.
|
|
14
|
+
|
|
15
|
+
**Resultado esperado:** Relatório diagnóstico com causas raiz, padrões de retrabalho, zonas de atrito e recomendações de melhoria para sessões futuras.
|
package/README.md
CHANGED
|
@@ -134,6 +134,29 @@ Integramos todos os fluxos de trabalho essenciais:
|
|
|
134
134
|
|
|
135
135
|
---
|
|
136
136
|
|
|
137
|
+
## 🆕 Skills da Comunidade (sickn33/antigravity-awesome-skills)
|
|
138
|
+
Skills adicionadas da coleção curada do repositório externo:
|
|
139
|
+
|
|
140
|
+
### [Analyze Project](file:///Users/ruy/Code/mySkills/.agent/skills/analyze-project/SKILL.md)
|
|
141
|
+
Analisador forense de sessões do Antigravity:
|
|
142
|
+
- **Diagnóstico**: Identifica causas raiz de problemas nas sessões (agente, usuário, repositório).
|
|
143
|
+
- **Padrões**: Classifica o "shape" do retrabalho (limpo, expansão de escopo, churn, etc.).
|
|
144
|
+
- **Relatório**: Gera `session_analysis_report.md` com insights e recomendações acionáveis.
|
|
145
|
+
|
|
146
|
+
### [Leiloeiro Risco](file:///Users/ruy/Code/mySkills/.agent/skills/leiloeiro-risco/SKILL.md)
|
|
147
|
+
Auditor de risco sênior em leilões de imóveis (pt-BR):
|
|
148
|
+
- **Score**: Sistema de pontuação de 36 pontos (jurídico, financeiro, operacional, mercado).
|
|
149
|
+
- **Stress Test**: Análise em 4 cenários (otimista, base, pessimista, catastrófico) com ROI ponderado.
|
|
150
|
+
- **Decisão**: Árvore de decisão clara com limites de score para arrematar ou não.
|
|
151
|
+
|
|
152
|
+
### [Antigravity Design Expert](file:///Users/ruy/Code/mySkills/.agent/skills/antigravity-design-expert/SKILL.md)
|
|
153
|
+
Especialista em UI/UX glassmorphism e design espacial:
|
|
154
|
+
- **Estética**: Interfaces flutuantes com glassmorphism, profundidade 3D e perspectiva isométrica.
|
|
155
|
+
- **Animação**: GSAP + ScrollTrigger para animações suaves vinculadas ao scroll.
|
|
156
|
+
- **Performance**: `will-change: transform`, GPU offloading, `prefers-reduced-motion` respeitado.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
137
160
|
## 📜 Regras e Automação de Elite
|
|
138
161
|
Agora incluímos a infraestrutura completa para transformar o assistente em um engenheiro de verdade:
|
|
139
162
|
|
|
@@ -302,9 +325,18 @@ npx @ruyfranca/myskills add <nome-do-agent> --agent
|
|
|
302
325
|
# 6. Instalar TODAS as 40+ skills individuais
|
|
303
326
|
npx @ruyfranca/myskills add --all
|
|
304
327
|
|
|
328
|
+
# 7. 🆕 Atualizar o kit (skills + agents + workflows) no projeto atual
|
|
329
|
+
npx @ruyfranca/myskills update
|
|
330
|
+
|
|
331
|
+
# ou com opções granulares:
|
|
332
|
+
npx @ruyfranca/myskills update --skills # só as skills
|
|
333
|
+
npx @ruyfranca/myskills update --agents # só os agents
|
|
334
|
+
npx @ruyfranca/myskills update --workflows # só os workflows
|
|
335
|
+
|
|
305
336
|
# Exemplo prático:
|
|
306
337
|
npx @ruyfranca/myskills init
|
|
307
338
|
npx @ruyfranca/myskills add frontend-developer --agent
|
|
339
|
+
npx @ruyfranca/myskills update # mantém o projeto atualizado
|
|
308
340
|
```
|
|
309
341
|
|
|
310
342
|
---
|
package/index.js
CHANGED
|
@@ -167,4 +167,46 @@ program
|
|
|
167
167
|
}
|
|
168
168
|
});
|
|
169
169
|
|
|
170
|
+
program
|
|
171
|
+
.command('update')
|
|
172
|
+
.description('Atualiza skills, agents e workflows do projeto atual com a versão mais recente do kit')
|
|
173
|
+
.option('-s, --skills', 'Atualiza apenas as skills')
|
|
174
|
+
.option('-a, --agents', 'Atualiza apenas os agents')
|
|
175
|
+
.option('-w, --workflows', 'Atualiza apenas os workflows')
|
|
176
|
+
.action(async (options) => {
|
|
177
|
+
const updateAll = !options.skills && !options.agents && !options.workflows;
|
|
178
|
+
|
|
179
|
+
console.log(chalk.cyan('\n🔄 Atualizando kit do Antigravity...\n'));
|
|
180
|
+
|
|
181
|
+
const tasks = [];
|
|
182
|
+
|
|
183
|
+
if (updateAll || options.skills) {
|
|
184
|
+
tasks.push({ label: 'skills', src: path.join(__dirname, '.agent', 'skills'), dest: path.join(process.cwd(), '.agent', 'skills') });
|
|
185
|
+
}
|
|
186
|
+
if (updateAll || options.agents) {
|
|
187
|
+
tasks.push({ label: 'agents', src: path.join(__dirname, '.agent', 'agents'), dest: path.join(process.cwd(), '.agent', 'agents') });
|
|
188
|
+
}
|
|
189
|
+
if (updateAll || options.workflows) {
|
|
190
|
+
tasks.push({ label: 'workflows', src: path.join(__dirname, '.agent', 'workflows'), dest: path.join(process.cwd(), '.agent', 'workflows') });
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
for (const task of tasks) {
|
|
194
|
+
if (!await fs.pathExists(task.src)) {
|
|
195
|
+
console.log(chalk.yellow(` ⚠️ Fonte não encontrada: ${task.label} (${task.src})`));
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
try {
|
|
199
|
+
await fs.ensureDir(task.dest);
|
|
200
|
+
await fs.copy(task.src, task.dest, { overwrite: true });
|
|
201
|
+
console.log(chalk.green(` ✅ ${task.label}: atualizado com sucesso`));
|
|
202
|
+
} catch (err) {
|
|
203
|
+
console.error(chalk.red(` ❌ ${task.label}: erro — ${err.message}`));
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
console.log(chalk.cyan.bold('\n✨ Atualização concluída!\n'));
|
|
208
|
+
console.log(chalk.gray('💡 Dica: reinicie o Antigravity para carregar as novas skills/workflows.\n'));
|
|
209
|
+
});
|
|
210
|
+
|
|
170
211
|
program.parse();
|
|
212
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ruyfranca/myskills",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.24",
|
|
4
4
|
"description": "Biblioteca de skills customizadas para Antigravity / Claude Code",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
10
|
"scripts": {
|
|
11
|
-
"test": "echo \"Error: no test specified\" && exit 1"
|
|
11
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
12
|
+
"update": "node index.js update"
|
|
12
13
|
},
|
|
13
14
|
"keywords": [
|
|
14
15
|
"claude",
|