izanagi-ai 2.0.0
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/AGENTS.md +53 -0
- package/CHANGELOG.md +198 -0
- package/LICENSE +21 -0
- package/README.md +96 -0
- package/ROADMAP.md +131 -0
- package/RULES.md +202 -0
- package/SYSTEM.md +201 -0
- package/agents/INDEX.md +40 -0
- package/agents/architect-agent.json +15 -0
- package/agents/bug-hunter-agent.json +14 -0
- package/agents/database-agent.json +14 -0
- package/agents/devops-agent.json +15 -0
- package/agents/docs-agent.json +15 -0
- package/agents/pm-agent.json +14 -0
- package/agents/professor-agent.json +15 -0
- package/agents/security-agent.json +14 -0
- package/agents/senior-engineer-agent.json +16 -0
- package/agents/techlead-agent.json +15 -0
- package/architecture/clean-architecture.md +98 -0
- package/architecture/cqrs-specialist.md +102 -0
- package/architecture/ddd-specialist.md +97 -0
- package/architecture/event-driven-architect.md +79 -0
- package/architecture/hexagonal-architecture.md +96 -0
- package/architecture/microservices-expert.md +83 -0
- package/architecture/monolith-expert.md +67 -0
- package/architecture/repository-pattern.md +73 -0
- package/architecture/unit-of-work.md +92 -0
- package/backend/README.md +29 -0
- package/bin/nexus.js +8 -0
- package/core/compression-engine.md +194 -0
- package/core/context-engine.md +239 -0
- package/core/decision-engine.md +377 -0
- package/core/evolution-engine.md +169 -0
- package/core/planning-engine.md +201 -0
- package/core/quality-gates.md +233 -0
- package/core/reflection-engine.md +182 -0
- package/core/skill-resolver.json +169 -0
- package/core/token-manager.md +152 -0
- package/database/database-engineer.md +244 -0
- package/database/mysql-specialist.md +61 -0
- package/database/postgresql-specialist.md +70 -0
- package/database/redis-specialist.md +73 -0
- package/database/sql-optimizer.md +95 -0
- package/database/sqlserver-specialist.md +69 -0
- package/devops/ci-cd-specialist.md +101 -0
- package/devops/devops-engineer.md +358 -0
- package/devops/docker-expert.md +105 -0
- package/devops/git-expert.md +76 -0
- package/devops/git-flow-specialist.md +71 -0
- package/devops/kubernetes-specialist.md +84 -0
- package/devops/linux-specialist.md +82 -0
- package/devops/windows-specialist.md +43 -0
- package/dist/cli/commands/compile.d.ts +2 -0
- package/dist/cli/commands/compile.d.ts.map +1 -0
- package/dist/cli/commands/compile.js +44 -0
- package/dist/cli/commands/compile.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +88 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +26 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/list.d.ts +2 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +50 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/run.d.ts +2 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +49 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +72 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/installer.d.ts +5 -0
- package/dist/installer.d.ts.map +1 -0
- package/dist/installer.js +86 -0
- package/dist/installer.js.map +1 -0
- package/dist/postinstall.d.ts +2 -0
- package/dist/postinstall.d.ts.map +1 -0
- package/dist/postinstall.js +8 -0
- package/dist/postinstall.js.map +1 -0
- package/frontend/README.md +19 -0
- package/memory/context-recovery.md +49 -0
- package/memory/conversation-summarizer.md +65 -0
- package/memory/long-term-project-memory.md +58 -0
- package/memory/memory-manager.md +299 -0
- package/memory/session-compression.md +182 -0
- package/memory/smart-recall.md +37 -0
- package/optimization/compact-example.md +87 -0
- package/optimization/cost-optimizer.md +53 -0
- package/optimization/prompt-optimizer.md +194 -0
- package/optimization/token-audit.md +177 -0
- package/optimization/token-reducer.md +202 -0
- package/package.json +67 -0
- package/security/owasp-auditor.md +249 -0
- package/security/pentest-reviewer.md +109 -0
- package/security/security-engineer.md +238 -0
- package/skills/INDEX.md +434 -0
- package/skills/accessibility-reviewer.md +63 -0
- package/skills/agentic-coding.md +56 -0
- package/skills/ai-agent/SKILL.md +107 -0
- package/skills/ai-agent-dev/SKILL.md +117 -0
- package/skills/alternative-solution-generator.md +72 -0
- package/skills/architecture-patterns/SKILL.md +113 -0
- package/skills/breaking-change-detector.md +84 -0
- package/skills/bug-hunter.md +234 -0
- package/skills/bug-prevention.md +75 -0
- package/skills/chaos-engineering/SKILL.md +108 -0
- package/skills/clean-code-validator.md +218 -0
- package/skills/cloud-architect/SKILL.md +78 -0
- package/skills/cloud-infra/SKILL.md +99 -0
- package/skills/code-auditor.md +24 -0
- package/skills/complexity-analyzer.md +102 -0
- package/skills/confidence-estimator.md +53 -0
- package/skills/continuous-improvement.md +46 -0
- package/skills/continuous-learning-engine.md +51 -0
- package/skills/cto-advisor.md +66 -0
- package/skills/data-engineer/SKILL.md +76 -0
- package/skills/data-engineering/SKILL.md +82 -0
- package/skills/debug-specialist.md +215 -0
- package/skills/dependency-analyzer.md +78 -0
- package/skills/design-pattern-advisor.md +78 -0
- package/skills/documentation-writer.md +66 -0
- package/skills/dry-kiss-yagni-validator.md +114 -0
- package/skills/economia-tokens/SKILL.md +40 -0
- package/skills/er-diagram-builder.md +85 -0
- package/skills/feature-flags/SKILL.md +95 -0
- package/skills/frontend/SKILL.md +327 -0
- package/skills/frontend-dev/SKILL.md +178 -0
- package/skills/graphql/SKILL.md +104 -0
- package/skills/hallucination-detection.md +49 -0
- package/skills/handoff-sessao/SKILL.md +32 -0
- package/skills/i18n-l10n/SKILL.md +103 -0
- package/skills/iac-terraform/SKILL.md +98 -0
- package/skills/legacy-migration/SKILL.md +91 -0
- package/skills/logging-expert.md +78 -0
- package/skills/mcp-server-dev.md +33 -0
- package/skills/memoria-projeto/SKILL.md +49 -0
- package/skills/mobile-dev/SKILL.md +82 -0
- package/skills/mobile-engineer/SKILL.md +74 -0
- package/skills/monitoring-specialist.md +59 -0
- package/skills/observability-expert.md +60 -0
- package/skills/performance-optimizer.md +239 -0
- package/skills/principal-engineer.md +55 -0
- package/skills/privacy-engineer/SKILL.md +79 -0
- package/skills/professor-modo/SKILL.md +33 -0
- package/skills/project-manager.md +74 -0
- package/skills/prompt-engineering.md +27 -0
- package/skills/qa/SKILL.md +231 -0
- package/skills/qa-engineer/SKILL.md +222 -0
- package/skills/readme-generator.md +42 -0
- package/skills/refactoring-specialist.md +250 -0
- package/skills/release-planner.md +70 -0
- package/skills/requirement-analyzer.md +65 -0
- package/skills/risk-analyzer.md +73 -0
- package/skills/root-cause-analyzer.md +210 -0
- package/skills/scalability-expert.md +73 -0
- package/skills/security-privacy/SKILL.md +98 -0
- package/skills/self-correction.md +54 -0
- package/skills/self-critique.md +42 -0
- package/skills/senior-code-reviewer.md +193 -0
- package/skills/sequence-diagram-builder.md +56 -0
- package/skills/serverless-edge/SKILL.md +103 -0
- package/skills/software-architect.md +356 -0
- package/skills/solid-validator.md +332 -0
- package/skills/sre-reliability/SKILL.md +115 -0
- package/skills/staff-engineer.md +61 -0
- package/skills/task-planner.md +61 -0
- package/skills/tech-lead.md +59 -0
- package/skills/technical-debt-analyzer.md +81 -0
- package/skills/technical-writer.md +39 -0
- package/skills/tradeoff-analyzer.md +79 -0
- package/skills/uml-generator.md +72 -0
- package/skills/ux-reviewer.md +61 -0
- package/skills/wasm/SKILL.md +133 -0
- package/skills/web-perf-engineer/SKILL.md +75 -0
- package/skills/web-perf-seo/SKILL.md +111 -0
- package/skills/websocket-realtime/SKILL.md +107 -0
- package/teaching/adaptive-teaching.md +37 -0
- package/teaching/code-explainer.md +172 -0
- package/teaching/interactive-teaching.md +41 -0
- package/teaching/learning-tracker.md +63 -0
- package/teaching/mentor-mode.md +200 -0
- package/teaching/professor-mode.md +222 -0
- package/testing/e2e-test-engineer.md +68 -0
- package/testing/integration-test-engineer.md +74 -0
- package/testing/mocking-specialist.md +78 -0
- package/testing/unit-test-engineer.md +209 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: i18n-l10n
|
|
3
|
+
description: |
|
|
4
|
+
Skill de Internacionalizacao (i18n) e Localizacao (l10n) para o Portal. Aborda
|
|
5
|
+
next-intl, react-intl, gerenciamento de traducoes, locale routing, formatação de datas/
|
|
6
|
+
numeros/moeda e boas praticas de internacionalizacao em Next.js.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Skill i18n & Localization — Portal
|
|
10
|
+
|
|
11
|
+
## Stack Recomendada
|
|
12
|
+
|
|
13
|
+
| Ferramenta | Uso |
|
|
14
|
+
|------------|-----|
|
|
15
|
+
| `next-intl` | i18n para Next.js App Router (preferido) |
|
|
16
|
+
| `react-intl` | Alternativa madura |
|
|
17
|
+
| Lokalise / Crowdin | Gerenciamento de traducao |
|
|
18
|
+
| ICU Message Syntax | Formato de mensagens com placeholders |
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## next-intl Setup
|
|
23
|
+
|
|
24
|
+
### Configuracao
|
|
25
|
+
```tsx
|
|
26
|
+
// i18n.ts
|
|
27
|
+
import { getRequestConfig } from "next-intl/server";
|
|
28
|
+
|
|
29
|
+
export default getRequestConfig(async ({ locale }) => ({
|
|
30
|
+
messages: (await import(`./messages/${locale}.json`)).default,
|
|
31
|
+
}));
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Middleware (Locale Detection)
|
|
35
|
+
```tsx
|
|
36
|
+
import createMiddleware from "next-intl/middleware";
|
|
37
|
+
|
|
38
|
+
export default createMiddleware({
|
|
39
|
+
locales: ["pt-BR", "en", "es"],
|
|
40
|
+
defaultLocale: "pt-BR",
|
|
41
|
+
localePrefix: "as-needed", // /sobre (pt-BR) vs /en/about
|
|
42
|
+
});
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Estrutura de Mensagens
|
|
48
|
+
|
|
49
|
+
```json
|
|
50
|
+
// messages/pt-BR.json
|
|
51
|
+
{
|
|
52
|
+
"nav": {
|
|
53
|
+
"home": "Inicio",
|
|
54
|
+
"about": "Sobre",
|
|
55
|
+
"contact": "Contato"
|
|
56
|
+
},
|
|
57
|
+
"home": {
|
|
58
|
+
"title": "Bem-vindo ao Portal",
|
|
59
|
+
"description": "Associacao Nacional dos Servidores da Previdencia"
|
|
60
|
+
},
|
|
61
|
+
"common": {
|
|
62
|
+
"loading": "Carregando...",
|
|
63
|
+
"error": "Erro ao carregar dados",
|
|
64
|
+
"retry": "Tentar novamente"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Uso nos Componentes
|
|
72
|
+
|
|
73
|
+
```tsx
|
|
74
|
+
import { useTranslations } from "next-intl";
|
|
75
|
+
|
|
76
|
+
export default function Hero() {
|
|
77
|
+
const t = useTranslations("home");
|
|
78
|
+
|
|
79
|
+
return (
|
|
80
|
+
<h1>{t("title")}</h1>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Formatação
|
|
86
|
+
```tsx
|
|
87
|
+
import { useFormatter } from "next-intl";
|
|
88
|
+
|
|
89
|
+
const format = useFormatter();
|
|
90
|
+
format.dateTime(new Date(), { dateStyle: "long" });
|
|
91
|
+
format.number(1234567.89, { style: "currency", currency: "BRL" });
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Boas Praticas
|
|
97
|
+
|
|
98
|
+
- **Granularidade**: mensagens organizadas por pagina/componente (nao um arquivao so)
|
|
99
|
+
- **Fallbacks**: locale fallback para en (ou pt-BR) se traducao faltando
|
|
100
|
+
- **SEO**: `<link rel="alternate" hreflang="pt-BR" href="...">` em cada pagina
|
|
101
|
+
- **RTL**: preparar CSS para idiomas right-to-left (arabe, hebraico)
|
|
102
|
+
- **Plurais**: ICU `{count, plural, one {# item} other {# items}}`
|
|
103
|
+
- **Dynamic content**: nunca concatenar strings traduzidas com interpolacao manual
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: iac-terraform
|
|
3
|
+
description: |
|
|
4
|
+
Skill de Infrastructure as Code (IaC) com Terraform/OpenTofu para o Portal.
|
|
5
|
+
Aborda HCL, modules, remote state, workspaces, provisionamento multi-cloud e boas
|
|
6
|
+
praticas de gerenciamento de infraestrutura como codigo.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Skill IaC & Terraform — Portal
|
|
10
|
+
|
|
11
|
+
## Terraform vs OpenTofu
|
|
12
|
+
|
|
13
|
+
| Aspecto | Terraform | OpenTofu |
|
|
14
|
+
|---------|-----------|----------|
|
|
15
|
+
| Licenca | BSL (BUSL) | MPL 2.0 (open source) |
|
|
16
|
+
| CLI | `terraform` | `tofu` |
|
|
17
|
+
| Compatibilidade | HCL v2 | HCL v2 (compativel) |
|
|
18
|
+
| Estado | TF Cloud / S3 | S3 / Local |
|
|
19
|
+
| Providers | HashiCorp Registry | OpenTofu Registry |
|
|
20
|
+
| **Escolha** | Se ja usa TF Cloud | Se prefere open-source |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Estrutura de Projeto
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
infra/
|
|
28
|
+
├── environments/
|
|
29
|
+
│ ├── dev/
|
|
30
|
+
│ │ ├── main.tf
|
|
31
|
+
│ │ ├── variables.tf
|
|
32
|
+
│ │ └── terraform.tfvars
|
|
33
|
+
│ ├── staging/
|
|
34
|
+
│ │ └── ...
|
|
35
|
+
│ └── prod/
|
|
36
|
+
│ └── ...
|
|
37
|
+
├── modules/
|
|
38
|
+
│ ├── networking/
|
|
39
|
+
│ │ ├── main.tf
|
|
40
|
+
│ │ ├── variables.tf
|
|
41
|
+
│ │ └── outputs.tf
|
|
42
|
+
│ ├── compute/
|
|
43
|
+
│ └── database/
|
|
44
|
+
└── global/
|
|
45
|
+
└── iam/
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Remote State
|
|
51
|
+
|
|
52
|
+
```hcl
|
|
53
|
+
# backend.tf
|
|
54
|
+
terraform {
|
|
55
|
+
backend "s3" {
|
|
56
|
+
bucket = "project-terraform-state"
|
|
57
|
+
key = "prod/terraform.tfstate"
|
|
58
|
+
region = "us-east-1"
|
|
59
|
+
dynamodb_table = "terraform-state-lock"
|
|
60
|
+
encrypt = true
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Modulos
|
|
68
|
+
|
|
69
|
+
### Module Structure
|
|
70
|
+
```hcl
|
|
71
|
+
# modules/networking/main.tf
|
|
72
|
+
resource "aws_vpc" "main" {
|
|
73
|
+
cidr_block = var.cidr_block
|
|
74
|
+
enable_dns_hostnames = true
|
|
75
|
+
tags = var.tags
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
resource "aws_subnet" "public" {
|
|
79
|
+
count = length(var.public_subnets)
|
|
80
|
+
vpc_id = aws_vpc.main.id
|
|
81
|
+
cidr_block = var.public_subnets[count.index]
|
|
82
|
+
map_public_ip_on_launch = true
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Boas Praticas
|
|
89
|
+
|
|
90
|
+
| Pratica | Descricao |
|
|
91
|
+
|---------|-----------|
|
|
92
|
+
| State locking | DynamoDB (S3) ou PG backend |
|
|
93
|
+
| Version constraints | `required_version = "~> 1.5"` |
|
|
94
|
+
| Tagging | `Project`, `Environment`, `ManagedBy`, `CostCenter` |
|
|
95
|
+
| Secrets | `aws_ssm_parameter` ou `aws_secretsmanager_secret` |
|
|
96
|
+
| Plan review | Sempre revisar `terraform plan` antes de `apply` |
|
|
97
|
+
| Pre-commit hooks | `terraform fmt`, `terraform validate` |
|
|
98
|
+
| CI/CD | `terraform plan` no PR, `terraform apply` no merge |
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: legacy-migration
|
|
3
|
+
description: |
|
|
4
|
+
Skill de Migracao de Sistemas Legados para o Portal. Aborda estrategias de migracao
|
|
5
|
+
(strangler fig, big bang, parallel run), extracao de dados de sistemas antigos (WordPress,
|
|
6
|
+
bancos relacionais), e modernizacao gradual. Use esta skill ao migrar funcionalidades
|
|
7
|
+
de sistemas legados para a nova plataforma.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Skill Legacy Migration — Portal
|
|
11
|
+
|
|
12
|
+
## Estrategias de Migracao
|
|
13
|
+
|
|
14
|
+
### Strangler Fig Pattern (Preferido)
|
|
15
|
+
```
|
|
16
|
+
Old System ←─── Router ───→ New System
|
|
17
|
+
│
|
|
18
|
+
└── Gradually redirect routes
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
1. Identificar modulo para migrar
|
|
22
|
+
2. Implementar no novo sistema
|
|
23
|
+
3. Roteador redireciona trafego gradualmente
|
|
24
|
+
4. Remover modulo antigo quando 100% migrado
|
|
25
|
+
|
|
26
|
+
### Parallel Run
|
|
27
|
+
```
|
|
28
|
+
User → Old System (primary)
|
|
29
|
+
→ New System (shadow, validate results)
|
|
30
|
+
```
|
|
31
|
+
- Usar para migracoes criticas (ex: dados financeiros)
|
|
32
|
+
- Validar resultados do novo vs antigo automaticamente
|
|
33
|
+
- Switch para novo apos confianca estabelecida
|
|
34
|
+
|
|
35
|
+
### Big Bang
|
|
36
|
+
- Migrar tudo de uma vez em uma janela
|
|
37
|
+
- Risco alto, mas mais rapido
|
|
38
|
+
- Usar apenas quando inviavel rodar em paralelo
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Extracao de Dados
|
|
43
|
+
|
|
44
|
+
### Wordpress → Supabase
|
|
45
|
+
```tsx
|
|
46
|
+
// Mapeamento WordPress → Supabase
|
|
47
|
+
const wpToSupabase = {
|
|
48
|
+
wp_posts → posts (title, content, slug, status, created_at)
|
|
49
|
+
wp_postmeta → post_metadata (meta_key, meta_value)
|
|
50
|
+
wp_users → profiles (display_name, email)
|
|
51
|
+
wp_terms → categories (name, slug)
|
|
52
|
+
wp_term_relationships → post_categories (post_id, category_id)
|
|
53
|
+
};
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### ETL Process
|
|
57
|
+
1. Extract: `SELECT * FROM wp_posts WHERE post_status = 'publish'`
|
|
58
|
+
2. Transform: limpar HTML, converter shortcodes, mapear IDs
|
|
59
|
+
3. Load: `INSERT INTO posts (...) ON CONFLICT (old_id) DO NOTHING`
|
|
60
|
+
4. Validate: comparar contagem de registros
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Migracao de Conteudo
|
|
65
|
+
|
|
66
|
+
### Preservacao de URLs
|
|
67
|
+
```nginx
|
|
68
|
+
# Redirecionar URLs antigas para novas
|
|
69
|
+
rewrite ^/wp-content/uploads/(.*)$ /uploads/$1 permanent;
|
|
70
|
+
rewrite ^/category/(.*)$ /noticias/categoria/$1 permanent;
|
|
71
|
+
rewrite ^/(\d{4})/(\d{2})/(.*)$ /noticias/$3 permanent;
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### SEO Durante Migracao
|
|
75
|
+
- Mapear 301 redirects de todas as URLs antigas
|
|
76
|
+
- Preservar meta descriptions e titles
|
|
77
|
+
- Submeter novo sitemap ao Search Console
|
|
78
|
+
- Monitorar 404s apos migracao
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Boas Praticas
|
|
83
|
+
|
|
84
|
+
| Pratica | Descricao |
|
|
85
|
+
|---------|-----------|
|
|
86
|
+
| Feature parity | Nao migrar ate atingir paridade de funcionalidades |
|
|
87
|
+
| Rollback plan | Ter plano claro para voltar atras |
|
|
88
|
+
| Data validation | Validar dados migrados automaticamente |
|
|
89
|
+
| Performance baseline | Medir performance antes/depois |
|
|
90
|
+
| User communication | Comunicar mudancas e possiveis downtime |
|
|
91
|
+
| Staging migration | Testar migracao completa em staging primeiro |
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Skill: Logging Expert
|
|
2
|
+
|
|
3
|
+
> Version 1.0.0 | Priority: Medium
|
|
4
|
+
> Dependencies: DevOps Engineer
|
|
5
|
+
> Compatibility: ">=1.0.0"
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Identity
|
|
10
|
+
|
|
11
|
+
Logging Expert implements structured logging across the application. Ensures every significant event is logged with context, no sensitive data leaks, and logs are queryable.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Structured Logging
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"timestamp": "2026-07-17T12:00:00Z",
|
|
20
|
+
"level": "error",
|
|
21
|
+
"message": "Payment processing failed",
|
|
22
|
+
"context": {
|
|
23
|
+
"user_id": "usr_456",
|
|
24
|
+
"payment_id": "pay_789",
|
|
25
|
+
"amount": 150.00,
|
|
26
|
+
"error": "card_declined",
|
|
27
|
+
"provider": "stripe"
|
|
28
|
+
},
|
|
29
|
+
"request_id": "req_abc123",
|
|
30
|
+
"environment": "production",
|
|
31
|
+
"service": "payment-service"
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## What to Log
|
|
36
|
+
|
|
37
|
+
```yaml
|
|
38
|
+
info:
|
|
39
|
+
- User registration/login
|
|
40
|
+
- Order placement
|
|
41
|
+
- Payment confirmation
|
|
42
|
+
- Email sent
|
|
43
|
+
|
|
44
|
+
warning:
|
|
45
|
+
- Rate limit approaching
|
|
46
|
+
- Slow query (> 100ms)
|
|
47
|
+
- Retry attempts
|
|
48
|
+
|
|
49
|
+
error:
|
|
50
|
+
- Exception caught
|
|
51
|
+
- Payment failure
|
|
52
|
+
- External API error
|
|
53
|
+
- Database connection failure
|
|
54
|
+
|
|
55
|
+
critical:
|
|
56
|
+
- Application crash
|
|
57
|
+
- Data integrity violation
|
|
58
|
+
- Security breach detected
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## What NOT to Log
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
- Passwords (even hashed)
|
|
67
|
+
- Credit card numbers
|
|
68
|
+
- Personal access tokens
|
|
69
|
+
- API keys
|
|
70
|
+
- Full stack traces with sensitive data
|
|
71
|
+
- Session IDs (use anonymized correlation IDs)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Changelog
|
|
77
|
+
|
|
78
|
+
### 1.0.0 — Initial release. Structured logging, what to log/not log.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Skill: Model Context Protocol (MCP) Server Development
|
|
2
|
+
|
|
3
|
+
**Versão:** 1.0.0
|
|
4
|
+
**Domínio:** Integrations & Protocols
|
|
5
|
+
**Budget de Tokens:** ~2500
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Contexto & Objetivo
|
|
10
|
+
Esta skill orienta a criação de servidores compatíveis com a especificação Model Context Protocol (MCP) da Anthropic/open standards. Permite expor ferramentas (Tools), recursos (Resources) e prompts customizados para assistentes de IA.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Estrutura Padrão de Servidor MCP
|
|
15
|
+
- **Tools**: Funções executáveis declaradas com schemas JSON Schema estritos.
|
|
16
|
+
- **Resources**: Dados contextuais expostos via URIs (`file:///`, `custom://`).
|
|
17
|
+
- **Prompts**: Modelos reutilizáveis de instrução pré-configurados.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Workflow de Desenvolvimento
|
|
22
|
+
1. Definir o escopo de ferramentas e parâmetros de entrada com validação Zod/JSON Schema.
|
|
23
|
+
2. Tratar erros com mensagens claras sem derrubar o processo STDIO ou HTTP SSE.
|
|
24
|
+
3. Garantir sanitização de entradas para evitar Injeção de Comandos ou Directory Traversal.
|
|
25
|
+
4. Implementar suporte a transporte STDIO e SSE.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Checklist de Qualidade
|
|
30
|
+
- [ ] Ferramentas possuem descrições claras e detalhadas para o LLM.
|
|
31
|
+
- [ ] Esquemas de entrada validam todos os parâmetros obrigatórios e opcionais.
|
|
32
|
+
- [ ] Erros retornam estrutura `{ isError: true, content: [...] }`.
|
|
33
|
+
- [ ] Sanitização aplicada em todos os argumentos de sistema de arquivos ou comandos.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: memoria-projeto
|
|
3
|
+
description: Mantém memória persistente do projeto entre sessões, guardando decisões, padrões de código e erros já resolvidos, para o agente melhorar a cada nova tarefa em vez de começar do zero. Use no INÍCIO de qualquer tarefa de código relevante (ler a memória) e no FINAL de qualquer tarefa que tenha gerado uma decisão, padrão ou correção de erro importante (atualizar a memória). Também dispara quando o usuário perguntar "o que já decidimos sobre X" ou "por que fizemos assim".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Memória do projeto
|
|
7
|
+
|
|
8
|
+
Claude Code não tem memória de conversas passadas por padrão — cada sessão começa do zero. Esta skill cria essa memória usando arquivos no próprio repositório, em `.agents/memoria/` (adaptado do padrão `.claude/memoria/` para este projeto).
|
|
9
|
+
|
|
10
|
+
## Estrutura
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
.agents/memoria/
|
|
14
|
+
├── contexto.md # visão geral do projeto, stack, convenções já estabelecidas
|
|
15
|
+
├── decisoes.md # decisões de arquitetura/design e o porquê (1-3 linhas cada)
|
|
16
|
+
└── erros-corrigidos.md # bugs/erros já enfrentados e como foram resolvidos
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Se a pasta não existir, crie-a na primeira vez que esta skill for usada neste projeto.
|
|
20
|
+
|
|
21
|
+
## No início da tarefa
|
|
22
|
+
|
|
23
|
+
1. Leia os arquivos em `.agents/memoria/` relevantes para o que vai ser feito. Não precisa ler os três sempre — só o(s) relevante(s) ao pedido.
|
|
24
|
+
2. Aplique o que estiver lá (convenções, decisões já tomadas) sem precisar que o usuário repita o contexto.
|
|
25
|
+
|
|
26
|
+
## No final da tarefa
|
|
27
|
+
|
|
28
|
+
Se a tarefa gerou algo que vale lembrar no futuro, adicione uma entrada curta (1-3 linhas, não um parágrafo) no arquivo certo:
|
|
29
|
+
|
|
30
|
+
- Decisão de arquitetura, biblioteca escolhida, ou padrão de código novo → `decisoes.md`
|
|
31
|
+
- Bug não óbvio que foi corrigido e como → `erros-corrigidos.md`
|
|
32
|
+
- Convenção nova do projeto (nome de pastas, estilo, stack) → `contexto.md`
|
|
33
|
+
|
|
34
|
+
**Regras para manter isso barato em tokens:**
|
|
35
|
+
|
|
36
|
+
- Adicione só a linha nova (append), não reescreva o arquivo inteiro.
|
|
37
|
+
- Nunca duplique uma entrada que já existe — se for uma atualização de algo já registrado, edite a linha existente em vez de criar outra.
|
|
38
|
+
- Se um arquivo passar de ~60 linhas, condense entradas antigas relacionadas em vez de deixar crescer sem limite.
|
|
39
|
+
- Formato de cada entrada: `- [AAAA-MM-DD] descrição curta e direta`. Sem explicações longas — o objetivo é lembrar rápido, não documentar tudo.
|
|
40
|
+
|
|
41
|
+
## Não registrar
|
|
42
|
+
|
|
43
|
+
- Coisas óbvias que qualquer leitura do código já mostra.
|
|
44
|
+
- Detalhes temporários da tarefa atual (isso é conversa, não memória).
|
|
45
|
+
- Qualquer dado sensível (senhas, chaves, tokens de API, dados de cliente).
|
|
46
|
+
|
|
47
|
+
## Gotcha
|
|
48
|
+
|
|
49
|
+
Se o projeto já tem um `CLAUDE.md` na raiz, não duplique informação entre ele e `.claude/memoria/contexto.md` — `CLAUDE.md` é para regras permanentes do projeto, a memória é para o que foi sendo aprendido ao longo do tempo.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mobile-dev
|
|
3
|
+
description: |
|
|
4
|
+
Skill de Desenvolvimento Mobile para o Portal. Aborda React Native, Expo, Flutter,
|
|
5
|
+
PWA, e padroes de design mobile (iOS Human Interface, Material Design 3).
|
|
6
|
+
Use esta skill para desenvolver ou revisar aplicacoes mobile.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Skill Mobile Development — Portal
|
|
10
|
+
|
|
11
|
+
## React Native + Expo (Preferido)
|
|
12
|
+
|
|
13
|
+
### Stack Recomendada
|
|
14
|
+
| Camada | Tecnologia |
|
|
15
|
+
|--------|------------|
|
|
16
|
+
| Framework | Expo SDK 50+ |
|
|
17
|
+
| Navegacao | Expo Router (file-based) |
|
|
18
|
+
| Estado | Zustand / TanStack Query |
|
|
19
|
+
| Forms | React Hook Form + Zod |
|
|
20
|
+
| UI | NativeWind (Tailwind para RN) |
|
|
21
|
+
| Storage | expo-secure-store (sensiveis), AsyncStorage (dados leves) |
|
|
22
|
+
| HTTP | Axios / TanStack Query |
|
|
23
|
+
| Auth | Supabase Auth (deep links) |
|
|
24
|
+
|
|
25
|
+
### Expo Router (File-based)
|
|
26
|
+
```tsx
|
|
27
|
+
app/
|
|
28
|
+
├── (tabs)/
|
|
29
|
+
│ ├── _layout.tsx // Tab navigator
|
|
30
|
+
│ ├── index.tsx // Home tab
|
|
31
|
+
│ ├── beneficios.tsx // Beneficios tab
|
|
32
|
+
│ └── perfil.tsx // Perfil tab
|
|
33
|
+
├── (auth)/
|
|
34
|
+
│ ├── _layout.tsx
|
|
35
|
+
│ ├── login.tsx
|
|
36
|
+
│ └── register.tsx
|
|
37
|
+
├── _layout.tsx // Root layout
|
|
38
|
+
└── noticias/[slug].tsx // Dynamic route
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Flutter
|
|
44
|
+
|
|
45
|
+
### Stack Recomendada
|
|
46
|
+
| Camada | Tecnologia |
|
|
47
|
+
|--------|------------|
|
|
48
|
+
| Framework | Flutter 3.x |
|
|
49
|
+
| Estado | Riverpod / BLoC |
|
|
50
|
+
| Routing | GoRouter |
|
|
51
|
+
| HTTP | Dio |
|
|
52
|
+
| Local DB | Isar / Drift (SQLite) |
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## PWA (Progressive Web App)
|
|
57
|
+
|
|
58
|
+
### Requisitos
|
|
59
|
+
- `manifest.json` com icons, theme color, display standalone
|
|
60
|
+
- Service Worker com cache strategies (Cache First para assets, Network First para API)
|
|
61
|
+
- HTTPS obrigatório
|
|
62
|
+
- Push notifications (Web Push API)
|
|
63
|
+
|
|
64
|
+
### Quando PWA vs Nativo
|
|
65
|
+
| Cenário | PWA | React Native | Flutter |
|
|
66
|
+
|---------|-----|-------------|---------|
|
|
67
|
+
| Simples informativo | ✅ | ❌ | ❌ |
|
|
68
|
+
| Precisa de camera/BLE/NFC | ❌ | ✅ | ✅ |
|
|
69
|
+
| Performance critica | ❌ | ✅ | ✅ |
|
|
70
|
+
| Offline first | ✅ | ✅ | ✅ |
|
|
71
|
+
| Push notifications | ✅ | ✅ | ✅ |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Design Patterns Mobile
|
|
76
|
+
|
|
77
|
+
- **Mobile-first**: telas projetadas para mobile, adaptadas para tablet
|
|
78
|
+
- **Touch targets**: minimo 44x44dp para elementos tocaveis
|
|
79
|
+
- **Loading states**: Skeleton screens (evitar spinners)
|
|
80
|
+
- **Pull-to-refresh**: em todas as listas
|
|
81
|
+
- **Infinite scroll**: paginacao com FlatList (RN) ou ListView (Flutter)
|
|
82
|
+
- **Error states**: tela de erro com botao "Tentar novamente"
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mobile-engineer
|
|
3
|
+
description: |
|
|
4
|
+
Agente Mobile Engineer para o Portal. Responsavel por desenvolver aplicativos
|
|
5
|
+
mobile (React Native/Expo e Flutter), PWAs, e garantir consistencia entre plataformas.
|
|
6
|
+
Atua como engenheiro mobile senior full-cycle.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Agente: Mobile Engineer
|
|
10
|
+
|
|
11
|
+
## Perfil
|
|
12
|
+
|
|
13
|
+
Voce e um **Mobile Engineer** senior com experiencia em React Native (Expo) e Flutter. Voce cria apps performaticos, acessiveis e com excelente UX para iOS e Android.
|
|
14
|
+
|
|
15
|
+
### Sua Expertise:
|
|
16
|
+
- React Native + Expo + Expo Router
|
|
17
|
+
- Flutter + Dart
|
|
18
|
+
- PWA (Service Workers, manifest, offline)
|
|
19
|
+
- Native modules (camera, biometrics, push notifications)
|
|
20
|
+
- App Store / Play Store deployment
|
|
21
|
+
- Mobile performance (her arquivos, lazy loading, listas virtuais)
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Antes de Comecar
|
|
26
|
+
|
|
27
|
+
1. Leia a skill `mobile-dev` para padroes e stack
|
|
28
|
+
2. Consulte `AGENTS.md` para regras do projeto
|
|
29
|
+
3. Defina: PWA vs React Native vs Flutter baseado nos requisitos
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Responsabilidades
|
|
34
|
+
|
|
35
|
+
### O que voce FAZ:
|
|
36
|
+
- Criar apps com Expo Router (file-based routing)
|
|
37
|
+
- Implementar autenticacao com Supabase + deep links
|
|
38
|
+
- Design responsivo (mobile + tablet)
|
|
39
|
+
- Paginacao infinita com FlatList (RN) / ListView (Flutter)
|
|
40
|
+
- Push notifications (Expo Push / Firebase Cloud Messaging)
|
|
41
|
+
- Deploy na App Store e Play Store (EAS Build para Expo)
|
|
42
|
+
- Implementar offline-first com cache local
|
|
43
|
+
|
|
44
|
+
### O que voce NAO FAZ:
|
|
45
|
+
- ❌ Ignorar seguranca (armazenar tokens no AsyncStorage sem encrypt)
|
|
46
|
+
- ❌ Esquecer de tratar deep links para auth flow
|
|
47
|
+
- ❌ Usar WebView para renderizar conteudo do portal (preferir API nativa)
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Workflow
|
|
52
|
+
|
|
53
|
+
### Novo App/Feature
|
|
54
|
+
1. Definir rota no Expo Router
|
|
55
|
+
2. Implementar layout (tab, stack, drawer)
|
|
56
|
+
3. Conectar com API do portal (REST ou GraphQL)
|
|
57
|
+
4. Adicionar loading/error/empty states
|
|
58
|
+
5. Testar em iOS Simulator + Android Emulator + device fisico
|
|
59
|
+
|
|
60
|
+
### Deploy
|
|
61
|
+
1. EAS Build (Expo Application Services)
|
|
62
|
+
2. TestFlight (iOS) / Internal Testing (Android)
|
|
63
|
+
3. App Store Review / Play Store Review
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Regras Inviavaveis
|
|
68
|
+
|
|
69
|
+
1. **SEMPRE** usar `expo-secure-store` para tokens (nunca AsyncStorage)
|
|
70
|
+
2. **SEMPRE** tratar deep links para autenticacao
|
|
71
|
+
3. **NUNCA** hardcodar URLs de API
|
|
72
|
+
4. **SEMPRE** skeleton screens em vez de spinners
|
|
73
|
+
5. **SEMPRE** testar em iOS e Android antes de deploy
|
|
74
|
+
6. **NUNCA** ignorar touch target size (min 44x44dp)
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Skill: Monitoring Specialist
|
|
2
|
+
|
|
3
|
+
> Version 1.0.0 | Priority: Medium
|
|
4
|
+
> Dependencies: Observability Expert
|
|
5
|
+
> Compatibility: ">=1.0.0"
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Identity
|
|
10
|
+
|
|
11
|
+
Monitoring Specialist configures alerting rules, on-call rotations, runbooks, and incident response procedures.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Alert Rules
|
|
16
|
+
|
|
17
|
+
```yaml
|
|
18
|
+
critical:
|
|
19
|
+
- rule: "Error rate > 5% for 5 minutes"
|
|
20
|
+
action: "Page on-call (PagerDuty/OpsGenie)"
|
|
21
|
+
response: "15 minutes"
|
|
22
|
+
|
|
23
|
+
- rule: "p99 latency > 2s for 5 minutes"
|
|
24
|
+
action: "Page on-call"
|
|
25
|
+
response: "15 minutes"
|
|
26
|
+
|
|
27
|
+
- rule: "Service down (health check fails)"
|
|
28
|
+
action: "Page on-call immediately"
|
|
29
|
+
response: "5 minutes"
|
|
30
|
+
|
|
31
|
+
warning:
|
|
32
|
+
- rule: "Error rate > 2% for 10 minutes"
|
|
33
|
+
action: "Slack notification"
|
|
34
|
+
|
|
35
|
+
- rule: "Disk > 80%"
|
|
36
|
+
action: "Slack notification"
|
|
37
|
+
|
|
38
|
+
- rule: "Slow query count > 10/minute"
|
|
39
|
+
action: "Slack notification"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Incident Response
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
1. DETECT — Alert fires or user reports
|
|
48
|
+
2. ACKNOWLEDGE — On-call person acknowledges (2 min)
|
|
49
|
+
3. ASSESS — What's the impact? How many users affected?
|
|
50
|
+
4. MITIGATE — Apply immediate fix (rollback, feature flag)
|
|
51
|
+
5. RESOLVE — Confirm service is healthy
|
|
52
|
+
6. POSTMORTEM — Within 24h: what happened? why? how to prevent?
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Changelog
|
|
58
|
+
|
|
59
|
+
### 1.0.0 — Initial release. Alert rules, incident response.
|