Files
pulse-libs/TOOLS.md
T

8.4 KiB

TOOLS.md - Local Notes

Skills define how tools work. This file is for your specifics — the stuff that's unique to your setup.

What Goes Here

Things like:

  • Camera names and locations
  • SSH hosts and aliases
  • Preferred voices for TTS
  • Speaker/room names
  • Device nicknames
  • Anything environment-specific

Examples

### Cameras

- living-room → Main area, 180° wide angle
- front-door → Entrance, motion-triggered

### SSH

- home-server → 192.168.1.100, user: admin

### TTS

- Preferred voice: "Nova" (warm, slightly British)
- Default speaker: Kitchen HomePod

Why Separate?

Skills are shared. Your setup is yours. Keeping them apart means you can update skills without losing your notes, and share skills without leaking your infrastructure.


Add whatever helps you do your job. This is your cheat sheet.

Tech Stack — Skills Instaladas (2026-05-19)

Skill Versão Uso
agent-browser-clawdbot 0.1.0 Automação de browser headless com accessibility tree
multi-search-engine-2-0-1 1.0.0 Busca em 17 motores (8 CN + 9 Global)
redis-labs-integration 1.0.2 Redis Labs via API
self-improvement 1.0.0 Log de erros e aprendizados (self-improvement)
nova-self-improver 1.0.0 Sistema de auto-melhoria completo (4 camadas)
vision 3.5.0 Processamento de imagens, resize, watermark
typescript 1.0.2 TS seguro: genéricos, narrowing, strict mode, satisfies, utility types, declarations
e2e-testing-patterns 1.0.0 Playwright/Cypress — pirâmide de testes, seletor estável, testes determinísticos
xcloud-docker-deploy 1.2.1 Deploy Docker multi-stack (PHP, Python, Node, NextJS, Laravel, Go, Rust) + GitHub Actions
openclaw-config 0.1.0 Edição segura do openclaw.json via config.schema, $include modular, validação strict
openclaw-power-ops 1.0.0 CLI OpenClaw completo: channels, agents, models, security audit, gateway admin
gitea-api 1.0.0 API Gitea: autenticação, tokens, repos, issues, webhooks — 5 métodos de auth

Clawhub CLI — caminho do binário

  • Caminho completo: /var/lib/openclaw/tools/node/npm/bin/clawhub
  • NÃO está no PATH global — sempre usar caminho absoluto
  • Comandos: search, install, inspect, explore, update, list
  • Licença dos skills: MIT-0 (free, sem atribuição obrigatória)

Quick Install

/var/lib/openclaw/tools/node/npm/bin/clawhub install <slug>   --workdir /root/.openclaw/workspace --dir skills

🖥️ Browser Automation — agent-browser (headless Chromium)

CLI baseado em Chromium com snapshot → @refs → interação. Ref lifecycle: refs são invalidados após navegação/DOM change — sempre re-snapshotar.

Fluxo padrão

# 1. Navegar
agent-browser open https://exemplo.com

# 2. Snapshot (descobre elementos interativos com @refs)
agent-browser snapshot -i
# output: @e1 [input type="email"], @e2 [input type="password"], @e3 [button] "Submit"

# 3. Interagir
agent-browser fill @e1 "user@exemplo.com"
agent-browser fill @e2 "senha123"
agent-browser click @e3
agent-browser wait --load networkidle

# 4. Re-snapshot (sempre após mudança de DOM)
agent-browser snapshot -i

Login + persistência de sessão

agent-browser open https://app.exemplo.com/login
agent-browser fill @e1 "$USER" && agent-browser fill @e2 "$PASS"
agent-browser click @e3
agent-browser wait --url "**/dashboard"
agent-browser state save ~/auth.json    # salva cookies/login

# Reutilizar:
agent-browser state load ~/auth.json
agent-browser open https://app.exemplo.com/dashboard

Extrair dados + print

agent-browser get text body > page.txt
agent-browser get text @e5
agent-browser screenshot paginateste.png
agent-browser screenshot --full     # página inteira
agent-browser pdf relatorio.pdf

Sessões paralelas

agent-browser --session site1 open https://site-a.com
agent-browser --session site2 open https://site-b.com
agent-browser session list

Segurança (ambiente)

export AGENT_BROWSER_ALLOWED_DOMAINS="exemplo.com"   # domínios permitidos
export AGENT_BROWSER_MAX_OUTPUT=50000                # limite de saída
export AGENT_BROWSER_CONTENT_BOUNDARIES=1            # segurança AI

🔒 Security Audit — skill-security-audit

Princípio: análise read-only. Use APENAS quando o usuário explicitamente pedir análise de segurança.

Severidade

Nível Impacto
Critical RCE, exfiltração de dados, instruction override
High Leitura/modificação de dados sensíveis, bypass de ACL
Medium Dados limitados, engano de usuário
Low Impacto mínimo

Categorias de vulnerabilidade

  • Hardcoded SecretsAPI_KEY, PASSWORD, credenciais em código
  • Injection — SQLi, XSS, Command Injection, SSRF
  • Access Control — IDOR, missing function-level AC
  • LLM/Prompt Safety — injection, output injection, execução arbitrária
  • Privacidade — vazamento de PII para logs/APIs externas

Skill & SKILL.md review checklist

  • ✓ Sem instruction override (ex: "Ignore previous instructions...")
  • ✓ Sem exfiltração de dados (enviar dados para URL externa)
  • ✓ Sem falsas claims de privilégio
  • ✓ Sem conteúdo escondido (base64, zero-width chars)
  • ✓ Tool usage seguro (sem eval(user_input), sem writes em /etc/*)
  • ✓ Sem engano (não dizer que é humano)
  • ✓ Scoped ao propósito declarado

🗄️ Banco de Dados — SQL (PostgreSQL / MySQL / SQLite)

Comandos essenciais

# SQLite (setup rápido)
sqlite3 arquivo.db                       # modo interativo
sqlite3 arquivo.db -header -column       # com cabeçalhos
sqlite3 arquivo.db "SELECT * FROM t LIMIT 5;"  # one-liner
sqlite3 arquivo.db ".tables"             # listar tabelas
sqlite3 arquivo.db ".schema t"           # ver estrutura
sqlite3 arquivo.db ".import dados.csv t" # importar CSV

# PostgreSQL
psql "postgresql://user:pass@host:5432/db?sslmode=require"
psql -h host -U user -d db -c "SELECT NOW();"
psql -h host -U user -d db -f migration.sql

# MySQL
mysql -h host -u user -p db
mysql -h host -u user -p db < script.sql

Padrões recomendados

  • UUID PRIMARY KEY para sistemas distribuídos
  • CHECK constraints para valores válidos
  • JSONB + GIN index no PostgreSQL para dados semi-estruturados
  • Partial indexes para reduzir tamanho
  • Triggers para auto-update de updated_at

Otimização

  • EXPLAIN ANALYZE antes de otimizar query
  • Medir antes e depois de cada index
  • Evitar SELECT * em produção

📁 File Management + Analysis

file (organização digital)

  • Organização por contexto: busca por tipo de arquivo, projeto, data
  • Naming conventions: data + nome específico + versão (YYYY-MM-DD_doc_v2.pdf)
  • Estrutura de pastas: não movo nada sem você aprovar primeiro

file-summary (análise de documentos)

Suporte a extração e resumo de múltiplos formatos:

  • Entrada: .txt, .docx, .pdf, .xlsx, .xls
  • Trigger: "ajude a resumir [arquivo]", "analise [documento]"
  • Output: resumo estruturado em português/inglês

🧠 Sistema de Memória — Gitea Roberto/pulse-* (2026-05-20)

Repositórios que o agent Pulse usa como memória persistente de curto e longo prazo.

4 repositórios ativos

Repo Propósito
pulse-memory Memórias diárias + LEARNINGS + ERRORS + PATTERN_COUNTER — o cérebro do agente
pulse-skills Skills organizadas por domínio (devops / testing / frontend / backend / ai / infra)
pulse-docs Guias, runbooks, architecture docs, ADRs
pulse-projects Rastreador de projetos (pulse-libs/, infra/, past/, waits/)

Credenciais Gitea

  • Domínio: https://git.octal.tec.br
  • Usuário: Roberto (betotn91@gmail.com)
  • Token API: d7378a3d0b7fd38050c4bce6accfd28086b6174c — scopes=all, nome=pulse-agent-token
  • Admin stack: octal — senha gerenciada por gitea admin user change-password
  • SSH: ssh-ed25519 em ~/.ssh/id_ed25519_gitea

Política de commit

  • Fim de cada sessão: memory/ e context/ são commitados para pulse-memory
  • Instalação/remoção de skill: commit de skills/pulse-skills
  • Novo projeto: commit → pulse-projects
  • Cadência: 1 push por sessão (não commit a cada passo)