inemaSEO 7 — Systems: build your own open Semrush|INEMA.CLUB-PRO

Lesson 7 · 18 min

Connecting it all: the weekly and monthly routine with an agent

Five separate tools turn into forgotten work. One script runs each week's tools and each month's tools and saves the output with a date. An agent on your subscription (Claude Code or Codex) reads the report and proposes three actions, with the number that justifies each. You decide, and you are the one who changes the site: that is the human gate.

Start the lesson
A person reviews printed reports next to a laptop with a terminal, on a calm morning.

In this lesson you will

  1. 1What runs every week and what runs every month
  2. 2A rotina.sh that saves everything with a date
  3. 3The agent as observer: it only reads and proposes
  4. 4The human gate and the decision record

Goal: set up the weekly and monthly routine for the 5 tools, with an agent that only reads and proposes and a human gate before the site changes.

01The routine

The machine measures and proposes; a human decides. Tap each step.

Click each block in the diagram to see what it does.

Nothing changes on the site without passing through the gate.

02Build it in four steps

Tap each step.

1. Script

Copy rotina.sh from the block below into a working folder and adjust the four variables: where inemaseo-sistemas lives, the Search Console property, the home page, and the folder with the CSVs.

Run bash rotina.sh semana and check the dated folder.

03The routine and the request to the agent

Templates to copy. Every command inside them comes from the tools' READMEs.

rotina.sh (template)
#!/bin/bash
# rotina.sh — semana | mes. Runs the inemaseo-sistemas tools and saves the dated output.
set -e
SIS=~/inemaseo-sistemas/ferramentas   # where you cloned it
SITE=yoursite.com                       # Search Console property
URL=https://yoursite.com                # site home page
CSV=~/path/to/gsc-folder             # gsc_semanal.py folder
D=rotina/$(date +%F); mkdir -p $D dados

case "$1" in
  semana)
    python3 $SIS/gsc-historico/gsc_historico.py importar $CSV --db dados/gsc.sqlite
    python3 $SIS/gsc-historico/gsc_historico.py relatorio --db dados/gsc.sqlite --site $SITE --saida $D/gsc
    ;;
  mes)
    python3 $SIS/auditor/auditor.py $URL --max 50 -q --saida $D/auditor
    python3 $SIS/agente-ready/agente-ready.py $URL --saida $D/agente-ready
    # bing-ia: only after exporting the CSV from the Bing panel (there is no API)
    ls bing/*.csv >/dev/null 2>&1 && python3 $SIS/bing-ia/bing_ia.py importar bing/*.csv --db dados/bing.sqlite \
      && python3 $SIS/bing-ia/bing_ia.py relatorio --db dados/bing.sqlite --gsc-db dados/gsc.sqlite --site $SITE --saida $D/bing-ia
    # botlog: only after copying the log (filter it before saving)
    ls logs/* >/dev/null 2>&1 && python3 $SIS/botlog/botlog.py analisar logs/* --saida $D/botlog
    ;;
  *) echo "usage: bash rotina.sh semana|mes"; exit 1 ;;
esac
echo "output in $D"
pedido-semana.md (template for the request to the agent)
You are the site's weekly SEO observer. Below is the relatorio.json from gsc-historico (this week's Search Console, non-branded queries only).

Rules:
- Read-only. Do not change any file, do not publish anything, do not run commands.
- Use only the numbers in the report; do not invent data.
- The "owner page" rule is a heuristic: check the column of the pages that appear today before proposing a new page.

Answer in English, in at most 12 lines:
1. One sentence with the week's number (non-branded clicks and impressions, compared with the previous week).
2. Exactly 3 proposals, each with: action (write new page / improve existing page / rewrite title), URL or query, and the number from the report that justifies it.
3. One line "For the human to decide:" with the question only the site owner can answer.
Terminal · week + agent (Claude Code, no tools)
bash rotina.sh semana
(cat pedido-semana.md; echo; cat rotina/$(date +%F)/gsc/relatorio.json) | claude -p --tools "" > rotina/$(date +%F)/leitura-agente.md
decisoes.md (human gate)
# Decisions — week of <dd/mm/yyyy>
| agent proposal | decision | reason | who | when |
|---|---|---|---|---|
| <improve /es/aprender-…/> | accept | <the page already shows up; strengthen the opening> | <name> | <dd/mm> |
| <rewrite title of /cursos/…> | postpone | <only 5 impressions; wait 2 more weeks> | <name> | <dd/mm> |
| <…> | decline | <…> | <name> | <dd/mm> |
Example from the repository

bash rotina.sh semana with the sample CSVs from inema.club:

importado: 10 linha(s) de resumo, 244 linha(s) de consulta → dados/gsc.sqlite
inema.club semana 2026-10-11 (comparada com 2026-10-04): sem marca 0 cliques / 157 impr.; subiram 15, caíram 15, pauta 18, páginas sem clique 5 → rotina/2026-10-19/gsc/relatorio.html
output in rotina/2026-10-19

04Practice: your routine running

Start with the weekly part; the monthly part comes in when the Bing export and the log are at hand.

E1 · rotina.sh semana

20 min

Copy rotina.sh, adjust the four variables and run the weekly part (with your own CSVs or the sample ones).

Done when: the rotina/ folder exists with today's date and, inside it, gsc/relatorio.json.

E2 · Agent + gate

25 min

Send the request and the report to the agent with no tools and record your decision on each proposal.

Done when: leitura-agente.md has 3 proposals with a number, and decisoes.md has one line per proposal with accept, postpone or decline and the reason.

05Test what you learned

The explanation shows up after your answer.

Question 1 of 4

Why does the agent run with no tools (empty --tools)?skill

06Takeaways

CadenceWeek: gsc-historico. Month: auditor, agente-ready, bing-ia, and botlog.
AgentThrough the subscription, no tools: it reads the JSON and proposes 3 actions with numbers.
GateYou decide and write it down; only then does the site change.

Going further

Previous lessonNext lesson