--- name: agent-context-injector description: > Injecção dinâmica de contexto específico para cada agente. Use when "contexto agente", "injectar", "SubagentStart", "recursos agente", "mcps disponíveis", "skills relevantes". author: Descomplicar® version: 1.0.0 desk_task: 1441 allowed-tools: Read, Glob, Grep, ToolSearch --- # Agent Context Injector Injecção dinâmica de contexto específico para cada agente. ## Triggers Esta skill é activada automaticamente via hook `SubagentStart` quando: - Um subagente é iniciado via Task tool - Contexto precisa ser enriquecido com recursos do agente ## Capabilities ### 1. Context Building - Consultar mapeamento agente → recursos na BD - Gerar lista de MCPs disponíveis para o agente - Gerar lista de skills relevantes - Incluir datasets Dify para consulta automática ### 2. Token Optimization - Calcular tokens do contexto gerado - Priorizar recursos por relevância - Truncar se exceder limite (~800 tokens) - Cache de contextos frequentes ### 3. Dynamic Injection - Adicionar contexto ao prompt do agente - Incluir instruções de uso dos recursos - Configurar auto-consult para datasets ## Template de Contexto ```markdown ## Recursos Disponíveis ### MCPs Activos $MCP_LIST - Usar proactivamente para operações relevantes ### Skills Recomendadas $SKILLS_LIST - Invocar quando tarefa corresponder ### Knowledge Base (Dify) $DATASETS_LIST - AUTO-CONSULT: Consultar ANTES de responder - Query template: "$QUERY_TEMPLATE" ### Plugins $PLUGINS_LIST - Comandos disponíveis: $PLUGIN_COMMANDS ``` ## Workflow ``` SUBAGENT START → QUERY BD → BUILD CONTEXT → INJECT → EXECUTE ``` 1. **Hook SubagentStart** dispara 2. **Identificar agente** pelo `subagent_type` 3. **Query MySQL**: ```sql SELECT r.resource_type, r.resource_id, r.priority FROM cr_agent_resources r JOIN cr_agents a ON r.agent_id = a.id WHERE a.slug = '{agent_slug}' AND r.auto_inject = TRUE ORDER BY r.priority ASC; ``` 4. **Consultar agent-knowledge-config.json** para datasets 5. **Gerar contexto** com template 6. **Calcular tokens** e optimizar se necessário 7. **Injectar** no prompt do agente ## Métricas Target | Métrica | Target | |---------|--------| | Tempo de injecção | < 2s | | Tokens médios | ~772 | | Cache hit rate | > 60% | | Erro rate | < 1% | ## Exemplo de Output Para `wordpress-plugin-developer`: ```markdown ## Recursos Disponíveis ### MCPs Activos - `cwp` - Gestão servidor CentOS WebPanel - `ssh-unified` - Acesso SSH a servidores - `filesystem` - Operações de ficheiros ### Skills Recomendadas - `/wp-dev` - Desenvolvimento WordPress - `/wp-performance` - Optimização performance - `/elementor` - Desenvolvimento Elementor ### Knowledge Base (Dify) - `wordpress-development` - Docs WP, hooks, filters - `woocommerce-api` - API WooCommerce - AUTO-CONSULT: Consultar ANTES de implementar ### Plugins - `superpowers` - TDD obrigatório - `code-review` - Review automático ``` ## Configuração Ficheiro `agent-knowledge-config.json`: ```json { "wordpress-plugin-developer": { "datasets": ["wordpress-development", "woocommerce-api"], "auto_consult": true, "query_template": "WordPress {topic} best practices 2026", "priority_datasets": ["wordpress-development"] } } ``` ## Integração com Scripts Existentes Este skill complementa (não substitui) os scripts Python existentes: - `inject-mcp-context.py` - Continua activo - `inject-skills-context.py` - Continua activo A skill adiciona: - Datasets Dify dinâmicos - Plugins activos - Contexto mais rico e actualizado ## Limites - Máximo ~800 tokens de contexto injectado (para preservar espaço) - Não modifica comportamento do agente, apenas enriquece contexto - Depende de mapeamentos correctos em `cr_agent_resources` - Cache de 5 minutos pode mostrar dados desactualizados - Não funciona para agentes não registados na BD