| name | xpz-daemon |
| description | Instala e gerencia um monitor persistente de XPZ que sobrevive reboots do sistema |
xpz-daemon
Instala um monitor de filesystem no Windows Task Scheduler que observa uma pasta
para arquivos .xpz novos e dispara sincronização automaticamente. O monitor persiste
após reboots e continua rodando enquanto o sistema estiver ligado. Cada KB pode ter
seu próprio daemon independente.
GUIDELINE
Usuário solicita ativar ou desativar o monitoramento permanente. A skill:
- Identifica o nome da KB
- Instala a tarefa no Task Scheduler com nome único por KB
- Inicia ou para o monitoramento sob demanda
- Permite verificar status do daemon
PATH RESOLUTION
- Este
SKILL.md fica dentro de uma subpasta de skill sob a raiz do repositório.
- Toda referência
../arquivo.md deve ser resolvida a partir da pasta deste SKILL.md, e não do diretório de trabalho corrente.
- Na prática,
../ aponta para a base metodológica compartilhada na pasta-pai desta skill.
TRIGGERS
Use esta skill para:
- Usuário quer ativar, configurar ou gerenciar monitoramento automático de novas exportações XPZ da IDE
- Usuário quer instalar um daemon que dispara sincronização automaticamente ao detectar novos arquivos
.xpz
- Usuário quer parar, verificar status ou remover um daemon XPZ existente
Do NOT use this skill para:
- Processar ou sincronizar um
.xpz manualmente (use xpz-sync)
- Preparar ou validar a estrutura da pasta paralela da KB (use
xpz-kb-parallel-setup)
- Gerar ou clonar objetos XPZ para importação (use
xpz-builder)
- Analisar estrutura de XML isolado (use
xpz-reader)
RESPONSABILIDADES
- Resolver a pasta a monitorar pelo contexto ou perguntar ao usuário
- Identificar o nome da KB (pelo nome da pasta-pai ou perguntar ao usuário)
- Criar o script
.ps1 do watcher (ou reutilizar se já existe)
- Registrar no Task Scheduler com nome único por KB (ex:
XpzDaemon_KBExemplo)
- Validar que não existe daemon com esse nome já instalado
- Inicia o monitoramento imediatamente após instalação
- Oferece comandos para parar/iniciar/remover o daemon
- Reporta status e logs de sincronização
WORKFLOW - INSTALAR
- Resolver a pasta a monitorar pelo contexto (ou perguntar ao usuário)
- Identificar o nome da KB (pelo nome da pasta-pai ou perguntar ao usuário)
- Montar o nome único da tarefa:
XpzDaemon_<NomeDaKB>
- Validar que não existe tarefa com esse nome já instalado
- Se existir: oferecer opção de substituir ou usar outro nome
- Validar permissões de admin (necessário para Task Scheduler)
- Criar/atualizar o script
.ps1 do watcher com configuração correta
- Registrar no Task Scheduler para executar ao iniciar e manter rodando
- Iniciar o daemon imediatamente
- Reportar: nome da KB, local do script, tarefa agendada, status
WORKFLOW - PARAR
- Identificar qual daemon parar (por nome da KB)
- Parar o processo do daemon (se rodando)
- Desabilitar a tarefa no Task Scheduler
- Reportar que está parado mas instalado (pode reativar depois)
WORKFLOW - REMOVER
- Identificar qual daemon remover (por nome da KB)
- Parar o processo
- Remover a tarefa do Task Scheduler completamente
- Deletar o script
.ps1 do watcher
- Reportar: daemon removido completamente
WORKFLOW - STATUS
- Listar todos os daemons instalados (opcional: filtrar por KB)
- Para cada daemon:
- Verificar se tarefa existe no Task Scheduler
- Verificar se processo está rodando
- Reportar: nome da KB, instalado sim/não, rodando sim/não, última sincronização
CONSTRAINTS
- Requer permissões de administrador (Task Scheduler)
- NUNCA corromper ou perder logs de sincronização
- Esperar alguns segundos após criação de
.xpz antes de processar (IDE ainda escrevendo)
- Validar que a pasta existe antes de instalar
- Permitir múltiplos daemons para diferentes KBs (nomes de tarefa únicos por KB)
- Se daemon travar, Task Scheduler reinicia automaticamente
- Nomes de tarefa devem ser únicos e identificáveis:
XpzDaemon_<NomeDaKB>
LIMITES
- Roda apenas enquanto Windows estiver ligado (não liga a máquina)
- Requer permissões de admin para instalar/remover
- Logs de sincronização devem ser acessíveis para monitoramento
- Máximo recomendado: 5-10 daemons simultâneos (limite prático do sistema)