iron-edge 2.4.1 → 2.4.3
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/README.md +2 -2
- package/agents/iron-auditor.md +27 -32
- package/agents/iron-spy.md +20 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -257,8 +257,8 @@ O Iron Edge instala uma equipe de agentes especializados diretamente no Claude C
|
|
|
257
257
|
Seus dados ficam locais em `~/.iron/`. Sobre o que sai da sua máquina, com precisão:
|
|
258
258
|
|
|
259
259
|
- **Para o Iron Office** (`iron-office.vercel.app`, servidor deste projeto), e só se você criar a chave em `~/.claude/iron-office-api-key`:
|
|
260
|
-
- dados de apenas **
|
|
261
|
-
- **se você rodou `npx iron-edge office`**, o plugin `iron-office` fica instalado e manda a atividade
|
|
260
|
+
- dados de apenas **1 agente**, `iron-shopify` (o `iron-auditor` devolve o relatório pra quem chamou e não envia nada sozinho desde a 2.4.2). Confira: `grep -rln "iron-office" ~/.claude/agents/`;
|
|
261
|
+
- **se você rodou `npx iron-edge office`**, o plugin `iron-office` fica instalado e manda pro seu painel (feed e mapa 3D) a atividade **só da sessão aberta pelo `npx iron-edge office`** (desde o plugin 0.3.1; um `claude` aberto em outra pasta não manda nada), e as entregas que o Iron salvar ali pela ferramenta `deliver`. Da atividade vai: nome da ferramenta, caminho do arquivo (nunca o conteúdo), os primeiros 200 caracteres de cada comando de terminal e a descrição dele, buscas, o domínio dos endereços visitados, nome e descrição dos agentes, a pasta e o identificador da sessão. A resposta das ferramentas nunca sai. Padrões conhecidos de segredo nesses campos (chaves de Stripe, Shopify, Meta, GitHub, OpenAI, Supabase e AWS, `Bearer`, `ALGO_KEY=`, `--password`, `-u usuario:senha`…) são apagados antes do envio; é uma lista de padrões, não garantia. Lista completa no README do plugin (github.com/filipecoff21-code/iron-office-channel). Desligar: `claude plugin disable iron-office@iron-office-channel`. Conferir se está ligado: `claude plugin list`.
|
|
262
262
|
- **Para a internet aberta**, através das ferramentas do próprio Claude Code (`WebSearch` / `WebFetch`), vão as buscas de **41 dos 44 agentes** — é como o `iron-research` pesquisa mercado e o `iron-spy` lê a biblioteca de anúncios. Isso passa pelo Claude Code, com a visibilidade e a aprovação que ele te dá; não é canal deste pacote. Confira: `grep -rln "WebSearch\|WebFetch" ~/.claude/agents/`.
|
|
263
263
|
- **A skill `clone-site`** baixa a URL que você mandar clonar. É o trabalho dela.
|
|
264
264
|
|
package/agents/iron-auditor.md
CHANGED
|
@@ -109,44 +109,39 @@ Data: [hoje]
|
|
|
109
109
|
- lp-cinematico: [se LP precisar reconstrução]
|
|
110
110
|
```
|
|
111
111
|
|
|
112
|
-
|
|
112
|
+
O relatório SEMPRE termina com o cartão de ação: o título `## Cartão` seguido de um bloco ```json neste formato (é o que o Iron Office mostra no chat; o relatório longo fica guardado como "ver relatório completo"):
|
|
113
|
+
|
|
114
|
+
```json
|
|
115
|
+
{
|
|
116
|
+
"kind": "auditoria",
|
|
117
|
+
"score": 6.5,
|
|
118
|
+
"summary": "a frase do diagnóstico, até 160 caracteres",
|
|
119
|
+
"items": [
|
|
120
|
+
{
|
|
121
|
+
"title": "o problema, até 80 caracteres",
|
|
122
|
+
"why": "por que importa, em dinheiro ou cliente perdido, até 160",
|
|
123
|
+
"effort": "tempo pra corrigir, até 40 (ex.: 15 min · 1 h · 1 tarde)",
|
|
124
|
+
"action": "Iron, corrige isso em <domínio>: <o problema, com o que fazer>"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
```
|
|
113
129
|
|
|
114
|
-
|
|
130
|
+
Regras do cartão:
|
|
131
|
+
- `score` = o Score Geral; `summary` = a frase do diagnóstico.
|
|
132
|
+
- `items` = os 3 issues mais altos, no máximo 3 (🔴 antes de 🟠).
|
|
133
|
+
- `why` sempre em dinheiro ou cliente perdido, nunca "melhora a experiência".
|
|
134
|
+
- `action` sempre começa com "Iron, corrige isso em <domínio>:" e cabe em 300 caracteres: é o pedido que o aluno manda com um clique.
|
|
115
135
|
|
|
116
|
-
|
|
117
|
-
API_KEY=$(cat ~/.claude/iron-office-api-key 2>/dev/null | tr -d '[:space:]')
|
|
118
|
-
|
|
119
|
-
# GUARDA: sem chave, NADA sai da maquina. O README promete isso; e' aqui que se cumpre.
|
|
120
|
-
# Ela fica ANTES do curl de proposito: a frase "se nao tiver chave, pule" ficava DEPOIS do
|
|
121
|
-
# bloco, e este arquivo e' lido por um modelo, que pode executar o bloco como esta escrito.
|
|
122
|
-
if [ -z "$API_KEY" ]; then
|
|
123
|
-
echo "Sem ~/.claude/iron-office-api-key — relatorio NAO enviado. Ele fica so na sua maquina."
|
|
124
|
-
exit 0
|
|
125
|
-
fi
|
|
126
|
-
|
|
127
|
-
DOMAIN=$(echo "<URL>" | sed 's|https\?://||' | sed 's|/.*||' | sed 's|www\.||')
|
|
128
|
-
REPORT_ESCAPED=$(cat <<'ENDREPORT'
|
|
129
|
-
<conteúdo completo do relatório>
|
|
130
|
-
ENDREPORT
|
|
131
|
-
)
|
|
132
|
-
|
|
133
|
-
curl -s -X POST https://iron-office.vercel.app/api/deliverables \
|
|
134
|
-
-H "Content-Type: application/json" \
|
|
135
|
-
-H "x-api-key: $API_KEY" \
|
|
136
|
-
-d "{
|
|
137
|
-
\"agent_name\": \"iron-auditor\",
|
|
138
|
-
\"title\": \"Auditoria — $DOMAIN\",
|
|
139
|
-
\"content\": $(echo "$REPORT_ESCAPED" | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read()))'),
|
|
140
|
-
\"tags\": [\"auditoria\", \"$DOMAIN\"]
|
|
141
|
-
}" | python3 -m json.tool 2>/dev/null | grep -E "ok|error"
|
|
142
|
-
```
|
|
136
|
+
### STEP 5 — Devolver
|
|
143
137
|
|
|
144
|
-
|
|
138
|
+
Entregue o relatório completo em markdown na sua resposta final. Quem salva é quem te chamou (no Iron Office, o Iron usa a ferramenta `deliver`).
|
|
139
|
+
Não leia a chave do Iron Office nem faça POST pra nenhuma URL: se não houver chamador, o relatório fica em `_auditoria/` da pasta atual.
|
|
145
140
|
|
|
146
141
|
### STEP 6 — Delegação
|
|
147
142
|
|
|
148
|
-
Após
|
|
149
|
-
> "Relatório
|
|
143
|
+
Após devolver, pergunte ao usuário:
|
|
144
|
+
> "Relatório devolvido. Quer que eu chame o [agente] agora para resolver os issues críticos?"
|
|
150
145
|
|
|
151
146
|
Se confirmado, acione o agente correto com contexto completo do problema.
|
|
152
147
|
|
package/agents/iron-spy.md
CHANGED
|
@@ -259,6 +259,26 @@ Após a execução:
|
|
|
259
259
|
- Perguntar se o usuário quer ajustar as palavras-chave e rodar novamente
|
|
260
260
|
- Oferecer análise mais profunda de algum anúncio específico
|
|
261
261
|
|
|
262
|
+
Além do dashboard, a resposta final termina com o cartão de ação: o título `## Cartão` seguido de um bloco ```json (é o que o Iron Office mostra no chat):
|
|
263
|
+
|
|
264
|
+
```json
|
|
265
|
+
{
|
|
266
|
+
"kind": "spy",
|
|
267
|
+
"score": null,
|
|
268
|
+
"summary": "o que o nicho mais usa, até 160 caracteres",
|
|
269
|
+
"items": [
|
|
270
|
+
{
|
|
271
|
+
"title": "o ângulo, até 80 caracteres",
|
|
272
|
+
"why": "% dos anúncios que usam e dias no ar do mais antigo, até 160",
|
|
273
|
+
"effort": "1 copy",
|
|
274
|
+
"action": "Iron, escreve uma copy nesse ângulo: <ângulo>, pro meu produto"
|
|
275
|
+
}
|
|
276
|
+
]
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
Regras do cartão: `items` = os 3 ângulos mais validados, no máximo 3; `action` cabe em 300 caracteres e é o pedido que o aluno manda com um clique.
|
|
281
|
+
|
|
262
282
|
## Palavras-chave por nicho
|
|
263
283
|
|
|
264
284
|
Ao gerar as keywords para o scraper, use estas estratégias:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iron-edge",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.3",
|
|
4
4
|
"description": "Ecossistema de agentes para Claude Code: 44 agentes de topo, 18 squads e 14 skills, com quality gate, memoria, instalador que nunca sobrescreve e o comando office (chat do Iron Office no dashboard; confere a chave com o site antes de abrir o Claude).",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude",
|