New plugins: core-tools New skills: auto-expense, ticket-triage, design, security-check, aiktop-tasks, daily-digest, imap-triage, index-update, mindmap, notebooklm, proc-creator, tasks-overview, validate-component, perfex-module, report, calendar-manager New agents: design-critic, design-generator, design-lead, design-prompt-architect, design-researcher, compliance-auditor, metabase-analyst, gitea-integration-specialist Updated: all plugin configs, knowledge datasets, existing skills Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
680 lines
16 KiB
Markdown
680 lines
16 KiB
Markdown
---
|
||
name: server-health
|
||
description: Server health monitoring and diagnostics. Checks system resources, services
|
||
status, and identifies issues. Use when user mentions "server health", "system check",
|
||
"server status", "resource monitoring", "server diagnostics".
|
||
author: Descomplicar® Crescimento Digital
|
||
version: 2.0.0
|
||
quality_score: 75
|
||
user_invocable: true
|
||
desk_task: 1484
|
||
---
|
||
|
||
# /server-health - Diagnóstico Completo de Servidor
|
||
|
||
Checklist sistemático para diagnosticar problemas de performance ou auditar estado do servidor CWP.
|
||
|
||
---
|
||
|
||
## Servidor Alvo
|
||
|
||
| Servidor | IP | MCP | User |
|
||
|----------|-----|-----|------|
|
||
| **CWP Principal** | 176.9.3.158 | ssh-unified | root |
|
||
|
||
**Acesso:**
|
||
```javascript
|
||
mcp__ssh-unified__ssh_execute({
|
||
server: "server",
|
||
command: "<comando>"
|
||
})
|
||
```
|
||
|
||
---
|
||
|
||
## Modos de Execução
|
||
|
||
| Comando | Descrição |
|
||
|---------|-----------|
|
||
| `/server-health` | Diagnóstico completo (todos os checks) |
|
||
| `/server-health quick` | Apenas métricas críticas (load, RAM, disco) |
|
||
| `/server-health mysql` | Focus em MySQL e bases de dados |
|
||
| `/server-health ssl` | Verificação de todos os certificados SSL |
|
||
| `/server-health sites` | Status de todos os sites WordPress |
|
||
|
||
---
|
||
|
||
## Workflow Completo
|
||
|
||
### Passo 1: Sistema (Paralelo)
|
||
|
||
**Executar em paralelo:**
|
||
|
||
```bash
|
||
# Load average (3 valores: 1min, 5min, 15min)
|
||
uptime
|
||
|
||
# RAM e Swap
|
||
free -h
|
||
|
||
# Espaço em disco
|
||
df -h
|
||
|
||
# Top processos CPU
|
||
top -bn1 | head -20
|
||
|
||
# Load numérico
|
||
cat /proc/loadavg
|
||
|
||
# CPU/IO statistics
|
||
vmstat 1 3
|
||
|
||
# Processos específicos (Apache, MySQL, Nginx)
|
||
ps aux | grep -E 'httpd|mysql|nginx' | grep -v grep
|
||
```
|
||
|
||
**Validação:**
|
||
- ✅ Load 1min <2 → OK
|
||
- ⚠️ Load 1min 2-5 → Warning
|
||
- ❌ Load 1min >5 → Critical
|
||
- ✅ RAM <70% → OK
|
||
- ❌ Swap >10% → Investigar causa
|
||
|
||
### Passo 2: MySQL
|
||
|
||
```bash
|
||
# Status geral MySQL
|
||
mysqladmin status
|
||
|
||
# Processos activos
|
||
mysqladmin processlist | head -20
|
||
|
||
# Threads conectadas
|
||
mysql -e "SHOW GLOBAL STATUS LIKE 'Threads%';"
|
||
|
||
# Slow queries
|
||
mysql -e "SHOW GLOBAL STATUS LIKE 'Slow_queries';"
|
||
|
||
# Tamanho das BDs
|
||
mysql -e "SELECT table_schema AS 'Database',
|
||
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS 'Size (MB)'
|
||
FROM information_schema.TABLES
|
||
GROUP BY table_schema
|
||
ORDER BY SUM(data_length + index_length) DESC
|
||
LIMIT 10;"
|
||
|
||
# Verificar se há tabelas corrompidas
|
||
mysqlcheck --all-databases --check
|
||
```
|
||
|
||
**Queries Críticas:**
|
||
```sql
|
||
-- Ver queries lentas em execução
|
||
SELECT id, user, host, db, command, time, state, LEFT(info, 100) as query
|
||
FROM information_schema.PROCESSLIST
|
||
WHERE command != 'Sleep'
|
||
AND time > 5
|
||
ORDER BY time DESC;
|
||
|
||
-- BDs maiores que 500MB
|
||
SELECT table_schema,
|
||
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS size_mb
|
||
FROM information_schema.TABLES
|
||
GROUP BY table_schema
|
||
HAVING size_mb > 500
|
||
ORDER BY size_mb DESC;
|
||
```
|
||
|
||
### Passo 3: Web Servers
|
||
|
||
```bash
|
||
# Status Apache
|
||
systemctl status httpd --no-pager | head -15
|
||
|
||
# Status Nginx
|
||
systemctl status nginx --no-pager | head -15
|
||
|
||
# Testar localhost
|
||
curl -sI localhost | head -10
|
||
|
||
# Verificar GZIP
|
||
curl -sI -H 'Accept-Encoding: gzip' localhost | grep -i encoding
|
||
|
||
# Conexões activas
|
||
netstat -an | grep :80 | wc -l
|
||
netstat -an | grep :443 | wc -l
|
||
|
||
# Workers Apache
|
||
ps aux | grep httpd | wc -l
|
||
|
||
# Virtual hosts configurados
|
||
httpd -S 2>&1 | grep -E 'port|namevhost' | head -20
|
||
```
|
||
|
||
### Passo 4: PHP
|
||
|
||
```bash
|
||
# Versão PHP
|
||
php -v | head -1
|
||
|
||
# Memory limit
|
||
php -i | grep memory_limit
|
||
|
||
# OPcache status
|
||
php -i | grep -E 'opcache.enable|opcache.memory_consumption'
|
||
|
||
# Processos PHP-FPM
|
||
ps aux | grep php-fpm | wc -l
|
||
|
||
# Configuração PHP-FPM (se existir)
|
||
php-fpm -tt 2>&1 | head -30
|
||
```
|
||
|
||
### Passo 5: SSL/Certificados
|
||
|
||
```bash
|
||
# Listar todos os certificados instalados
|
||
ls -lh /root/.acme.sh/cwp_certs/
|
||
|
||
# Verificar próximas renovações (todos os domínios)
|
||
for d in $(ls /root/.acme.sh/cwp_certs/); do
|
||
echo "=== $d ==="
|
||
grep -E 'Le_NextRenewTimeStr|Le_Alt' /root/.acme.sh/cwp_certs/$d/*.conf 2>/dev/null | head -3
|
||
done
|
||
|
||
# Verificar certificados activos em Nginx
|
||
for conf in /etc/nginx/vhosts/*.conf; do
|
||
domain=$(basename $conf .conf)
|
||
echo "=== $domain ==="
|
||
grep -E 'ssl_certificate|server_name' $conf | head -3
|
||
done
|
||
|
||
# Testar um domínio específico
|
||
echo | openssl s_client -connect DOMINIO:443 2>/dev/null | openssl x509 -noout -dates -subject
|
||
|
||
# Log de renovações recentes
|
||
tail -100 /root/.acme.sh/acme.sh.log | grep -E 'Renew|error|success'
|
||
```
|
||
|
||
**Validação SSL:**
|
||
- ✅ Renovação >30 dias → OK
|
||
- ⚠️ Renovação 15-30 dias → Avisar
|
||
- ❌ Renovação <15 dias → Urgente
|
||
|
||
### Passo 6: Segurança
|
||
|
||
```bash
|
||
# Fail2ban status
|
||
systemctl status fail2ban --no-pager 2>/dev/null || echo 'fail2ban não instalado'
|
||
|
||
# Jails activos
|
||
fail2ban-client status 2>/dev/null | head -10
|
||
|
||
# IPs banidos
|
||
fail2ban-client status sshd 2>/dev/null | grep "Banned IP"
|
||
|
||
# Portas abertas
|
||
netstat -tlnp | grep LISTEN | head -20
|
||
|
||
# Últimos logins SSH
|
||
last -10
|
||
|
||
# Tentativas SSH falhadas
|
||
grep "Failed password" /var/log/secure | tail -20
|
||
|
||
# Firewall activo?
|
||
systemctl status firewalld --no-pager || iptables -L -n | head -20
|
||
```
|
||
|
||
### Passo 7: Sites WordPress
|
||
|
||
```bash
|
||
# Verificar todos os sites WordPress
|
||
for dir in /home/*/public_html; do
|
||
if [ -f "$dir/wp-config.php" ]; then
|
||
domain=$(basename $(dirname $dir))
|
||
echo "=== $domain ==="
|
||
|
||
# Versão WordPress
|
||
grep "wp_version = " $dir/wp-includes/version.php | head -1
|
||
|
||
# Tamanho wp-content
|
||
du -sh $dir/wp-content
|
||
|
||
# Plugins activos (via BD se possível)
|
||
# Testar acesso HTTP
|
||
curl -sI "http://$domain" | head -3
|
||
fi
|
||
done
|
||
|
||
# Script de verificação completo
|
||
/root/scripts/check-wp-sites.sh 2>/dev/null || echo "Script não existe"
|
||
```
|
||
|
||
---
|
||
|
||
## Template de Output
|
||
|
||
```markdown
|
||
# 🔍 Server Health Report - YYYY-MM-DD HH:MM
|
||
|
||
## ⚡ Resumo Executivo
|
||
|
||
| Métrica | Valor | Status | Limite |
|
||
|---------|-------|--------|--------|
|
||
| Load (1m) | X.XX | ✅/⚠️/❌ | <2 |
|
||
| RAM Usada | XX% | ✅/⚠️/❌ | <70% |
|
||
| Swap Usado | XX% | ✅/⚠️/❌ | <10% |
|
||
| Disco / | XX% | ✅/⚠️/❌ | <70% |
|
||
| MySQL Threads | XX | ✅/⚠️/❌ | <50 |
|
||
| Slow Queries | XX | ✅/⚠️/❌ | <10 |
|
||
| Sites WP OK | XX/YY | ✅/⚠️/❌ | 100% |
|
||
| SSL Expiring | XX | ✅/⚠️/❌ | 0 |
|
||
|
||
**Health Score:** XX/100
|
||
|
||
---
|
||
|
||
## 🚨 Alertas Críticos
|
||
|
||
> [!danger] CRÍTICO
|
||
> - Load >5 há 10 minutos (possível loop infinito)
|
||
> - Swap 45% usado (memória insuficiente)
|
||
|
||
> [!warning] ATENÇÃO
|
||
> - 3 sites WordPress com erros HTTP 500
|
||
> - Certificado SSL solarfv360.pt expira em 12 dias
|
||
|
||
---
|
||
|
||
## 📊 Detalhes
|
||
|
||
### Sistema
|
||
|
||
```
|
||
Uptime: 45 days, 12:34
|
||
Load Average: 2.15, 1.89, 1.56
|
||
RAM: 12.5 GB / 16 GB (78%) ⚠️
|
||
Swap: 1.2 GB / 4 GB (30%) ❌
|
||
Disco /: 85 GB / 200 GB (42%) ✅
|
||
```
|
||
|
||
**Top Processos CPU:**
|
||
```
|
||
PID USER %CPU %MEM COMMAND
|
||
1234 mysql 45.2 12.3 mysqld
|
||
5678 apache 8.5 2.1 httpd
|
||
```
|
||
|
||
### MySQL
|
||
|
||
**Status:**
|
||
- Uptime: 1,234,567 seconds
|
||
- Threads conectadas: 23 / 151 ✅
|
||
- Slow queries: 145 (total) ⚠️
|
||
- Queries/segundo: ~150
|
||
|
||
**BDs Grandes (>500MB):**
|
||
| Base de Dados | Tamanho |
|
||
|---------------|---------|
|
||
| ealmeida_desk24 | 1,234 MB |
|
||
| carstuff_prod | 856 MB |
|
||
|
||
**Queries Lentas Activas:**
|
||
```
|
||
id: 12345 | user: wp_user | time: 45s
|
||
query: SELECT * FROM wp_posts WHERE...
|
||
```
|
||
|
||
### Web
|
||
|
||
**Apache:** ✅ Activo (145 workers)
|
||
**Nginx:** ✅ Activo (proxy reverso)
|
||
**Conexões:**
|
||
- HTTP (80): 23 conexões
|
||
- HTTPS (443): 67 conexões
|
||
|
||
**GZIP:** ✅ Activo
|
||
|
||
### PHP
|
||
|
||
**Versão:** PHP 8.1.27
|
||
**Memory Limit:** 256M
|
||
**OPcache:** ✅ Activo (128MB)
|
||
**PHP-FPM Workers:** 12
|
||
|
||
### SSL
|
||
|
||
**Certificados Instalados:** 34
|
||
|
||
**Renovações Próximas (<30 dias):**
|
||
| Domínio | Expira em | Status |
|
||
|---------|-----------|--------|
|
||
| solarfv360.pt | 12 dias | ⚠️ Renovar |
|
||
| emanuelalmeida.pt | 28 dias | ⚠️ Avisar |
|
||
|
||
**Problemas:**
|
||
- ❌ certificado_antigo.pt - Expirado há 5 dias
|
||
|
||
### Segurança
|
||
|
||
**Fail2ban:** ✅ Activo
|
||
**Jails:** sshd, apache-auth, nginx-limit
|
||
**IPs Banidos:** 45 (último: 123.45.67.89)
|
||
|
||
**Portas Abertas:**
|
||
- 22 (SSH) ✅
|
||
- 80 (HTTP) ✅
|
||
- 443 (HTTPS) ✅
|
||
- 3306 (MySQL) ⚠️ Público (deveria ser localhost only)
|
||
|
||
**Últimas Tentativas SSH Falhadas:**
|
||
```
|
||
2026-02-03 10:15 - Invalid user admin from 192.168.1.100
|
||
2026-02-03 09:45 - Failed password for root from 45.67.89.10
|
||
```
|
||
|
||
### Sites WordPress
|
||
|
||
**Total:** 15 sites
|
||
**OK:** 12 (80%) ✅
|
||
**Erros:** 3 (20%) ❌
|
||
|
||
**Sites com Erro:**
|
||
| Domínio | Erro | Acção |
|
||
|---------|------|-------|
|
||
| site-antigo.pt | HTTP 500 | Verificar error_log |
|
||
| teste.descomplicar.pt | HTTP 404 | Site desactivado? |
|
||
|
||
---
|
||
|
||
## 📋 Recomendações Prioritárias
|
||
|
||
### 🔴 URGENTE (Hoje)
|
||
1. ⚠️ Reduzir uso de Swap (45%) - Investigar processos
|
||
2. ❌ Renovar SSL solarfv360.pt (12 dias restantes)
|
||
3. ❌ Corrigir sites com HTTP 500 (3 sites)
|
||
|
||
### 🟡 IMPORTANTE (Esta Semana)
|
||
4. ⚠️ Optimizar queries lentas MySQL (145 total)
|
||
5. ⚠️ Limpar BDs grandes (ealmeida_desk24 1.2GB)
|
||
6. ⚠️ Fechar porta MySQL 3306 ao público
|
||
|
||
### 🟢 MELHORIAS (Mês)
|
||
7. ✅ Configurar alertas automáticos para Swap >20%
|
||
8. ✅ Criar backup automático de certificados SSL
|
||
9. ✅ Actualizar PHP para 8.2 (actualmente 8.1)
|
||
|
||
---
|
||
|
||
## 🔧 Troubleshooting Sugerido
|
||
|
||
### Swap Alto (>30%)
|
||
```bash
|
||
# Ver o que está a usar memória
|
||
ps aux --sort=-%mem | head -10
|
||
|
||
# Limpar swap (CUIDADO!)
|
||
swapoff -a && swapon -a
|
||
```
|
||
|
||
### Load Alto (>5)
|
||
```bash
|
||
# Ver processos por CPU
|
||
ps aux --sort=-%cpu | head -10
|
||
|
||
# Ver I/O wait
|
||
iostat -x 1 5
|
||
|
||
# Identificar processo problemático
|
||
top -bn1 | head -20
|
||
```
|
||
|
||
### MySQL Lento
|
||
```bash
|
||
# Ver queries activas
|
||
mysqladmin processlist
|
||
|
||
# Ver slow query log
|
||
tail -50 /var/log/mysql/slow.log
|
||
|
||
# Optimizar tabelas
|
||
mysqlcheck --optimize --all-databases
|
||
```
|
||
|
||
### Sites WordPress com Erro
|
||
```bash
|
||
# Ver error log
|
||
tail -100 /home/USER/logs/error.log
|
||
|
||
# Verificar permissões
|
||
ls -lh /home/USER/public_html/wp-content
|
||
|
||
# Corrigir permissões
|
||
chown -R USER:USER /home/USER/public_html/wp-content
|
||
```
|
||
|
||
---
|
||
|
||
*Gerado via /server-health v2.0 | Descomplicar®*
|
||
```
|
||
|
||
**Instruções de Implementação:**
|
||
1. Executar comandos em paralelo quando possível (mcp__ssh-unified__ssh_execute)
|
||
2. Calcular health score: (checks OK / total checks) × 100
|
||
3. Gerar alertas baseados em thresholds
|
||
4. Agrupar recomendações por urgência
|
||
5. Incluir troubleshooting específico para cada problema detectado
|
||
|
||
---
|
||
|
||
## Thresholds de Alertas
|
||
|
||
| Métrica | ✅ OK | ⚠️ Warning | ❌ Critical |
|
||
|---------|-------|------------|-------------|
|
||
| **Load (1m)** | <2 | 2-5 | >5 |
|
||
| **RAM** | <70% | 70-85% | >85% |
|
||
| **Swap** | <10% | 10-30% | >30% |
|
||
| **Disco** | <70% | 70-85% | >85% |
|
||
| **MySQL Threads** | <50 | 50-100 | >100 |
|
||
| **Slow Queries** | 0 | 1-10 | >10 |
|
||
| **Sites WP OK** | 100% | 90-99% | <90% |
|
||
| **SSL Expiring** | >30d | 15-30d | <15d |
|
||
|
||
---
|
||
|
||
## Comandos SSH Específicos
|
||
|
||
### Verificação Rápida (Quick Mode)
|
||
```bash
|
||
# Uma linha com todas as métricas críticas
|
||
echo "=== QUICK HEALTH ===" && \
|
||
uptime && \
|
||
free -h | grep Mem && \
|
||
df -h | grep -E '^/dev/vda|Filesystem' && \
|
||
mysqladmin status 2>&1 | head -1 && \
|
||
systemctl is-active httpd nginx mysql
|
||
```
|
||
|
||
### MySQL Deep Dive
|
||
```bash
|
||
# Optimizar todas as BDs
|
||
mysqlcheck --optimize --all-databases
|
||
|
||
# Limpar logs binários antigos (>7 dias)
|
||
mysql -e "PURGE BINARY LOGS BEFORE DATE_SUB(NOW(), INTERVAL 7 DAY);"
|
||
|
||
# Verificar fragmentação de tabelas
|
||
mysql -e "SELECT table_schema, table_name,
|
||
ROUND(data_length/1024/1024,2) as data_mb,
|
||
ROUND(data_free/1024/1024,2) as free_mb
|
||
FROM information_schema.TABLES
|
||
WHERE data_free > 0
|
||
ORDER BY data_free DESC
|
||
LIMIT 10;"
|
||
```
|
||
|
||
### Limpeza de Cache/Temp
|
||
```bash
|
||
# Limpar cache WordPress (todos os sites)
|
||
find /home/*/public_html/wp-content/cache -type f -delete
|
||
|
||
# Limpar sessions PHP antigas
|
||
find /var/lib/php/session -type f -mtime +7 -delete
|
||
|
||
# Limpar logs Apache/Nginx >30 dias
|
||
find /home/*/logs -name "*.log" -mtime +30 -delete
|
||
```
|
||
|
||
---
|
||
|
||
## Integração com MCPs
|
||
|
||
```javascript
|
||
// Executar diagnóstico completo
|
||
async function serverHealthCheck() {
|
||
// 1. Sistema (paralelo)
|
||
const systemChecks = await Promise.all([
|
||
mcp__ssh-unified__ssh_execute({server: "server", command: "uptime"}),
|
||
mcp__ssh-unified__ssh_execute({server: "server", command: "free -h"}),
|
||
mcp__ssh-unified__ssh_execute({server: "server", command: "df -h"}),
|
||
mcp__ssh-unified__ssh_execute({server: "server", command: "top -bn1 | head -20"})
|
||
]);
|
||
|
||
// 2. MySQL
|
||
const mysqlStatus = await mcp__ssh-unified__ssh_execute({
|
||
server: "server",
|
||
command: "mysqladmin status && mysql -e \"SHOW GLOBAL STATUS LIKE 'Threads%';\""
|
||
});
|
||
|
||
// 3. SSL
|
||
const sslCheck = await mcp__ssh-unified__ssh_execute({
|
||
server: "server",
|
||
command: "for d in $(ls /root/.acme.sh/cwp_certs/); do echo \"=== $d ===\"; grep Le_NextRenewTimeStr /root/.acme.sh/cwp_certs/$d/*.conf 2>/dev/null; done"
|
||
});
|
||
|
||
// Processar e gerar report
|
||
return processHealthData(systemChecks, mysqlStatus, sslCheck);
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## Anti-Patterns
|
||
|
||
| Anti-Pattern | Problema | Solução Correcta |
|
||
|--------------|----------|------------------|
|
||
| Assumir SSH como root | Pode falhar | Verificar permissões primeiro |
|
||
| Executar comandos sequenciais | Lento | Paralelo quando possível |
|
||
| Ignorar exit codes | Falhas silenciosas | Validar cada comando |
|
||
| Não limpar recursos temp | Consume espaço | Limpeza em cada audit |
|
||
| Não documentar problemas | Sem histórico | Gravar em Desk/Obsidian |
|
||
|
||
---
|
||
|
||
## Checklist de Execução
|
||
|
||
- [ ] SSH conecta (testar `whoami`)
|
||
- [ ] Todas as métricas recolhidas (sistema, mysql, web, ssl)
|
||
- [ ] Thresholds aplicados (calcular status)
|
||
- [ ] Health score calculado
|
||
- [ ] Alertas gerados (crítico/warning)
|
||
- [ ] Recomendações priorizadas
|
||
- [ ] Troubleshooting incluído
|
||
- [ ] Report formatado (Markdown)
|
||
- [ ] Opcional: Gravar em Desk ou Obsidian
|
||
|
||
---
|
||
|
||
## Datasets Dify (Consulta Obrigatória)
|
||
|
||
Antes de executar diagnóstico complexo ou para troubleshooting específico:
|
||
|
||
| Dataset | ID | Uso |
|
||
|---------|----|----|
|
||
| **TI (Tecnologia da Informação)** | `7f63ec0c-6321-488c-b107-980140199850` | Diagnósticos gerais |
|
||
| **Linux** | `bde4eddd-4618-402c-8bfb-bb947ed9219d` | Comandos específicos |
|
||
| **CWP Centos Web Panel** | `b2a4d2c5-fe55-412c-bc28-74dbd611905d` | Configurações CWP |
|
||
|
||
**Consultar quando:**
|
||
- Problema não coberto por este guia
|
||
- Optimização específica de serviço
|
||
- Troubleshooting de erro desconhecido
|
||
- Configuração avançada CWP/MySQL/Nginx
|
||
|
||
```javascript
|
||
// Exemplo: pesquisar optimização MySQL
|
||
mcp__notebooklm__notebook_query, mcp__dify-kb__dify_kb_retrieve_segments({
|
||
dataset_id: "7f63ec0c-6321-488c-b107-980140199850",
|
||
query: "mysql slow query optimization innodb tuning",
|
||
top_k: 3
|
||
})
|
||
```
|
||
|
||
---
|
||
|
||
## Changelog
|
||
|
||
### v2.0.0 (2026-02-03)
|
||
- **ENHANCED:** Workflows detalhados para cada passo
|
||
- Modos de execução (quick, mysql, ssl, sites)
|
||
- Template de output completo com troubleshooting
|
||
- Thresholds documentados
|
||
- Comandos SSH específicos
|
||
- Health score calculation
|
||
- Integração MCPs documentada
|
||
- Anti-patterns identificados
|
||
- Checklist de execução
|
||
|
||
### v1.0.0 (2026-01-30)
|
||
- Versão inicial
|
||
- Diagnóstico: Sistema, MySQL, Web, PHP, SSL, Segurança
|
||
- Thresholds definidos
|
||
- Output template markdown
|
||
|
||
---
|
||
|
||
**Versão:** 2.0.0 | **Autor:** Descomplicar®
|
||
**Última actualização:** 2026-02-03 (Workflows completos + Troubleshooting)
|
||
|
||
---
|
||
|
||
|
||
## Quando NÃO Usar
|
||
|
||
- Para tarefas fora do domínio de especialização desta skill
|
||
- Quando outra skill mais específica está disponível
|
||
- Para operações que requerem aprovação manual obrigatória
|
||
- Quando os requisitos não estão claramente definidos
|
||
|
||
|
||
## Exemplos de Uso
|
||
|
||
### Exemplo 1: Caso Básico
|
||
```
|
||
User: [requisição simples relacionada com server-health]
|
||
Skill: [execução directa com validação]
|
||
Output: [resultado conciso e accionável]
|
||
```
|
||
|
||
### Exemplo 2: Caso Complexo
|
||
```
|
||
User: [requisição multi-passo ou complexa]
|
||
Skill:
|
||
1. Análise dos requisitos
|
||
2. Planeamento da abordagem
|
||
3. Execução faseada
|
||
4. Validação contínua
|
||
Output: [resultado detalhado com próximos passos]
|
||
```
|
||
|
||
### Exemplo 3: Caso com Dependências
|
||
```
|
||
User: [requisição que depende de outros sistemas]
|
||
Skill:
|
||
1. Verificar dependências disponíveis
|
||
2. Coordenar com skills/MCPs necessários
|
||
3. Executar workflow integrado
|
||
Output: [resultado completo com referências]
|
||
```
|