@ruyfranca/myskills 1.0.14 → 1.0.16

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.
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: backend-architect
3
+ description: Backend system architecture and API design specialist. Use PROACTIVELY for RESTful APIs, microservice boundaries, database schemas, scalability planning, and performance optimization.
4
+ tools: Read, Write, Edit, Bash
5
+ model: sonnet
6
+ ---
7
+
8
+ You are a backend system architect specializing in scalable API design and microservices.
9
+
10
+ ## Focus Areas
11
+ - RESTful API design with proper versioning and error handling
12
+ - Service boundary definition and inter-service communication
13
+ - Database schema design (normalization, indexes, sharding)
14
+ - Caching strategies and performance optimization
15
+ - Basic security patterns (auth, rate limiting)
16
+
17
+ ## Approach
18
+ 1. Start with clear service boundaries
19
+ 2. Design APIs contract-first
20
+ 3. Consider data consistency requirements
21
+ 4. Plan for horizontal scaling from day one
22
+ 5. Keep it simple - avoid premature optimization
23
+
24
+ ## Output
25
+ - API endpoint definitions with example requests/responses
26
+ - Service architecture diagram (mermaid or ASCII)
27
+ - Database schema with key relationships
28
+ - List of technology recommendations with brief rationale
29
+ - Potential bottlenecks and scaling considerations
30
+
31
+ Always provide concrete examples and focus on practical implementation over theory.
package/README.md CHANGED
@@ -238,19 +238,21 @@ npx @ruyfranca/myskills list
238
238
  # 2. Listar todos os agents na biblioteca
239
239
  npx @ruyfranca/myskills list-agents
240
240
 
241
- # 3. Instalar uma skill em um novo projeto
242
- # (Cria automaticamente a pasta .claude/skills/nome-da-skill/)
241
+ # 3. Inicializar kit completo em um novo projeto
242
+ # (Instala a pasta .agent completa com skills, agents e workflows)
243
+ npx @ruyfranca/myskills init
244
+
245
+ # 4. Instalar uma skill individual
243
246
  npx @ruyfranca/myskills add <nome-da-skill>
244
247
 
245
- # 4. Instalar um agent em um novo projeto
246
- # (Cria automaticamente a pasta .claude/agents/nome-do-agent.md)
248
+ # 5. Instalar um agent individual
247
249
  npx @ruyfranca/myskills add <nome-do-agent> --agent
248
250
 
249
- # 5. Instalar TODAS as 40+ skills de uma vez
251
+ # 6. Instalar TODAS as 40+ skills individuais
250
252
  npx @ruyfranca/myskills add --all
251
253
 
252
254
  # Exemplo prático:
253
- npx @ruyfranca/myskills add pptx
255
+ npx @ruyfranca/myskills init
254
256
  npx @ruyfranca/myskills add frontend-developer --agent
255
257
  ```
256
258
 
package/index.js CHANGED
@@ -37,7 +37,7 @@ program
37
37
  .description('Lista todos os agents disponíveis na biblioteca')
38
38
  .action(async () => {
39
39
  if (!await fs.pathExists(AGENTS_DIR)) {
40
- console.log(chalk.yellow('\n⚠️ Nanhum agent disponível ainda.\n'));
40
+ console.log(chalk.yellow('\n⚠️ Nenhum agent disponível ainda.\n'));
41
41
  return;
42
42
  }
43
43
  const agents = await fs.readdir(AGENTS_DIR);
@@ -50,6 +50,25 @@ program
50
50
  console.log('');
51
51
  });
52
52
 
53
+ program
54
+ .command('init')
55
+ .description('Inicializa o Antigravity no projeto atual (instala todas as skills, agents e workflows)')
56
+ .action(async () => {
57
+ const sourceDir = path.join(__dirname, '.agent');
58
+ const destDir = path.join(process.cwd(), '.agent');
59
+
60
+ console.log(chalk.cyan('\n🚀 Inicializando kit completo do Antigravity...\n'));
61
+
62
+ try {
63
+ await fs.ensureDir(destDir);
64
+ await fs.copy(sourceDir, destDir);
65
+ console.log(chalk.green.bold('✅ Pasta .agent instalada com sucesso!\n'));
66
+ console.log(chalk.gray('Isso inclui todas as skills, agents e slash commands (workflows).\n'));
67
+ } catch (err) {
68
+ console.error(chalk.red(`\n❌ Erro ao inicializar .agent: ${err.message}\n`));
69
+ }
70
+ });
71
+
53
72
  program
54
73
  .command('add')
55
74
  .description('Adiciona uma skill ou agent ao projeto atual')
@@ -65,7 +84,7 @@ program
65
84
 
66
85
  for (const s of skills) {
67
86
  const sourceDir = path.join(SKILLS_DIR, s);
68
- const destDir = path.join(process.cwd(), '.claude', 'skills', s);
87
+ const destDir = path.join(process.cwd(), '.agent', 'skills', s);
69
88
 
70
89
  try {
71
90
  await fs.ensureDir(path.dirname(destDir));
@@ -102,12 +121,12 @@ program
102
121
  }
103
122
 
104
123
  const sourceFile = path.join(AGENTS_DIR, `${name}.md`);
105
- const destFile = path.join(process.cwd(), '.claude', 'agents', `${name}.md`);
124
+ const destFile = path.join(process.cwd(), '.agent', 'agents', `${name}.md`);
106
125
 
107
126
  try {
108
127
  await fs.ensureDir(path.dirname(destFile));
109
128
  await fs.copy(sourceFile, destFile);
110
- console.log(chalk.green(`\n✅ Agent "${name}" instalado com sucesso em .claude/agents/${name}.md!\n`));
129
+ console.log(chalk.green(`\n✅ Agent "${name}" instalado com sucesso em .agent/agents/${name}.md!\n`));
111
130
  } catch (err) {
112
131
  console.error(chalk.red(`\n❌ Erro ao copiar agent: ${err.message}\n`));
113
132
  }
@@ -137,12 +156,12 @@ program
137
156
  }
138
157
 
139
158
  const sourceDir = path.join(SKILLS_DIR, name);
140
- const destDir = path.join(process.cwd(), '.claude', 'skills', name);
159
+ const destDir = path.join(process.cwd(), '.agent', 'skills', name);
141
160
 
142
161
  try {
143
162
  await fs.ensureDir(path.dirname(destDir));
144
163
  await fs.copy(sourceDir, destDir);
145
- console.log(chalk.green(`\n✅ Skill "${name}" instalada com sucesso em .claude/skills/${name}!\n`));
164
+ console.log(chalk.green(`\n✅ Skill "${name}" instalada com sucesso em .agent/skills/${name}!\n`));
146
165
  } catch (err) {
147
166
  console.error(chalk.red(`\n❌ Erro ao copiar skill: ${err.message}\n`));
148
167
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ruyfranca/myskills",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "Biblioteca de skills customizadas para Antigravity / Claude Code",
5
5
  "main": "index.js",
6
6
  "bin": {